DNS library
Wire format parsed and generated from scratch.
Parses and emits DNS messages against the wire format directly rather than through an existing library, with example resolvers covering common query types.
Senior Software Engineer · Vaisala
Systems engineer in networking and embedded Linux, now building cross-platform systems on Linux and Windows — from home routers to aviation weather platforms. ICPC World Finalist.
Wire format parsed and generated from scratch.
Parses and emits DNS messages against the wire format directly rather than through an existing library, with example resolvers covering common query types.
A reproducible network topology, no hardware required.
Containers arranged as clients behind a router-as-gateway talking to remote servers, so network applications can be exercised end-to-end — NAT, routing and all — without physical devices.
Same build on any machine.
A devcontainer pinning the toolchain, CMake presets covering multiple build configurations, and CI for coverage and documentation — so a new machine or a new contributor produces an identical build.
150 years of data in the browser, without a database.
Which seasons does nobody strictly outperform on two statistics at once? That is a Pareto frontier, and answering it interactively meant collecting and normalizing the data, designing an encoding compact enough to ship the whole history to the client rather than querying a server, and animating how each frontier moved season by season.
Readable and stable while the graph is still being built.
Laying out a suffix automaton as it is constructed. Rather than a generic graph layout, it uses the structure of the problem: states are added in order, so construction order yields a level, and the level fixes one axis. Competing D3 forces settle the rest — per-level attractors, charge to keep states from colliding, and a global pull toward the axis — tuned so the layout stays stable instead of jumping as new states appear.