Chuck's Computing History

The beginning

Although I did not touch a computer until high school (early 1980's), the seeds for my involvement in computing were sown back in the late 1960's when the Delaware School Auxiliary Association (DSAA) and the Delaware Department of Public Instruction started Project Delta. To quote the Project Delta web page:
Project Delta was an incredible learning experience that introduced
thousands of Delaware high school students to computing in the 1960's
and 70's.  Delta was founded on the radical idea that computers in
education can be run by the students.  At Delta, the students ran the
computer, installed the terminals at the schools, improved the
operating system, and invented early versions of things like e-mail
and online chat.  
Project Delta was hosted at the University of Delaware (UDel) using DEC PDP-11 processors running the RSTS/E operating system. From 1972 to 1978 Delta was located in UDel's Department of Electrical Engineering. This allowed high school students to interact with and be educated by the EE department (and in some cases the students went on to join the department). In 1978 Delta was moved UDel's Department of Education (partly due to politics, according to the web page). From this point onward the focus of the project changed and the project started to decline. Project Delta was terminated in 1982.

My high school, A. I. duPont High School (Greenville, Delaware), was a member of project Delta. Around 1976, Dr. Carl Hauger (then at A.I.) applied for and received a grant to purchase a computer for education use at A.I. One of his requirements was that the new computer be able to run programs from Project Delta, thus a PDP-11/34 was purchased.

High school

By the time I arrived at A.I. (1981) Project Delta was almost dead, however, A.I. still had the PDP-11/34 that it purchased with Dr. Hauger's grant money and access to the Delta programs. I first used a computer in the fall of 1982 when I was a sophomore. The PDP-11 was running RSTS/E V7.0-07 at the time. I remember that my first account was number "156,20" (we didn't have account names back then). After a year of computer classes I was hooked! I eventually became the student system manager of the PDP-11 (earning the privileged account "1,11").

One of the nice things about RSTS/E was that most of the system programs (called "commonly used system programs", or CUSPs) were written in BASIC-PLUS and the source code was provided by DEC. I spent a lot of my time reading RSTS/E source code and manuals. I entertained and educated myself by either writing new system programs or re-writing existing system programs. For example, I re-wrote LOGIN.BAS and the home-grown E-Mail system on the PDP-11 to use Unix-style usernames rather than account numbers. I also learned how to use the TECO editor during this time. TECO is the editor that emacs was first implemented under. Although I didn't realize it at the time, I was doing the same sorts of things high school students did at Project Delta (when it was active).

Interestingly enough, it turns out that the remains of Project Delta were also located on the A.I. campus (in a separate smaller building). "Project DIRECT" consisted of a HP2000, a Data General Nova, a VAX-11/780 (running VMS), and two MUX systems with modem banks for communication. It was never fully clear to me what the goals of DIRECT were. They had a huge number of modem lines, most of which never seemed to be used. The DIRECT folks avoided most of us high school students (easy enough, since they were in a separate building). However, since the DIRECT HP, Data General, and MUX were located in the A.I. machine room, I ran into their system mangers from time to time and I managed to obtain unofficial access to their VAX. This allowed me to learn all about VMS.

Meanwhile, the rest of the school district was trying to enter the computer age by purchasing Apple IIe's. We had a few that we used for learning Pascal. After becoming used to a multi-user PDP-11 system with chat programs, dial-up modems, and e-mail, using an Apple IIe was a giant step backwards as far as I was concerned. I did not like the Apple IIe at all.

Part time college

While in high school, I was encouraged to take night computer classes at University of Delaware for fun. The first class I took was CIS135: COBOL. I learned COBOL on UDel's Burroughs-7700 running an OS called CANDI (pronounced like "candy"). One odd thing about the B7700 was that it used half-duplex serial lines. In addition to being used to teach COBOL, the B7700 was also used to store all the UDel grades and stuff (I never tried to get into that though). Even though people will make fun of you for knowing COBOL, I found it to be an interesting language and I enjoyed learning it. I also had access to UDel's DEC-10 system around this time, but I did not find TOPS-10 all that interesting relative to the other DEC operating systems I was using at the time (RSTS/E and VMS).

After COBOL, the second class I took at UDel was the "intro to computer science" class. This was my first exposure to an IBM mainframe (an IBM 3081). The system ran VM/CMS and we were taught Pascal. I do not remember much about this class, except that I didn't like the IBM environment much. It was hard to use the internet from the IBM and it wasn't compatible with anything else on campus. For example, the IBM expected IBM EBCDIC terminals to be attached to it. This was a problem because UDel had a network of ASCII terminals connected to a port selector (a serial line based terminal server). In order to overcome this problem, a conversion box had to be inserted between the terminals and the computer. It translated sequences like ESCAPE-1 into IBM function key sequences ("F1"). This was important because the IBM's editor ("XEDIT") and directory listing program ("FILELIST") required the use of function keys.

