Programming

Various programming escapades, in diverse media and significance.

My principle CS interests are functional programming and programing language design - however, it seems that the world thinks I’m a web developer and thus most of my time is spent working on web development projects. I have significant experience with Haskell and C, but also can competently work in Ruby, PHP, JavaScript, and Python, among other languages…

Projects

  • Himpress, a slide-show generation tool I wrote for a series of talks on Haskell.
  • s3sync
  • gititin, a system for submitting computer science assignments using git - developed for Lakeside, but never used, given the difficulty of teaching novice programmers how to use git.
  • A ncurses cellular automaton viewer, written around 3/2011.
  • An unreleased android application for exploring twelve-tone serialism.
  • Security audits of Lakeside School’s internal applications, which exposed a number of critical vulnerabilities.

Collaborative Works

  • PadPaddle, with other developers from Intersect. Written for a 48-hour hackathon featuring node.js, PadPaddle was voted the 3rd most innovative application out of the 178 entries. I wrote the servers that handle gameplay, designed our overall architecture, and handled system administration.
  • An Arduino implementation of an Ondes Martenot, with Lennart Jansson. The source code can be found here.
  • I’ve been tangentially involved with the Teh Coffee project, helping with refactoring and bug-fixes.
  • Raise the roof, with Tess Rinearson.

Miscellanea

  • trivial-templates, a string templating library use for the previous version of this website.
  • The exploration of several natural generalizations of the Sierpinski gasket. Source code, and a sample image.
  • An attempt at building a pen plotter, documented at Intersect (1,2,3), which ran aground on the twin rocks of hardware failure and school work.