I’m a first-year grad student in the PLASMA Lab at UMass Amherst, advised by Emery Berger. Before this, I was most recently a software architect at SocialCode where I worked on developing scalable, maintainable backend systems.

Recent Posts

Selected Projects

  • libsd - System Dynamics simulation engine in C.

  • sd.js - System Dynamics simulation engine and diagram layout in JavaScript.

  • seshcookie - http sessions stored in encrypted cookies for Go.

  • psm - a Linux utility for RAM and swap reporting.

  • cnote - a music indexing service written in C that exposes a REST API.

  • btscale - reverse-engineered JS API to the Acaia scale.

  • slackfs - FUSE filesystem to interact with Slack, along with tmux-based UI.

Free Software

I use and support free software, having contributed to a variety of projects over the years - mostly to address issues that I’ve encountered. I like to leave things better than how I found them.

Linux kernel

I helped test and fixup the initial x32 pseudo-arch support in 00194b2e, ce5f7a99, and f044db4c. f75a8df3 and 10db4e1e address spurious and actual warnings emitted during kernel builds.

Git

I found and fixed some issues with git diff --no-index in 176a3354 and f3999e03.

Go language

I’ve authored a number of small changes, addressing issues in HTTP headers (235bd4eb543e), JSON support (233ff5d46b3d), gob (7f39a0541e03), and the build system (5a1c75805f59, 4f0d27dab290, 7d0f321ea87c), along with a nice little performance hack in the time package (d9e4f47ae341).

OLPC

Once upon a time I was an intern with (and subsequently a community member of) OLPC. I helped with some bugs that had cropped up, worked on a (sadly unfinished) activity named Model to enable students to do system dynamics modeling on the XOs, and rewriting the boot animation in C, speeding up boot time by 12 seconds.

Coffee

I love coffee. I’ve done some work on accessing the Acaia scale from JavaScript, which required reverse engineering their wire protocol.

System dynamics

I studied system dynamics in school. I even wrote a nice thesis on how you could neatly apply object-oriented programming to modeling, as a method of reducing complexity.

I’m currently working on a web-based editor for SD models, with a focus on usability and design: