writeups
The stuff worth writing down.
Deep dives, failure logs, and occasional shower-thought essays. Mostly longform — if it was short enough to tweet, it'd be a tweet.
2026
- 5 min read
Three agents fixed the same bug
What happens when several agent sessions work one codebase and none can see the others' uncommitted work – and the process I wrote so it never happens again.
otjcollegeaiprocessgit - 6 min read
Verifying what you cannot trust
Web Push in Atlas, where VAPID and RFC 8291 payload encryption keep the push service out of the notification it delivers, and a webhook receiver in the emailer that deleted its unsigned predecessor outright.
otjcollegesecuritycryptographyweb - 7 min read
Sparse ordering, and checking CORS for real
Drag-to-reorder that writes one row by bisecting a sparse sort key, and a CORS check that stopped inferring from a policy it could not read and ran a real upload instead.
otjcollegealgorithmswebcloudflare - 5 min read
Atlas: implementing a spec I did not write
One week, 173 commits – building an agent chat client against the ACP specification and supervising a long-lived coding-agent subprocess.
otjcollegeaiwebinfra - 4 min read
Research week: how agent harnesses actually work
A week reading how agent harnesses and tool-use protocols are built before building one, and what the designs already out there get right.
otjcollegeaiprotocolsnotes - 5 min read
Ghidra and IDA, hands on
Three weeks after reading about reverse engineering, I used Ghidra and IDA for real – slower going than expected, and valuable mostly for the fundamentals it forces back on you: calling conventions and memory layout.
otjcollegereverse-engghidraida - 5 min read
Agentic coding as a working practice
How a day of talks on Claude Code and agentic coding tooling moved me from using these tools as autocomplete to running them against a written spec with verification steps.
otjcollegeaitoolingnotes - 4 min read
Game dev devlogs: decisions justified in public
A day with published game engineering writing, mostly Valorant's – valued not for transferable technique but as a model of how to justify a technical decision, which is the part of written assignments I find hardest.
otjcollegegame-devnotes - 6 min read
Reverse engineering: a first look
Approaching reverse engineering as a web and JVM developer – what Ghidra and IDA are for, what a decompiler gives you over a disassembler, and why decompiled output makes you confront what your source compiles down to.
otjcollegereverse-engghidraida - 5 min read
Stale-while-revalidate with APIs you do not control
Why chart artwork moved from Last.fm to Deezer, serving stale entries while their refresh queues, and versioning a cache key when a deploy changes what an endpoint means.
otjcollegecachingcloudflareweb - 5 min read
Living inside the Workers subrequest budget
The music page on this site intermittently threw 500s in production while passing every local check, and the cause was not the code but Cloudflare's free-plan subrequest cap.
otjcollegecloudflareperformanceweb - 16 min read
The model landscape, minus the marketing
What the frontier labs actually charge, what the open-weight labs charge instead, the 30% price rise that never appeared on a price card, and what you give up to save 40x.
otjcollegeaiopen-weightsbenchmarksnotes - 1 min read
A two-shell killport
A tiny killport <port> function for Git Bash and PowerShell, and the one filter that makes it correct.
windowsshellpowershellnotes - 11 min read
Building a RAG pipeline for Minecraft coding
How I built an MCP server that gives AI coding tools accurate Paper API (& more) knowledge – and where the retrieval pipeline is still failing.
ai-llmragminecraftmcpnotes - 4 min read
Flinger: how the URL fragment earns its keep
How Flinger uses the URL fragment, AES-256-GCM, and an HMAC proof token to build a file sharer where the server structurally cannot read what it stores.
webcryptographyinfranotes - 5 min read
Remote Claude – a Discord relay for Claude Code
How a thin Discord bot became a full remote-control layer for Claude Code, and the Windows constraints that shaped every design decision.
windowsautomationdiscordnotes - 3 min read
A browser retro: Tauri v2, WebView2 and popups
Notes from shelving a Tauri v2 + WebView2 browser – what worked, where I was wrong about popups, and why the scope doc was the real deliverable.
taurirustdesktopwebview2