💾 Archived View for clemat.is › saccophore › library › ezines › textfiles › ezines › NOU › nou2.txt captured on 2022-01-08 at 16:48:09.

View Raw

More Information

⬅️ Previous capture (2021-12-04)

-=-=-=-=-=-=-

               
 .ad888bo. 8  .ad88888bo. .88.  .88.                               _______
 888P'`88 88  8888   8888 8888  8888                           UUUUUUUUUUU   
 888    8888  8888   8888 8888  8888                       UUUUUUUUUUUUUUUUU
 888     888  8888   8888 8888  8888                     _UUUUUUUUUUUUUUUUUU
 888      88  8888   8888 8888  8888                    OUUUUUUUUUUUUUUUUUUU
 888       8  `Y8888888P' `88888888'                  _OOUUUUUUUUUUUUUUUUUUU
 888                                                  OOOUUUUUUUUUUUUUUUUUUU
 88P                                          2     _OOOOUUUUUUUUUUUUUUUUUUU
 8P                                          22     OOOOOU~~~UUUUUUUUUUUUUU
 '        A collection of                    _2    _OOOOO      UUUUUUUUUUUUU
          people offering                    2~    OOO~        UUUUUUUUUUUUU
      diversity, instruction,               22   _OOO        _UU   UUUUUUUU
           complex ideas,                 22    OO~         ~~     ~UUUUUU
   and some... hehe you'll see ;)         2   _OOO_OOOO___         _UUUUUU    
                                         2  OOOOOOOOOOOOOUU        UUUUUU
                                        22 OOOOOOOOOOOOOOUU        UUUUU~
                          _______       2 _OOOOOOOOOOOOOOUU     UUUUUUUU
                         ~~~~~~~NATIONS OF ULYSSES OOOOOOOO~       UUUUUU
                       ______________OOO  OOOOOOOOOOOOOO ______UUUUUUUUU_
                   NNNNNNNNNOOOOOOOOOOOO  OOOOOOOO~~OOOOOOU~~~~~~   ~UUUUU
             ___NNNNNNNNNN __OOOOOOOOOOOO  OOOOOOOOOOOO____       _UUUUUU_
          NNNNNNNNNNN~~   NNOOOOOOOOOOOOO   OOOOOOOOOOOOOUUUUU     ~~~UUUU
      __NNNNNNNNNNN     _NNNOOOOOOOOOOOOOO_  OOOOOOOOOOOOUUUUUU_       UUUU
     NNNNNNNNNNN~       NNNNOOOOOOOOOOOOOOO   ~O ~~OOOOOOUUUUUUU      UUUUUU
   _NNNNNNNNNNNN       NNNNNOOOOOOOOOOOOOOOO_  OO      OOUUUUUUU   UUUUUUUUU
  NNNNNNNNNNNNN        NNNNNOOOOOOOO~OOOOOO~O   OO       ~~~~~       ~UUUUUU
NNNNNNNNNNNNNNNN__N    NNNNNOOOOOOO_OOOOOOO OO_  OO_            _     UUUUUU
NNNNNNNNNNNNNNNNN~     ~NNNNOOOO~~OOOOOOOO   ~O  ~OOOO          ~U   UUUUUU~
NNNNNNNNNNNNNNNN               _OOOOOOOOOO    OO  OOOOOOO___     UUUUUUUUUU
NNNNNNNNNNNNNNNN              OO~OOOOOOOO~     OO  OOOOOOUUUUUU   UUUUUUU~
NNNNNNNNNNNNNNNN_  __N       _O  OOOOOOOO      OOO_ OOOOOUUUUUUUUUUUUUUU
 NNNNNNNNNNNNNNNNNNNN        O~  OOOOOOOO      OOOOOOO~OOUUUUUUUUUUUUUU~
  NNNNNNNNNNNNNNNNNNNN___N_ OO   OOOOOOO       OOOO     OUUUUUUUUUUUUU
   ~~NNNNNNNNNNNNNNNNNNNNNNNO     OOOOO~      OOOOO        ~~~~~~~~~
           NNNNNNNNNNNNNNNNNO_ _   OOO       _OOOOO
               ~~~~~~NNNNNNNOOO~             OOOOOO     .
                         NNNOO              _OOOOOO    A Special Happy Birthday
                         NNNOO    O     O   OOOOOOO      Wish to Substance!
                          NNOOO__OO    _O__OOOOOOOO        We love you ;)
                          NNOOOOOOOO  OOOOOOOOOOOO
                           NOOOOOOOOOOOOOOOOOOOOO
                            ~OOOOOOOOOOOOOOOOO~~
                               OOOOOOOOOOOOO
                                 ~~~~~~~~~
                                                         

~~~~~~~~~~~~~~~~~~~~~~~~~Nations of Ulysses Issue #2~~~~~~~~~~~~~~~~~~~~~~~~~~~

                    
                    Staff: lusta, pbxphreak, enderX, icesk

                       Ok, here's the lineup hehe........

Introduction........................................................lusta
In Rememberance.....................................................pbxphreak
IrdA Network Stack Implementation...................................Accipiter
Telco Stuff.........................................................pbxphreak
Introductory to Perl................................................lusta
Oh no not another "make your own weapon article" hehe...............polder
k0d3z, k0d3z, and more k0d3z........................................pbxphreak
Ident daemon explained..............................................enderX
A lil something personal............................................lusta
Skytel Prepaid Paging...............................................pbxphreak
Scans...............................................................pbxphreak
Shell Scripting (basics)............................................lusta
PECompact v.096 (available to download).............................Jeremy 
A Brief Guide on Datapac............................................wsx
DMS Switches........................................................pbxphreak
helloworld.c (never coded in c before? heh look here)...............effect
Introduction to Spread Spectrum Technology..........................Phuzzy L0gik
ascii art (presented at the top)....................................KKR & lusta



After the first issue, I received a lot of feedback. I have decided in this 
issue, to set a directive for this zine, and also offer a little vision of who
we are, and what we're doing. 

I have given thought to what a zine is about, and have read other zines to get 
a kind of idea of what layouts, information, and structure each one provides. 
Each zine seems to be individual in their 'set-up'. 

First i want to express that the directive of Nou is to provide a sort of 
learning format for the writers and for its readers. It is also meant to offer
a platform for a group of people to express their knowledge, spend time 
together, and have fun.  If i chose for this to be a "high profile" type of 
magazine, I could omit certain offerings, and keep it to one particular area 
of information. But, instead, it is  more important for me to experience the 
minds, feelings and humor of the writers, and to share this with our readers. 
So, if you experience an article that you can't necessarily appreciate as being
informative, then try to experience it through humor, or through feeling. I 
have also chosen not to set a certain standard for the writers.  That may turn 
some of you off, but, for me, I consider that anything a friend of mine has to 
offer, or share is valuable. Although, I offer criticism to the writers, as I 
invite you to do also, but at the same time, we all share different passions.  
Appreciate what everyone enjoys or has fun with.  In this issue, I am taking 
this chance to learn a little, and that will be apparent to some of my advanced
readers. Because of that, I try to offer information given by advanced writers,
to present a sort of spectrum for reading.  If you have any comment about 
anything in the zine, please mail us at nou@mail.com.  Thanks again for your 
interest, if you care to contribute, or get to know us, we can be found in #nou on efnet. ;)

~lusta



                        A True Person (Rip Sean O'Brien)
                          by pbxphreak <chris@lod.com>

On Friday August 13th, 1999 a tragic car accident happened. My friend spee 
passed away. He was a true friend to everyone I talked with on the 
computer. Although I did not know him as well as I would like to have, he 
still was an important person to me. I talked to him for about 2 and a 
half - 3 years on irc, conferences, and was going to meet him at Defcon 
or coming to his town and visit, but I never got the chance to. I wish I 
did. Everyone I know always says postivie things about him. I will remember
him as a team partner when I use to hand in the occastional article for the
zine system failure. It meant a lot to me that I was on the same team as spee
That meant a lot to me. To me, I will always remember him saying one thing
over and over on one conference I was on with him late at night then
continuing into the next morning where I talked to him on it at school on the
payphone. He would repeatedly say "pbxphreak I want a pony" . That made me
laugh, and ever since I found out about what happen to Sean on friday, Thats
all that is in my head, me remembering his voice over and over, and yes it
brings a tear to my eye. I wont be able to chat with him, but I will still
will be able to rememeber the memories of sharing those long conversations on
conferences on the phone and those funny talks on irc. I will always remember
teasing Sean on irc by calling him the Spanish Princess :) That made me laugh.
Well we all know that Sean has gone to a good resting place upstairs, and he
will be watching over all of us. If you would like to send mail to the spee
memorial email address and give your condolences that will be properly
delivered then email spee-memorial@omni-net.net. Thank you spee for your
company over the past years. I will miss you dearly.

Your Friend

Chris McCoy (pbxphreak)



IrdA Network stack Implementation by Accipiter

NOTE: I originally wrote this document for, and presented it in #HackPhreak on 
Undernet. It's re-printed here because lusta is nice to me, and I find her to 
be a strikingly attractive woman. (Plus, I want to whore my skills. ;)

