What I was doing at age 18

I recently realized that a very important aspect of what I have done for the past year in my day job is echoing how I got started in my career. That is, I spent a bunch of time last year and this year justifying a large technical project — in writing for a less-technical audience — and then working with other people to get it organized and deployed. I’ve also recently in my work gone back to that project — documenting the project so that other folks could finish it, and a non-IT PM could manage it — so that I can get back to programming.

Realizing that, it inspired me to see if I still had the documents I’d written for that original project. It turns out, I did — both the original proposal, and a mid-year budget for the actual ordering once we got the project approved.

So, what was this project? Getting my high school computer lab on a LAN, and on the internet — the latter isn’t mentioned in the original proposal, so I guess it was scope creep, but it was awesome. The project lead to my first full-time summer job and my first full-time job when I took my break from Dartmouth (both doing Novell server admin work plus some desktop support) and I’m pretty sure the project itself — still underway — made a difference in my college applications.

A PDF reconstructing the original documents is here: Networking Computer Resources for Hunter College High School: A Modest Proposal Below the break, reminiscences and a text version of the document itself.

As a little background, I went to Hunter College High School in NYC, which is a 7-12th grade school, and as absolutely crazy a bunch of overachieving geniuses as you’ll find anywhere. When I started in 1988 for 7th grade, the school had a whole bunch of early-1980s IBM PCs (name-brand IBMs, floppy only), and while it had picked up a tiny handful of newer systems (what we’d call “whitebox” ones today) over the years, it basically just still had those same PCs in the spring of 1993 when I was ending my junior year. The school got a grant of some sort, and bought a raft of 486SX PCs, so we had two rooms of PCs, and the some combination of the PTA and Alumnae/i Association started a fundraising drive for computer equipment… the early discussions being to get another room full of “multimedia capable” PCs, which then meant 386/486 class PC clones with a CD-ROM drive and sound card (or Macs, which would have been something like a LC II or IIci, again with a CD.)

Back then, the rate of useful change in these machines was much, much higher than it is today. I found that idea objectionable, as this was pretty much a one-time opportunity, and most of those machines would be obsolete very quickly. At the same time, I had a fascination with computer networks and a little experience with them… and so I tried to talk various people in the school into investing the funds to build out a network.

Amazingly, they listened enough that I got asked to put a proposal together to present to the PTA committee which was set to allocate the funds. The first part of the document attached was that proposal. I wrote it with a least amount of adult help and but plenty of help from peers (notably Aveek Datta and Steve Colamaria, probably some others), and it got accepted on a preliminary basis; actually turning that into a budget got a LOT of help, both from the computer lab manager (and Computer Science teacher) at the high school Carolyn Mayadas (who I’m very bummed to find out passed away last year), IT staff at Hunter College (with whom we were affiliated, and got our IP uplink to get on the internet), and a couple of the more technical parents.

The basic outline was simple: ethernet network to all the PCs, and a Netware server (what eventually became “diana.hchs.hunter.cuny.edu”, and also acted as the email server using Mercury). Once the internet connection was on the table, we added that and a Linux server (what eventually became “heimdall.hchs.hunter.cuny.edu” and which hosted the HS web page for some years, but which was mostly used for people to mess around with a Unix-like console session…)

The biggest change from my original design was that I originally suggested using ThinNet/10base-2 (I think one segment per side of the lab), while costs on 10Base-T/twisted pair dropped enough to use it by the time we were actually cabling the labs, and as a condition of the internet connection we used managed hubs. Other little details changed, like the SCSI cards — we used UltraStor cards, IIRC the Ultrastore 34F, and not my original budget for Adaptec — and HDD and RAM prices came down which changed those details. The Linux server ended up being a Pentium (90mhz?) and not a 486, and so on.

One particularly interesting point was selecting the Ethernet hub vendor; the use of managed hubs was a requirement from Hunter College, and they encouraged but did not require that we use their network gear vendor (Cabletron.) We also had a parent with a family connection to Synoptics, who really went all-out in trying to convince us to use their stuff — and throw FUD on some of my design decisions, including for example, using Cat5 cabling rather than Cat3. Affordable 100Mbit Ethernet was a while away, but the cost difference in cabling was trivial and I wanted to future-proof us; this parent raised the point that terminations were different for Cat 5 and that we’d never be able to use it. At the time, I couldn’t find anything to show that — the parent may have been correct for all I know, and I lost track of what was done about a year after graduation, so I have no idea whether they ever reused the old cabling on upgrade… but at the same time, these were basically patch cables running through a raised floor, none of the runs very long or going to a jack.

