Topics
What I keep coming back to.
Series run in order; topics are a running theme. Every post also keeps its tags — this is the curated view on top of them.
-
Series
LLMs, the whole thing
Working through large language models from the ground up — turning text into tokens, embeddings and the geometry of meaning, the transformer architecture, attention, how these models are trained, and what separates one generation from the next.
-
Topic
Maths for LLMs
Understand the mathematics under large language models, built from zero — words as coordinates, the angle that measures meaning, the dot-product shortcut that computes it, and the contrastive objective that shapes the whole space.
-
Series
Building agents on the JVM with Embabel
Learning Embabel by building with it, in order — planning, durable sessions, testing without a model, tools, human-in-the-loop, tracing, exposing it over MCP.
-
Series
Shipping an AI feature into my own product
Build it, attack it, keep extending it — the Ask Zakaria concierge from the first prompt through prompt-injection red-teaming to reading a job description and taking questions by voice.
-
Series
Learning MongoDB
Coming to document databases from a relational background, in order — modelling, then aggregation, then what the engine does underneath.
-
Topic
From Java to Python
Coming to Python from years on the JVM — learning it by mapping every concept back to Java, then using it to build the AI tooling that made me want the language in the first place.
-
Topic
Traces, Tempo and the LGTM stack
Instrument it, learn to query it, then point it at something that thinks.
-
Topic
Working with Claude Code
An agent as a collaborator rather than an autocomplete — design systems, durable knowledge, automation ladders, subagent fleets on my own source, and now in CI.
-
Topic
Working with Codex / ChatGPT
Using Codex and ChatGPT as engineering collaborators — repository workflows, security reviews, automation, and the practical boundaries that keep the work controlled.
-
Topic
Security and privacy, in practice
Attacking my own features and reading the protocols underneath them — secrets delivery, response headers, a published address for bad news, a cookie banner that sets no cookies, and what an auth flow is actually protecting you from.
-
Topic
The Model Context Protocol, hands on
Building MCP servers and pointing agents at real systems — Spring Boot tools, an email inbox, a JVM agent framework.
-
Topic
Git, past the happy path
The plumbing under the porcelain — what git actually stores, the rules that only announce themselves when you break them, and how the model changes once more than one worker shares a repository.
-
Topic
Spring and Java mechanics
Framework behaviour that only shows up when you push on it — validation, migrations, batch, aggregate boundaries, events that outlive the request, and the Spring AI plumbing that fills a vector store and queries it back.
-
Topic
Running the box: Docker, Linux, the JVM
What actually happens between systemd and your fat jar.
-
Topic
Building this site in public
Shipping and operating my own product in public — one jar serving two hosts, making it findable, dropping experiments into it, shipping a free CV builder off the side.
-
Topic
Ideas
Things I'm exploring before they're fully formed — experiments, sketches and open questions, written down while they're still moving.