Loading...

Tag trends are in beta. Feedback? Thoughts? Email me at [email protected]

How git cherry-pick and revert use 3-way merge

Standards for ANSI Escape Codes

SQL queries don't start with SELECT (2019)

Some terminal frustrations

How to add a directory to your PATH

What's involved in getting a "modern" terminal setup?

"Rules" that terminal programs follow

Why pipes sometimes get "stuck": buffering

Importing a frontend Javascript library without a build system

New Microblog with TILs

ASCII control characters in my terminal

Terminal colours are tricky

Some Notes on Upgrading Hugo

Using less memory to look up IP addresses in Mess With DNS

Some Go web dev notes

Reasons I still love the fish shell

Making Hard Things Easy

Go structs are copied on assignment

Migrating Mess with DNS to Use PowerDNS

DNS Doesn't Propagate (2021)

Reasons to use your shell's job control

Entering text in the terminal is complicated

Ruby's Timeout is dangerous and Thread.raise is terrifying (2015)

How Git Works

Fear makes you a worse programmer (2014)

Notes on git's error messages

How HEAD works in Git

The "Current Branch" in Git

Popular Git config options

How is a binary executable organized? Let's explore it (2014)

More →