#build
Posts
-
Digging into Gradle's Source 1: How I Read It with AI, and the Map
The first post of a series on reading Gradle's source, starting with diagrams and a 3-minute hands-on run that show what Gradle is, how it works and what it is for. It covers which version is read (master, a 9.10.0 development build), how to get the same commit and build Gradle with Gradle inside Docker, a platform map of the roughly one-million-line codebase, the main road one gradle command travels through the client and the daemon to your task action, and how AI-written notes are re-checked against the source.
-
Digging into Gradle's Source 5: The Build Lifecycle — Where Initialization, Configuration and Execution Split
We follow, in the source of the reference commit, how a build request received by the daemon travels down a chain of executors to the build lifecycle, how StateTransitionController guards state transitions, how initialization reads init scripts and settings, how the configuration phase configures projects, where the configuration time barrier and the task graph sit, and how the build wraps up with buildFinished and the Flow API. We hook every lifecycle callback to print their order, read the build operation tree, and fail the build on purpose in each of the three phases.
-
Digging into Gradle's Source 10: The Execution Engine and Incremental Builds — How UP-TO-DATE Is Decided
How does the single word UP-TO-DATE on your console get decided in the source? We follow DefaultTaskNodeExecutor, which filters tasks before the engine, TaskExecution, which wraps a task as a unit of work, the execution engine built from twenty-five nested steps, ResolveChangesStep and SkipUpToDateStep, which compare the last execution record with the current state, the file fingerprints that @PathSensitive changes, the VFS that remembers file state between builds, and InputChanges, which hands a task only the files that changed — all checked against the source with examples we actually ran.
-
Digging into Kafka's Source 1: How I Read It with AI, and the Map
The first post of a series that reads the Kafka source — it starts by showing what Kafka is, how it works and what it is for, with diagrams and a 3-minute hands-on run. It covers which version is read (trunk, 4.5.0-SNAPSHOT) and how it relates to the stable 4.4.0, how to get the same source and build it with Gradle in Docker, the processMessages step that generates code from JSON schemas, a module map of the roughly 720,000-line main codebase, the big road one record travels from send() through the disk and replication to poll(), and how AI-written notes are re-checked against the source.
-
Digging into MariaDB's Source 1: How I Read It with AI, and the Map
The first post of a series on reading the MariaDB server's source, starting with pictures and a 3-minute hands-on run that show what MariaDB is, how it works and what it is for. It covers which version is read (the main branch, 13.2.0 alpha) and how it differs from the LTS releases, how to get the same source including submodules and make a Debug build in Docker (including why the build broke on Windows because of CRLF), a folder map of the 2.59-million-line codebase, the big road one query travels from the connection thread to InnoDB as confirmed with a gdb backtrace, and how AI-written notes are re-checked against the source.
-
Digging into nginx's Source 1: How I Read It with AI, and the Map
The first post of a series on reading nginx's source, starting with pictures and a 3-minute hands-on run that show what nginx is, how it works and what it is for. It then covers which version we read (the 1.31.9 mainline development version) and how it differs from stable 1.30.x, how to get the same source and build it in Docker with auto/configure and make, a folder map of the 260,000-line source, the main path one request takes from accept to sendfile — checked with gdb and strace — and how to read with AI while verifying its notes against the source.
-
Digging into Apache httpd's Source 1: How I Read It with AI, and the Map
The first post of a series on reading the httpd source, starting with pictures and a 3-minute hands-on run that show what Apache httpd is, how it works and what it is for. It covers which version is read (trunk, 2.5.1-dev), how to get the same source and build it in Docker (including the places I actually got stuck), a folder map of the roughly 350,000-line codebase, the big road one request travels, and how AI-written notes are re-checked against the source.
-
Digging into Tomcat's Source 1: How I Read It with AI, and the Map
The first post of a series that reads the Tomcat source — it starts by showing what Tomcat is, how it works and what it is for, with diagrams and a 3-minute hands-on run. It covers which version is read (the main branch, 12.0.0-M1) and how it differs from the stable 11.0.x, which Servlet spec version it implements, how to get the same source and build it with Ant in Docker, a folder map of the roughly 740,000-line codebase, the big road one request travels from the Acceptor to your servlet, and how AI-written notes are re-checked against the source.
-
Unity Practice 1: Getting to Know GameObjects and Controllers
A practice log written by a first-time Unity user for first-time Unity users. From installing Unity and reading the editor, to adding physics to boxes and swinging a bat at them with the mouse, to making a Windows build — with screenshots and the full scripts.