IrDA (Infrared Data Association), as most of you know, is Infrared 
Communications.  For those of you unfamiliar with Infrared Communications, 
basically, It sends data via an invisible beam of light (way over in the Red 
Spectrum, hence the name "infrared"). This is the type of communication usually
found in Television/VCR/Stereo Remote controls, some types of Lock systems, and
more recently, Handheld PDA (Personal Data Assistant) devices, most notably, 
the Modern HPC (Handheld Personal Computer).  Used in HPCs, IrDA provides for 
short range high speed, line of sight, point to point cordless data transfer. 
To use IrDA as a network interface on an HPC, you obviously  need a Network 
Stack Implementation.  A Stack is a set of network protocol layers that work 
together to establish communications with other devices on a network. A minimum 
implementation for IrDA only requires 3 layers (Physical, Data Link, and 
Network), while the rest of the layers are optional, depending on the use of 
the device, as well as the requirements for the system to communicate with. 
Data packets are protected with a cyclic redundancy check (CRC-8 for short 
packets and CRC-16 for long packets). The physical layer of the stack is 
optimized for low power usage, and can be implemented using inexpensive 
hardware, so it would be relatively cheap to add Infrared capability to 
existing/new devices.

---- Physical Layer ----

On the lowest layer of the Stack, the IrDA sets different physical layer 
protocols for actual infrared beams, The first of which, is SIR (Serial 
Infrared Protocol).  SIR defines an asynchronous serial Comm format (Meaning 
the data can be transferred in bursts, rather than one long stream), and has a 
maximum speed of 115,200 bps.  The second protocol is FIR (Fast Infrared). FIR 
is used extensively in Wireless LAN environments, and can achieve a top speed 
of 4Mbps.

---- Data Link Layer ----

The Data Link Layer is the Second layer in the Stack. The IrLAP (Infrared Link 
Access Protocol) is a variant of the HDLC (High-Level Data Link Control) and 
SDLC (Synchronous Data Link Control) protocols. IrLAP contains modifications 
of these protocols to handle Infrared-exclusive features providing a sort of 
Universiality to IrDA communications. 
IrLAP is a protocol specializing in reliable data transfer, allowing other 
(upper) layers to concentrate on other tasks. IrLAP does NOT, handle error 
correcting, as it farms the error-correcting out to the upper layers. For 
example, if you have 2 HPC machines transferring files over Infrared, and you 
put your hand in front of the beam, IrLAP notifies higher level protocols of 
the error, and they take over for correcting the problem. The discovery 
protocol of the Data Link Layer is used for Negotiating connections, as well 
as probing detected devices. If you put 2 infrared HPCs in close proximity to 
one another with Infrared enabled, you'll notice they pick each other up, 
usually describing the character-istics of the other. You'll see the other 
machine's network name, description, and in some cases, the Model of the 
machine.  
A side note: When IrDA devices are establishing a connection, they will always 
communicate with each other at 9600 bps, regardless of the specified setting. 
After the devices successfully connect, and swap info regarding capabilities, 
they'll adjust the speed according to the inferior device's maximum rate.

---- Network Layer ----

The third, and final layer (for a typical IrDA network stack) is the Network 
Layer.  The Network layer contains IrLMP (Infrared Link Management Protocol), 
a sort of multiplexing of communication for infrared devices. IrLMP allows 
multiple Infrared transfers with multiple devices simultaneously over IrLAP. 
These multiple devices, or "service access points" are known as LSAP-SELs 
(Link Service Access Point Selectors). Because of the lack of a Transport Layer
in the IrDA Stack, LSAP-SELs are equivilant to TCP/IP port numbers. IrLMP also 
uses IAS (Information Access Service). The IAS is a service protocol for the 
IrDA Stack, and allows services to add an entry to the local machine's IAS, and
in turn, allow clients to probe this information, and establish a connection. 
An optional protocol integrated into the Network Layer, is TinyTP. TinyTP 
provides flow control on IrLMP connections, and also supports optional 
Segmentation and Reassembly services. TinyTP will break up large data, send it 
as small bits, then rebuild them on the receiving end. The broken data bits are
called SDUs (Service Data Units).

General Infrared Communication can be found on http://www.irda.org/

Information on the Optional IrDA Protocols can be found on:
http://www.irda.org/standards/standards.asp

A List of IrDA compliant members can be found on:
http://www.irda.org/members/members.asp 


                                Telco Stuff
                         by pbxphreak <chris@lod.com>

PBX's:  
  
A PBX is a private phone switch used by large companies that require an 
internal phone system. PBX's are the devices that ask you to dial an
extension or operator when you connect to them. PBX's with less than 50 users 
are called key systems. PBX's consist of a small phone switch or specifically 
PBX switch, a group of outbound trunks, which are nothing more than 
phone lines to the outside, a set of telephones and a bunch of users. 

Voice Mail Boxes and Hacking Them:  
  
Voicemail is a sort of answering machine. Its effectively a small computer 
that will record phone messages, and often allow for more advanced features 
(like forwarding of messages and stuff). A voice mail box (VMB) is a
account on a voice mail system. Basic hacking of voicemail systems in
pretty well entering a voice mail box number and guess at the pass code
usually is a default pass such as the box number, 1111, 1234, 5555 or 9999
or in a 3 digit voice mail box 111, 123, 999 or the box number. If you
find the admin box, you are in luck, then you can create your own boxes.
  
ONI:

ONI is operator number id, this is when for example you call your operator
up and ask her/him to dial 1-800-CALL-ATT by doing this you are hiding
your number and the AT&T operator asks what number you are calling from,
and basically you can tell her/him any number you want :)

Central Office (CO):

A central office is where the telephones in the network are connected. It
is the gateway to the rest of the telephone system, this includes dial
tone, telephone ringing, connection to other telephones, long distance
carriers and outside trunks, this is all done here.

Switch:

A switch is a piece of hardware that connects telephone calls. There are
three types of switches. a) the dail tone switch, b) the remote switch and
c) the toll switch. Dial tone switches are the switches that
connect directly with your telephone and provide you with your dialtone. 
Toll switches connect offices with toll switches and toll switches with other 
toll switches. The third type of switch is a remote switch. These are large 
PBX switches connected to a central office. So in lamans terms a switch
is where telephone traffic is routed from one destination to another.
Some common dialtone switches are 1AESSS, 5ESS 2000, DMS-10, DMS-100, Toll
switches are DMS-200, DMS-250, DMS-500 and a remote switch is a GTD-5 EAX.

Conclusion:

Cya nex time! :)



Introductory to Perl...(special thanks to monir and rob for your help)

The Practical Extraction and Report Language (Perl) is a scripting language 
that has all the capabilities of awk and sed, but with many more features. Perl 
was originally designed to operate on files like awk and sed do, generating 
reports and handling very large files. However, Perl was designed as a core 
program to which features could easily be added. Over the years, Perl's 
capabilities have been greatly enhanced. It can now control network 
connections, process interation, and even support a variety of database 
management files. At the same time, Perl remains completely portable. A Perl 
script will run on any Unix system, as well as most other operating systems 
such as Windows and Mac. Perl is also used extensively for implementing CGI 
scripts on Web sites. Now let's get started with some of the basics...
------------------------------------------------------------------------------
Perl Command Line Operations

You can execute any Perl command line from the shell command line by using the 
command perl with the -e option. The Perl command you want to execute should 
then be entered and quoted within single quotes. 
     
     perl -e 'print "hello";'

You can use Perl this way for simple operations. Perl will not read input from
the standard input unless you explicitly instruct it to with a while loop. The 
following example searches for the pattern "blondes." The file h0ez is first 
read by the cat command and piped to the perl command as standard input. 

     cat h0ez | perl -e 'while (<STDIN>) { if (/blondes/) { print; }}'


This command line use of Perl is rarely used. Normally, Perl commands are 
placed in script files that are then executed, much like shell scripts.
------------------------------------------------------------------------------
Perl Scripts

Usually, Perl commands are placed in a file that is then read and executed by 
the perl command. In effect, you are creating a shell in which your Perl 
commands are executed.  Files containing Perl commands must have the extension 
.pl. This identifies that file as a Perl script that can be read by the perl 
command. There are two ways that you can use the perl command to read Perl 
scripts. You can enter the perl command on the shell command line, followed by 
the name of the Perl script. Perl will read and execute the commands. 
    
      $ perl gimmesex.pl

You can also include the invocation of the perl command within the Perl script 
file, much as you would for a shell script. Place the following shell 
instruction on the first line of your file. This automatically invokes the Perl
shell and will execute the following Perl commands in the script. 
/usr/local/bin is usually the location of the perl command line (or 
usr/bin/perl for OpenLinux). The command `which perl` will return the location 
of Perl on your system.

     #!/usr/local/bin/perl

Then, to make the script executable, you would have to set its permissions to 
be exectuable.  The chmod command can make the file executable, turning it 
into a program that can be run on the command line. You only have to do this 
once per script. You do not have to do this if you use the perl command on the 
command line (I found this out the hard way). 

     $ chmod 755 gimmesex.pl

The entire Perl script is validated before it is executed, checking for errors 
ahead of time. Should there be any, they will be displayed on your screen, 
specifying line numbers and error messages. Many of the error messages can be 
obscure. Common errors might be:

- failing to enter semicolons at the end of a line. 
- control structures must have blocks; they cannot have just a single command, 
  as is the case in C.
- variables must always be prefixed with a $ symbol. This is very different 
  from C.

Parts of a Perl program can be split into separate files and then read into a 
main file with the use command. Such files end with the extension .pm and are 
referred to as either packages or modules. Often, they contain enhanced 
operations for tasks such as file handling or text searches. 
-----------------------------------------------------------------------------
Perl Input and Output: <> and print

A Perl script can accept input from many different sources. It can read input 
from different files, from the standard input, and even from pipes. Because of 
this, you have to identify the source of your input within the program. This 
means that, like ashell program, you have to explicitly instruct a Perl script 
to read input. A particular source of input is identified by a file handle, a 
name used by programs to reference an input source such as a particular file. 
Perl already sets up a file handle for the standard input and the standard 
output, as well as the standard error. The file handle for the standard input 
is STDIN. The same situation applies to output. Perl can output to many 
different destinations, whether they be files, pipes, or the standard output. 
File handles are used to identify files and pipes when used for either input 
or output.  The file handle STDOUT identifies the standard output and STDERR 
is the file handle for the standard error. If you're familiar with c at all 
(which most of the readers of this zine are), then you're most likely familiar 
with these terms already. 

