Developer Diaries
Journey through Lines of Code </>
Building a Rust Statistical Arbitrage Portfolio Bot
A pairs trading bot is not interesting because it computes a z-score. It gets interesting when you make multi-leg execution, research hygiene, and runtime honesty part of the strategy rather than cleanup work.
Systems
Can ICT and SMT Actually Work in Crypto?
Crypto does show timing effects, liquidity dislocations, and short-horizon mean reversion. That still does not prove the retail version of ICT and SMT survives fees, out-of-sample testing, or live execution.
Trading
Prerendering a Blog With Shiki
How this blog turns a folder of markdown into static HTML with build-time syntax highlighting, and the three things I had wrong when I first wrote it up.
Tooling
Automating the Booking.com Extranet
Booking.com has a rates API that a single property cannot get at, so I drove the extranet with Playwright instead — a session I log into by hand, bulk edits instead of per-date writes, and a journal that makes an interrupted run resumable.
Automation
What a Go Scaffold Should Look Like
Keytide is an IAM service that doesn't exist yet, and revisiting it I found a layout I wrongly called standard, an auth middleware that validates nothing and admits it, and no wiring between the two.
Backend
Modelling Traffic Fines in Postgres
A fines system where the hard part wasn't the CRUD — it was deciding what an offence is, what a penalty was worth on the day it was issued, and who is allowed to say either.
Backend
Writing a unified Plugin for Code Blocks
How to wrap markdown code blocks in a language label and a copy button by rewriting the HTML syntax tree with a rehype plugin, and what the inline onclick actually costs you.
Tooling
An E-commerce Site With No Framework
A shoe shop built from two HTML documents, three scripts and a JSON array, and what building a catalogue by hand teaches you that a component model would have hidden.
Frontend
Audio State Is Not React State
An audio element owns playback state that React thinks it owns too, and since React 18 there has been a first-class hook for exactly that problem.
Frontend
Reading Matrices From Files in Python
How to read a whitespace-delimited matrix from a text file and fail with an error that names the line number, and why that is most of the program.
Python