## rgs

This is generated from a plaintext file, rgs.doc.
Return

- A ROUGH GUIDE TO THE SHELL
- KNOWLEDGE BASES FOR THE ELITE, ARCADE GAMES FOR THE MASSES.
- PERL & SHELL BUILT IN VARIABLES
- EXAMPLE ONE: A LOTTERY SCRIPT
- EXAMPLE TWO: DYNAMIC HTML PAGES

####
A ROUGH GUIDE TO THE SHELL

Next |End

        Q: What is the Shell?

        A: The 'Shell' started out as an intereactive Job Control Language.
    In the days of punched card computing the design of Job Control
    Language (JCL) was an intractable problem, with features being added in
    an ad hoc manner as new hardware and software became available.

        The 'shell' acted as the user interface to the operating system, and
    this was achieved by either typing commands at the terminal, or running
    canned scripts to perform repeated jobs.

        Q: How old is the shell, and why the name ?

        A: Intereactive computing started in the early 1950s with the
    Massachussetts Institute of Technology's project MAC (Multiple Access
    Computing). Telex machines were connected directly to computers.
    Offline work could be done by preparing paper tape, via a keyboard, and
    then flicking a switch to sending the program or data to the computer.
    The whole idea behind this was to eliminate the errors arising from
    programming the computer by toggling an array of switches.

        The use of something like a natural language interface protects the
    computer from errors. A shell will validate input as it is made, and
    reject much nonsense.

        Jack Kerouac, the famous beatnik generation author, prepared one of
    his books on a teletype machine, substituting a world wide human
    audience for a boring old computer. He sent the publisher an enormous
    roll of paper. The book got printed.

        Jack Kerouac's novels contain florid language and much nonesense so
    like many sensational successes they become dated. The language of
    mathematical logic also appears nonsenseical to many people, but it is
    not so quickly outdated. Also mathematical logic tried to reduce fairly
    complex statements to short and terse expressions. Bertrand Russell
    spent much of his early life on this project until Kurt Godel went and
    constructed a meta-theory making much of Russell's mathematics
    redundant.

        Because hard copy terminals were the norm man machine intereaction
    was confined to extremely terse dialogue. This is well suited to
    meta-programming.

        Paradoxically one of the most verbose computer languages ever was
    also invented in this era. COBOL became the norm for business at the
    time. The reason for this is quite clear. Many businessmen really hated
    clever people unless they came from their own social class. Robert
    Oppenheimer, the acadamic responsible for leading the Manhatten project
    was classified as a security risk. Linus Pauling, the chemist whose
    work on protein chemistry paved the way for the discovery of the
    structure of DNA, was deprived of the right to travel from the USA.

        First and foremost the new technology was to be harnessed to meet
    the needs of American corporations. After the end of the 1941-45 war
    the brilliant minds were no longer needed. Alan Turing the pioneer of
    British computing was given a series of dead end jobs and victimised
    because of his sexual preferences.

        Cyberserfdom started right at the beginning. Loads of women were
    drafted into data preparation work with rooms full of people keying in
    punched cards to build corporate data bases. These people were always
    monitored for output with productivity measured in thousands of key
    presses per hour.

        Recent technological advances have merely been accompanied by the
    diagnosis and frequent employer denial of RSI or repetitive strain
    injury.

        Early computer pioneers really did not like this sort of strain so
    the intereactions designed by the scientists for their own use often
    tried to minimise repetitive typing. System software as opposed to
    business software made extensive use of 'macro processors' which would
    expand a few key-strokes into the generation of many commands or large
    data sets. This distinction lives on fifty years later. Programmers
    tend to prefer to use powerful tools such as 'vi' or 'emacs' for the
    preparation of text.

        Nowadays any decent text editor gives the writer access to all of
    the resources of the computer including the ability to pipeline the
    results of internet search-engine trawls into the document under
    preparation. Effectively this means that the editor has some sort of
    command window built in.

        Amongst the American corporations AT&T stands out. The farsighted
    executives of this company invested in an operating system to serve the
    needs of it's key workers at its research laboratories in New Jersey.
    They designed an operating system called UNIX which had a programmer
    friendly programming language called C and a user friendly operating
    system called UNIX. The commands were deliberately designed to avoid
    the hazards of RSI. Copy was abbreviated to cp and archive was
    abbreviated to 'ar' and so on.

        Unlike other organs of the human body the brain does not really wear
    out with increased use. This simple physiological fact is overlooked by
    many.

        Because Bell set up its research labs near Princeton University
    there was a good partnership between academia and business. IBM and
    Digital Equipment made similar efforts, but UNIX was really the most
    attractive system because the syntax of it's shell language went right
    back to the days of Babbage who was releasing papers on 'operator
    algebra' back in the 1830s. These ideas were later developed by Post,
    Church, Godel, Quine and Turing in the 1930s. By this time the operator
    and function algebras of Babbage's contemporaries had become known as
    'Lambda Calculus'.

        Q: Why 'lambda calculus' ?

        A: Greek letter lambda. This was used to bind a function definition
    to its explanation. Twentieth century logicians invented partial
    functions. These are essentially rules for computing certain numbers
    where not all function values are defined. Summing infinite series
    could solve riddles like Zeno's paradox on the time taken for Achilles
    to outrun a tortoise, but the idea of partial functions where it's
    possible to start a well defined computation without knowing whether
    you will get a result is quite another type of problem. Probability
    theory is no help.

        Much theoretical work on early formal symbol manipulation systems
    went onto computers very early in their history to enable people to
    write language translators. Circular definitions became commonplace.

        Q: In the days of graphic user interface (GUI) the shell is
    obsolete.
        Why bother to learn anything about it ?

        A: You could also say that in the days of cheap calculators numeracy
    skills are no longer required. In these politically correct days no one
    is going to be allowed to fail a maths exam. China threw out the Red
    Guards in the late 1970s but in 'Merrie England' political correctness
    and political control of education surpasses the wildest dreams of
    megalomaniac Mao Dze Dong and his siren lover Qiang Qing. Old labour
    stalwarts were joined by Margaret Thatcher in a systematic attempt to
    destroy British Education. We see the results in innumerate accountants
    who sponsor idiotic business plans, engineers who design bridges
    without any knowledge of simple harmonic motion and computer companies
    whose executives have a worse understanding of time and date than the
    mediaeval popes who condemned Galileo and Bruno.

        As it happens most GUIs act as wrappers to shell scripts. The number
    of distinct job control languages has proliferated just as the number
    of layers of wrapping, but the underlying mechanism remains the same.

        Q: Traditional job control languages had cryptic commands with loads
    of peculiar signs like %, $, and loads of commas. No one is bothered
    with accuracy like that nowadays. The point and click interface is much
    less error prone isn't it ?

        A: Typing is a hassle. Who needs writing nowadays. Point and click
    is much faster. But it's still easy to make mistakes such as dragging
    the system folder to the trash bin, or selling shares for real rather
    than as part of a training excercise. The desktop is a filter and
    allows the user to see just what the software vendor wants the user to
    see. Big brother really loves you, so place trust in your software
    vendor. The vendor never loses money by underestimating the
    intelligence of the public.

        On Microsoft Windows the scripts which make up the Job Control
    Language are found in diverse places, and the description of how it all
    works is not really found in one place. The user interface is via form
    filling, rather than writing commas and names, but the results of the
    form filling go into special files and directories such as .pif files
    and the registry.

        Modern operating systems reflect the beaurocratic culture of the age
    in which it was born. The opening scene of the acclaimed movie,
    Schindler's list, shows officials typing up deportation dossiers.
    Intrusive governments and organised crime cartels also known as
    business enterprises made extensive use of computers to build knowledge
    bases which could keep their competitive advantage in excercising
    power. Concealment of knowledge is also important.