First we'll examine how Perl uses the standard input and output, and later 
discuss how particular files are operated on. Perl can read input from the 
standard input or from any specified file. To read from a file, a file handle 
name is placed between the less-than/greater-than symbols, <JENSFILE>. To read 
from the standard input, you can simply use the STDIN file handle, <STDIN>. 
Whatever the <STDIN> command reads is placed in a special variable named $_. 
You can then use this variable to manipulate whatever has been read.  For 
example, you can use $_ in a print command to display what was input.  If the 
line read by <STDIN> is not assigned, it is automatically placed in $_. If the 
print command has no arguement, it will print the value of $_. If the chmod 
command has no arguement, it operates on $_, cutting off the newline. 

You can use the print command to write data to any file or to the standard 
output.  File handle names are placed after the print command and before any 
data such strings or variables. If no file handle is specified, then print 
outputs to the standard output. 

     print STDOUT "beesh\n";
     print "beesh\n";

A null file handle, <>, is a special input operation that will read input from 
a file listed on the command line when the Perl script is invoked. Perl will 
automatically set up a file handle for it and read. If you list several files 
on the command line, then Perl will read the contents of all of them using the 
null file handle. You can think of this as a cat operation in which the content
s of the listed files are concatenated and then read into the Perl script. 
------------------------------------------------------------------------------
Perl Variables and Expressions

Perl variables can be numeric or string variables. Their type is determined by 
context, the way they are used. You do not have to declare them. A variable 
that is assigned a numeric value and is used in arithmetic operations is a 
numeric variable. All others are treated as strings. To reference a variable 
in your program, you precede it with a $ symbol, just as you would for a shell 
variable.
You can use the same set of operators with Perl variables as with c variables, with the 
exception of strings. 

     $myname = "Jen";

For a numeric variable, you can assign a number. This can be either an integer 
or a floating point value. Perl treats all floating point values as double 
precision. 

     $mynum = 25;
     $price = 10.82; 

Perl also supports arithmetic expressions. All the standard arithmetic 
operators found in other programming languages are used in Perl. 

     $mynum = 3 + 6;
     $price = (5 * ($num / 3);

Perl supports the full range of assignment operators found in C. The ++ and -- 
operators will increment or decrement a variable. the += and -= and their 
variations will perform the equivelant of updating a variable. For example, i++
is the same as i = i + 1, and i += 1.  Increment operations such as i++ are 
used extensively with loops.  
You can easily include the value of a variable within a string by simply 
placing the variable within it. In the following example, the value of 
$nameinfo would be the string "My name is Jen\n":

     print "the number of items is $mynum \n"
     $nameinfo = "My name is $myname \n"

To assign data read from a file to a variable, just assign the result of the 
read operation to the variable. 

     $mydata = <STDIN>;

When reading data from the keyboard into a variable, the carriage return 
character will be included with the input string. You may not want to have 
this carriage return remain a part of the value of the variable. To remove it, 
you can use the chomp command. chomp removes the last character of any string.
With data input from the keyboard, this happens to be the carriage return. 

     chomp $myinput;

          #!/usr/local/bin
          $myname=<STDIN>;
          chomp $myname;

          print "$myname just ran this program\n";
-----------------------------------------------------------------------------
The last section of this instructional is Arrays (until the next issue)...

Arrays and Lists

In Perl, you can create an array by assigning it a list of values. A list of 
Perl consists of a set of values encased in parentheses and separated by 
colons. 

     ( 23, 41, 92, 7 )

You assign this list to the array you wish to create, preceding the array name 
with an @ sign. This assignment will initialize the array, sequentially 
beginning with the first value in the list.

     @mynums = (23, 41, 92, 7);

Once the array has been created, you can reference its individual elements. The 
elements start from 0, not 1. The mynums array has four elements, numbered from 
0 to 3. You can reference individual elements using an index number encased 
within brackets. [0] references the first element, and [2] references the third 
element. 

     print $mynums[0] ;
     print $mynums[2] ;

You can change the value of any element in the array by assigning it a new 
value. Notice that you use a $, not an @ sign, preceding an individual array 
element. The @ sign is used to reference the entire array and is used when you 
are assigning whole lists of values to it. The $ sign references a particular 
element, which is essentially a variable. 
          
     $mynums[2] - 40;

There is no limit to the number of elements in the array. You can add more by 
simply referencing a new element and assigning it a value. The following 
assignment will add a fifth element to the mynums array. 

     $mynums[4] = 63

Each array will have a special variable that consists of a # and the name of 
the array. This variable is the number of elements currently in the array. 

     print  "$#mynums";

When assigning a list to an array, the values in a list do not have to be of 
the same type. You can have numbers, strings, and even variables in a list. 
Similarly, elements of the array do not have to be of the same type. One 
element could be numeric, and another string. 

     @myvar = ( "jen", 11, 4.5, "a floral bouquet");

You can reference the entire set of elements in an array as just one list of 
values. To do this, you use the array name prefixed by the @ sign. 

     print @mynums;

The list of values referenced by an array name can be used in a string, just 
as the value of a variable can. 
     
     $myreport = "Here are the numbers I have: @mynums \n";
     print $myreport

However, individual elements of an array are variables and need to be 
referenced using an index and the $ sign. 

     $myelement = "This is the value of the third element: $mynums[2] \n"; 
     print $myelement;

Array Management Functions: List Operations:

Perl has a set of functions designed to help you to easily manage arrays. With 
simple commands you can perform common array operations such as listing the 
contents of an array, sorting an array, or sequentially referencing each 
element one by one. In this respect, you can think of an array as a list, and 
these functions as performing list operations. Both push and pop operate on 
the end of an array, adding or removing the last element. You can think of them 
as adding or removing an element at the end of a list. push adds a new element 
to the end of the array. push takes as its arguements the array, followed by a 
list of values that you want added as elements to the array. pop will return 
as its value that last element. The shift and unshift operators work on the 
beginning of a list. shift will remove the first element in a list, making the 
next element the first one. The unshift operation adds a new element to the 
beginning of the list. shift takes as its argument an array and returns the 
value of the first element it removes. unshift takes its arguement an array 
followed by the value of the element you want to add. It then returns the total 
number of elements now in the array. The sort operation will sort the elements 
in an array according to the system's character set, usually the ASCII 
character set. sort will arrange elements in ascending order. The sort 
operation returns the list of sorted values. The split operation is used to 
create an array and assign it values derived from a string. The values are 
determined by a specific delimiter that is used to sement the string, forming 
the different values that will be assigned to elements in the array. split is 
often used with lines of input data that are already arranged into fields that 
are separated by a delimiter such as a comma or colon. You can use the grep 
function to search an array or any list. grep takes as its arguements a pattern 
and a list, usually an array. grep returns the value of the element matched. 

Associative Arrays

An associative array uses strings to index elements in an array, instead of 
numbers.  You can think of the index string as a keyword that you can use to 
find an element. In Perl, an associative array is defined with a % prefixing 
the array name.  The list of values that is assigned consists of an index 
string and element value pairs. An index string is followed by the elemets 
value, which is then followed by the next index string and element value, and 
so on. 

     % city = ('Denver', 4, 
               'Englewood', 86,
               'Arvada' 7,
               'Boulder', 53) ;

You reference an element in an associative array using its index string. The 
index string is encased in single quotes and braces (not brackets).

     print  $city('Englewood');

To add a new element in an associative array, you need to provide both the 
string to be used as the index for this element as well as the element's value. 

     $city{'Evergreen'} = 45;

To reference the list of values for an associative array you use the % sign 
with the array name. 

     print %city;

Perl also has a set of list operations designed to work on associative arrays. 
With these operations, you can generate lists of keys or values. They are 
helpful for easily iterating through an associative array. The keys operation 
takes as its arguement an associative array and returns a list of all the index 
strings used to reference the elements in that array. Having obtained the index 
strings, you can then use them for referencing each element in the array. 

This introductory will be concluded in the next issue of nou, and will consist 
of Control Structures/Loops/Conditions/String Functions and Pattern Matching. 
I will also try to put together a list of functions and line operations for 
the conclusion. Hopefully I will also be able to offer something made in perl 
(yes, by me) for the next issue as well, to demonstrate it better. Thanks ;)

for more information on Perl check out these sites:

www.perl.com
www.cis.ufl.edu/perl
comp.infosystems.www.authoring.cgi

~lusta



-+-+-+-+-+-+-+-+-+-+-+-+-
-+  MiniBazooka HOWTO  +-
-+-+-+-+-+-+-+-+-+-+-+-+-


actually, i got this idea while reading eXult666's article in NOU #1 about pen
razors. ive always wanted to write an article about pencils. in this article
ill try to explain as easy as possible how to make a mini bazooka with a pen
and some dynamite, HEH. im very sorry to say that i never got the condom bazooka
to work, so i had to write about the dynamite method instead, shrug, but dont
worry.. this one works even better. anyway, dont bother about my broken english,
remember that im from norway. HEH!


Equipment needed
----------------

01) a pen u can open
02) 2-3g dynamite (or something like that)
03) a match
04) a teacher
05) something to clean up the ink with


Building this fuqr
------------------

THE PENCIL:
                  .----------------------------.__________
               .--|                            !          '-----._
  button -->   |  !                            !                 _!>  <-- ink thingy
               `--|                            !__________.-----'
                  `----------------------------'


