Traces, Tempo and the LGTM stack
Auto-instrumenting Spring Batch 6 with OpenTelemetry — four silent failures
Wiring Spring Boot 4 + Spring Batch 6 to emit job/step traces into Tempo and spring_batch_* metrics into Prometheus — and the four config traps that each failed the same way: green build, zero errors, nothing exported.
26 Aug 2026
·
5 min read
Maths for LLMs
Broadcasting: how a [4,256] table adds to a whole batch
The positional-embedding sum quietly relies on broadcasting. Here is the whole rule — align from the right, stretch the 1s — and why PyTorch never copies a byte.
23 Aug 2026
·
4 min read
Working with Claude Code
Explain like I'm five, on tap
I ran the /eli5 skill over a Jinja2 learning session and got back a self-contained, illustrated artifact. Here is what the skill is, why writing the five-year-old version sharpens your own understanding, and where it fits a learn-then-teach workflow.
23 Aug 2026
·
4 min read
From Java to Python
Jinja2 from the engine up
The same engine powers Flask pages, Ansible playbooks and static sites. Here is Jinja2 learned from the engine out - delimiters, autoescaping, inheritance and the Environment - with every concept run by hand, coming from the JVM.
23 Aug 2026
·
7 min read
Fine-tuning a 270M model on my rocm with unsloth libs
I ran a full LoRA fine-tune of Gemma 3 270M on my AMD Strix Halo iGPU. It froze the whole machine twice before three lines of config fixed it — here's the run, the fix, and what it taught a backend dev about how LLMs actually work.
22 Aug 2026
·
8 min read
From Java to Python
Learning Python as a Java Dev: My On-Ramp to AI
I'm a Spring/Kafka backend engineer who could read Python but never wrote it. The AI world pulled me in, so I learned it by building a 10-lesson course that maps every concept back to Java, then built the tutor agent that taught me.
19 Aug 2026
·
4 min read
LLMs, the whole thing
·
Part 6
Self-attention, from scratch: a context vector is a weighted average
The first attention mechanism in Raschka's LLM book, explained the way it finally clicked for me, a Java dev who bounces off dense maths: self-attention is just three operations, a dot product, a softmax, and a weighted average.
18 Aug 2026
·
9 min read
Maths for LLMs
Positional embeddings and vector addition
The maths under positional embeddings, from zero: a token becomes what it is plus where it sits, and that 'plus' is a literal element-wise sum of two vectors. Why the differently-sized tables never actually clash, worked by hand, with slides.
16 Aug 2026
·
5 min read
LLMs, the whole thing
·
Part 5
The Lookup Table That Learns: Token Embeddings and the Order-Blind Trap
The finale of chapter 2: how meaningless token IDs become the tensor attention actually consumes. It comes down to two lookup tables and one addition - a learnable embedding table for meaning, and a second, position-indexed table for order.
16 Aug 2026
·
6 min read
LLMs, the whole thing
·
Part 4
The Sliding Window: How One Story Becomes Thousands of Training Examples
I printed my first training batch, saw shape [8, 4], and could not say what the two numbers counted. Untangling it - one short story sliced into 1,286 windows, grabbed 8 at a time - made the whole GPT input pipeline finally go transparent.
16 Aug 2026
·
6 min read