Blog Posts

You can also find highlights from my old blog below.

@ 12:07AM EST
AlphaGo vs. Lee Sedol

Thoughts on the ongoing match between AlphaGo and Lee Sedol…
Read More

@ 12:36PM EST
Extending the Grid to Add 1,000 Photos to OldNYC

A walkthrough of how I added about 1,000 new images to by building a Manhattan Grid geocoder. This includes photos from intersections which no longer exist, e.g. in areas like the old Gaslight District, which was destroyed to create Stuytown.…
Read More

@ 02:00PM EST
My takeaways from NIPS 2015

I’ve just wrapped up my trip to NIPS 2015 in Montreal and thought I’d jot down a few things that struck me this year: Saddle Points vs Local Minima I heard this point repeated in a talk almost every day. In low-dimensional spaces (i.e. the ones we...
Read More

@ 06:03 PM UTC
Dan writes on HammerLab

Fear not, loyal readers, I haven't stopped blogging. I've just been doing it elsewhere.…
Read More

@ 02:24 AM UTC
Launched: OldNYC

My latest and greatest side project, which places 40,000 images from the NYPL on a Google Map for your perusal.…
Read More

@ 03:05 PM UTC
PyCon 2015: Make web development awesome with visual diffing tools

Here’s the video of my talk from PyCon 2015, Make web development awesome with visual diffing tools: Here are the slides for the talk: The two tools referenced are: dpxdt for generating screenshots Read More

@ 04:58 AM UTC
Training an Ocropus OCR model

In which I train new Ocropus OCR models. Drama ensues as the performance starts good, then gets confusing, then ultimately becomes great!…
Read More

@ 10:45 PM UTC
Extracting text from an image using Ocropus

A walkthrough of how to run the Ocropus OCR pipeline: binarization, segmentation and character recognition using a Recurrent Neural Net. Features fancy visualizations of all of these steps!…
Read More

@ 06:27PM EST
Finding blocks of text in an image using Python, OpenCV and numpy

In which I develop a computer vision algorithm to find blocks of text inside a larger image. This is trivial for humans, but tricky for computers!…
Read More

@ 05:03PM CST
Choosing an iOS Podcasting App

I recently switched back to iOS after a few years using Android. One aspect of Android that always bothered me was that I had trouble finding a great Podcasting app. I’d happily used Instacast on iOS, but I couldn’t find anything quite like it for Android. I eventually settled...
Read More

@ 01:57PM EST
JavaScript String slice, substr, substring: which to use?

I recently read Douglas Crockford’s JavaScript: The Good Parts. It’s a classic (published in 2008) which is credited with reviving respect for JavaScript as a programming language. Given its title, it’s also famously short. One very specific thing it cleared up for me was what to do with all...
Read More

@ 01:37PM EST
GitHub integration and Image Diff improvements headline webdiff 0.8

I’ve released webdiff 0.8.0, which you can install via: pip install --upgrade webdiff The most interesting new features are GitHub pull request integration and expanded image diffing modes. You can view a GitHub Pull Request in webdiff by running something like: Read More

@ 05:32PM EDT
Life after Google, Six Months In

It’s been almost exactly six months since I ended an eight year run at Google. One of the biggest reasons to do this was to come back up to speed with the open source ecosystem and to experience a different working environment (sample size 1→2!). When I joined Google, it...
Read More

@ 10:51PM EDT
Fully Migrated to GitHub Pages

My site is now fully hosted on GitHub pages. I changed the DNS entry last night. My hope was to do this without breaking anything. That didn’t prove to be possible, but I came close. And overall, the process wasn’t too...
Read More

@ 11:43PM EDT
Filtering JSON with pyjsonselect and jss

In which I discuss the gnarly GeoJSON files I worked with while developing Comparea, a Python port of a CSS-like spec for working with JSON files and a command-line tool I built to deal with the problem.…
Read More

@ 2:02PM ET
Facebook (non-)Insights

There was a spike of traffic to Comparea over the weekend. Awesome! All of it came from Facebook and went to a comparison of France vs Australia. I'd hoped to get insights into this using "Facebook Insights", but came away very unenlightened.…
Read More

@ 7:13 PM ET
Trying out GitHub Pages

I’m going to try hosting my site and blog on GitHub pages. My hope is that blogging using GitHub and Markdown will lower the barrier to writing, and that GitHub pages will eliminate any worries about performance and security while hosting my own site. This is all very much a...
Read More

Highlights from the old

Here are some highlights from my old blog (2006–2014):