Article
2026
- gRPC vs REST Is the Wrong Question Sep 21
- Joining Buf Sep 6
- Let's Talk About Streaming Data on the Web Sep 1
- The Gravity of Ashburn, Virginia Aug 25
- The CPU Cost of Protobuf Varints in Go Aug 4
- Beating Go's encoding/json with Schema-Guided ProtoJSON Jul 21
- gRPC-Web Should Have Fixed gRPC Jul 14
- Making Dynamic Protobuf Fast in Go Jul 7
- Proxy, Record, and Mock gRPC APIs with FauxRPC Jun 30
- Exploring Protocol Buffers Interactively Jun 25
- Introducing ProtoDocs Jun 23
- Ghost in the Shell: The Manga Behind the Anime Jun 18
- The Hidden Cost of google.protobuf.Value Jun 16
- Let's Learn About BGP May 12
- ConnectRPC: Where is it now? May 5
- The Case for Greppable Code Apr 21
- Unknown Fields in Protobuf Apr 16
- Faking protobuf data in Go Mar 26
- Y'all are Sleeping on Mise-en-Place Mar 19
- HTTP/2 From Scratch: Part 4 Mar 11
- HTTP/2 From Scratch: Part 3 Mar 4
- Building a Live BGP Map Mar 2
- HTTP/2 From Scratch: Part 2 Feb 25
- Visualizing the Internet (2026) Feb 18
- HTTP/2 From Scratch: Part 1 Feb 11
- HTTP/1.1 From Scratch Feb 4
- WHOIS is dead, long live RDAP Jan 6
- Months Considered Harmful Jan 1
2025
- Encryption vs. Compression Dec 22
- On Creating My Own Cover Art Dec 15
- Traceroute Tool from Scratch in Go Dec 9
- My Favorite Interview Question Sep 22
- From JSON to Protobuf Sep 2
- Breaking gRPC Aug 5
- Morse Code Jul 22
- Can You Hack a Phone with Your Voice? Jul 15
- Visualizing the Internet (2025) Jun 16
- HTTP QUERY and Go Jun 4
- I made a daily word game May 14
- Protovalidate: Can Input Validation Be This Easy? Feb 11
- Behold! The Barcode Scanner Jan 27
2024
- Mixing CEL and Protobuf for Fun Dec 17
- FauxRPC and Protovalidate Nov 12
- The Call of the Monolithic Codebase Oct 22
- FauxRPC + Test Containers Oct 15
- Self-Documenting Connect Services Sep 25
- gRPC Over HTTP/3: Followup Sep 17
- JSON to Protobuf Conversion Sep 10
- gRPC: The Ugly Parts Sep 3
- Working with Protobuf in 2024 Aug 27