It's Harder to Read Code Than Write It

In Things You Should Never Do, Part I, Joel Spolsky narrates Netscape’s ruinous decision to rewrite their browser from scratch. This introduced the following concept to me: “It’s harder to read code than to write it.” I believe this is true. Today I’d like to explain why. ...

April 25, 2022

The Problems With Code Screenshots

Screenshots of code are common in developer communication, but they come with real drawbacks. Here’s why I try to avoid them. ...

April 19, 2022

Hash Fetch Instead of If/Else

Conditional logic has its place, but often there’s a better alternative. Today, we’ll look at a Ruby solution: a hash with .fetch. ...

April 16, 2022

First Get It Working, Then Make it Look Good

I recently completed a winter survival course where we built shelters in just ten minutes with only the contents of our packs. The pack I brought was nearly empty, so I made a tent out of my parka. It was ugly, but it could have saved my life. How does this apply to software? When building a feature, first get it working, then make it look good. ...

April 13, 2022

My psql Config

RC files, thought to stand for “run command” files, are read by a program during startup. The file that configures the PostgreSQL REPL psql is called .psqlrc. In this post I’ll share my personal psql configuration. ...

April 12, 2022

Solved! How to Exit Vim "Ex" Mode

How does one exit Vim “Ex” mode? But first… how did you even get into “Ex” mode? ...

April 6, 2022

How to Read a Stack Trace

A stumbling block for many people when debugging is reading the stack trace. Today I’d like to discuss this important skill. ...

April 5, 2022

RSpec.describe vs. describe: Which Should I Use?

Ruby’s RSpec describe block has two common syntaxes. Which should you use? ...

April 2, 2022

Your Demo Doesn't Need Auth

When building a demo application, I believe you can often skip authentication. ...

April 1, 2022

How Urgent Is This Bug?

I remember the first bug that I shipped to production. I was upset that I’d broken something and was anxious to fix it. But I noticed something curious: the calm demeanor of a senior mentor helping me. They refused to meet my intensity. While the world burned, they wanted to instead discuss the bug and its relative importance. ...

March 30, 2022