Category: how a computer thing works Aug 11 2023 Notes on using a single-person Mastodon server Aug 4 2023 Behind "Hello World" on Linux Jul 20 2022 What happens when you press a key in your terminal? Mar 23 2022 Implementing a toy version of TLS 1.3 Mar 10 2022 How to use undocumented web APIs Feb 23 2022 Some things about getaddrinfo that surprised me Jan 11 2022 How to find a domain's authoritative nameservers Dec 4 2021 How to use dig Nov 4 2021 How do you tell if a problem is caused by DNS? Oct 5 2021 Tools to explore BGP Sep 10 2021 Quadratic algorithms are slow (and hashmaps are fast) May 17 2021 How to look at the stack with gdb May 11 2021 The OSI model doesn't map well to TCP/IP Apr 29 2020 Why strace doesn't work in Docker Mar 15 2020 Getting started with shaders: signed distance functions! Dec 26 2019 "server" is hard to define Dec 18 2019 How tracking pixels work Nov 18 2019 How containers work: overlayfs Oct 3 2019 SQL queries don't start with SELECT Jan 4 2018 How does gdb call functions? Nov 20 2017 How do groups work on Linux? Jun 3 2017 Async IO on Linux: select, poll, and epoll Feb 8 2017 Weird unix thing: 'cd //' Oct 4 2016 ★ What happens when you start a process on Linux? Aug 10 2016 How does gdb work? Jun 13 2016 Should you be scared of Unix signals? Mar 29 2016 I conquered thread pools! For today, at least. Mar 27 2016 Thread pools! How do I use them? Feb 27 2016 What is "the stack"? Nov 27 2015 Why Ruby’s Timeout is dangerous (and Thread.raise is terrifying) Nov 21 2015 ★ Why you should understand (a little) about TCP Mar 5 2015 How the locate command works (and let's write a faster version in one minute!) Feb 22 2015 ★ How gzip uses Huffman coding Dec 14 2014 ★ Diving into concurrency: trying out mutexes and atomics Oct 2 2014 How does SQLite work? Part 2: btrees! (or: disk seeks are slow don't do them!) Sep 27 2014 ★ How does SQLite work? Part 1: pages! Sep 6 2014 How is a binary executable organized? Let's explore it! Aug 12 2014 ★ What happens if you write a TCP stack in Python? May 15 2014 Diving into HDFS Feb 10 2014 Three steps to learning GDB