August 02, 2005

I AM ORANGE: 1976-1980

Like many seniors in high school I thought about going to college and which college that would be. By now I was very sure I wanted to work with computers and write software. So the college I would go to would have to offer a degree in computer science. Back in 1976 this was not common. Even Princeton University, so close to home, did not offer a degree in computer science and in fact, offered very few computer software courses. As fate would have it, the very first college brochure I received was from Syracuse University.

Syracuse University, I would find out, was very unique for its time. It not only offered a B.S. in Computer Science, it also had the School of Computer and Information Science. Not only that, S.U. had SULIRS - Syracuse University Library Information Retrieval System. The entire card catalog was computerized. I knew these people had their act together and it was the place for me. In September 1976 my mother, sister, and I packed me up and went off to S.U. where the Goon Squad moved me into my dorm with my soon-to-be horrible roommate (but that's a whole other series of articles).

Keywords: Network, DEC, IBM, LISP, Computer Science

Going to S.U. was more fortuidous than I could have imagined. Now remember this was 1976. Computers were mainframes. Keypunches were the norm and very few people used computers. There was no Internet.

In 1976 Syracuse University was a wired campus. There were DECwriter IIs everywhere (white and black machines that used paper and a dot-matrix printer; made a racket but were reliable). In dorms and in academic buildings. Not only that, every student, regardless of degree program, was given several hours of computer time each semester. They could use the time for whatever they wanted: write papers, write programs, learn. The entire operation was run by the Academic Computing Center located in, appropriately enough, Machinery Hall, tucked away just off the north east corner of the Quad.

S.U. had two mainframes: An IBM 360 with a modified operating system: SUOS (Syracuse University Operating System) which was the envy of IBM since SUOS did things IBM said were not possible on a 360. The ACC also had a Digital Equipment DEC-10. Both machines had a couple of megs of memory.

The IBM system supported SULIRS as well as APL. If you are unfamiliar with APL, it was (and may be still is) a marvelously quirky lanaguage of strange symbols, and read right to left. APL required a special keyboard and the DECwriters had the APL symbols printed on them in yellow. You would write entire programs on a single line if you wanted to. The IBM system also supported the more academic research software like SAS.

The DEC system supported mostly the CIS department and was our favored machine. You could do LISP, ALGOL, Snobol, SAIL, Prolog, Fortran, and a slew of other languages that are just fond memories. The CIS department was my Gryffndor.

The 'network' at S.U. was pretty unique, almost entirely home grown. All of the DECwriter II terminals around campus were connected via serial line to a DEC-11. When you approached a machine and hit the return key you were given a login prompt. You had two accounts: one for APL and one for the DEC-10. Depending on which account you entered the DEC-11 directed you to that computer and then made the connection for you. Marvelous system. It even switched the DECwriters to APL mode if you signed into your APL account.

One of my first classes in computer science was LISP (List Processing Language) given by the much-loved Dr. Ed Storm (who has sadly passed away). Can you imagine that the first language you were to learn was LISP? Most people learned BASIC. Not us. We learned LISP. LISP is a beautiful, if impractical, lanaguage. It is entirely recursive and wonderful to teach Computer Science, not computer programming. Learning LISP was like having a light bulb switched on and illuminating a landscape filled with algorithms.

(FUNCTION FACTORIAL N) 
  ( (IF N EQ 1 (RETURN N) (RETURN (MULT N (FACTORIAL (MINUS N 1)))) )

I actually never learned BASIC, nor FORTRAN, nor COBOL. Over my four years we used Pascal, APL, SAIL, and others. The point of the languages was to teach the science behind the software, not the software itself. Our artifical intelligence classes used LISP, Prolog, or PASCAL. The Math department was heavy into APL because multi-dimensional matrix multiplication was easy to do in APL. One of the hardest classes I ever had was Semi-numerical Algorithms (based on Don Knuth's book) given by the much-loved Dr. Pardee (who also has passed away). We used APL to figure out algorithms in different bases, such as base -3. Why? To understand how to express irrational numbers, logic, sorting, fractals, and much more.

I've only begun to tell you of the wonderland that was the S.U. campus, in terms of computing. Bleeding edge, that's what it was. We had some of the best professors in the world come teach there. And S.U. embraced computers in ways that other places were only beginning to understand.

I have never regretted going to Syracuse University (except for the snow) and cannot recommend it enough. My love affair with S.U. lasted longer than my four undergraduate years. I'll tell you about that next time.

Posted by pent at 01:24 PM | Comments (7)

August 01, 2005

Government Work - Things Sure Have Come Along Way

When I was going to high school, a career in computer science wasn't on the top of everyone's list. At least not at my high school. One fellow was going off to West Point, another off to Stanford, and so forth. My own plan was to go to Syracuse University. I think the slacker generation started with mine as most of the student body ridiculed anyone with plans for their future.

But I digress. When I was a senior an opportunity presented itself. The Forrestal Reseach campus at Princeton, N.J. had an opening for an intern in the General Fluid Dynamics Laboratory, part of NOAA (National Oceanic and Atmospheric Administration). The internship included summer and winter breaks from college. I applied and was accepted. I knew Fortran which they were keen on back then.

Keywords: Fortran, vector graphics, raster graphics, modelling

My summer after graduating high school was spent in a black and glass office building on the Forrestal campus. The GFDL was tasked with using computers to model the earth's atmospheres and oceans. Please remember this is my memory of it when I was 18 years old.

The GFDL used a 'super computer', a Texas Instruments ASC1000. I'll never forget it. The memory banks filled a room with another glass-enclosed room being the operations center. The ASC1000 had 1 megabyte of water-cooled magnetic core memory! Can you believe that? 1 whole megabyte and it took up a room. I have a 10 gigabyte flash-memory stick in my desk drawer that's the size of a pack of gum! 1000x the capacity of the ASC1000. Amazing.

I was awestruck of course. I was assigned to work in the vector graphics department where I was tutored by a kind man, Tom, and his biker assistant, Jimmy. The graphics machine was a Stromberg-Carlson 4020. The thing looked like it came from a WWII submarine. It was gray and at least 6 feet long. The images were projected up onto a screen using a single cathod-ray beam in a housing that was 4 feet tall. Above this was a film camera which recorded the images.

Basically, the process went like this: you wrote a Fortran program and keypunched it onto a deck of cards. This took many days to get right and was filled with vector graphic calculations. You handed the deck over to the operators of the ASC1000. The job ran and if successful, produced a magnetic tape. The tape was reel-to-reel and about 24 inches in diameter.

The tape was then brought to the SC4020. The instructions told the SC4020 to draw pictures on its tube which were recorded onto 35mm B&W fim.

The film was taken from the SC4020 and run through a developer (much like the machines at CVS) and a roll of negatives was produced. You then viewed the film either on a projector, or more likely, with a loop to look at it frame-by-frame. I probably have some of those at my Mom's house.

I remember producing 3-D images of the earth (oceans removed) and of weather patterns. I remember how I wanted to blow them up and use them for art work.

But can you imagine this today? What I was doing in 1976 was positively archaic by today's standards.

By the next summer some new technology had made its way to the ASC1000 - CRT terminals. I remember there being about 3 of these terminals, blue cases with white flickering letters on a black background. I was in Sci-Fi heaven. I could actually write programs and make corrections right there without touching a keypunch. I was one of the few avid users ('never catch on" one of the scientists said).

The thing about the techology then was the programmer-operator relationship. You just didn't sit down at a computer and write programs. You had to also go to the computer center and hand over your work to someone else. The computer operation scheduled the jobs. For an expensive machine like the ASC1000, the operators made sure it ran 20/7. Your job might not be run for several hours. There were bins for your printouts and you checked them periodically. Programs with infinite loops or that crashed the machine were a no-no to say the least.

The ASC1000 came with its own team of engineers from Austin that were on site to keep it running. I shared an office for a bit with one of those engineers who spent most of the time talking to his wife and calling her 'punkin'.

The idea that people would have computers in their own homes, hundreds of times more powerful than the ASC1000 was really science fiction. Computers were expensive. Using them was difficult. Programming them was science. Perhaps all of these are still true, but they were not something for everyone. They were not ubiquitous.

I don't know what happened to the GFDL lab. I worked two summers and two winter breaks. As the summer between my sophomore and junior year approached, I called and told them I would not be returning. I was staying at university and working there. It was also the last time I would live at home.

Tune in next time for a peak at the technology of Syracuse University, 1976-1984.

Posted by pent at 07:23 AM | Comments (1)

July 31, 2005

Big Computers, Small Memory

The mid-1970s were an interesting time for computers. I don't know much about what was happening in the industry, but I can tell you what was available to a kid from central New Jersey.

Keywords: keypunch, card reader, card sorter, magnetic core memory, NCR, Fortran, NEAT/3

I don't know about your high school, but mine had computer language courses: Basic and Fortran. Our 'computer lab' was 3 keypunch machines. How to describe one if you have never had the experience? They used paper cards and punched holes in them. Square holes. You might have heard the term 'chad' in the news a few years ago. The cards had rows of numbers and letters. Each row had 80 columns. The keypunch machine had a real keyboard and when you pressed a key, it punched a hole in the card. The vertical column of holes coded for a single letter. The code was known as EBCDIC (Extended Binary Coded Decimal Interchange Code).

If you ever watch me type, you'll see I use my left pinky to hold down the shift key to type uppercase letters. That's because the keypunch had only 1 shift key (labeled 'Numeric') and it was on the left side. It was easier to hold it down to enter numbers and capital letters than to shift-lock the machine.

Keypunches could also be programmed: you'd set up a master card with specific codes and wrapped it around a metal drum in the machine. When the machine read the card, it could either: allow you type only specific things (numbers, letters), automatically print something, or skip over columns.

Each card was either a line from a program or a data card. There were also control cards at the front, middle (if you had data), and end. The control cards were a language of their own. JCL (Job Control Language) was popular as it controlled IBM computers.

Thus your average 100 line Fortran program was a deck of 100 punched cards with some control cards and may be some data cards.

High school, for me, was the start of my career in computers. Not only did I take a class in Fortran (from Mrs. Linda Dyott and Mr. George Osif), but I also worked a couple of nights a week at the school district's "computer center".

After class I would take boxes of cards over to the school district's headquarters. In the basement was the computer - an NCR 150. I'll never forget it. The smell of the machines. The raised floor. The dehumidifier I had to empty. The card sorter machine. It was heaven.

The trusty NCR 150 had magnetic core memory! I kid you not. All 16K of it. I think my mouse has more memory than that now. The core memory took up as much room as two filing cabinets. And this was a state-of-the-art business machine, too. The '150 had two 300K large platter disk drives and an enormouse impact line printer (it would print a line at a time and sounded like a jack hammer).

My job was to take each students' program deck and place them into the card reader and run the job. The machine would read the cards like a poker dealer, pause for a few minutes, then the line printer would start up - either printing an error or the program's output.

Imagine having to wait hours to discover you made a typo! You had to punch a new card, insert it back into the deck, and have the job re-run. Hundreds of software writers and computer operators were doing that every day back then. And don't even think what happened if you dropped a box of cards. If you were clever and punched a number into each card, the card sorter was your life saver.

As I got more familiar with the work and the staff, they had me run other school-related jobs. I would have to use the card sorter sometimes, taking boxes of cards and having this machine mechanically sort them using the holes punched into them. What a trip!

Naturally of course, once my program was run, I would either correct it and re-run it, or embelish it. I remember finding a book on programming that showed how to make a biorhythm (what that is, I don't remember, but it had 3 sine curves) on a line printer. So I worked on that and made them for all my friends. Keep in mind this was the age of mood rings.

|                *               |
|              *   *             |
|            *       *           |
|----------*-----------*---------|
| *      *               *      *|
|   *   *                  *   * |
|     *                      *   |

Since I had time on my hands, I learned the NCR-150's native language: NEAT/3, a derivative of COBOL. I wound up using that during the summer between my junior and senior years to develop a computer-based class registration system. When summer came, I took all of the students' information and programmed the keypunch machines (to speed up the data entry process) and proceeded to enter all their information onto cards. By fall, each class room got a printed report of who was in the room for each period, each teacher got a list of the students in each of their classes, and each student got a list of their courses.

It was hot in the school, but I loved doing it. Sometimes I miss the keypunch machines. There's something gratifying about handling the cards and holding software in your hands.

This was also my first job in 'support'. After all, I did take everyone's programs over to the computer, run them, and study and write my own programs. So it seemed natural to help everyone else in the class.

I guess I got hooked on sharing knowledge, because I loved this stuff and knew a career lay ahead of me.

Posted by pent at 05:45 AM | Comments (2)

July 30, 2005

History Lesson

This is the start of a new category: Computer History. Subtitle: As seen by Me.

I figured it was time to write about something I actually knew, or rather, something I've experienced. Some of you may be too young (sigh) to know about your computer roots.

You've heard the saying by now, "experience matters." Well, it is true on many levels. I'll try to enlighten you with my experience with computers through the (read: my) ages.

Keywords: teletype, baud rate, acoustic coupler, typewriter, Pulsar, LEDs.

My experience with computers began with Star Trek. Not the "Next Generation" or the Star Trek movies, but the real thing. I saw the original broadcast of the 1960s TV series in my pajamas in front of our black & white television. Yes, I am that old.

I was fascinated by the ship's computer. All of those marvelous lights. Voice recognition. That metallic voice. Those 'tapes' with endless information on them. The spectacularly rebelleous M5. I read the Star Trek books, too.

The ship's computer was a duotronic system developed by Daystrom who was later killed by M5. The computer didn't have a binary system. No, its core memory could be set to any value between 0 and 1. It was theoretically capable of knowing the position of every atom in the universe.

OK, so I was a bit of a trekkie back then. But for me, the computer on board the Enterprise held the promise of the future. My future.


Flash ahead to the early 1970s. Ninth grade to be exact. We had a student teacher for math from Rider College (I grew up in New Jersey) who one day brought in this funny looking typewriter (that's a mechanical keyboard resembling a piano, used to imprint paper through an ink ribbon). He set it up on the desk at the front of the room, picked up the phone on the desk and placed the hand set into suction cups on the back of the typewriter.

Then he typed something on the keyboard and a moment later the typewriter typed something back! "Oooh, aah", the class room went. Not really, I was the only one who went "ooh" and "aah". The rest looked dumbfounded. The teacher explained how the acoustic coupler worked. Their eyes glazed over. My were locked onto this piece of science fiction right there in front of me.

At the end of the class, I went up to the teacher and asked more about this teletype. He told me about the computer at the Rider campus. I asked if it knew about volcanoes. After all, the computer on board the Enterprise knew about volcanoes. He said it didn't, but then took the time to explain how to program it using "Basic." Together we wrote a program to sum the numbers from 1 to 10. I was sold.

Sadly, I don't remember this fellow's name. I can remember all sorts of junk about Star Trek and I can't remember the name of the person who took the time show me something that would lead to a life-long career. How sad is that? I wish I could tell him how much his time means to me today.

During the next four years I coerced my mother into buying me the latest gadgets: electronic adding machines and anything that looked digital. Before my senior year in high school I worked a whole summer to buy a Pulsar digital watch. Cost $300 then. No one except me and James Bond had one (you can see him use it in the opening scenes of "Live and Let Die").

Anyway, it wouldn't be until the mid 1970s that I started my career in earnest. But that's another article.

Posted by pent at 05:06 AM | Comments (3)