Blog
Browse by track, then pick a series to dive in.
JVM & Backend
Kotlin, Ktor, Guice, and Misk — for engineers building backends on the JVM.
-
Kotlin for Java Engineers
A ground-up tour of Kotlin for developers coming from Java.
27 posts
-
Kotlin Workbooks
Short coding exercises to practice the concepts from each Kotlin lesson.
27 posts
-
Building APIs with Ktor
Build real-world backends and APIs in Kotlin with Ktor — from your first route to production.
17 posts
-
Guice for JVM Engineers · I
Dependency injection with Guice from the ground up — fundamentals, in Kotlin and Java.
8 posts
-
Guice for JVM Engineers · II
Advanced Guice: multibindings, generics, assisted injection, AOP, private modules, custom scopes, the servlet extension, and testing.
8 posts
-
Building Production Services with Misk
A source-verified, production-first guide to Cash App's open-source Kotlin microservice container.
25 posts
AI & ML
A math-light path into running and fine-tuning real AI models — and wiring them to your own tools and data — for engineers, not researchers.
-
Practical PyTorch: Running Models — Foundations
Tensors, shapes, the GPU, and building your first model from a single layer up — the math-free groundwork, in Colab.
7 posts
-
Practical PyTorch: Running Models — Vision
Convolution and LeNet, ResNet up close, and running a pretrained image classifier end to end — then wrapping it in an app.
5 posts
-
Practical PyTorch: Running Models — Language
Words to vectors, attention and the transformer, DistilBERT, Hugging Face pipelines, embeddings, and a semantic search engine.
9 posts
-
Practical PyTorch: Running Models — LLMs
Find and run heavyweight models from the Hub, debug runs, and drive a decoder — GPT-2, sampling, chat models, and a chatbot.
6 posts
-
Practical PyTorch: Running Models — Audio
Generate speech and music with pretrained models — text-to-speech, neural audio codecs, and MusicGen — in Colab, still without the math.
8 posts
-
Practical PyTorch: Training Models
Understanding & fine-tuning — how models learn, and adapting a pretrained model to your own data, still without the heavy math.
9 posts
-
Building MCP Servers
The Model Context Protocol from first principles to a production server — tools, resources, prompts, transports, and auth, in Python and TypeScript.
12 posts
-
LangGraph from Scratch
Build agentic systems from first principles — LangChain 1.x primitives, the StateGraph, tools and RAG, persistence and human-in-the-loop, up to a multi-agent bookshop support system. Run-verified on langchain 1.3 / langgraph 1.2.
17 posts
Data & Analytics Engineering
Building reliable data transformations as real software — starting with dbt, verified on DuckDB.
-
Analytics Engineering with dbt
Turn SQL into a real software project — models, tests, and a DAG — with dbt, verified end to end on DuckDB.
21 posts
-
Airflow from Scratch
Orchestration for newcomers — why it exists, running Airflow locally, and building your first DAGs with the TaskFlow API on Airflow 3.
13 posts
-
Airflow in Practice
Custom operators, sensors, dynamic mapping, assets, executors, and shipping to production — Airflow 3 beyond the basics.
18 posts
-
Orchestrating dbt with Airflow
Turn a dbt project into a real Airflow task graph with Cosmos — a task per model, selectors, state-aware runs, tests, and CI.
11 posts
-
Snowflake from the Ground Up
A cloud data warehouse from first principles — Snowsight, virtual warehouses, loading, roles, time travel, semi-structured data, clustering and performance, cost governance, data sharing, and programmability.
20 posts
-
The Modern Data Stack: Snowflake + dbt + Airflow
The capstone — point dbt at Snowflake with key-pair auth, orchestrate it with Airflow and Cosmos, and build a TPCH pipeline end to end.
12 posts
-
Dimensional Modeling from the Ground Up
What to actually build in the warehouse — the star schema, fact and dimension tables, and slowly changing dimensions, each modeled in dbt on Snowflake.
17 posts
-
Prefect for Airflow Engineers
The Pythonic orchestrator, seen from Airflow — flows and tasks, dynamic execution, deployments, work pools, blocks, and Prefect 3's transactions.
20 posts
Integration & iPaaS
Connecting systems, APIs, and data with an integration platform — starting with MuleSoft, from first flow to production.
-
MuleSoft from Scratch
Integration for newcomers — what MuleSoft is, your first Mule app, DataWeave, connectors, and a deploy to the cloud.
9 posts
-
MuleSoft in Practice
API-led connectivity, advanced DataWeave, batch, policies, security, and CI/CD — MuleSoft beyond the basics.
9 posts
-
DataWeave: The Language
DataWeave 2.0 as a functional language — the data model, types, functions, and the map/filter/reduce core that transforms behave.
8 posts
-
DataWeave in the Wild
Real formats and real problems — XML, CSV and flat files, dates, the standard library, modules, testing, and streaming at scale.
8 posts
Python for Kids
A five-phase summer of coding for middle-schoolers — from turtle drawings to a taste of AI.
-
Python for Kids · Phase I
Summer coding for middle-schoolers — draw with Python and the turtle, right in the browser.
13 posts
-
Python for Kids · Phase II
Words, logic, and data: programs that talk back.
13 posts
-
Python for Kids · Phase III
Code Your Own Games — build real arcade games in the browser with pygame, no install.
12 posts
-
Python for Kids · Phase IV
Data Detective — load and chart real data in Google Colab with pandas and matplotlib.
12 posts
-
Python for Kids · Phase V
A Taste of AI — use, teach, and train machine-learning models in Colab.
12 posts
Platform Engineering
The layer under your services — Kubernetes from an empty cluster, then a service mesh with Istio, with every claim run against a real lab.
-
Kubernetes from Scratch
Containers, orchestrated — pods, deployments, services, and the reconcile loop, built up from an empty kind cluster to a running bookshop.
15 posts
-
Istio from Scratch
A service mesh without sidecars — ambient mode, ztunnel, waypoints, and mTLS you did not have to ask for, on Istio 1.30.
12 posts
-
Istio in Practice
The mesh in the real world — the sidecars you inherit, migrating without an outage, tracing, egress, multicluster, cost, upgrades, and debugging it at 3am.
14 posts
Claude Certifications
Study guides for the Anthropic Claude certification exams — the underlying skills, mapped to each exam blueprint and built against the current SDK and tooling.
-
CCA-Foundations: Claude Certified Architect
Prep for the Claude Certified Architect – Foundations exam (CCAR-F): the agentic loop, tools and MCP, Claude Code, prompt engineering, and context management — mapped to the exam blueprint and built against the current Claude Agent SDK.
16 posts
-
CCD-Foundations: Claude Certified Developer
Prep for the Claude Certified Developer – Foundations exam (CCDV-F): integrating Claude through the API, building agents and MCP servers, model selection and cost, prompt and context engineering, and security — run-verified against anthropic 0.120, the Agent SDK, Strands, and PydanticAI.
21 posts
-
CCA-Professional: Claude Certified Architect
Prep for the Claude Certified Architect – Professional exam (CCAR-P): designing, integrating, evaluating, and governing production Claude systems — solution architecture, RAG, evaluation frameworks, cost and latency optimization, governance and compliance, and the stakeholder lifecycle — run-verified where it is code (RAG and eval on a real pipeline), grounded design guidance where it is architecture.
22 posts
Go
Learning Go from the ground up — the language, its concurrency model, building real software, and production-grade Go — compile-verified against a pinned toolchain.
-
Go from the Ground Up
Learn Go the way it is meant to be written — the toolchain, types and zero values, slices and maps, structs and methods, interfaces, errors as values, and generics — every snippet compiled and run against Go 1.26.
15 posts
-
Concurrency in Go
Goroutines, channels, and the select statement, then the sync toolkit, context, pipelines and worker pools, goroutine leaks, errgroup, and the memory model — the part of Go everyone comes for, run under the race detector against Go 1.26.
14 posts
-
Building Real Things in Go
From the standard library to a running service — HTTP servers and the 1.22 router, JSON, requests and middleware, the http.Client, files and io, time, CLIs, database/sql, and testing in depth (table-driven, httptest, benchmarks, fuzzing) — every program built and run against Go 1.26.
14 posts
-
Go in Production
What it takes to run Go for real — project layout, structured logging with slog, configuration, graceful shutdown, pprof profiling, observability, build and release, go generate, dependency and vulnerability management, containers, the runtime and GC knobs, and reliability patterns — verified against Go 1.26 where it is code.
13 posts
SQL
SQL as a language, from your first SELECT to reading a query plan — the language, the analytical toolkit, how the database runs your query, and SQL in production, all run-verified against PostgreSQL 18.
-
SQL from the Ground Up
The relational model and your first SELECT through joins, aggregation, subqueries, set operations, writing data, and constraints — every query run against PostgreSQL 18, NULL and three-valued logic given a chapter of its own.
14 posts
-
Querying Like You Mean It
The analytical half of SQL — CTEs and recursion, the full window-function arc, GROUPING SETS, pivoting, dates, strings and regex, JSON/JSONB, arrays and LATERAL — run against PostgreSQL 18 over the bookshop.
13 posts
-
How Databases Run Your Query
Reading EXPLAIN ANALYZE, indexes (B-tree, partial, covering, GIN/GiST), join algorithms and the planner, MVCC and isolation with real anomaly demos, locking and deadlocks, VACUUM, and partitioning — measured against PostgreSQL 18.
13 posts
-
SQL in the Real World
Normalization and keys, views and generated columns, triggers and functions, migrations, and SQL from application code — parameterized queries, injection, pooling, and transactions across a request — against PostgreSQL 18.
11 posts
macOS
Notes and fixes from keeping an Intel Mac healthy.