Getting the Novell server itself up was pretty easy, and a whole bunch of us my year (and some other friends of the lab from earlier years — a particular ’95 whose name I am blanking on especially) got the cables run. We also had a lot of donations of by-then-old PC hardware come in from parents and their businesses, and if I recall right we got to our goal of 30 machines on each side of the lab, with all the older ones at 640k usable.

Getting on the internet was a little trickier; even with a professional installation of the Netblazers on both side, it turned out that nobody at Hunter College wanted to give us a real subnet. NAT was itself a long ways away, so the final resolution — something I was very proud of myself for figuring out then — was to use proxy ARP, with the Hunter College-side Netblazer exposing the 64 IPs for our network on theirs. I can’t remember if we had to have the HCHS-side NetBlazer exposing their some of their machines locally, but my intuition is that we would have had to at least expose their default gateway and possibly DNS servers as well.

The naming convention was “JSMITH.94” in order to fit user directories in a DOS style 8.3 format… that is, first initial/up to 7 characters of last name, plus class year. Conflicts were done with adding a letter to a class year — if I recall right, on one of the younger years we had one case get up to c from something like 4 “JLEE”s for the year. Out of vanity, I also gave myself the user ID “edel.94” with no first initial.

We had more user licenses for the Netware server than we had machines at the time, and the plan I left them with was to try to get the department offices (etc) networked back to the lab. I doubt it was ever done; in those days before cheap off-the-shelf firewalls, keeping the administrative network (when they finally built out one) separate from the student LAN would have been a very good idea.

In retrospect, I wish I’d been a better writer, and there are clearly technical things I’d have done differently, but for its time and my situation, this is still work I’m very proud of. If you’ve made it this far, thanks for reading, and comments are very welcome from anyone who was at HCHS at the time — or who used the network in the couple of years after I left.

Postscript 1: Second, if any prospective employers see this, please remember that I was an 18-year old senior in high school at the time; the document is old. It has not been updated in any way except to recover formatting lost or scrambled by conversion from Word Perfect and Ami Pro documents (the latter now unreadable to MS Word and requiring loading them in WP6.0 for DOS.) Yes, I habitually misspelled a number of words at that age, and embarrassingly did not think to use spell-check. I think it’s still pretty good for where I was at the time.

Postscript 2: If you’ve somehow run across this looking for an introduction to LANs and the technology, I hope by now from the introduction it’s clear that the information below is woefully out of date (and filtered through a rather callow perspective for the time; e.g. the complaints about the cost of Netware.) I doubt there’s much practical use besides reminiscence, although if someone needs an answer to “what did an ISA ethernet card cost in 1994 (from a cheap brand)” the notes below might be useful.

Postscript 3: Actually, when I got there in 1988, they also had a “Microframe” system — some kind of multiuser S/100 system connected to a whole bunch of terminals; in retrospect I assume it has to have run some multiuser variant of CP/M. I don’t think it was working when I got there, but if it was, it finished dying sometime in 7th or 8th grade, and by the time I started hanging out in the computer lab — sophomore year? — they’d already cleared out the old terminals. We found a couple of the old processor boards (“NET/80”) when we were inventorying the storage room, and I saved them from the trash. I’ll post a couple of pictures separately, later.

(The original proposal document, from the fall of 1993)
Networking Computer Resources for Hunter College High School: A Modest Proposal

Why Hunter Needs A Network
The past year has been one of transition for computing at Hunter; under the guidance of Ms. Mayadas, lab usage rose far beyond previous levels. Both individual students and faculty members come to use the lab in increasing numbers, and teachers began bringing classes to use the lab. The English department was particularly active in this, with several classes using the lab for word processing.

This increase in use has underscored both the interest in and need for useful computing resources. Until last Spring, this level of use badly stressed the capacity of existing resources, most of which were obsolete. The acquisition of 18 new systems remedied this, but further increases in use have followed, including the new Computer Applications course. Although new usage has not yet exhausted available resources, the levels currently experienced make lab use inconvenient at times and make an expansion of services difficult or impossible.