STEP #01:
ok, so u got a pen handy. remove the "button" from it, then carefully fill the
"hole" with the dynamite. make sure u dont blow urself away or anything..

      hole        .----------------------------.__________
        |         |                            !          '-----._
        `->  .->  !                            !                 _!>
             |    |                            !__________.-----'
             |    `----------------------------'
            xxx
           xXXXx
           xXXXx   <-- this is exactly what dynamite looks like.
            xxx


STEP #02:
when everything is under control, put the match into the hole and stuff it into
the dynamite (or something). then remove the "ink thingy" (yeah u know what i
mean, asshole) basically, the mini bazooka is ready to use. HEH!

                .----------------------------.__________
                |                            !          '-----._
  .->  ======X  !                            !                 _!  <- removed
  |             |                            !__________.-----'
match           `----------------------------'


STEP #03:
alright. u have just built urself a bazooka and ur ready to fire it. its easy as
hell, just point it at ur worst teacher at school and use another match to get
the match that is into the pencil on fire (confuzing? HEH), just like the ASCII
illustration shows below..


                 .----------------------------.__________
                 |                            !          '-----._
           ======!                            !                 _!
          X      |                            !__________.-----'
          x      `----------------------------'
          x 
          x  <- another match (on fire)


What happens
------------

                 .----------------------------.__________
         <<Vvv><>|            .--------------.           '-----._
flamez -> vVv><<<! [PRESSURE] |o00o0 ink 000o| [PRESSURE]  -->  _ ooo00o000 -> teacher
          <>><V>>|            `--------------' __________.-----'
                 `----------------------------'


..or something like that. anyway, we've come to this article's EOF. remember that
this tool can be very dangerous in wrong hands, and keep in mind that i wrote 
this article just for fun and in a sarcastic way. NOT!@# HEH!


-+-+-+-+-+-+-+-+-+-
-polder@lower.org   <- plz send me shitloads of mail. HEH!!!
eye l0ve y0u m1cah
-+-+-+-+-+-+-+-+-+-


                        k0d3z, k0d3z and m0re k0d3z
                        by pbxphreak <chris@lod.com>

ok, first off i would like to greet everyone in NOU and thank you for all
your support and feedback to my last article on lines versus trunks. I
enjoyed getting yer emails and comments on irc.

I could do this article in all 3l1t3 sp34k. but i wont cause no one cares
about that shit anymore. :)

let me ask you something. do you think k0d3z is a thing of the past. think
about that for a minute. you say to yourself, nah thats all old sk00l shit.
well your wrong. i prooved to myself lately that systems are still as
insecure as they were years ago. I am sure everyone remembers the old kick
ass 800-955-1213 mitel pbx system with the 13 digit k0de. that system was
a hard one to forgot with a 13 digit k0de all being 0's :) well lately when
bored i usally just hand scan, and found some weird ass shit. like those
boxes on 800-SKYTEL2 in the 916xxxx range with pw's the same as the box,
1111, 1234 or 9999. you see these lame ass admins of the systems are still
stupid, they seem to want to invite hackers inside the system so they can
fuck around and get free shit. If i had the option I would *personally* take
a shot gun and kill all those stupid sysadmins of different systems who dont
get rid of default stuff. You can still scan 800-SKY-xxxx and find empty
skytel boxes that no one uses with default passwords, like mine, I have had
for over 5 years now, and *NO ONE* gives a flying shit about it. like up till
last week the pbx I was using locally to me had simple an extension I dial
into and I get a dialtone, then from there I simply hit 9 for an outside line
and b00m, all set for long distance :) see yet again stupid things, and this
is 1999. this isnt suppose to happen now ;) and today i was bored at work so
i decided to scan 800-XXX-MAIL and found 800-408-MAIL and 800-800-MAIL and
yet again 408-MAIL had box 112 with the password 1111 (which will probably go
down after yer reading this article) and some other box which could only be
accessed within the system, which means u can send msgs when u access yer box
but people couldnt leave u msgs from the outside world, when you dialin you
get a fax noise, so its no good unless you have boxes within the system :)
which I got :) well there is just another example of stupid system admins
with their default shit. one more system which is even stupider was
800-800-MAIL with tonnes of boxes where u can enter the box by just hitting
the "#" key as the pw, hence no PW, that works for about 25 boxes on the
system, 129, and 132 are 2 examples. so like i said, the stupidity is still
there among the system admins.

so to wrap up. the k0d3z are still out there. you just have to find them.
trust me. THEIR OUT THERE WAITING FOR YOU. :)

cya next time! :) *muah*



/* 
   eidentd.c

   one person, compact identd daemon

   this daemon sits on port 113 and answers auth requests with whatever is
   in IFILE.  it is non-blocking and makes use of select().  the timeout
   for data to be sent is currently set to 2 seconds which may be too
   short but it certainly shouldnt be.

   this daemon is most notable not for its simple function but instead for
   its implementation of select() and non-blocking sockets
 
   tested on solaris and linux 2.2.xx, no reason it shouldnt work on all
   *nix platforms

   enderX - 16 Aug 1999


#define IFILE "/etc/ident"

#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
#include <string.h>
#include <signal.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/socket.h>
#include <sys/time.h>
#include <netinet/in.h>

int s, fl; 
struct sockaddr_in addr;

void do_clean(int sig)
{
  close(s);
  exit(0);
}

int main()
{
  fd_set sfd, fds;
  int ret, tsock, fd; 
  struct sockaddr_in inaddr;
  struct timeval tv;
  char buf[128], *p;

  s = socket(AF_INET, SOCK_STREAM, 0);
  if (s == -1) {
    perror("Unable to allocate socket");
    exit(-1);
  }
  
  /* setup signal handling */  
  signal(SIGPIPE, SIG_IGN);
  signal(SIGHUP, SIG_IGN);
  signal(SIGINT, do_clean);
  signal(SIGTERM, do_clean);
  signal(SIGKILL, do_clean);
  signal(SIGQUIT, do_clean);

  memset((struct sockaddr_in *)&addr, 0, sizeof(struct sockaddr_in));

  fl = 1;

  /* 
     make the socket non-blocking by first getting the flags currently set
     on the socket, adding the bit for the O_NONBLOCK flag and then
     setting the flags for more information see setsockopt.2 and fcntl.2
     (man pages) 
  */
  setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &fl, sizeof(int));
  ret = fcntl(s, F_GETFL, 0);
  ret |= O_NONBLOCK;  
  fcntl(s, F_SETFL, ret);

  addr.sin_family = AF_INET;
  addr.sin_port = htons(113);

  /* 
     make sure to always check the return code of bind() because the port
     may be in use, etc. 
  */
  ret = bind(s, (struct sockaddr *)&addr, sizeof(struct sockaddr_in));
  if (ret < 0) {
    perror("Unable to bind port");
    exit(-1);
  }

  fl = sizeof(addr);
  getsockname(s, (struct sockaddr *)&addr, &fl);

  ret = listen(s, 10);
  if (ret < 0) {
    perror("Listen failed");
    exit(-1);
  }

  fl = sizeof(struct sockaddr_in);

  /*
     fork() returns -1 on error else it returns 0 in the newly created
     child process and the pid of the child process in the parent process.
     thus if (ret > 0) we can exit the parent process and the child proc 
     will be left running in the background as we are returned to our
     shell  
  */
  ret = fork();
  if (ret == -1) {
    perror("Unable to fork");
    exit(-1);
  } 
  
  if (ret > 0) {
    printf("Identd daemon started in background. [pid: %d]\n", ret);
    exit(0);
  }

  FD_ZERO(&sfd);
  FD_SET(s, &sfd);

  while (1) {
    /* 
       select() is very important to use when doing non-blocking
       daemon-type code.  what select() does is it stops the daemon until
       there is a connection and then it proceeds.  if this select() call
       right here was taken out the CPU would go to 100% from all the
       accept() calls.  for more information see select.2 (man select)
    */
    select(s+1, &sfd, NULL, NULL, NULL);
    ret = accept(s, (struct sockaddr *)&inaddr, &fl);
    if (ret > 0) {
      memset((char *)buf, 0, 128);
      p = buf;
      tsock = ret;

     
      /* 
         setting SO_KEEPALIVE is necessary to make sure whatever is
         connecting to our ident daemon has enough time to read() the
         data we reply with before we close() the socket
      */
      fl = 1;
      setsockopt(tsock, SOL_SOCKET, SO_KEEPALIVE, &fl, sizeof(int));

      ret = fcntl(tsock, F_GETFL, 0);
      ret |= O_NONBLOCK;
      fcntl(tsock, F_SETFL, ret);

      FD_ZERO(&fds);
      FD_SET(tsock, &fds);
      tv.tv_sec = 2;
      tv.tv_usec = 0;
    
      /* 
         select() used again to see if there is data to read() and also to
         implement the timeout so that the daemon wont hang if someone
         connects and does not do anything
      */
      ret = select(tsock+1, &fds, NULL, NULL, &tv);
      if (ret <= 0) {
        close(tsock);
        continue;
      }

      fl = read(tsock, buf, 127);
      /* 
         this should not be necessary but on some OS's select() seems to
         be slightly broken and thus we need to check the return of read()
      */

      if (fl <= 0)
        continue;    

      /* 
         okay now here is a little bit of string parsing without using
         string library functions.  the strings library is evil! 
      */
      /* 
         p == the beginning of buf 
         fl == the amount of data read 

         we want to set p to the end of the data in buf so we add fl to it
         and - 2 because the last two chars are "\n\0" and we want to
         write over those later 
      */
      p += fl - 2;
      /* 
         we continue to form ident response..
 
         since p currently equals the end of the data in buf, we can
         simply write straight to p. 
    
         after we write to p we add the amount written to the pointer so
         that it will again be at the end of the data in buf and we can
         continue to append to that data
      */
      memcpy(p, " : USERID : UNIX : ", 19);
      p += 19; 

      /* 
         open IFILE (/etc/ident) and read the first 10 bytes to p which is
         set to the end of the data in the buffer 
      */
      fd = open(IFILE, O_RDONLY);
      fl = read(fd, p, 10);
      close(fd);
      /* 
         we again update p so that it is at the end of the buffer
    
         the reason we do "p += fl - 1;" instead of p += fl; is because we
         assume the last char in /etc/ident '\n' and we dont want that.
  
         note: this isnt a very good assumption but this would be the case
         if you do something like "echo ender > /etc/ident"
      */ 
      p += fl - 1;
      /*
         we then add "\r\n" to the end of buf to conform with the identd
         RFC and once more update p to be the end of buf
      */ 
      memcpy(p, "\r\n", 2);
      p += 2;
    
      /* 
         since p is at the end of buf we can get the difference of its
         address and the address of buf and that is the length of our
         identd reply.  no need to call the evil strings library function 
         strlen()
      */
      write(tsock, buf, p - buf);
      close(tsock);
    }
  }
}



