Symlinks in Windows, MinGW, Git, and Cygwin

Symlinks are a commonly used feature in Linux and macOS, but Windows traditionally either hasn’t supported them (prior to Windows Vista) or has strictly limited their use. As a result, many cross-platform development tools, like Git for Windows, either didn’t support or didn’t enable symlink support on Windows.

» Continue reading…

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…