LLMs, the whole thing
·
Part 1
Large Language Models, From the Ground Up - Part I: The Geometry of Meaning
The opening part of a series building LLMs from first principles. We start where every model starts: turning language into vectors and meaning into geometry, with a runnable script and its real numbers.
12 Aug 2026
·
9 min read
LLMs, the whole thing
·
Part 2
The Transformer Architecture: Encoder versus Decoder
Every modern LLM is a transformer, yet BERT, GPT and T5 behave very differently. The first article in a ground-up series on LLMs: the single distinction — the attention mask — that separates an encoder from a decoder.
12 Aug 2026
·
7 min read
Working with Claude Code
Claude code insights report
Claude Code's /insights command handed me a mirror: 82 sessions of my own habits, scored. Here is what it got right about how I work, and the one thing that quietly costs me the most.
11 Aug 2026
·
5 min read
Running the box: Docker, Linux, the JVM
The localhost in your SSH tunnel isn't yours
My production Postgres publishes no port at all, and I still open it in DBeaver from my laptop. The one-line ssh -L everyone reaches for connects happily and then refuses every query — for a reason that's easy to miss, and eight bytes that prove when you've actually fixed it.
9 Aug 2026
·
8 min read
Security and privacy, in practice
Keycloak part 1: reading the login URL, parameter by parameter
I froze the redirect Spring sends you through and read it parameter by parameter. Three lookalike strings turned out to close three different attacks, and PKCE was already on without me asking for it.
9 Aug 2026
·
5 min read
Working with Claude Code
I brokered my sign-in through Keycloak, and broke my own owner check
Putting a self-hosted identity server in front of LinkedIn deleted 240 lines of workaround and turned PKCE back on. It also handed out a privilege escalation — because the claim never changed, but the trust underneath it did.
8 Aug 2026
·
7 min read
Ideas
Parking apps for employees: a fairness ledger to the rescue
First-come-first-served parking allocates alarm clocks. Give the lot memory — an append-only fairness ledger — and scarce slots become something you can defend out loud.
5 Aug 2026
·
6 min read
Spring and Java mechanics
Four phases, and the one that never runs at all
What @TransactionalEventListener actually fires on commit, on rollback, and on neither -- plus a write inside AFTER_COMMIT that survives or vanishes depending on your connection pool. Measured in a playground, not quoted from the Javadoc.
4 Aug 2026
·
7 min read
Spring and Java mechanics
publishEvent() is a method call, not a queue
Spring's plain @EventListener runs on your thread, inside your transaction, before your next line — and a chained event is fully handled before the original finishes. Everything here was verified by running it, not by reading the reference page.
3 Aug 2026
·
7 min read
Spring and Java mechanics
Spring events that survive a crash
A fire-and-forget @Async listener turns every SMTP hiccup into a lost message. Here is how @TransactionalEventListener plus an event publication table makes it durable — and the four ways that setup silently does nothing.
2 Aug 2026
·
7 min read