RSSAmplifier

Blog

kmcd.dev

Recent content on kmcd.dev

kmcd.devRSS feed ↗97 posts

Latest posts

The CPU Cost of Protobuf Varints in Go

Do fixed-size integers serialize faster than varints? We benchmark the CPU overhead of continuation-bit parsing using Go, vtprotobuf, and hyperpb.

It's Time for ConnectRPC to Adopt HTTP QUERY

Beating Go's encoding/json with Schema-Guided ProtoJSON

I built protojsonx to measure how much of Go’s ProtoJSON overhead comes from runtime reflection.

gRPC-Web Should Have Fixed gRPC

gRPC-Web should have been the pressure that made gRPC simpler, more inspectable, and better suited for the web.

Making Dynamic Protobuf Fast in Go

Using Buf’s hyperpb to speed up FauxRPC’s runtime-loaded Protobuf request path.

Proxy, Record, and Mock gRPC APIs with FauxRPC

Stop writing mock stubs by hand. How FauxRPC uses smart proxying, reflection, and CEL to automate your API testing.

Exploring Protocol Buffers Interactively

Announcing protobuf.kmcd.dev, an interactive explainer and playground for exploring the binary details of Protocol Buffers.

Introducing ProtoDocs

A protobuf-first documentation browser for APIs that need clearer generated docs.

Ghost in the Shell: The Manga Behind the Anime

A dive into Shirow Masamune's original Ghost in the Shell manga, its intricate world-building, and its lasting impact on sci-fi.

The Hidden Cost of google.protobuf.Value

The hidden performance cost of dynamic Protobuf in Go.

Why Networking Built Its Own Data Modeling Language

Why the networking world built its own data modeling language and what software engineers can learn from it.

Zero-Friction Demos with WASM

Bringing Go libraries to life with WebAssembly.

Let's Learn About BGP

How a live BGP map evolved into an interactive explainer on internet routing.

ConnectRPC: Where is it now?

Reflecting on two years of ConnectRPC: How it evolved from a gRPC alternative to a complete API ecosystem.

Building APIs with Contracts

Building for Scale: Why contract-based APIs are the future.

The Case for Greppable Code

Why naming is about navigation, not just aesthetics, especially in a multi-repo world.

Unknown Fields in Protobuf

How Protobuf unknown fields enable seamless schema evolution and robust middleware.

IRC Log: Reactionary

A seamless session update turns every customer's browser into an infinite loop cannon.

Faking protobuf data in Go

Stop hand-writing test fixtures

Y'all are Sleeping on Mise-en-Place

Why I default to this tool for every project

IRC Log: Standup 2

The team attempts another text-based standup, this time with management present. It goes significantly worse than the first one.

HTTP/2 From Scratch: Part 4

More HPACK and using http.Request and http.Response

IRC Log: rm -rf /var/opt/gitlab/postgresql/data

A tired sysadmin accidentally deletes the production database and discovers that all five backup mechanisms have failed.

HTTP/2 From Scratch: Part 3

Decoding HPACK and the evolution of the HTTP header

Building a Live BGP Map

Building a cool looking, real-time BGP map

HTTP/2 From Scratch: Part 2

Diving into the binary framing layer and byte-shifting in Go

IRC Log: The Cloud Scale Incident

A vibe-coder attempts to provision a supercomputer to host a crypto-based to-do list app.

Visualizing the Internet (2026)

Mapping global Internet infrastructure and routing dominance over time

Shell Log: Namaste

The 'Work-Life Balance' Patch

HTTP/2 From Scratch: Part 1

Re-building the web in Go to learn more about it

IRC Log: Standup

The lead is away, so the team holds standup in IRC. It quickly descends into abstract art and magenta-colored login pages.

HTTP/1.1 From Scratch

When the web became whole.

WHOIS is dead, long live RDAP

WHOIS is dead. To memorialize this piece of internet history, let's build a tiny implementation from scratch.

Months Considered Harmful

Can months be fixed?

Encryption vs. Compression

Is there a correct order when encrypting and compressing data?

On Creating My Own Cover Art

Why I felt guilty using AI art, and chose to embrace a more personal, code-driven creative process.

Traceroute Tool from Scratch in Go

Map your route through the Internet

My Favorite Interview Question

Why I love asking candidates to explain how the internet works.

From JSON to Protobuf

A Tool to Ease Your Schema Journey

Breaking gRPC

How to avoid breaking gRPC clients.

Morse Code

Explore the history of Morse code, from its dits and dahs to the first transatlantic cable. Discover how this elegant system was the original binary and test your own skills with an interactive speed typer.

Can You Hack a Phone with Your Voice?

Or How I Got Thousands of Mastodon Users to Whistle at Their Screens

Visualizing the Internet (2025)

An all-new interactive map of the Internet, showing the evolution of undersea cables and internet exchanges with year-by-year animation and detailed statistics.

HTTP QUERY and Go

We need another HTTP verb. I'll explain why.

I made a daily word game

Taking a peek under the covers of making a daily puzzle game

Protovalidate: Can Input Validation Be This Easy?

Effortless input validation for Protobuf! Protovalidate lets you define rules directly in your .proto files.

Behold! The Barcode Scanner

Mixing CEL and Protobuf for Fun

FauxRPC and Protovalidate

The Call of the Monolithic Codebase

Are monoliths cool again?