Justin Garrison
August 16, 2022

How does that work? - 123dev #85

Posted on August 16, 2022  •  3 minutes  • 430 words
The nutty professor looks at the camera surprised and confused


Design fossils

When you start a new job or contribute to an existing code base you often have to dig to find where to make changes. Every time I do this I start thinking “I wouldn’t have done that” or “how does this work?” but it’s important to recognize I don’t have the limitations or knowledge the original creators had at the time.

Everything builds on the past and you can’t be dismissive of what appears to be a bad decision with hindsight. Every day we’re making equally bad decisions that appear correct with our current context and knowledge. Be kind to yourself and those who came before you.


I cannot imagine what the families fleeing Ukraine and Russia are going through. The thought of trying to flee my country with my own kids leaves me numb. They’re doing their best to get to safety under increasingly hostile conditions. I don’t know the best way to help besides sending money and supplies to local organizations that are able to help on the ground where it’s needed most.

If you’re new to this newsletter—welcome! One of my comments is reserved for raising awareness of the war in Ukraine until the conflict is over.

Dotfiles and hidden files that start with a . were a mistake. The `ls` command was trying to ignore the current directory and parent directory (. and ..) and failed to test the rest of the file name.

A lesson in shortcuts. Long ago, as the design of the Unix file system was b… A lesson in shortcuts. Long ago, as the design of the Unix file system was being worked out, the entries . and .. appeared, to make navigation easier. … - Rob Pike - Google+

We continually live with decisions made in the past. The way a terminal emulator interacts with your screen and shell all have roots in hardware you’ve likely never touched.

The TTY demystified The TTY subsystem is central to the design of Linux, and UNIX in general. Unfortunately, its importance is often overlooked, and it is difficult to find good introductory articles about it. I believe that a basic understanding of TTYs in Linux is essential for the developer and the advanced user.

Sometimes our decisions are wrong and need to change immediately. Other times they’re still wrong but it doesn’t matter and we can live with those decisions for a long time. Here’s a good example from the early days of Reddit.

Reddit’s database has two tables | Kevin Burke

The early data design decisions for Reddit.

Follow me

Here's where I hang out in social media