####
KNOWLEDGE BASES FOR THE ELITE, ARCADE GAMES FOR THE MASSES.

Next | Back|Top|End

        In order for people to break the hegemony of the USA and its
    criminal corporations it is necessary for the people to use the tools
    which endowed these organisations with power rather than simply buying
    up fertilizer and detonating truck bombs.

        Q: Learning programming is too hard nowadays. Why can't I just
    browse through hard core pornography at work ?

        A: Because too much of it will make you more likely to want to go
    and pay for a surgical procedure to increase the size of parts of your
    body. Unlike the sale of medications and drugs the medical
    establishment and governments excercise little control over new
    surgical procedures. There is generally no statutary process for the
    collection of statistics on such operations.

        Q: But if I still want to download hard core pornography can I be
    found out ?

        A: Almost surely. Most people who do this leave an electronic trace
    which is very easy to track. Someone just looks at a log of hits to a
    pornographic website, or newsgroup. If you use popular programs which
    have an embedded JCL then it is even quite easy for malicious hackers
    to fill up the web cache of your computer with illegal kiddie porn
    which could get you a jail sentence in many countries of the world.

        Furthermore if you are in a position of power you are quite likely
    to boast about your pornography collection when sexually harassing your
    employees. This type of behaviour ranges from the USA presidency and
    Supreme Court to the common 14K triad brothel owner.

        Q: Sounds dangerous. How can I clean up my computer?

        A: Write a script line such as:

        find / -type harcore-porn -exec 'xor-encrypt {} -key $FORGET;'

        Q: But Jack Straw says that I will go to jail if I forget my
    encryption key. How do I avoid this ?

        A: Delete the files. Modify the script.

        Q: But even if the files are deleted, people can find out what was
    on the hard disk. That's true isn't it ?

        A: Yes. There are programs which can read the hard disk several
    writes into the past. These programs are not necessarily easy to
    operate and their use involves removing the disk from the computer. If
    you get your computer confiscated for such forensic investigations you
    can forget that machine for about one year.

        Q: But with millions of people using the net it must be all but
    impossible for the authorities to keep up ?

        A: That's not entirely true. The internet has some rules which are
    rigidly enforced. These are adequate to make most of the system work
    for much of the time. These rules describe data transmission protocols
    and are the result of teamwork between government agencies, educational
    institutions and private business.

        Bill Gates has been percieved as a man who is not sufficiently part
    of the team to be allowed to succeed. There are fears that Microsoft
    could undermine standards by taking a short term profit driven point of
    view. The whole world was to be a mere extension of the MS WINDOWS
    series of operating systems.

        Janet Reno got involved in the witch hunt, or perhaps bounty hunt
    would be a more appropriate metaphor in the case of Bill Gates. The
    teamwork between Berkeley, the military and some of the computer
    companies was breaking down. Netscape and other corporations started
    crying foul. Issues of trade regulation were involved.

        Q: But the general public are showing their approval of Bill Gates
    by buying his systems ?

        A; Yes. Sometimes citizens revolt against their democratically
    elected governments. In this case most people are still running WINDOWS
    because Bill Gates is nothing like the Big Brother described in George
    Orwell's 1984. It couldn't possibly be true !

        The great leaders of all of the capitalist corporations want exactly
    the same sway as the 'Big Brother' of Orwell's novel. They are all
    involved in setting up their own ministry of truth. Their ministry of
    love is extolled by the compassionate conservatism of George Bush, with
    incarcerations and executions, or perhaps the love of the great world
    leaders for the citizens of Iraq and Serbia struggling under the brutal
    dictatorships of Saddam & Slobodan.

        Bill Gates has nothing to do with this.

        Q: But what about the ministry of truth ?

        A: Orwell didn't realy forsee the SPAM, or self propogating
    advertising material. Philip Dick, the American science fiction writer
    had a good idea of what this was going to be like. He also knew that
    America was a police state just as much as Mao's China or Stalin's
    Russia. Just a trifle more effective.

        The Internet is a rumour mill become a vehicle of commerce.

        Q: What's this got to do with shell programming ?

        A: Twenty five years ago Bill Gates, then a law student, wrote a
    BASIC interpretor for MITS, a company in Texas. Microsoft was founded
    to supply a single customer who was selling micro computers for
    hobbyists. These early computers also used Digital Research's CP/M
    operating system but there were many computers that came with BASIC in
    the ROM.

        print 2+2
        4

        In the early days Microsoft got it right. Many new features got
    added to BASIC to such an extent that the inventors of the language
    slated Bill Gates and Microsoft in terms reminiscent of the Ayetollah's
    fatwa against Salman Rushdie. Bill Gates and his staff added features
    to BASIC so that it could be used to format floppy disks, paste colour
    images on screens and play music on the built in speaker circuitry.

        When the APPLE II became popular many people wanted more screen
    characters so an 80 column card was invented as a plug in. Many people
    also bought the Z80 CPU card so that they could run CP/M but Microsoft
    ensured that their own version of BASIC was installed. Microsoft also
    bought the rights for an operating system that had been developed to
    exploit Intel chips from a small West Coast firm whose name has been
    long forgotten. At that time Intel was publishing a lot of really
    technical documentation about IAPX development systems with hints of
    future possibilities such as protected memory and 32-bit addressing
    mode.

        Other computer companies such as IBM and Digital Equipment had long
    provided 32-bit systems and Motorala was already designing a 32-bit
    microprocessor but Microsoft needed to equal competition from other
    quarters. The Apple II had become popular because none of the 32-bit
    monsters could run a simple spread-sheet program called Visicalc. Many
    corporate computer users were reduced to borrowing time on their
    neighbours' Apple II in order to do their financial planning. Documents
    and mailing lists could be more easily set up on 8-bit computers
    running CP/M and Word Star rather than on corporate information
    systems, with perhaps the exception of UNIX users who could do anything
    they wanted with troff and TeX.

        Microsoft quickly produced their own spreadsheet and called it
    Multi-plan. They also helped develop MS-X which was a common operating
    system for a wide range of Japanese machines. MS-X offered a common
    file format for data on 8-bit machines and the IBM PC. It is known as
    FAT file system, because it uses a file allocation table to map out
    space on the disks. CP/M used a method whereby file allocation
    information is stored in directory entries. A long file needs several
    directory entries to accomodate the lists of allocation units.

        When IBM were planning the PC they approached both Microsoft and
    Digital Research. Urban legend has it that the owner of D.R. treated
    the IBM executives just like any other customers while Bill Gates got
    his employees to wear suits when they hosted the IBM team. It seems
    more likely that Digital Research was putting more priority on
    developing CP/M-68 to run on Motorala 68000 chips giving the users a
    real 32-bit OS. Who on earth could imagine that a brain dead
    architecture with segment registers and offsets could get anywhere ?
    Furthermore the early IBM PCs came with a video card that would give
    users a headache after just a short time of looking at a fuzzy screen.

        The fuzzy screen problem opened the way to many regional variations
    of the basic PC architecture. IBM came out with the enhanced graphics
    adapter, and then Chips & Technologies reduced a big card to just a
    single chip. Across the Pacific most Japanese companies started
    comissioning specialised chips to deal with the demands of their
    language. People who really wanted good quality font and image
    rendering used Apple machines or NeXT or went on to Silicon Graphics or
    SUN workstations.

       Q: Unix had a shell for decades, while MS-DOS and CP/M did not really
    offer so much. Why didn't UNIX catch on ?

       A: By the early 1980s several companies including ICL, Cromenco, and
    Microsoft were offering ports of UNIX to various 8-bit platforms.
    Because UNIX is big most systems offered only a subset of the UNIX
    facilities. File compression was still not so common and many of the
    small systems would skimp on such niceties as manual pages. A typical
    example is FORTUNE SYSTEMS who made a big thing about popularising UNIX
    in the mid 1980s. They were only interested in selling business systems
    so they tended to omit things like the C-compiler and many of the
    include files which contain a vast amount of detail on the historical
    development of UNIX and the Internet.

        Essentially FORTUNE came along with a proprietry word processor, a
    proprietry spreadsheet, and an amazingly complicated file system which
    always needed nursing back to life after any glitch in the power
    supply. To repair the file system the user was meant to type in disk
    block numbers by hand after making intricate calculations on the back
    of an envelope.

        During the 1970s several command language interfaces were common.
    Thoughtful IBM users would go for APL while MUMPS was a very servicable
    means of dragging health care data from a wide variety of computer
    systems. The Pick operating system was also available and this was
    designed for ease of use. Pick's system programming language was BASIC.

       Q: Is a shell the same as a system programming language ?

       A: Yes, it is, provided the user feels comfortable in using it.

       An employee is told to make a list of all the customers who did not
    order much in the last year and who owe money on their accounts. Often
    the quickest way to do this is to write a short script in SQL or
    DBASE-IV or whatever, then run the script and print the results. A GUI
    allows the user to fill in a form so that a script to extract the data
    will be created by an inference engine which may well be infernally
    clever in predicting what it thinks the user wants to do without
    actually saying anything. Netscape Communicator's handy method of
    assembling URLs from fragments of previous searches is a good example
    of such frustrating attempts by the computer to show intelligence. At
    this rate computers will be more intelligent than most of the human
    race in a decade or so. Human manned telephone call centers will become
    a thing of the past.

        Q: At least the GUI solves version incompatibility problems ?

        A: Sure. Windows offers only one sort of desktop. If you use LINUX
    then you will get a bewildering choice of different desktops. You can
    try and make your computer look like a SUN or Silicon Graphics
    workstation. You use 'X' rather than say Active-X. 'X' itself has been
    around for fifteen years or so. Do not confuse 'X' or active-X with
    X-rated websites.

        Q: My GUI offers a Wizard to sort out any problems. Is the wizard
    really that clever ?

        A: Norton Utilities and Winzip both employ wizards. Things must be
    looking up for Harry Potter's academy. In truth the wizard is just a
    page turner. The wizard will walk the user through a shell script,
    waving the magic wand at dragons and bad FATS and bit rotted partition
    tables. Anyone who has seen the UNIX file system check (fsck) at work
    will be happy to hold hands with a witch or a wizard. There's just no
    choice!

        Q: If the wizard is just a page turner, then why can't I read the
    book myself?

        A: Because most techie stuff makes designing an H-bomb look like a
    schoolkid's excercise. There is also the fact that software is written
    by different people to those who write the manuals. This means that
    many features described in manuals work rather differently in practice.
    The best thing to do is to get manuals which were written more than
    twenty years ago which describe systems which are still running today.
    Microsoft's first manuals on MS-DOS describe the MS-DOS prompt in
    Windows 95/98. In fact Microsoft have taken considerable trouble to
    iron out bugs in the earlier versions so that the DOS box is pretty
    much what they wanted it to be back in 1983.

        The best manuals to buy are the slimmed down copyright free no name
    books published in Taiwan or Singapore. If you like UNIX then the MKS
    system guide published in Canada ten years ago is good value. Five
    hundred and fifty pages of solid UNIX information for 50 cents is hard
    to beat.

        Microsoft's own early manuals were well written. Multi-Plan, and
    Lattice C both came with easy to read manuals. Their first DOS
    technical reference manual and the BIOS documentation for the IBM-PC
    were milestones in technical publishing. They also represent water that
    flowed under a bridge decades ago. This type of documentation is harder
    to find than the grimoires of medieval black magic reputedly locked up
    in the Vatican.

        Q: Why is good documentation hard to find these days?

        A: Because of the World Wide Web and the information explosion.
    Hypertext is an extension of the game of Dungeons and Dragons. Just as
    in those old style adventure games you need to remember to carry a roll
    of string so that you can find your way out of the maze.

        When HTML was first invented pressing the 'Go Back' button would get
    you out of the maze but that does not work with frames or active web
    content. Scientists recently discovered a slime mould which could
    navigate a maze by filling up the maze with protoplasm, then the bits
    of the mould which were in blind alleys would selectively die leaving a
    single filament spanning the maze from entrance to exit. This is a
    simple algorithm called depth first search described in any good book
    on combinatorics and graph theory.

        In the 1970s Isaac Asimov wrote an essay about the power of paper,
    and print. The conclusion was that books would never be obsolete
    because they don't need a power source, and they are therefore more
    portable than electronic media. Already just a couple of decades later
    books are getting a niche market. Furthermore anyone who regularly
    reads a newspaper such as The New York Times or even the French
    language 'Liberation' will see that these bloated journals are not
    particularly portable: they contain an incredible amount of junk
    information put out by commercial sponsors to such an extent that they
    deny their readers any rights to information.

        While all of this is going on in rich countries the right to read is
    being denied to many people in Sub-Saharan Africa. This a scandal of
    catastrophic proportians. Information Obesity can damage civilisations
    just as much as AIDS or malaria. Anthropologists argue that the
    development of language separated man from the apes and dolphins. Of
    course the loss of language could mean the extinction of humans. Lies
    and hypocracy become ever more seductive to the controlling elites and
    there are still substantial minorities that see this as a symptom of
    the Death of God.

         Q: Why are there so many different computer languages ?

         A: Evolution.

         In the 1950s the formal logic systems of Church, Post, Russell etc.
    were solutions waiting for problems. Hilbert's Tenth Problem had
    already been solved by such methods, but that did not really impress
    the people who make economic and political decisions.

