programming

That Time Ken Thompson Wrote a Backdoor into the C Compiler

10 minute read Published: 2025-10-23

When Ken Thompson won the Turing Award jointly with Dennis Ritchie for their work in UNIX, he was expected like other Turing winners to write a paper that would be published in the ACM Computer Journal. What he ended up submitting was a paper about "the cutest program [he] ever wrote"-- a sneaky undetectable self-reproducing "Trojan horse" backdoor in the C compiler that would allow him to log into affected machines as any user.

Setting Up a Better tmux Configuration

13 minute read Published: 2025-08-26

tmux is a beast of a tool that I found to be indispensable for my personal developer workflow, but there are a few things that I have added to my tmux configuration to enhance the out-of-the-box experience.

Git Gud: Setting Up a Better Git Config

14 minute read Published: 2025-07-23

There's tons of little goodies you can add to your .gitconfig to make your life easier. From hidden gems in the git Man pages to aliases and shell functions, here's a few things I've found useful to reduce friction in my Git workflow.

How Do Software Packages Work?

7 minute read Published: 2024-06-04

How do software packages work behind the scenes? How are they created, distributed, and installed? In this post, we'll explore the lifecycle of software packages, from creation to installation, using the Node Package Manager (NPM) and the Autoprefixer package as real-world examples.

Biggest Takeaways from The Missing Semester of Your CS Education

7 minute read Published: 2024-05-05

Nearly a year ago, I took an online course called The Missing Semester of Your CS Education. The course was created by a group of MIT students and covers a wide range of topics that are often overlooked in traditional computer science curriculums. The course is designed to help students become more productive and efficient programmers by teaching them essential skills that are not typically taught in school.