Python 2 vs. 3, Shebangs, and Launchers

If you run an arbitrary Python program, how does your system decide whether it’s Python 2 or 3?

» Continue reading…

Faster Feedback with IPython autoreload

Many of the advancements in software development over the decades have been about speeding up feedback and tightening feedback loops:

» Continue reading…

Even Google Makes Mistakes

Google is, I believe, one of the finest software engineering organizations on the planet. They invest heavily in code review and automated testing. Their infrastructure is top-notch, allowing developers to trivially build, refactor, and test code across their entire monorepo. They regularly release new tooling, libraries, and languages that to advance the state of software development inside and outside of Google. They have a massive internal library of easily searchable code. They’ve pioneered the SRE approach to DevOps. Their hiring practices (contentious though they may be) at least ensure that the bar for employment is kept high.

» Continue reading…

Google Test Pretty Printer

I have a new project up on GitHub: Google Test Pretty Printer.

» Continue reading…

How to Redesign a Blog

For several years, I ran (and, more often, neglected) a blog over on Google Blogger. I have no particular complaints about their service, but it simply wasn’t a great fit for me, so I switched over to a new setup. A couple of the software development blogs that I follow have gone into some detail on how they redesigned their own sites (examples are Troy Hunt and Dan Luu), and it’s made for some interesting reading, so here are my own notes on the process I used.

» Continue reading…