Software I’ve Written

Last updated November 24th, 2008

I write software for work and play. The list below focuses mainly on play — the stuff I worked on because I wanted to. As a result, it’s probably the software I’m most proud of, too.

Go! (2009)

go.davepeck.org is a great place to play Go on the web. No account is required; just type the email address (or twitter account) of your opponent and away you go. I wrote this as a “weekend hack” — which is to say, I cranked out the code on a Saturday and Sunday in early 2009. Since then, its user-base has grown substantially and I am continually improving the site based on user feedback.

Playing The Game Of Go Signing Up For A Game

Go is a Google AppEngine application. The code is available on GitHub for anyone to learn from. It is licensed under the AGPLv3.

E-Quill (1999-2001)

E-Quill was an integrated web application and browser extension. Once installed, users could mark-up, annotate, and edit web pages directly in the browser. They could submit these modifications to a shared server for tracking, review, and approval.

EQuill Client EQuill Collection EQuill Groupware EQuill Review Server

Images courtesy of HCI guru and VP Of User Experience at E-Quill, Joe Lachoff.

The client plug-in was an ActiveX browser extension written using C++ and ATL. The server was a JSP/Java application with an Oracle database backend.

As the first employee and engineer at E-Quill, I helped guide our product from early concept to successful implementation. We brought in a host of talented developers along the way; without them, this effort would not have been possible. E-Quill was acquired by Microsoft in November, 2001. I worked at Microsoft as a full-time software engineer until May, 2008, when I departed to work as a freelance consultant.

Gruad (1996-1998)

Gruad allows users to programmatically describe and visualize high-dimensional curves and surfaces and to interact with the visualizations in real-time via user-defined controls. Gruad was a port and extension of a piece of software called Fnord to the Mac OS platform. Fellow student Dave Akers and I wrote the port under the guidance of Tom Banchoff at Brown University. The original Fnord project was written by numerous Brown University students, notably including Scott Draves (of Electric Sheep fame), Nick Thompson, and Matthew Stone. Later contributors included Masi Oka, who now plays Hiro Nakamura on Heroes.

The Cyclides Of Dupin, Rotated About The XW Plane Quadrics, With Interactive Widgets Generic n-Saddle

Gruse is Gruad’s interpreted mathematical description language; it’s a slight extension to the original Fnord language designed by Scott Draves. It uses notation that is familiar and natural to many geometers. For example, a mathematician can describe a simple parabola by writing f(x) = R -> R^2: x -> (x, x^2). Here’s the Gruse code that generated the n-torus image above.

Gruad’s visualization tools are capable of rapidly displaying complex surfaces via OpenGL or (old) Quickdraw3D.

Infotron & Murphy’s Revenge (1994 & 1995)

Infotron is a Macintosh puzzler. In it, you play Murphy, a bright red gumball who’s out to save the world and is going to have to use his brains and dexterity to do so.

The Infotron 1.1 Splash Screen, By Dan Sandler Infotron 1.1 Game Snapshot

Download Infotron v1.1 for Mac OS 9; it runs under emulation on OSX.

Infotron was written in 1994 while Nate, Brooke, Dan, and I were in high school. It was our first large-scale software experience, and it became a popular Macintosh game. It even got four stars in a MacWorld review!

Infotron was based on a PC game called Supaplex, which still has an active fan base.

After completing Infotron, Dan and I turned our efforts towards a much more exciting and mature sequel that featured smooth scrolling, excellent graphics and sound, and clever new puzzles to solve. Murphy’s Revenge was never finished (going to college can be so distracting,) but the second development release is surprisingly fun and playable.

Murphy's Revenge dev2 Release Game Screenshot Murphy's Revenge dev2 Release Game Screenshot