JOHN
BLOG
PHOTOS
CONTACT
Some Writing
Postfix Postqueue Parser
Sandboxing with systemd
Testing with Gemini Diagnostics
Creating a Basic Gemini Server
Notes and Highlights from Release It
Emulating an HID Proxcard from Facility Code and Card Number
Creating a Simple Go Lambda Function to Save Data to S3
JavaScript Quine With Self Referential CRC32
Writing a Quine in Bash
Creating ASCII Art from a video
Notes from my trip to #OReillySAConf
Some Talking
Tips for Hackathons
Turning Code into a Mental Model
Engineering Decision-Making
Think + Talk + Model
Navigating unknown systems
Storytelling with data
Disciplined Innovation
Testing to move fast
Disciplined Problem Solving (RMA)
API Design and Development
Tracer Bullet Development
Why a one line change can take 6 months
Web Performance: Reading the Score
Breaking Down Performance Problems