Work under construction

Senior Applications Developer—NYPL Digital

I joined the New York Public Library’s “it really shouldn’t exist but it does” Labs R&D group in late 2012. The group aimed to extend the library’s special collections through the development of computer vision & crowdsourcing tools. I built systems to process digitaized microfilm, built a catalog of early NYC theater from historical playbills, and collaborated on the development of a general purpose crowd sourcing framework. I helped with the Digital Collections reboot and public domain release.

Most recently I’ve been working in the background on NYPL’s library services platforms. We’re building sensible interfaces on top of stubborn legacy systems and composing microservice pipelines that radically transform library data to meet patrons where they expect a modern research library to be. There’s a lot of work to do.

Key langauges & tech: Node, Ruby, Mongo, Postgres, ElasticSearch, Tesseract, Opencv, AWS

Lead Developer—Brooklyn Museum

I spent nearly 6 years at the Brooklyn Museum, leaving in 2012 as Lead Developer. I contributed to dozens of coding projects including building their first comprehensive collection online, their collection API, the voting interface for Click! A crowd curated exhibition and Split Second, and the website and IOS app API for GO, a Brooklyn-wide open studio event.

Key languages & tech: PHP, MySQL, Mootools [fight me], Imagemagick, SQL Server, DTS & SSIS

Freelance Web Programming

I’ve built websites I’ve forgotten about at this point, mostly based on PHP & MySQL. Some of them built using FuelPHP, some using Wordpress, and some suffer no framework or discernible methodology. I really like coding and untangling sticky data/system challenges; I frequently forget to bill. Not taking new work.

Key languages & tech: PHP, MySQL, FuelPHP, Wordpress, Macromedia Fireworks [is still the best Web image editor out there], ASP/Access [as required]

Front End Developer—MTV Networks

Helped build MTV Networks’ URGE, a digital music subscription service operating inside Microsoft’s Windows Media Player 11. Worked with MS developers in Redmond to refine the interface between host app and HTML page, comprising a dozen hooks to read & write application state. I developed much of the framework interfacing with the application layer, including many of the navigation calls. For much of this project, I was the lead Javascript developer. I also wrote much of the PCI compliant front-end account management code.

Key languages & tech: Javascript, WMP

Web Programmer

At 15, I dialed on to the Web and kind of lost my mind over the then-exploding community of tinkerers freely exchanging code and information design ideas (mostly without qualification) over a brand new medium. I loved to pick up new tricks and pull at the seams. I made handwritten HTML cheatsheets based on tutorials. I made a site with a clickable image <map/> of my brain and a site about famous vegetarians, their names marqueed across the screen using stolen Javascript (this was years before IE introduced <marquee/>).

[The Web is still mostly a fundamentally social and creative medium.]

Then I shelved books at my hometown library and rebuilt the website roughly 15 times until they approved the [horrible] design. It has been replaced.

In college, in the middle of a Java heavy CS degree, I helped build and looked after a predecessor to This was my first taste of server-side dynamic programming. Also my first office job. I wore a tie every day. No one else did.

Then I picked up a remote contract writing PHP over MySQL, so I learned PHP and MySQL. My CS degree suffered, but I did eventually graduate with a thesis on Ajax design patterns to everyone’s shame.

Key languages & tech: Java, JSP, Postgres, HTML, Javascript