A lil something on a personal level...

Those of you that know me well, know that i study philosophy. As a passion of 
mine, I study different realms of 'being'. Getting to know people, their 
perceptions, their own passions and what they are a stand for, offers insight 
and personal growth. The internet offers a huge realm of different personality,
belief, experience and opinion. Sharing those things, allows one to have access 
to places, feelings and 'ways of being' that they wouldn't have even known.
 
Consider all of knowledge, and also consider what you know that you know, and 
what you know that you don't know. If you assume that those two 'types' of 
knowledge are all you have access to, then you will be limited. However, if 
you consider that what you know that you know, and what you know that you don't 
know are only a small percentage of full knowledge, you then have access to 
what you don't know that you don't know. Which in turn could be called 
'possibility'. 

in�teg�ri�ty
Pronunciation: in-'te-gr&-tE
Function: noun
Etymology: Middle English integrite, from Middle French & Latin;  Middle French
 integrit�, from Latin integritat-, integritas, from integr-, integer entire
Date: 14th century
The quality of being complete or undivided. 

So, assume that you are of integrity with knowledge. Then you would be able to 
be with possibility. If integrity is to be of 'wholeness' or 'completion', then 
to be of integrity with knowledge would mean having access to what you don't 
know that you don't know. Invention, perception without judgement or 
hesitation, objectivity and communication;  these are the ways to access
possibility. 

Most people are confused about what integrity really is. Most consider it's 
'being a good person', having morals, honesty, etc. Sure authenticity is a way 
of integrity, butonly for the reason that it isn't 'broken' or untrue. Like a 
bicycle that has a broken spoke would be without integrity, because it cannot 
perform, thus being incomplete.

My reason for this article, is to maybe offer some insight on availability. If 
you are to see that you are just a piece of something bigger, and appreciate 
the other 'pieces', then you have access to unlimitation. Therefore being of 
integrity with possibility.

I think I hear everyday, "Jen, you take the internet too seriously" or "it's 
just irc, it isn't real". That may be how some people cope with harshness, or 
cruelty from others online. However, I see that every person I communicate 
with, whether online or offline offers something to my possibility (the 'don't 
know what you don't know').

The assumption isn't that everyone tells the truth, or that noone runs a con. 
Because everyone runs a racket, whether it be as small as their lipstick or the 
fake rolex they wear. Everyone does something to cover up something. That's how 
people assume their characteristical traits. Being comical, shy, or brutal are 
all ways of covering up who a person really is. The only way beyond this, is 
through communication. True communication, finding yourself in others, being a 
stand for people, taking a risk to allow yourself to be one with others. After 
you find authenticity in your communication with others, everything changes. 

~lusta


                             Skytel Prepaid Paging
                          by pbxphreak <chris@lod.com>

-.- Why Skytel Prepaid Paging? -.-

Well this i just my thoughts. i think prepaid paging is the best thing that
ever happened to the paging world. you dont have to worry about giving
yer d0x to them. this way u can sign up under any name u want, and you don't
have to worry about bad credit to sign up with the damn company. in the past
i had bought a friend a pager becuase he was too young so i bought him one
under the same name as mine. so that meant 2 pagers under one name, and we
ended up not paying for any of the services, so thus i had bad credit of like
115 bux :( shitty life eh? well that explains a bit about why skytel prepaid
paging rox in my thoughts.

-.- Who can get Skytel Prepaid Paging? -.-

Well anyone can get this service.  fedz, warez kids, narqs, losers, brainers,
wannabee g1mps, elite-o-burrito haxor dudes, and even loser lamers like TRON!

-.- Why is Skytel Prepaid so great? -.-

NO BILLS!
NO HASSLES!
NO CREDIT CHECKS!
NO IMPORTANT INFO NEEDED!

-.- How to order from Skytel? -.-

Simple call the National Sales Center at 1-800-456-3333 and ask for the
prepaid paging department. They will gladly transfer you. :)

-.- Comparing Skytel to Prepaid Skytel -.-

I have a Skyword pager. My pager includes the following:

  - Personal 800#
  - Nationwide Coverage
  - Internet Email Address
  - Voicemail
  - Numeric Paging
  - Alphanumeric Paging
  - Page Recall
  - Operator dispatch for Alpha Text messaging
  - Personal Greetings

All this and it cost about $60 bux US a month. Just dont ask me how I am
paying for it :)

                 SKYTEL IS EXPENSIVE!!! GO WITH PREPAID!!

-.- Skytel Prepaid Paging Packages -.-

   Skytels prepaid paging service is broken down into 5 pagers.

     . Digitz ($79.95)

        Pager Features:

         - FLEX Technology extends battery life and improves page reliability
         - Holds up to 16 messages 
         - Easy-to-use 2-button operation and Easy-To-Read Backlit Display 
         - Simple two-button design for easy operation 
         - Shows date and time 
         - Built-In Alarm Clock 
         - 3 Musical alerts or silent vibration 
         - Clear-Vue lighted display 
         - Notes time of message 
         - Locks important messages 
         - Saves messages when off 
         - Removable belt clip for wearable flexibility 
         - Low battery alert 
         - Uses one AAA battery 

        Package Details:

         - Numeric FLEX pager 
         - 1,000 Message Units or 3 Months of Service, whichever comes first 
         - Personal Toll-Free Pager Number 
         - Local and Nationwide Coverage On-Demand 
         - Voice Mail 
         - Personal Greeting 
         - Page Recall
         - Automatic Message Unit Counter
         - Activation Fee 
         - Motorola Standard One-Year Warranty  
         
     . Wordline ($129.95)

        Pager Features:

         - FLEX Technology extends battery life and improves page reliability 
         - Receives numeric or word messages from family and friends 
         - Includes three info updates � top news stories, sports and
           entertainment
         - One line display that scrolls to show the numeric or word message 
         - Total memory of 2200 characters 
         - Holds up to 16 messages 
         - Set a bookmark in an info update 
         - Shows date and time on standby 
         - Notes time of message 
         - 3 built in alarm clocks 
         - Private time for the ability to turn off all pager alerts during
           pre-selected times
         - 8 Musical alerts or silent vibration 
         - Locks important message 
         - Option to delete individual messages or erase all 
         - Saves message when off or changing the battery 
         - Uses one AAA battery 

        Package Details:

         - Alphanumeric FLEX pager 
         - 1,000 Message Units or 3 months of service, whichever comes first 
         - Personal Toll-Free Pager Number 
         - Local and Nationwide Coverage On-Demand 
         - Caller ID 
         - Internet E-mail Address 
         - Operator Dispatch - Callers can speak with an operator who relays
           fully detailed, typed messages directly to the pager
         - Information Services - The latest news, sports and entertainment
           headlines
         - Voice Mail 
         - Personal Greeting 
         - Page Recall 
         - Automatic Message Unit Counter 
         - Activation Fee 
         - Standard Warranty  

     . Expedition ($179.95 - Watch Pager)

        Pager Features:

         - Receives numeric or word messages
         - FLEX technology 
         - Holds up to 16 personal messages. The maximum number of characters
           allowed per message is 104 with a total memory capacity of 1,280
           characters.
         - Silent visual alert or 5 selectable music alerts 
         - One line message that scrolls forward and backward 
         - Two month battery life 
         - FLEXtime automatically updates watch to keep correct time zone 
         - Requires Zinc Air Battery 

        Package Details:

         - Beepwear Pager Watch 
         - 1,000 message units or 3 Months of Service, Whichever Comes First 
         - Personal Toll-Free Pager Number 
         - Local and Nationwide Coverage On-Demand 
         - Caller ID 
         - Internet E-mail Address 
         - Operator Dispatch - Callers can speak with an operator who relays fully
           detailed, typed messages directly to the pager
         - Information Services - The latest news, sports and entertainment headlines 
         - Voice Mail 
         - Personal Greeting 
         - Page Recall 
         - Automatic Page Counter 
         - Activation Fee  

     . Sporty ($179.95 - Watch Pager)
        
        Pager Features:

         - Receives numeric or word messages 
         - FLEX technology 
         - Holds up to 16 personal messages. The maximum number of characters allowed
           per message is 104 with a total memory capacity of 1,280 characters.
         - Silent visual alert or 5 selectable music alerts 
         - One line message that scrolls forward and backward 
         - Two month battery life 
         - FLEXtime automatically updates watch to keep correct time zone 
         - Requires Zinc Air Battery 

        Package Details:

         - Beepwear Pager Watch 
         - 1,000 message units or 3 Months of Service, Whichever Comes First 
         - Personal Toll-Free Pager Number 
         - Local and Nationwide Coverage On-Demand 
         - Caller ID 
         - Internet E-mail Address 
         - Operator Dispatch - Callers can speak with an operator who relays
           fully detailed, typed messages directly to the pager
         - Information Services - The latest news, sports and entertainment headlines 
         - Voice Mail 
         - Personal Greeting 
         - Page Recall
         - Automatic Page Counter 
         - Activation Fee  

     . Pro ($199.95 - Watch Pager)

        Pager Features:

         - Receives numeric or word messages 
         - FLEXtime automatically updates watch to keep correct time zone 
         - Holds up to 16 personal messages. The maximum number of characters allowed
           per message is 104 with a total memory capacity of 1,280 characters.
         - Silent visual alert or 5 selectable music alerts 
         - One line message that scrolls forward and backward 
         - Two month battery life 
         - Timex Data Link System allows user to transfer information from PC to watch
           and send messages from the software to a pager
         - Stores up to 150 name and telephone entries 
         - Requires Zinc Air Battery 

        Package Details:

         - Beepwear Pager Watch 
         - 1,000 message units or 3 Months of Service, Whichever Comes First 
         - Personal Toll-Free Pager Number 
         - Local and Nationwide Coverage On-Demand 
         - Caller ID 
         - Internet E-mail Address 
         - Operator Dispatch - Callers can speak with an operator who relays
           fully detailed, typed messages directly to the pager
         - Information Services - The latest news, sports and entertainment headlines 
         - Voice Mail 
         - Personal Greeting 
         - Page Recall 
         - Automatic Page Counter 
         - Activation Fee   

-.- Conclusion -.-

Trust me. Skytel is the best paging company worldwide. If u want to go with
Skytel then get Skytel Prepaid. No other alternatives. FUCK local paging, and
those other prepaid paging companies. They don't offer what Skytel has to
offer. Trust me. I have checked them out! hehe :)

-.- Help me! I am in a differnt country -.-

If you already have Skytel Prepaid and are in a differnt country than Canada
or USA. Here is a list of dialups to use to check your messages or to give
to someone to leave u a message that lives in a different country then here
you go:

                    Country           Access Number     Notes

             Australia             1-800-12-8078
             Bahamas               1-800-934-6451
             Bahamas               1-800-934-6451
             Barbados              1-800-534-2170
             Belgium               0800-1-4389   
             Bermuda               1-800-825-0311
             Canada                800-759-8255         
             Chile                 1230-020-3220        
             China                 10-800-524-4624      
             Colombia              980-1-52547          
             Costa Rica            001800-234-4793      
             Denmark               8001-8671            
             El Salvador           0-1-800-234-9578     
             Finland               9-800-1-59402        
             France                05-90-3223
             Germany               0130-8-18414
             Greece                00800-12-2613        
             Guam                  1-800-671-0150       
             Guatemala             099-0082             
             Hong Kong             800-5688             
             Hungary               00-800-11144
             Indonesia             001-800-011-0277
             Ireland               1-800-55-5523
             Israel                177-150-1572         
             Italy                 1678-77100           
             Japan                 0031-12-3373        
             Luxembourg            0800-6170
             Malaysia              800-2652            
             Mexico                95-800-759-8255     
             Netherlands           06-022-7548         
             Netherlands Antilles  0031-12-3373        
             New Zealand           0800-447036
             Norway                800-15617
             Panama                001-800-507-0089
             Portugal              0501-12-707         
             Singapore             800-1200-457         
             South Africa          080-09-92588         
             Sweden                020-79-3976          
             Switzerland           155-2154             
             Taiwan                0080-13-8341         
             Thailand              001-800-12-066-0249  
             United Kingdom        0800-89-3648
             Uraguay               000-413-598-0371     
             Venezuela             8001-2458

EOF


                                 Skytel Scans
                          by pbxphreak <chris@lod.com>

Here are some skytel boxes I scanned recently. Do what you want with them

800-203-4010 (numeric)
800-203-4012 (numeric,text)
800-203-4013 (numeric,text)
800-203-4016 (numeric,text)
800-203-4018 (numeric,voice)
800-203-4019 (numeric,text)
800-203-4021 (numeric)
800-203-4022 (numeric,text)
800-203-4023 (numeric,text)
800-203-4024 (numeric,voiemail)
800-203-1758 (numeric,voice,text)
800-203-7269 (numeric,text)
800-213-4012 (numeric,voice,text)
800-436-4573 (numeric,voicemail)
800-436-4590 (numeric,voice,text)
800-436-4591 (numeric)
800-436-4592 (numeric)
800-436-4593 (numeric)
800-436-4594 (numeric)
800-436-4595 (numeric)
800-437-9229 (numeric)
800-437-1303 (numeric,voicemail,text)
800-437-5767 (numeric)
800-437-8903 (numeric,text)
800-437-0825 (numeric,text)
800-482-1809 (numeric)
800-757-4455 (numeric,voice)
800-759-1368 (numeric,text)
800-759-9821 (numeric,text)



Basics of Shell Scripting (BASH)

You can combine shell variables, control structures, expressions and commands 
to form a shell script. You can create this script file using any standard 
editor. To run the shell script, you the execute its script file. 

You make a script file executable by setting its execute permission using the 
chmod command. The executable permission for the chmod command can be set using 
either symbolicor absolute references. The symbolic reference u+x sets the 
execute permission of a file. The command chmod u+x hello will set the execute 
permission of the hello script file. You can now use the script file name hello 
as if it were a linux command. You only need to set the executable permission 
once. Once set, it remains set until you explicitly change it. 

     hello
     
     echo "Hey Sexy!"

          $ chmod u+x hello
          $ ./hello
          Hey Sexy!
          $

An absolute reference will set read and write permission at the same time that 
it sets the execute permission. A 700 will set execute as well as read and 
write permission for the user, 500 will set only execute and read permission, 
300 only execute and write permission, and 400 only execute permission. 

          $ chmod 750 hello
          $ ./hello
          Hey Sexy!
          $

It is helpful to include in a script file, short explanations describing what 
the file's task is. Any characters entered on a line after a sharp sign will 
be ignored by the shell.

     hello

     #The hello script says hi to your sexy ass
     
     echo "Hey Sexy!"

Variables are used extensively in script input and output operations. The read 
command allows the user to interactively enter a value for a variable. Often 
read is combined with a prompt notifying the user when to enter a
response. Another form of  script input, called the Here document, allows you 
to use lines in a script as input to a command. This overcomes the need to 
always read input from an outside source such as a file. 
You assign a value to a variable with the =. You type the variable name, the =, 
and then the value assigned. 

          $  greeting="hi"

Once you have assigned a value to a variable, you can then use that variable to 
reference the value. You can reference the value of a variable, using the 
variable name preceded by a $. Thus, wherever a $ is placed before the variable 
name, the variable name is replaced with the value of the variable. 

          $  echo $greeting
          hi

You can obtain a list of all the defined variables with the set command. If you 
decide that you do not want a certain variable, you can remove it with the unset
command. 

Although variable values can be made up of any characters, problems occur when 
you want to include characters that are also used by the shell as operators:

space - used to parse arguements on the command line
asterick, question mark, and brackets are used to generate lists of file names
period - represents the current directory
dollar sign - used to evaulate variables

Double and single quotes allow you to quote several characters at a time. Any 
characters within double or single quotes are quoted. A backslash quotes a 
single character (the one it precedes). If you want to assign more than one 
word to a variable, you need to quote the spaces separating the words. You 
can do so by enclosing the words within double quotes. 

Here's 3 examples, in the first example, the double quotes enclose the words 
separated by spaces. In the second example, the quotes also enclose a 
period, treating it as a character. In the third example, an asterisk is also 
enclosed within the quotes. The asterisk is considered just another character 
in the string, and is not evaluated. 

     $ notice="The zine will be released this weekend"
     $ echo $notice
     The zine will be released this weekend

     $ message='The issue came out on time.'
     $ echo $message
     The issue came out on time

     $ notice="You can find the program i wrote with ls *.c"
     $ echo $notice
     You can find the program i wrote with ls *.c

Double quotes, however, do not quote the dollar sign. A $ next to a variable
name enclosed within double quotes will still be evaluated, replacing the 
variable name with it's value. 

     $ winner=stoner
     $ notice="The fat kid that eats the most pies is $winner"
     $ echo $notice
     The fat kid that eats the most pies is stoner

On the other hand, there may be times when you do not want a variable within 
quotes to be evaluated. In that case, you would have to use the single quotes. 
Single quotes suppress any variable evaluation an treat the dollar sign as just 
another character. 

     $ winner=stoner
     $ result='The name is in the $winner variable'
     $ echo $result
     The name is in the $winner variable

You can always quote any special character, including the $ operator, by preceding
it with a backslash. The backslash is useful when you want to evaluate variables
within a string and also include $ characters. 

     $ winner=stoner
     $ result="$winner won \$100.00"
     stoner won $100.00

If you place a command within back quotes on the command line, that command 
line is first executed and its result becomes an arguement on the command line.
In the case of assignments, the result of a command can be assigned to a 
variable by placing the command within back quotes to first execute it. Think 
of back quotes as a kind of expression that contains both a command to be 
executed and its result, which is then assigned to the variable. The characters
making up the command itself are not assigned. 

     $ listc=`ls *.c`
     $ echo $listc
     main.c prog.c lib.c

Keep in mind the difference between single quotes and back quotes. Single 
quotes treat a command as a set of characters. Back quotes force execution of 
the command. There may be times when you accidentally enter single quotes when 
you mean to use back quotes. The first example shows with single quotes, and 
the second with back quotes:

     $ lscc='ls *.c'
     $ echo $lscc
     ls *.c

     $ lscc=`ls *.c`
     $ echo $lscc
     main.c prog.c