The past year has shown that given a vigorous administration of resources, the school community will take advantage of the computer lab through services made available to them. These services should be expanded; there is an evident interest in it from both students and faculty. More importantly, they must be expanded if a Hunter Education is to remain viable in a time no longer characterized merely by the increasing sophistication of technology but also by the ever more universal application of it. Further, it is in out best interest to begin this process of expansion now, as part of a coordinated program intended to benefit the entire school community.

In order to achieve this goal, the first priority for this committee must be to establish an infrastructure to unify existing resources; this will both enhance existing services, and also provide a basis for integrating future expansions.

Considering current resources, 1 the most efficient sort of infrastructure to establish is a local area network(LAN)2 on a server based model. This will have a number of benefits in both the short and long term stages of planning, the most important of which are resource sharing and communications services.

Specific Advantages of a LAN
+ File Sharing
A network will allow files from any system to be stored on a single system – the server. For the immediate future, this will return the old 8088-based systems to usable status by allowing them to run many of the programs which are used most often in the lab, such as WordPerfect and Turbo Pascal. This will also make disk use more efficient on the newer (386/486) systems because for many software packages, a single copy may be installed on the server and then accessed from other systsms.

Further, the network will eliminate the need for the current system in which students using the lab are required to bring and use their own disks; instead, each student and faculty member will be able to have a directory on the server in which they are able
to store their files.

  • Printer Sharing
    Using a network, students or faculty members using the lab would be able to print out from any system to one of a number of printers. This would be done by the user using the same commands they would normally use with a directly connected, replacing the current system in which students leave disks containing files to be printed in a box and must wait a few days to recieve their output. Further, it would enable tighter reins to be kept on the cost of printing since the systems used to do this3 could keep track of laser printer usage for billing purposes.
  • Communication Services
    Once the school is connected to the Internet, a LAN will allow access to Internet services, such as FTP, TELNET, USENET news groups, as well as E-Mail, from any system connected to it. The LAN will also allow access to those computers in the lab running advanced operating systems such as UNIX or WINDOWS NT4. Until then, an LAN will allow users at any system to access HunterNet, and allow users to run network-based (local) E-Mail and Scheduling programs.

  • Distributed Computing
    Another advanced service which the network will allow is the use of Groupware – that is, software which allows simultaneous cooperative work on a project by users accross the network. This is one of the most useful sorts of distributed software; other applications include client-server database systems, multi-user simulations, and teaching software.

  • Cost Effectiveness
    Although a network is very expensive, it is a cost effective solution simply as compared to the cost of adding hard disk drives to the old XT’s; further, it is also cost effective for adding new machines to the lab, because future systems can be purchased with signifigantly more limited configurations because they can take advantage of network resources. The network would also save a great deal of effort on the part of the lab staff, freeing them up for more useful tasks.

The second issue to be addressed, after determining that a network is the present problems, is that of determining what technology the network is to be composed of. This technology must be reliable enough and have high enough performance to be effective under the heavy use it will recieve, and it must be cost-effective as compared with other options. Also, it must be well supported and continue to be supported into the future when the network is expanded through the entire building.

Ethernet meets all of these requirements; it is inexpensive, easy to maintain, and is a proven technology. It offers a very competetive speed for small networks of 10 million bits per second(Mbps). For these reasons it has become the industry standard, and the IEEE is currently in the process of developing a standard for 100Mbps Ethernet. Should the LAN grow far beyond expected it will still be well supported with Ethernet.

There are two other significant technologies which were considered – Arcnet and Token Ring. Arcnet, which runs at 2.5 Mbps, is too slow for use in the lab, and is an old system whose support base is dying. Token Ring would merit greater consideration if cost were not an issue; it is as robust a system as Ethernet, and operates at 16Mbps. However, the cost of Token Ring systems are much higher than those for Ethernet, and the system is less flexible once installed. Other networking systems exist, but they tend to be too expensive (TCNS, Arcnet 100) or are intended for much larger networks and also too expensive (FDDI, ISDN, Broadband) and thus did not merit consideration.

