Surprising Change in Python 3.7.6

Here's a surprising change for you: Python 3.7.6 (ostensibly, a patch bugfix release) totally changed how URLs are parsed by Python programs.

As of Python 3.7.5, a URL like foo:8888 would be parsed into the following:

>>> urllib.parse.urlparse('foo:8888')
ParseResult(scheme='', netloc='', path='foo:8888', params='', query='', fragment='')

As of Python 3.7.6, foo is now detected as the scheme:

>>> urllib.parse.urlparse('foo:8888')
ParseResult(scheme='foo', netloc='', path='8888', params='', query='', fragment='')

This will cause massive chaos if you are ever parsing URLs with ports in them but without schemes …

read more

Twenty-Teens in Review

Well, here it is, the end of 2019, the end of the decade1. 🎉 The end of the decade of my twenties, so probably the most eventful decade I'll experience2. Ten years ago, I was at my parents' house in Fall River, a senior in college on my last Christmas break of all time. I'd just accepted an offer from Yelp to start as a Software Engineer in June, 2010, reporting to Neil Kumar3. The world was uncertain before me. Today, I am sitting in my own house5, married, working for my third employer, sitting pretty in …

read more


I went to the DMV today to get a REAL ID upgrade for my license, and to get it reprinted with my correct address so I don't need to carry the paper change-of-address confirmation any more. The DMV is always a fascinating microcosm of human behavior, and a unique experience to simultaneously see the best and worst in people.

For those of you who haven't been in a California DMV, the process follows several stages:

  1. (optional) Make an appointment. The North Oakland DMV doesn't have any appointments available in the next six months, and then next DMV available anywhere in …
read more

Unicode via Alfred

Something I miss a lot on macOS is a fast way to enter Unicode characters. macOS does a pretty good job of handling combining keys so that you can type é and ö, and it's got a fancy emoji picker, but if you want to enter ∫ or ⚠, you're stuck using the terrible character picker window1:

screenshot of the character picker

Well, no longer. If you, like me, use Alfred 4 on your Mac, you can download the following Alfred Workflow to get a new "unicode" Alfred command. This uses a fast index2 to look up unicode characters by name. The first time you …

read more

On the Decline of Zipcar


I haven't owned a car in twelve years. Since I moved to San Francisco, I've exclusively relied on public transit, taxis/Uber, and the occasional rental car to get me where I'm going when I need to go somewhere. In general, this has worked well for me — I can get where I need to go, and most of the time I'm not emitting 300g of CO2 per person-mile the way an individual car does. On the rare occasions that I need to drive somewhere by myself (often to the vet, since rabbits really aren't good at public transit), my …

read more

Crime Happened

Today we got a nasty surprise in the form of an email from my next-door neighbor informing me that somebody had attempted to break into our home1! An hour later (while I was on my way home from work), we got another email indicating that the suspect had been arrested.

Apparently, someone was messing around with the lock on the gate to our backyard and my next-door neighbor yelled at them. They hopped the fence, so he called the police and yelled at them some more. They fled. The police came2 , patrolled the neighborhood, and caught the guy …

read more