Single quotes allow you to assign the written command to a variable. Entering 
the variable name preceded by the $ on the command line, will execute the 
command.

     $ lsf='ls -F'
     $ $lsf
     mydata / reports / letters
     $

Within a script you can use the echo command to output data and the read command
to read input into variables. Within a script, the echo command will send data
to the standard output. The read command reads in a value for a variable. It is 
used input a value for a variable. The read command litterally reads the next 
line in the standard input. You can combine the echo command with the read 
command to prompt to prompt the user to enter a value and then read that value
into a variable.

     greetvar

     echo Please enter a greeting:
     read greeting
  
     echo "The greeting you entered was $greeting"

          $ ./greetvar
          Please enter a greeting:
          hi
          The greeting you entered was hi
          $

When dealing with user input, you must consider the possibility that the user
may enter special characters. Any special characters in a linux command, whether
in a script or not, will be evalutated unless quoted. If the value of a variable
is a special character and the variable's value is referenced with a $, then the 
special character will be evaluated by the shell. However, placing the evaluated
variable within quotes prevents any evaluation of special characters such as $.
In the greetsvar script, $greeting was placed within a quoted string, preventing
evaluation of any special characters. However, if $greeting is not quoted, then
any special characters it contains will be evaluated. 

There are times when you want these characters evaluated. Suppose you want 
to retrieve the list of files beginning with characters the user enters. 

     listfiles
  
     echo Please enter a file reference:
     read fref

     echo The files you requested are: $fref

          $ ./listfiles
          Please enter a file reference:
          *.c
          The files you requested are: calc.c lib.c main.c
          $

When you invoke a script, you can enter arguements on the command line after
the script name. These arguements can then be referenced within the script 
using the $ and the number of its position on the command line. 

     greetargs

     echo "The first argument is:$1"
     echo "The second argument is:$2"
     echo "The third argument is:$3"
     echo "The fourth argument is $4"

          $ ./greetargs Hello Hi Sup "How are you"
          The first argument is: Hello
          The second argument is: Hi
          The third argument is: Sup
          The fourth argument is: How are you
          $

A set fo special arguments allows you to reference different aspects of 
command line arguments. The $# argument contains the number of arguments 
entered on the command line. The $* references all arguments in the command
line. The $@ also references all the arguments on the command line, but 
allows you to separately quote each one. 

The let command performs operations on arithmetic values. With let you can
compare two values or perform arithmetic operations such as addition or
multipliction. 

     $ let 3*5
     15

or

     $ let "res = 3 * 5"
     $ echo $res
     15
     $

Control Structures

With the test command, you can compare integers, strings, and even perform 
logical operations. The command consists of the word test followed by the 
values being compared, separated by an option that specifies what kind of 
comparison is taking place. 

     $ num=5
     $ test $num -eq 10
     $ echo $?
     1

or you can use brackets:

     $ [ $num -eq 10 ]

Do not confuse string comparisons and integer comparisons. To compare two 
strings for equality, you use =, to compare two integers, you use the option
-eq.

The if command if begins with the word if and is followed by a command whose
exit condition will be evaluated. After the command, the word then goes on a 
line by itself. Any set of commands may then follow. The word fi ends the 
command. The else word allows an if structure to choose between two 
alternatives.
 
  ughelse

     echo Enter s to list file sizes,
     echo otherwise all file information is listed.
     echo -n "Please enter option:"
     read choice
     
     if ["$choice"=s]
        then 
          ls -s
        else
          ls -l
     fi
     echo bye

           $ ./ughelse
           Enter s to list file sizes, 
           otherwise all file information is listed.
           Please enter option: s
           total 2
               1 monday     2 today
           $

The if structure is often used to check whether the user entered the 
appropriate number of arguments for a shell script. The # contains the number 
of arguments the user entered. Using $# in a test operation allows you to check
whether the user entered the correct number of arguments. 

If an incorrect number of arguments has been entered, you may need to end the 
shell script. You can do this with the exit command, which ends the shell 
script and returns an exit condition. 

The elif structure stands for "else if". With elif, you cn choose between
several alternatives. The first alternative is specified with the if structure,
followed by other alternatives, each specified by its own elif structure. The 
alternative to the last elif structure is specified with an else. If the test 
for the first if structure fails, control will be passed to the next elif 
structure, and its test will be executed. If it fails, control is passed to the 
next elif and its test is checked. This continues until a test is true. Then 
that elif has its commands executed and control passes out of the if structure 
to the next command after the fi word. 

The case structure begins with the word case, an evaluation of a variable, and 
the word in. A set of patterns then follow. After all the listed patterns, the 
word esac ends the case command. 

     case string in
         pattern)
             commands
             ;;
         pattern)
             commands
             ;;
         *)
             default commands
             ;;
         esac

The while loop repeats commands. A while loop begins with the word while, and 
is followed by a command. The word do follows on the next line. The end of the 
loop is specified by the word done. 

     myname

          again=yes
          while ["$again"=yes]
          do
            echo -n "Please enter your name:"
            read name
            echo "The name you entered is $name"

            echo -n "Do you wish to continue?"
            read again
          done
          echo bye

     $ ./myname
     Pleas enter your name: Lusta
     The name you entered is Lusta
     Do you wish to continue? yes
     Please enter your name: Jen
     The name you entered is Jen
     Do you wish to continue? no
     bye

The for structure without a specified list is equivalent to the list $@. 
$@ is an argument variable whose value is the list of command line arguments.

In the next issue, I will provide a chart of variables/commands/comparisons.
I hope this helps you get started.

Special thanks to ender for your help in this article. *smooch* ;)

~lusta



PECompact by Jeremy Collake (with attached download)
PECompact is a utility that compresses Windows 9x/NT4/w2k executables, while 
leaving them completely functional. PECompact compresses the code, data, 
selected resources, and import/export table of a win32 executable and optimizes 
its structure. It then installs a symbiote which decompresses the executable at
run-time without any noticeable speed difference.  Load time can actually be 
improved in some cases because less data is required to be retrieved from the 
disk or network.

Features:
- Compresses Windows executables and DLLs significantly, while leaving them 
  100% functional. 
- Compresses code, data, import/export table, and selected resources. 
- Advanced section merging and resource data restructuring capabilities. 
- Trims, optimizes, and realigns PE structure. 
- Preserves shell icon and version information, or any other resources you 
  chose to leave uncompressed. 
- Uses my own JCALG1 compression library, which offers decent compression 
  speed, great compression ratio, 
  and extremely rapid decompression. 
- Removes debug information and other optional directories from the executable 
  prior to compression. 
- Sets new, correct checksum in PE header. 
- Compatible with all win32 operating systems (win95,win98,NT,w2k,etc). 
- Highly configurable and easy to use. 
- Shell extension support. 
- Written in 100% assembly language for maximum performance and minimum size. 



A Brief Guide on Datapac by wsx 
h0h0h0 like I noticed that there isn't too much information on the Canadian 
x.25 packet switched network known as Datapac, so I decided to make a file 
myself.  I've tried to make each explanation as easy to understand as possible 
for all the newcomers out there. I didn't use any neat ascii formatting so it 
looks pretty plain. On With Thee Show HEH! 

Datapac is a national public data communications network, anyone in Canada can 
access Datapac, and so can people using other PSN's (Packet Switched Networks).
This service is offered through Bell and the Stentor Alliance. Think of Datapac 
as a long distance telephone network, but instead of voices transmitted data is.
The service uses packet switching, meaning data is transferred in "packets" 256 
bytes in size. The Datapac network is completely digital, and offers error 
checking to make sure data is sent the way it was meant to be. Datapac's 
alternate routing capability allows for data to be sent everytime without 
packetloss. Accessing Thee Almighty Datapac The majority of the people access 
Datapac through a phone line, but there are companies that require leased lines 
for fast response times. I'm feeling lazy now so I will explain in the next 
NOU on how to access this PSN. HEH! Legitamite Uses For Datapac Businesses in 
Canada have many practical and efficient uses for Datapac. I myself just found 
out recently that they verify credit cards and debit cards over this PSN 
network HEH! Here are the most common uses for Datapac: 

- personal banking services 
- file transfers 
- retail point-of-sales-networks 
- inventory control 
- reservations systems 
- credit verification 
- data collection 
- inquiry/response 
- order entry 
- e-mail 
- interactive communications 

I also noticed that the computer store Compucentre and Business Depot use 
Datapac to access a fileserver in Toronto that shows products in stock and 
their prices. Conclusions Although small this file gives you a basic knowledge 
on Datapac in future NOU issues I will go into deeper detail on this x.25 
Packet Switched Network. 

For now seeya HEH! 
-wsx 


                               DMS Switches
                        by pbxphreak <chris@lod.com>

Hi :) here is some info for you on DMS Switches for all you switch ninjas
out there :)

DMS-10 Carrier Class Switching System:

Low initial product cost and low operating costs make the DMS-10 a proven
life cycle leader that provides the fastest return on investment of any
switching system in its class. The DMS-10 delivers advanced features such
as Meridian Digital Centrex, integrated Digital Subscriber Line (xDSL)
services for internet access, Basic rate interface (BRI) and Primary Rate
Interface (PRI) ISDN services, Advanced Intelligent Network (AIN) services
and a wireless interface.

Designed for small to meduim applications, the DMS-10 fits the need for
competitive service providers requiring low-to-meduim line size voice and
data networking. A single DMS-10 can provide access to 320 ISDN PRI links
or more than 20,000 lines.