An Ethernet system consists of two components: the network cards, one of which must be installed in each system connected to the network, and the network cabling which connects the cards together. The cards are all roughly alike, although they must be matched to the system of cabling used, and run between $60 and $130 each for most types. In general, a higher cost will be attributed to brand name, though this may bring with it better customer service or software support.

Two of the common systems of cabling may be used in the lab; one of them, Thinnet (also called 10Base-2) uses coaxial cable to connect all of the machines on a single sub-network together. The other system, Unshielded Twisted Pair (aka UTP, or 10Base-T) connects each system to a concentrator (also called a hub). These concentrators are then connected together, or to the server using Thinnet. The other common system of cabling5 is Thicknet, or 10Base-5, which is too expensive and is no more effective.

The advantages of the cabling systems favor UTP except in cost; it is more flexible than Thinnet because the concentrators allow systems to be added or removed from the network without effecting the overall operation. Further, UTP allows a greater number of systems to be connected to the network easily – a single chain of Thinnet is limitted to 30 connections, while UTP can allow up to 240 connections6. UTP’s dadvantage is cost; although the cables themselves are cheaper7, an 8-port concentrator costs between $250 and $400, making the overall cost of each connection $30 to $50 higher than for Thinnet. However, unless this proves to place the cost of the network beyond the reach of existing funds, it is the best option for the lab.

In adition to the Ethernet itself, the network requires a system to act as a server – that is to say, provide files for access over the network and coordinate other services such as remote printing, E-mail and so on, with the systems upon which they are based. In order to do this, the server runs a specialized operating system called a NOS instead of DOS. The most common of these operating systems is Novell Netware.

There are three different versions Novell Netware available commercially – 2.2, 3.11, and 4.0. Of these, 4.0 (the newest) is the most powerful, but is too expensive8. Version 2.2 is the cheapest version, but is a rather slow performer because it is designed to run on a 286 system, and does not support some services which are of use to the lab. Because of these factors, 3.11 is currently the most common version, and is the best choice for the lab.

Netware 3.11 requires a very powerful system to run on; in its minimum configuration it requires a full 4 megabytes of ram. In order to support a full load of 60 users, and because of the need to support additional services, it would be a good idea to obtain a server with 16Mb of ram or more. For this same reason, the server should be the fastest system economically possible; at least a 486SX, and if possible a 486DX/2.

The installation of the network physical plant will take about a week9 once all hardware and cabling is recieved; during this time lab usage will have to be curtailled. Once the physical plant is installed, setting up Netware and other network software would not interfere with normal lab use. This stage of installation might take several weeks, but the final setup of services could take place after the network is operational. The entire installation process could be handled by the student lab interns, under the supervision of Ms. Mayadas.

(Original footnotes, moved to endnotes for this text version)
1 If there was a less substantial investment in microcomputer hardware, this author would recommend a more centralized approach to computing.

2 “A data communications network spanning a limited geographicsal area. A LAN enables you to share disks, printers, communications, as well as files.” (Glossary in Nance, Introduction to Networking)

3 Printer Servers. “A Computer or program providing LAN workstations with access to a centralized, shared printer. Print requests from each workstation go to the print server, which segregates the requests into individual print jobs. Print jobs usually are handled in the order they are recieved.” (ibid) – This is not a demanding task which can be set up on an old XT type system.

4 The lab currently has one system running on a WINDOWS NT.

5 There are also some esoteric ones.

6 This assumes that the concentrators are connected together and to the server via Thinnet; using other methods even larger UTP networks can be set up.

7 A few dollars each for UTP, where Thinnet is in excess of $10 each.

8 Netware is always too expensive; however, 4.0 costs nearly twice what 3.11 does, which is ridiculous for the lab.

9 Given current lab schedules, and the availability of student volunteers.

10 I have listed 8-port concentrators because they are the most common; 12 port concentrators may prove more economical – I have seen them available for as little as $410

A Rough Estimate of Cost: By Item & Category
10Base-T 8-Port Concentrators10 7 @ $300 $2100
10Base-T Network Cards 56 @ $90 $5100
10Base-T Cables 56 @ $7 $400
Thinnet Cards 3 @ $90 $300
Thinnet Cables 10@$15 $150
Other Hardware $50
Cost of Network Physical Plant: $8100
Stripped 486 System $900
16Mb Ram $700
1 Gb SCSI Drive $1200
Novell Netware 3.11 - 100 User $3700
Cost of Server and Network OS: $6500
Total Cost of Network: $15000