####
PERL & SHELL BUILT IN VARIABLES

Next | Back|Top|End

       $*   Same as $$[]
       $@   $$[I++]
       $#   Size of $$
       $?   status of the most recently executed foreground pipeline.
       $-   current option
       $$   process ID of the shell
       $!   process ID of the most recently executed background command.
       $0   name of the shell or  shell  script.
       $_   last argument to the previous command. Sort of accumulator.

####
EXAMPLE ONE: A LOTTERY SCRIPT

Next | Back|Top|End

        #!/bin/bash
        #
        # Use of random number generator
        # Pick $2 numbers from 1 .. $1
        # Default to UK National lottery selection #

        function shuffle()
        # randomly permute elements of a list
        {
        awk 'BEGIN {RS=" "; srand()} {printf "%8.6f%s\n", rand(),$0}'|\
        sort -n |\
        awk '{print substr($0, 9)}' }

        #defaults URL="http://d4maths.lowtech.org" n=6 m=49

        if [ $# = 0 ]; then echo Lottery selection by $URL
        elif [ $# = 1 ]; then
        echo usage: $0 n m echo pick n numbers from m choices at random without replacement exit 0 else n=$1 m=$2 fi
        echo $n from $m

        if [ $n -gt $m ]; then echo domain error exit 0 fi

        a= i=0 while [ $i -lt $m ]; do i=$[ $i + 1 ] a="$a $i" done

        c=`echo $a | shuffle ` echo $c | awk -v n=$n 'BEGIN {RS=" ";ORS=" "}
        NR<=n {print}' echo " " exit 0

####
EXAMPLE TWO: DYNAMIC HTML PAGES

| Back|Top|End

        #!/bin/bash
        # server.sh  display images from /home heirarchy
        # usage ./server.sh spec1 spec2 ...
        # where spec is a single quoted file type
        # example
        #
        # server.sh *.jpg *.gif
        #

        function shuffle() # randomly permute elements of a list { awk 'BEGIN
        {RS=" "; srand()} {printf "%8.6f%s\n", rand(),  $0}' | \ sort -n | \
        awk '{print substr($0, 9)}' }

        #defaults
        BROWSER=netscape delay=5 base=/home qshuffle=0 qgo=0

        if [ $# = 0 ]; then echo usage: $0 {-go} {-shuffle} {-d delay} {-b
        base_directory} arg1 arg2 arg3 ...
        echo example:
        echo $0 -d 20 \'*.jpg\' \'*.gif\' exit 0 fi

        c=0
        while [ $c = 0 ]; do case "$1" in
          -d)
            shift
            delay="$1"
            shift
            ;;
          -b)
            shift
            base="$1"
            shift
            ;;
         -go)
            shift
            qgo=1
            ;;
         -shuffle)
            shift
            qshuffle=1
            ;;
           *)
            c=1 esac done

        echo $delay echo $base

        #
        # concatenate lists
        # typical use of multiple quotes
        #

        a=
        for i; do b=`find "$base" -name "$i"` a="$a $b" done

        if [ $qshuffle = 1 ]; then echo wait. shuffling a
        c=`echo $a | shuffle`
        a=$c fi

        for IMG in $a; do

        k=`ls -l $IMG | awk '{print $5}'`

        echo Serving $IMG size $k

        if [ $k -le 10000 ]; then echo skipping $IMG continue fi

        # start browser

        if [ $qgo = 1 ]; then echo starting $BROWSER $BROWSER $PWD/dynamic.htm &
        qgo=0 fi

        #
        #  This uses a here document.
        #  Note that the value $IMG is substituted at run time.
        #

        cat << END_OF_HTML > dynamic.htm
        <HTML>

        <HEAD>
        <TITLE>Refresh</TITLE>
        <meta http-equiv="refresh" content="$delay; URL=dynamic.htm">
        </HEAD>

        <BODY BGCOLOR="#FFFFFF">

        <TABLE WIDTH=100% HEIGHT=100% BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <TR ALIGN=CENTER VALIGN=MIDDLE>
        <TD>Image location<BR>$IMG<BR></TD>
        </TR>
        <TR>
        <TD><CENTER><IMG SRC="$IMG" BORDER=0></CENTER></TD>
        </TR>
        </TABLE>
        </BODY>
        </HTML> END_OF_HTML

        sleep ${delay}s done exit 0