As your market penetration grows, large cluster configurations can extend
coverage to a wider area. For flexible service delivery to remote subscribers
the DMS-10 supports the full portfolio of Nortel Networks remote access
solutions, such as the Star Remote System, and the AccessNode and AccessNode
Express. In addition, the DMS-10 also supports the TR303 generic interface
which allow you to connect to non-Nortel remote devices.

DMS-10 is a key element in Nortel Networks powerful unified networks
solutions strategy that spans data and telephony. Unified networks enables
you to take advantage of your existing revenue generating infrastructure
while seamlessly adding data and internet optimized segments. This powerful
union of the time-tested and the leading edge-built on the highly economical
DMS-10 platform-puts you in an enviable competitive position.

DMS-100/200 Local Switching System:

The modular DMS-100 local switching system directly serves residential and
business subscribers with leading edge communication solutions. Hundreds of
local carriers around the world rely on this fully digital system to reliably
deliver superior local exchange end office capabilities for serving areas,
large metropolitan business districts, large corporations, and a variety of
other applications.

The same hardware and software components of the DMS-100 system can be used
for a high capacity toll center with optional leading edge operator and
directory services. This DMS-200 Access Tandem terminates trunks as a traffic
concentrator between local exchanges. DMS-200 system options include a large
tandem that supports as many as 112,000 trunks and the DMS-100/200 system,
the first integrated Local Exchange/Toll Center solution.

 BENEFITS:

  - The DMS-100 system's modular hardware and software design offers
    impressive versatility so lines, trunks, and features can be added
    easily and cost-effectively.
  - This flexible solution can grow to over 135,000 lines and extend
    revenue generating services to remotes in outlying areas as much as
    650 miles away.
  - With the industrys largest menu of service options, the DMS-100 system
    provides extensive residential and business services ranging from basic
    telephone service to megabit data access for all market segments.

DMS-250:

The DMS-250 SuperNode is a high capacity switching system designed to anchor
the networks of interexchange carriers. Through the advanced DMS SuperNode
processing architecture, state of the art hardware, optimized system software
and maximum processing capacity, the DMS-250 provides high-speed message
handling capacity to meet the most demanding voice and data communications
needs of today's long distance users.

The modular, scalable system architecture of the DMS-250 system allows
network providers to add processing capacity, memory capacity, trunk capacity
and services as they are needed. The DMS-250 can be configured to handle from
480 to 100,000 trunks depending on call configuration. Enhanced processors
additonal switching matrices, peripherals, and trunk cards can be added
without redesigning the system or interrupting service.

DMS-300:

The DMS-300 switching system processes worldwide telephone traffic for voice
data and video between national and international networks. Offering a full
suite of signaling capabilities, the DMS-300 enables public network carriers
to expand service portfolios and establish operations as full-service
providers of national and international communications.

The DMS-300 is part of our proven family of DMS public network switching
systems. DMS switching systems are used throughout the world by the leading
public network carriers, who count on Nortel Networks products to provide the
highest level of reliability. The DMS-300 architecture is designed to support
the sustained levels of traffic over multiple busy hour peaks which are
characteristic of international calling patterns. The DMS-300 incorporates a
redundant architecture design to provide non-blocking network features.

 BENEFITS:

  - The platform to build the sustainable competitive advantage essential
    for profitable growth.
  - The capability to increase revenue streams through value added services
  - The power to control costs through precise and timely management tools
  - The ability to position your company as a total telecommunications
    provider to your customers.

DMS-300/250 - Combined Long Distance and International Switch:

Designed as an international gateway switch, the DMS-300/250 system processes
worldwide telephony traffic between national and international networks. This
large-capacity digital switching system is capable of supporting up to 70,000
trunks on a highly reliable, robust and versatile gateway platform.

Features:

Providers can drive down the costs and expand the revenue opportunities of
their networks through a combined DMS-300/250 system. With a single software
load on the same DMS hardware platform, providers can deliver the long
distance features of the DMS-250 switch along with the gateway features of
the DMS-300 - sharing common DMS Maintenance and Administration Position
(MAP) interfaces and tables.

 BENEFITS:

  - Reduced costs through sharing of switching equipment
  - Reduced operations, administration, maintenance, and provisioning (OAM&P)
    expenses through equipment and training efficiencies.
  - Additional revenues with the combined, expanded feature set.
  - Modular, scalable architecture meets a wide range of trunk size
    requirements.
  - Flexibility in service development and differentiation.
  - Standards-compliant platform interworks with network switching and
    transmission equipment, including different versions of ISDN, supplied
    by a variety of vendors.

DMS-500 - Local and Long Distance Switch:

The DMS-500 Local and Long Distance Switch is a DMS SuperNode application
that combines local services of the DMS-100 switch, toll and operator
services of the DMS-100/200 Traffic Operator Position System (TOPS), and long
distance services of the DMS-250 switch. In addition to the trunk connections
supported by the DMS-250, the DMS-500 delivers all line types currently
supported by the DMS-100 system for residential and business applications.

The DMS-500 is a total solution with one of the industry's most application
rich portfolios of carrier services loaded with major capabilities that are
market-ready today. These include local services, long distance services,
call center services, operator services, and data services. And, as part of
the Nortel Networks Succession network plan, the DMS-500 is uniquely
positioned for the evolution to data-centric communications.

 BENEFITS:

  - Ability to quickly generate new revenue through new services, new markets
    and new end-to-end telephony offerings
  - Fully functional local/long distance switch enabling revenues to be
    generated on both sides of the switching business
  - Maximum market flexibility for service providers
     - selling or reselling long distance services.
     - operating with or without operator services.
     - offering business and residential line services.
  - Cost and operational efficiencies gained in combining DMS-100/200 and
    DMS-250 services:
     - reducing front-end hardware requirements
     - reducing office site and environmental requirements
     - centralizing operations, administration, maintenance, and provisioning
  - Expanded pre  and post sales service support to build a network, train
    the staff, and operate the network, if needed.
  - Multi-vendor network operability ensured with the DMS-500 Supernode
    system's open architecture.

Thats all folks. Cya Next time :)



               Quote of the Issue (sorry not as good as last time)

<Charizard> Geez I can't wait to get my own Free ISP?
<Charizard> I mean !!!!!!
<Charizard> that way I can't be banned cause of my cheap ISP now!


The important thing is this: to be able at any moment to sacrifice what we are 
for what we could become. 
~Charles DuBois


hello.c DOCUMENTED 
by ght0child (ghetto-child)

This is hello.c, to introduce you to the wonderful world of C programming. 
I hope this enlightens you and stuff...



#include <stdio.h>

void main()
{
   printf("Hello World!@#$\n");
}


You have to include the stdio thing... to print stuff
There has to be a function called main, in every C prog....
if it's not all return 0; then its void... trust me...
printf is the thingy that prints text and crap...
if you feel adventurous add a \a ...
{ these } things contain stuff....

Now you can code hello.c
Move on to bigger and better things like hello.c with two functions
(which is about the extent of my c skill)



Introduction to Spread Spectrum Technology 
Phuzzy L0gik 
--------------------------------------------------------- 
Just in case certain people feel the need to freak out: 

This article was written solely by me, myself and I and does not represent any 
work done for, or on behalf of any organization company or institution that I am
or have ever been affiliated with and should not be interpreted as such. Oh, 
also since this was put together under very tight time constraints I cannot 
guarantee that everything is verifiably correct (though I'm pretty sure I got 
all my facts straight). 
--------------------------------------------------------- 

Spread spectrum technology was developed during WWII to provide a more secure 
modulation technique for military radio communications. Conventional forms of 
radio communication were (and still are) highly susceptible to interference, 
detection, interception and jamming. This is because conventional radio signals 
contain all its power in a very small portion of the available frequency 
bandwidth.  These signals are referred to as 'narrow band' signals. Therefore 
any signals on or near the narrow band frequency can cause interference and/or 
jamming of the transmission. Out in the field this could spell disaster. A new 
more secure modulation technique was necessary to overcome this fault. 

Spread spectrum technology overcomes this by spreading a narrow band signal 
over a much larger portion of the frequency than necessary. Essentially, you 
are hiding the signal inside a bunch of noise. The main idea is that if you 
increase the transmission bandwidth you increase the probability that the 
received information will be correct. This is referred to as 'process gain'. 
For those interested, this result can be derived mathematically by analyzing 
Shannon's equation for channel capacity; as follows: 

capacity = bandwidth log2 (1 + Signal Power/Interference Power) 

Looking at this equation you can clearly see that as the bandwidth increases, 
the value of Signal/Interference power decreases. This is exactly what makes 
spread spectrum modulation much more resistant to interference and considerably 
difficult to detect. 

On top of the obvious performance advantages, spread spectrum technology 
utilizes code division as a method of authentication. Code division is a 
process in which a signal is given a mathematical code (geek translation: 
mapping the dimensions of vector space over a finite field into a vector space 
of higher dimension :P ) which is constantly changing over time. Even if a 
transmission were to be intercepted, the information contained within is 
useless unless each code for every given point in time is known. Reassembly is 
virtually impossible, making this a very secure and extensible modulation 
technique. 

REFERENCES 

www.ece.orst.edu/~rodrigfr/cdma/cdma.html 



                         Well, that's it for this issue...
                Next issue will contain second part to MYSQL, also 
                     second part to Introduction to Perl. 

              Thanks for your intrest, and special thanks to everyone
        that participated in the creation of, and that supported this zine.
             b4b0, 9x, alpha, #hackphreak and #2600... eye loff yew ;)

                                                    _ " _
                     _ " _                         (_\|/_)
                    (_\|/_)  _ " _         _ " _    (/|\)
                     (/|\)  (_\|/_) " _   (_\|/_)
                             (/|\)_\|/_)   (/|\)
                                  (/|\)