(This was a mid-year update to the proposal with specific brands and parts)
Specifications, with Cost
Network Physical Plant

Concentrators ($4800)
1x Cabletron SEHi-24 Stackable SNMP Hub (Master) $2200 $2200 $2200
2x Cabletron SEH-24 Stackable Hub (Slave) $1250 $2500 $4700
Cables, Misc. Hardware $100 $100 $4800

Cabletron hubs were selected at the recommendation of Dr. Eichen at Hunter College; they are priced extremely competitively for managed hubs. Management (SNMP) is a feature which allows detailed statistics on use to be collected, and also allows remote control of ports on the hub. Use of SNMP was a requirement for the Internet connection, and was not part of the original proposal.

Network Boards ($2600)
64 x Addtron AE-200LT (10base-T, 8/16bit, NE2000) $40 $2560 $2560
Shipping, Misc parts $40 $40 $2600

The cards came recommended to us, and had the lowest available price on 8/16 bit 10Base-T
cards. They are otherwise similar to the cards originally specified.

Cabling ($800)
2 x 1000' Category 5 UTP cable spool $300 $600 $600
200 10Base-T (RJ-45) Plug $0.75 $150 $750
Crimping Tool $50 $50 $800

Servers ($10000)
2 x 3 Gigabyte Hard Disk $2250 $4500 $4500
Base System (486DX2/66 EISA, Case, Keyboard, Video) $1200 $1200 $5700
3x 16mb Ram (48Mb total) $800 $2400 $8100
Uninteruptible Power Supply $600 $600 $8700
2x 32 bit Network boards (NE3200 Compatible) $300 $600 $9300
Tape Backup Unit (QIC-80, 250mb) $200 $200 $9500
2x SCSI Controller (Adaptec 1742/2742) $250 $500 $10000

This implements a pair of servers for the lab; the first, and more powerful, will be the primary file server running Netware. The second provides a backup in case the first server fails, and will be used for development and internet applications. The separation of functions was a requirement for the internet connection.

Memory Upgrades ($300)
10x 384kb Board $30 $300 $300

This is for upgrading the remaining PC systems to 640kb which is required to run the netware client software.

Internet Connection ($6000)
2x Telebit Netblazer PN2 $1700 $3400 $3400
4x Hayes 28.8kbps Modem $500 $2000 $5400
Installation $600 $600 $6000

The second netblazer and pair of modems is for installation at Hunter College; overall, this connection gives network throughput of just less than 60kbps, which is adequate for our needs.

Novell Netware 3.12, 100 User liscense $3500
Wordperfect 5.1 for Networks, 60 user liscense $1200
Lotus 1-2-3 2.4 for Networks, server & 30 user liscenses (obtained through NYSSL)
dBase III+, 30 liscenses (obtained through Hunter College)

(This was an inventory we took of computers hanging around at the beginning of the
year. I sincerely HOPE that Osborne didn’t get thrown out, but I have no idea what
happened to it)

Existing Computing Resources

17 IBM PS/ValuePoint 486SX-25 Systems (4mb Ram, 120mb HD, VGA)
2 386/25 Systems (1 w/ 4 mb Ram, 1 w/ 2 mb Ram, both 80 mb HD)
1 Premier 8300 (2mb ram, 60 mb HD)
2 AT/286 Systems (512kb ram, 20 or 40mb HD)
1 Epson Equity Ie ( 640kb ram, 20mb HD)
5 IBM PC/XT systems (512kb or 640kb ram, 10 or 20mb HD)
1 IBM PC system (512kb ram, dual 10mb bernouli drive)
22 IBM PC system (256, 512 or 640kb, dual 360kb floppy drive)
1 Apple IIe (64kb, Dual floppy drive)
1 Osborne I (64kb, dual floppy drive)
12 other systems in offices

1 HP Laserjet Series II (1.5mb Ram)
1 IBM 4019e (512kb ram)
1 IBM Proprinter X24

Other Resources
1 Canon Flatbed Scanner