GELU vs ReLU: The Smooth Gate Inside GPT
ReLU cuts every negative activation to zero. GELU computes a smooth tanh-shaped gate; I unpack the formula one real number at a time and place it inside GPT's feed-forward network.
Field Notes
Notes on event-driven Java, Spring Boot, Kafka, and secure systems for regulated banking.
ReLU cuts every negative activation to zero. GELU computes a smooth tanh-shaped gate; I unpack the formula one real number at a time and place it inside GPT's feed-forward network.
I refused to let LayerNorm remain a formula. Starting with four integers, I work through mean, variance, standard deviation, normalization and the exact PyTorch operation used for each GPT token.
Before I could make sense of attention code, I needed PyTorch's tiny tensor vocabulary to stop feeling mysterious. This first session covers shapes, axes, batching, and the important difference between stack, cat, multiplication, and dot products.
A generated character only becomes an identity when it survives the next prompt. I turned one navy-hoodie mascot, two successful references and a --manga switch into a small reusable Codex skill.
I applied for verified Daybreak access, completed the identity check, and mapped the next step: connecting my own GitHub repositories to Codex Security without giving up human review or scope control.
LLMs, the whole thing · Part 9
Part 9 of LLMs, the whole thing: two heads, one token, and the difference between computing attention and organizing its tensors. A concrete PyTorch walkthrough of view, transpose, concatenation and the output projection.
A new identity for my portfolio, writing, and independent products: graphite, electric blue, and a moving Z inspired by event-driven systems. The design choices, reusable article templates, and engineering constraints behind it.
Running the box: Docker, Linux, the JVM
Retiring a service is more than killing the process. Here's the four-beat teardown I ran to remove a honeypot from my box — and why 'disable' isn't 'stop'.
LLMs, the whole thing · Part 8
Section 3.5 of Raschka's book on seven real GPT-2 tokens: why masking after softmax breaks the row sums, why -inf on the scores fixes it in one pass, and how dropout is a second, random mask that doubles its survivors.
Running Anthropic's prompt-audit over 2,700 lines of Claude Code steering before moving to Fable 5.1. The grep for pressure language hit once. The cruft was drift and changelog phrasing, and seven of the eight recommended prompt snippets were already in the harness.
The multi-part series and running themes, rather than one long pile.
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.
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.
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.
Instrument it, learn to query it, then point it at something that thinks.
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.
Using Codex and ChatGPT as engineering collaborators — repository workflows, security reviews, automation, and the practical boundaries that keep the work controlled.
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.
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.