Undergrad

After graduating high school in 1985 I went on to attend University of Delaware as an undergraduate in the Electrical Engineering department. Since I had already taken UDel's intro to computer science class in high school I got put into a special intro to computer science class that used FORTRAN rather than Pascal. This was somewhat of a waste since I already knew all the topics covered in this class, however, I did manage to learn FORTRAN in the process. Learning FORTRAN wasn't as fun as learning COBOL because FORTRAN wasn't all that different from Pascal and BASIC-PLUS. I believe I used the "f77" compiler on a VAX running 4.2BSD Unix. Although I had used UDel's Unix systems before (via friend's accounts) this was my first real Unix account.

One of the fun things about being a UDel student is that the university has a one month "winter session" between fall and spring semester. Taking a winter session class allows you to better enjoy living on campus while taking a light course load. I had been playing with the Unix systems at UDel, but I found that my lack of knowledge of C was preventing me from learning what I wanted to fast enough. So, during the winter session of my freshman year I took "CIS-135: C" and finally learned C. I really enjoyed this class. Learning C helped me better understand Unix. Also during this time I started playing /usr/games/hack frequently (I used my newly learned C skills to examine and understand hack's source code, in great detail).

Also during my first winter session I started undergraduate research with Professor David J. Farber. As part of Farber's group (F-Troup) I got access to IBM-PC/AT's running SCO's Xenix operating system. This was my first chance to learn about "root" access to a Unix-like system. I was involved in several projects in this group. I ported the MMDF electronic mail system to Xenix (MMDF was later used as a mailer on SCO Unix partly due to this). I wrote software for a PAL programmer that was used by Gary Delp to program PALs in his Memnet system. And I worked with Ron Minnich to port ISODE (the ISO network protocol development environment) to Xenix (painful). We also attempted to write a device driver with Dave Crocker for an ISA ethernet card, but Dave's company never provided enough programming information for us to complete the driver. In 1987 Farber left UDel to join UPenn, so I was out of work for a while.

During my final two years at UDel, I worked as a system manager for Dan Grim in EE/CIS Computer Lab. I was the main EE student running the lab. This was somewhat unusual because I was an undergraduate, but Dan was involved in Project Delta and was pretty comfortable with the idea. When I was working at the lab we had three VAX-11/780's, an ARPAnet IMP (node #96), an eight processor i386 Sequent running Dynix, and a network of Sun3 and Sun4 systems. On the VAX systems we were beta testers for Mt Xinu's MORE/bsd operating system (I helped run the beta test on the UDel end).

Grad school

From 1989 until 1998 I was a full time graduate student at Washington University, in St. Louis Missouri. Our research center, the Computer and Communications Research Center (CCRC), had a network of Sun3 and Sun4 workstations that I helped manage. The largest system we had was a twenty processor SparcCenter-2000 running Solaris. However, our main fileserver (dworkin.wustl.edu), was a Sun-4/670 running SunOS. My workstation (maria.wustl.edu) underwent a number of changes over the years. I started with a SUN-3/150, and then moved on to a Sparc-1. Next I moved to a SUN-4/110 (donated by Sun). Finally, I ended up with a Sparc-2. For a number of years I allowed anyone to create an account on maria so that they could access my /usr/games (I collect curses-based Unix games).

In 1994 we received a donation of Sun equipment from Southwestern Bell Telephone. We used that equipment to start a networking and operating system's research lab in WU's Applied Research Lab (ARL). We choose NetBSD as our platform because it was freely available and ran on sparc systems. I coordinated all equipment for this lab. We eventually moved to i386-PC based equipment due to its high performance and low cost. At last count (in 1998 when I left), WU had about 30 NetBSD PC systems with over 200 GB of disk space (partly for our video server).

Also, around 1994 I ported BSD to the Motorola MVME-147 board (68030 processor). This was later used to port BSD to the 60840-based MVME-167 board (by Theo de Raadt).

AT&T Systems

I joined AT&T in 1998. While at AT&T I mostly use modern Pentium-based systems running BSD. We especially liked the Dell 2U rack mount systems for our prototypes (the 2450, and later the 2650). We also had some SGI IRIX, Solaris, and Linux system that I sometimes used.

CMU Systems

For research, we use racks of 1U, 2U, and 3U PC servers from various vendors (Dell, IBM, etc.). The lab also has two NetApp filers, a Panasas storage system, and an Equalogic storage system. For day to day computing I have a desktop and a laptop (IBM T43p) that I run NetBSD on. Our new data center uses APC in-row cooling and hot aisle containment to cope with the environmental requirements of running large numbers of high density rack mount systems.
return to Chuck's home page