prnvbn

Dev Doodles

A collection of my dev doodles

# git worktree — the simple guide

git worktree — the simple guide screenshot
  • What? A visual guide to using git worktree to keep multiple branches open in separate folders.
  • Why? My girlfriend asked how to use git worktrees.

# protoc-gensbe-xml

protoc-gensbe-xml screenshot
  • What? A protoc plugin to translate protobuf definitions into SBE XML.
  • Why? At QFEX, I had to migrate many grpc streams to raw SBE over TCP and UDP. This allowed me to avoid handrolling the translation for a lot of messages

# packet-queuing-ui

packet-queuing-ui screenshot
  • What? A small interactive visualisation for detecting layer 2 packet queueing from packet timing.
  • Why? A companion demo for the packet queueing blog post

# grpcexp

grpcexp screenshot
  • What? An interactive TUI explorer for interacting with gRPC servers, built on top of grpcurl.
  • Why? I really like grpcurl but found it tedious to run multiple commands just to make one gRPC call, especially with a complex request type.

# bus

bus screenshot
  • What? A simple CLI tool to check London bus arrivals from the terminal.
  • Why? Checking bus times on my phone was annoying. Much faster to just type it in the terminal.

# textfsm-playground

textfsm-playground screenshot
  • What? A TextFSM and Jinja template playground built with Go and WASM.
  • Why? Across multiple roles, I’ve often worked with TextFSM and Jinja templates. I wanted a cleaner, Vimium-friendly UI that keeps all data local to the browser .

# clocks

clocks CLI tool screenshot
  • What? A CLI tool for viewing the time in different timezones. Allows for configuring different timezones and colors
  • Why? Being on call at Jump required me to read logs and timestamps from different timezones and they weren’t always normalized to UTC. much quicker to just type c than lift my head up and look at the different clocks

# conway-game-of-life

conway-game-of-life screenshot
  • What? An interactive implementation of Conway’s Game of Life, a Turing Complete cellular automaton. Built with React and TailwindCSS.
  • Why? I was procrastinating doing my uni coursework