An Engineer's musings
Languages, tooling, and how things work under the hood — with the occasional tangent. Kotlin and the JVM show up often, but each post is really just a careful look at an idea worth understanding.
- 8
- tracks
- 36
- series
- 472
- posts
Pick a path
-
JVM & Backend
112 postsKotlin, Ktor, Guice, and Misk — for engineers building backends on the JVM.
- Kotlin for Java Engineers
- Kotlin Workbooks
- Building APIs with Ktor
- Guice for JVM Engineers · I
- Guice for JVM Engineers · II
- Building Production Services with Misk
-
AI & ML
73 postsA 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
- Practical PyTorch: Running Models — Vision
- Practical PyTorch: Running Models — Language
- Practical PyTorch: Running Models — LLMs
- Practical PyTorch: Running Models — Audio
- Practical PyTorch: Training Models
- Building MCP Servers
- LangGraph from Scratch
-
Data & Analytics Engineering
132 postsBuilding reliable data transformations as real software — starting with dbt, verified on DuckDB.
- Analytics Engineering with dbt
- Airflow from Scratch
- Airflow in Practice
- Orchestrating dbt with Airflow
- Snowflake from the Ground Up
- The Modern Data Stack: Snowflake + dbt + Airflow
- Dimensional Modeling from the Ground Up
- Prefect for Airflow Engineers
-
Integration & iPaaS
34 postsConnecting systems, APIs, and data with an integration platform — starting with MuleSoft, from first flow to production.
- MuleSoft from Scratch
- MuleSoft in Practice
- DataWeave: The Language
- DataWeave in the Wild
-
Python for Kids
62 postsA five-phase summer of coding for middle-schoolers — from turtle drawings to a taste of AI.
- Python for Kids · Phase I
- Python for Kids · Phase II
- Python for Kids · Phase III
- Python for Kids · Phase IV
- Python for Kids · Phase V
-
Platform Engineering
41 postsThe 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
- Istio from Scratch
- Istio in Practice
-
Claude Certifications
16 postsStudy 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
-
macOS
2 postsNotes and fixes from keeping an Intel Mac healthy.
- macOS
Browse the series
-
JVM & BackendKotlin for Java Engineers
A ground-up tour of Kotlin for developers coming from Java.
27 posts -
JVM & BackendKotlin Workbooks
Short coding exercises to practice the concepts from each Kotlin lesson.
27 posts -
JVM & BackendBuilding APIs with Ktor
Build real-world backends and APIs in Kotlin with Ktor — from your first route to production.
17 posts -
JVM & BackendGuice for JVM Engineers · I
Dependency injection with Guice from the ground up — fundamentals, in Kotlin and Java.
8 posts -
JVM & BackendGuice for JVM Engineers · II
Advanced Guice: multibindings, generics, assisted injection, AOP, private modules, custom scopes, the servlet extension, and testing.
8 posts -
JVM & BackendBuilding Production Services with Misk
A source-verified, production-first guide to Cash App's open-source Kotlin microservice container.
25 posts -
AI & MLPractical 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 -
AI & MLPractical 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 -
AI & MLPractical PyTorch: Running Models — Language
Words to vectors, attention and the transformer, DistilBERT, Hugging Face pipelines, embeddings, and a semantic search engine.
9 posts -
AI & MLPractical 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 -
AI & MLPractical 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 -
AI & MLPractical 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 -
AI & MLBuilding 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 -
AI & MLLangGraph 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 EngineeringAnalytics 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 -
Data & Analytics EngineeringAirflow 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 -
Data & Analytics EngineeringAirflow in Practice
Custom operators, sensors, dynamic mapping, assets, executors, and shipping to production — Airflow 3 beyond the basics.
18 posts -
Data & Analytics EngineeringOrchestrating 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 -
Data & Analytics EngineeringSnowflake 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 -
Data & Analytics EngineeringThe 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 -
Data & Analytics EngineeringDimensional 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 -
Data & Analytics EngineeringPrefect 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 & iPaaSMuleSoft from Scratch
Integration for newcomers — what MuleSoft is, your first Mule app, DataWeave, connectors, and a deploy to the cloud.
9 posts -
Integration & iPaaSMuleSoft in Practice
API-led connectivity, advanced DataWeave, batch, policies, security, and CI/CD — MuleSoft beyond the basics.
9 posts -
Integration & iPaaSDataWeave: 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 -
Integration & iPaaSDataWeave 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 KidsPython for Kids · Phase I
Summer coding for middle-schoolers — draw with Python and the turtle, right in the browser.
13 posts -
Python for KidsPython for Kids · Phase II
Words, logic, and data: programs that talk back.
13 posts -
Python for KidsPython for Kids · Phase III
Code Your Own Games — build real arcade games in the browser with pygame, no install.
12 posts -
Python for KidsPython for Kids · Phase IV
Data Detective — load and chart real data in Google Colab with pandas and matplotlib.
12 posts -
Python for KidsPython for Kids · Phase V
A Taste of AI — use, teach, and train machine-learning models in Colab.
12 posts -
Platform EngineeringKubernetes from Scratch
Containers, orchestrated — pods, deployments, services, and the reconcile loop, built up from an empty kind cluster to a running bookshop.
15 posts -
Platform EngineeringIstio 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 -
Platform EngineeringIstio 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 CertificationsCCA-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 -
macOSmacOS
Notes and fixes from keeping an Intel Mac healthy.
2 posts
Latest posts
-
Capstone: Teach the Computer (and Use AI Wisely) The grand finale. Train your own model end to end, present how well it works, and have the most important conversation in AI: how to use it responsibly. -
Durability and Deployment: Off the Laptop What it takes to run a graph in production: durable execution that survives a crash, node-level retries with backoff, error handlers and timeouts, and the two ways to serve a graph — behind your own web framework, or on the LangGraph server. The series finale. -
The Six Scenarios, Worked The capstone: the exam draws four of six production scenarios, and the questions hang off them. For each scenario, the domains it pulls from, the design decisions that matter, and the anti-patterns the items will offer as traps — the whole series, applied the way the exam applies it. -
Test It, See the Mistakes, Make It Better A great score isn't the end. Look at the actual digits your AI got wrong, understand why, and try simple changes to push the accuracy higher. -
Observability and Evaluation: Seeing Inside a Run A multi-agent run is opaque until you instrument it. LangSmith tracing for the whole graph, per-node cost from usage metadata, evaluation with datasets and judges, and the technique that needs no live model — testing a graph's control flow with fakes, including a scripted tool loop.