## Glossary

ADA | Countess of Lovelace. c1840.
Adabas | Database software developed c 1970.
ALGOL | Algorithmic Language. 1960.
APL | A Progamming Language. Array processing. Ken Iverson.
ASCII | Universal format for text files. Cheap & effective.
Assembler | Symbolic machine code. For nerds only...
AT&T | Bell Research labs in New Jersy is home of UNIX.
AVI | Video file format.
Babbage | Designer of analytic engine. c1840
BASIC | Beginners' All purpose Symbolic.
BCPL | Forerunner of C.
Bison | GNU version of Yacc.
Bool | Wrote 'Laws of Thought'. c1850
Bourne | Early UNIX pioneer. 'bash' is the Bourne shell.
Browser Wars | Internet Explorer verses Netscape.
buffer overflow | Loophole exploited by early hackers.
bus | hardware term.
bytesex | Big endian or little endian.
C | System programming language for UNIX. Pronounce See.
C++ | Evolution of C
C# | Evolution of C++ and JAVA. Microsoft.
CGI | Common gateway interface. Server to HTML forms.
Chomsky N. | Language theoretician. Radical left politics.
client | Guest.
COBOL | Capitalist verbosity.
crack | Crack a password. A library.
D4 | dialect of APL with ideas stolen from UNIX shell.
daemon | Background program. Often a server.
demon | Short for Demonstration. 'Demon with Sound'.
DEC | Digital Equipment Corporation. Also DEC
DES | Data encryption standard.
DJGPP | Excellent C Compiler for DOS/WINDOWS
e-mail | Electronic mail. Also E-commerce.
emacs | Editor based on Lisp. From M.I.T.
Euler | Solved 100 year old factorisation problem. 2^32+1.
expect | Simple event driven scripting language.
FascistCheck | Part of cracklib.
FAT | File allocation table.
FORTRAN | Formula Translator. 1950s language used today.
fry | to 'Sautee' a string is to permute its elements.
GIF | Graphic Image Format. Uses LZH
GNOME | Windows manager.
GNU | Genuinely not UNIX. Public domain software project.
Godel | Designed a code to express all logic statements.
GUI | Graphic user interface. Eats up resources. Expensive.
Heisenbug | Bug that dissapears when debugging is turned on.
Hilbert | Set the problem solved by Turing. c1905.
HTML | Hypertext Markup Language.
HSV | Hue Saturation Value colour encoding.
Hacker | Sort of programmer. Often anti-capitalist.
Huffman codes | Stochastic data compression technique. c1950
Illegal Instruction | Program obeys data. Equal scores in browser wars.
Installer | Program to put other programs on the computer.
J | Evolution of APL. Iverson.
Java | C++ like programming language for active content.
JPEG | Joint Picture Group. Image compression.
K | Database language.
K&R | Kernigan and Ritchie. Writers of first book on C.
KDE | Popular Linux desktop.
Knuth, D.E. | Creator of opus: Art of Computer Programming.
Lab | Colour co-ordinate system.
LINUX | Clone of UNIX implemented by Linus Torvalds.
LZH | Lev-Zimple Huffman compression technique.
M.I.T. | Massachusts institute of technology.
macro | Canned text, often used to save typing.
magic | Signature used to identify file type
Magick | Esoteric arts. see witchcraft
Maple | A popular maths programming language.
MPEG | Video encoding. Motion Picture Group.
MUD | Multi User Dungeon.
NeXT | Black box computer. Evolution of Apple Mac.
OLE | Object Linked Environment.
Open System | System where full explanations are given to user.
P=NP | Conjecture about algorithms.
PDF | 'Portable document format'. Needs Adobe Acrobat.
perl | Pathologically eclectic rubbish lister. Larry Wall.
PINE | Easy to use mailing program. Public domain.
pod | Plain ordinary documentation.
PostScript | Image processing language. Used in printers.
python | Scripting language. CWI.
Reverse engineering | Unfortunate necessity in capitalist system.
Ramanujan | Invented modern methods for computing 'Pi'.
RGB | Red Green Blue. Colour co-ordinates.
RTF | Rich text format. For those with resources to waste.
Russel B | Logician -> radical left politics.
salt | Sprinkle this on your DES.
sanity check | Can be put in programs. Needs thought.
Segment Violation | Attempt to access data out of range
semaphore | Queue discipline method. Dijkstra.
setuid | Upwards mobility in UNIX permissions heirarchy
signal | Form of interprocess communication.
Shell | Command interface. Cheaper to implement than GUI.
Sloane N.J.A. | AT&T researcher. Integer sequence database.
strip | Strip symbols from binaries.
tar | File archive format. 'Let them eat tar'.
Tcl | Scripting language for X. Berkeley.
TeX | Pronounce as Tecch. WISAWYG document praparation
TIFF | Tagged Image Format
TIN | Easy to use news reading program.
Turing | Computer scientist in early twentieth century.
UNIX | Computer operating system invented by AT&T
vi | Visual intereactive editor.
virus | Sometimes malignant program or script.
Von Neumann | Inventor of logical model for modern computers.
VB | Visual Basic. Embedded in Microsoft Office.
VRML | Virtual Reality modelling language.
VT100 | DEC terminal. Immortalised by emulation programs.
Winzip | Popular Windows archiver. Blocking Copyright message.
witchcraft | Term used to describe what people don't understand.
WISAWYG | What I see ain't what you get.
wizard | Directed help text for programs.
worm | Sometimes malignant installer.
WYSIWYG | What you see is what you get.
X | Unix windows server.
XYZ | Transformed colour encoding.
yacc | Yet another compiler compiler
zip | Data compression/decompression techniques.
zombie | An undead process. To kill it, close the pipe.

Back to the Top