27 Jan 2008
A recent post on YC Hacker News asks:
The new question from the yc application “Please tell us about the time you (…) most successfully hacked some (non-computer) system to your advantage” filters me out right there, so far I can’t think of anything. How about you? I love that kind of stories, and I suppose giving them away now won’t hurt the applicants chances?
Almost all my hacks involve computers to some extent, but my proudest hack also involves the public school system. In 1998, going into my senior year of high school, I really wanted to take Computer Science AP. That year, the AP board was switching the course curriculum from Pascal to C++. Unfortunately for us, the school’s computer lab was ancient– a set of 8088 PCs with no hard drives, with each student given a floppy containing a bootable Pascal environment and all his/her code. The school didn’t have any money for a new lab full of computers, and was planning to cancel the course. So I came up with the idea of building one reasonably powerful linux server, and networking the existing PCs to it using a bootable “dumb terminal” disk. Cost: about $2000 for the server and 20 network cards.
Several friends and I worked over the summer to set up our linux lab. It turned out the network card device driver, built for x86 boxes, wouldn’t work on these 8088 CPUs. So we bought a big pile of old 386 motherboards with CPUs and RAM from a friendly alum for $200. It turned out the 8088 cases were not standard, with metal bumps that would instantly short one of our new motherboards. So we installed them on top of their anti-static bags, with only expansion cards to hold stuff in place. Everything except the server was overtly cheap and flimsy, like the 10-base-2 coax network we used instead of 10-base-T because it didn’t require an expensive hub. But everything was also easily replaceable, and we built extras just in case the usual firm smack didn’t fix a broken machine.
Then, on our last work visit at the end of summer, we got some discouraging news: the teacher who was supposed to lead CS AP in our new lab had suddenly departed for a better-paying job at another school district. We finished the lab, wondering how we’d get by without a teacher. The course remained tentatively scheduled and for the first few days we tried to teach everyone how to use the OS and compiler while supervised by a friendly but clueless substitute teacher.
Luckily, we ended up with a much better teacher. Brad Kuhn, a CS graduate student at the nearby University of Cincinnati, came to meet us and knew he was our only chance. Though I’m sure he didn’t enjoy some of the disciplinary responsibilities that came with being a high school teacher, he shared with us a deep knowledge of CS and an honest passion for free software. (Brad went on to become director of the Free Software Foundation, and is now CTO at the Software Freedom Law Center.) We hung out after school playing netris and debating when (or if) Microsoft would start publishing free software. There was no shortage of disagreement.
That was ten years ago in Cincinnati, but my former classmates remain among my closest friends. We’re now the age Brad was when he took that job. What am I going to do this year that will have as positive an impact on the world as Brad’s decision to take that job 10 years ago? What are you going to do?