These days almost all code is written on Github. My handle is glasserc. I'm fortunate in that during my time at Mozilla, a lot of my work touched on open source projects, so what's there should give you a good sense of who I am as a developer. Stuff from previous employers is generally not available.
For a while I did Project Euler questions for fun. I got up to problem 50. The solutions are available here; they may give you a good feel for how I write code "in the small". Additionally, here are a couple random standalone programs I wrote: fixing my EXIF tags; why Vala is not my favorite programming language.
Here are some open-source projects I have worked on professionally.
- kinto: fixing re-entrancy and scalability issues (#1436, #1406, #1228 and #1235)
- kinto.js: ongoing maintenance; ensuring correct behavior in the case of client-side encryption
- kinto-http.js: ongoing maintenance; cleanups (see e.g. #180) and fixing test failures (such as #214)
- canteven-log: added support for monad-logger and harmonized formats across hslogger and monad-logger
- canteven-snap: lift all exported functions from Snap a to MonadSnap m => m a
- eureka-client: initial implementation. Unfortunately this library is somewhat confusing and underdocumented, like the service it's designed to communicate with.
- canteven-listen-http: implementation
Writing
In addition to actually writing software, I consider it important to share knowledge and experience with other developers and the wider software community. Some samples are here on my website.
At SumAll, I wrote a few pieces for the engineering blog they were starting. It's down now, but you can still find the text at least in the Wayback machine. In particular I believe the topmost article, "How do you review PRs?" highlights my ability to focus with meticulous detail on process or workflow issues.
Patches/bug fixes
Back when I was writing my first resume, it wasn't possible to just go to someone's Github page and see a chronological list of all the open source contributions they had made. To make it easier to find my work, I compiled this list of my most notable open source contributions. It's mostly been superseded these days, plus some of these contributions are 10+ years old and so don't have quite as much relevance as they did, but you may find it helpful especially for those contributions which (even today) are not on Github.
beancount:
hs-tls:
haskell-tz:
ig:
twitter-types:
paramiko:
couchdb-glib:
notmuch:
- Free the results of scandir, v2, v3.
- RFC: modular message store code (followed a few months later by RFC: modular mail stores based on URIs + part 2, and then revised again in http://notmuchmail.org/pipermail/notmuch/2012/011525.html)
offlineimap:
- IDLE support. This is not as much a technical accomplishment as it seems; this is mostly based on work by James Bunton, and I think IDLE support in offlineimap is still a little unstable.
weird gwibber/curl/gnutls bug: on Launchpad, my eventual diagnosis
el-get:
vte:
aldrin:
ikiwiki:
pyode:
- compiling against new ODE requires dInitODE()
- rename __new__ to __cinit__ for new Pyrex version
- add support for LMotor
- rename CCylinder to Capsule
- add support for Cylinder
- various cleanups
- add preliminary support for Heightfield
I was granted commit access in June 2007.
pidgin: