This is my personal blog.

I work with software and computer networks. While I was at MIT I worked on the first implementation of TCP/IP for a personal computer, a package called PC/IP which MIT shared under a very liberal license, pre-dating open software and the FSF. I also created the first network analyzer that actually parsed network data rather than just dumping bytes (Netwatch).

Later I co-founded FTP Software, which sold PC/IP as PC/TCP. I did development and design work on PC/TCP as well as serving as FTP’s first president. I remained a board member until soon before FTP went public. FTP was privately held with no outside investment before it went public. When people talk about “lean startups” with only a million dollars of investment, I have to chuckle.

I later worked with Epilogue Technology, building a highly portable protocol stack and one of the first MIB compilers for SNMP. Epilogue was eventually acquired by Integrated Systems, Inc., which was then acquired by Wind River.

I also participated in the Internet Engineering Task Force and served for two years on the Internet Architecture Board.  I authored RFC 1055 (“A Nonstandard for Transmission of IP Datagrams Over Serial Lines: SLIP”), edited RFC 1862 (“Report of the IAB Workshop on Internet Information Infrastructure”), contributed to RFC 1636 (“Report of IAB Workshop on Security in the Internet Architecture”) and am referenced in other RFCs.

I helped start The Little Garden (more info here and here) with John Gilmore, David Henkel-Wallace and Steve Crocker. TLG was an early Internet Service Provider in the San Francisco bay area. TLG grew out of a desire to share an Internet connection between several of us in the bay area; it gradually grew as more people connected to it and took on a life of its own, eventually run by Tom Jennings of Fidonet fame and acquired by Best (later Verio).

I also was an early supporter of the Electronic Frontier Foundation. I have been and remain very concerned about Internet security and privacy and am an advocate for both open source software and privacy issues.

Somewhere along the way I helped John McNamara update his classic book “Local Area Networks” and became a published book author.

I also hooked up a toaster to the Internet before it was fashionable. I suppose I’m an Internet hipster.

My old Geek of the Week interview is still kicking around the net in various locations.

As are a couple of papers I helped write:

The Desktop Computer as a Network Participant – Saltzer, Clark, Romkey, Gramlich

An Analysis of TCP Processing Overhead – Clark, Jacobsen, Romkey, Salwen

I was involved in a restaurant in the early 2000s. Never again. Okay, possibly as a consultant. Restaurants are crazy places. But I remain a foodie, accomplished cook, coffee roaster and tea snob.

I do much of my software work in Perl and Javascript these days and dabble in building web sites. When I build web applications in Perl I use the Catalyst Framework. When I build simpler sites, I use WordPress despite  disliking PHP as a programming language. I’m also a dedicated Mac user.

I built and operated a web site about food local to the area I live in (the “Upper Valley”) called UVFood.com which I shut down around 2011. I also built and still operate UVWeather, which reports the local weather in an easy-to-read, stylized manner and posts current conditions and forecasts periodically to Twitter.

Recently I’ve been doing a lot of work building browser extensions and Chrome apps in Javascript, HTML5 and CSS. I find the evolution software has taken over the last couple of decades fascinating… I don’t think anyone would have ever predicted how we would be writing applications today.

I  also  have the privilege to serve as an MIT Educational Councilor, as a board member for the Norwich Farmer’s Market and as a mentor for Precision Nutrition’s Lean Eating coaching program.

%d bloggers like this:
var _gaq = _gaq || []; var pluginUrl = '//www.google-analytics.com/plugins/ga/inpage_linkid.js'; _gaq.push(['_require', 'inpage_linkid', pluginUrl]); _gaq.push(['_setAccount', 'UA-239812-12']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'stats.g.doubleclick.net/dc.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })();