个人简介编辑本段回目录
You're not going to get many personal details here; mostly professional stuff. Born in New York, lived on Long Island with my parents till I was 9, then moved to rural Maine with them. While I was a (bored) teenager, I developed a taste for electronics, learned how transistors and TTL logic worked, learned how to build logic gates out of transistors, latches out of gates, processors out of gates and latches.
MIT, PC/IP and Netwatch
I went to school at MIT from 1981 to 1985, and got my undergraduate degree in Computer Science there. While I was there, I had the privilege of working on the first TCP/IP for IBM PC's with Dave Bridgham, for Prof. Jerome Saltzer and Dr. David Clark. The package was called PC/IP, and the copyright it was released under was prescient to the GNU Public License in its openness (although not in its viral nature).
PC/IP was a small TCP/IP implementation that was linked into the applications that used it and provided only a single TCP connection (not enough, importantly, to support FTP). You can still find copies of it laying around. It's quite out of date and I'm not sure why anyone would want to use it today.
While we were working on PC/IP, I wrote Netwatch, a packet sniffer. Netwatch wasn't the first packet sniffer, but to the best of my knowledge it was the first one to display packets textually rather than just showing you the values of the bytes and let you interpret them. Eventually we added color support to it, which was great; you could see what was going on just by glancing across the room. I was always very pleased with Netwatch and wish it had gone further.
FTP Sofware, PC/TCP and Packet Drivers
Eventually I left MIT and founded FTP Software with some friends (including Dave). We knew that some folks were selling copies of PC/IP unmodified (which the copyright allowed for), so we figured we could sell copies of it with improvements. Hence the name "FTP Software" - we added support for multiple connections to the TCP and were able to implement FTP (which required two concurrent TCP connections) on top of it. We named our product "PC/TCP" so that it wouldn't be entirely confused with PC/IP. Eventually we made it a TSR ("Terminate and Stay Resident") program so that the network stack could be utilized by more than one application. We also did an implementation of NetBIOS over TCP.
While I was at FTP, I created the packet driver specification. Packet drivers preceded Microsoft's NDIS and Novell's ODI specifications, providing a standardized interface for a network device driver which didn't need to be linked in to software using it (originally, the network card device driver was linked into PC/IP or PC/TCP). The packet driver spec allowed users to run multiple protocol stacks (for instance, TCP/IP and NetWare) at the same time, and allowed software developers to decouple the protocol stack from the particular network card it was running over. Russ Nelson of Crynwr Software was a major packet driver developer, and wrote and released many packet drivers under the GNU GPL.
California and Epilogue Technology
In 1988, I moved to California and started working with Epilogue Technology developing portable protocol stacks and SNMP implementations - software that was independent of the C compiler, operating system, and processor. Karl Auerbach had already written a very portable SNMP implementation; I wrote a very portable UDP/IP implementaiton for it to run over. Eventually I also wrote a MIB compiler that read a MIB and generated code to assist an application in handling that MIB. We also added a portable TCP to the portable UDP/IP and changed Epilogue from a consulting firm to a company that licensed the protocol stacks that we'd written.
While I was at Epilogue I hooked up the first toaster to the Internet. The toaster was a Sunbeam Radiant Automatic (I still have one in my office). A computer running an SNMP agent implemented the "toaster MIB" and could cause the toaster to start or end toasting. It's not a very practical use of the Internet or of a toaster, but it was a cool demo.
While I was still living in California, I was involved in the creation of The Little Garden, a small cooperative network. It was originally founded by Cygnus Support, Trusted Information Systems and Epilogue Technology, on a very ad hoc basis - pretty close to wires strung point to point, evolving into a true ISP as more sites were added. Eventually The Little Garden was bought by Best. It was named after an excellent (and unforunately now defunct) Chinese restaurant in Palo Alto.
In 1991, I moved back to the Boston area, but remained with Epilogue Technology. I was tired of working on protocol stacks for so long, and eventually resigned to form ELF Communications in 1992 with a couple of friends. ELF only lasted a couple of years.
IAB and later
I also served on the Internet Architecture Board for two years, from spring of 1993 to spring of 1995. It was a very interesting two years as the Internet became more commercialized and politicized. Many IETF working groups desperately needed architectural input but the IAB was becoming more and more wrapped up in dealing with political and procedural issues. I haven't attended IETF in some years although I'm going to try going to a meeting again sometime.
I did a "Geek of the Week" interview in 1993 which is still available online. I was exhausted and starving when I did the interview; I'd barely slept the night before... I have no idea anymore what I said.
I also published a book. More precisely, I co-rewrote a book - John McNamara's Local Area Networks: An Introduction to the Technology. John wanted to publish a revision of the first edition and include more material on protocols and protocol stacks; I contributed maybe a third of the book as new material. Technical books like this are difficult to deal with because material becomes old very, very quickly. If you write a chapter about how to configure a particular router, there may be a new software release for the router before your book even hits the shelves. To try to avoid those types of problems, we tried to be very general in the way we wrote the book. We didn't get into the details of particular hardware or particular software, but stuck to the general issues, with more of a "teach a man to fish" attitude. Despite trying to write a relatively timeless book, it's unfortunately out of print now.
For the last ten years I've been doing my own research, working on home automation and network systems (I've worked with X10, LiteTouch, Panasonic's KX-TD phone system and Tridium's HVAC controller) and tools to help generate code and web sites from databases. I'm an accomplished cook and became involved with Cambridge's Tea-Tray In The Sky cafe (and later restaurant, which briefly became Elements). I'm currently getting back into more active development cycle, am working on a couple of my own web projects, and am available for consulting.