Home
About
Categories
Tags
Series
SZ’s
Musings and ramblings.
Clear
Category:
build
239
live
19
Tags:
🍞
49
⭐
63
adhd
2
ai-tooling
33
automation
1
azure
12
bazel
91
caching
16
cc-toolchain
5
ci
75
claude-code
1
code-review
1
communication
7
conference
1
cuda
12
debugging
14
deep-dive
2
dep-graph
7
dependencies
34
design
1
design-patterns
1
devex
54
docker
41
emacs
12
esl
14
gazelle
6
github
1
github-actions
16
go
2
hammerspoon
1
infra
28
infrastructure
1
kubernetes
13
learning
1
linux
1
macos
2
meta
3
migration
15
monorepo
43
neurodivergence
8
neurodiversity
2
observability
3
oncall
4
open-source
1
philosophy
2
pl
2
productivity
7
python
42
sysadmin
1
systems-thinking
1
terraform
1
testing
18
til
2
torch
20
uv
11
2026/04/17
Bazel Torch: From Empty Placeholder to Explicit Dependency (A PR Review)
BUILD
bazel
torch
dependencies
2026/04/17
A Missing Package, a 12-Hour Scramble, and the Art of Workplace Tai Chi
BUILD
ci
infra
monorepo
communication
2026/04/17
Distilling 1
BUILD
infra
azure
terraform
learning
2026/04/16
Bazel Migration War Story: Two PRs, Forty Commits, and All the Archaeology In Between
BUILD
bazel
monorepo
migration
ci
2026/04/15
TIL: Diarization Is Not an LLM, and How ML Training Actually Works
BUILD
ai-tooling
2026/04/15
Why Your Bazel CI Shouldn’t Share a Docker Image with Pytest
BUILD
bazel
docker
ci
2026/04/15
Local Agent Scheduler: Running a Cron Daemon for AI Agents on Your Mac
BUILD
ai-tooling
devex
ci
2026/04/15
Shipping Your Local AI Server to Your Team
BUILD
ai-tooling
infrastructure
design
2026/04/12
Turning 6 Months of Slack Noise Into a Searchable Incident Database
BUILD
ci
oncall
devex
infra
2026/04/11
Two Hammerspoon Hotkeys I Actually Use
BUILD
macos
automation
hammerspoon
oncall
claude-code
🍞
2026/04/10
TIL: Python sys.modules Collision — Test Passes Alone, Fails Together
BUILD
python
ci
oncall
til
testing
2026/04/10
TIL: Multi-Arch Docker Images Are Not Optional, Even for ‘GPU-Only’ Workloads
BUILD
docker
infra
2026/04/09
TIL: Five Things from a Chaotic CI/CD Oncall Night
BUILD
ci
oncall
til
devex
2026/04/09
TIL: GitHub Auto-Merge Silently Fails When the Merge Method Is Disallowed
BUILD
github
ci
2026/04/08
How Our Main CI Workflow Actually Works
BUILD
ci
github-actions
devex
2026/04/06
Why Bazel Tests Crash With libcublas.so Not Found
BUILD
bazel
torch
ci
2026/04/04
NCCL and InfiniBand: The Mental Map Nobody Gave You
BUILD
cuda
infra
🍞
2026/04/04
File Search Cheatsheet: Every Command I Actually Use
BUILD
devex
emacs
🍞
2026/04/03
TIL: Curling Private GitHub Release Assets
BUILD
ci
docker
github-actions
2026/04/03
Auth for New Grads: The Mental Map Nobody Gave You
BUILD
infra
🍞
2026/03/23
Two Ways to Make Claude Read Your CI Logs
BUILD
ai-tooling
ci
devex
monorepo
testing
2026/03/15
ESL at Work: Phrase Book, Patterns That Reduce Cognitive Load
LIVE
communication
esl
neurodivergence
🍞
2026/03/13
1,600 Lines of YAML: GitHub Actions Workflow Refactor
BUILD
ci
devex
docker
github-actions
2026/03/13
Bazel Migration: The ROI Math of Knowing Your Blockers
BUILD
bazel
dependencies
migration
monorepo
2026/03/13
From CI Failure to AI Explanation
BUILD
ai-tooling
ci
devex
testing
2026/03/13
Harness Engineering: The Missing Manual
BUILD
ai-tooling
devex
🍞
⭐
2026/03/13
Learn to Review PRs Faster
BUILD
bazel
devex
2026/03/13
The Agent Era Needs More Than a Slack Thread
BUILD
ai-tooling
ci
devex
monorepo
⭐
2026/03/13
The Soft-Fail Pattern — Advisory CI Checks That Don’t Cry Wolf
BUILD
bazel
ci
devex
monorepo
⭐
2026/03/13
Where Does DevEx End and Everything Else Begin?
BUILD
ci
devex
infra
⭐
2026/03/12
Bazel Migration: 21 Open PRs and a Mass Extinction
BUILD
bazel
devex
monorepo
2026/03/12
Bazel Migration: Common Blockers and the Roadmap Out
BUILD
bazel
cc-toolchain
cuda
migration
monorepo
python
⭐
2026/03/12
Bazel Migration: Cross-Reference of Posts, PRs, and Connections
BUILD
bazel
meta
migration
monorepo
🍞
⭐
2026/03/12
Bazel Migration: How I Gave the Monorepo a Complete Dep Graph
BUILD
bazel
ci
dependencies
devex
monorepo
⭐
2026/03/12
CI Observability: Tracing the Training Metrics Pipeline
BUILD
ci
devex
infra
monorepo
2026/03/12
ESL at Work: The System Freezes for Three Seconds
LIVE
communication
devex
esl
neurodivergence
⭐
2026/03/12
I Thought It Was Just One Tag: Docker Image Tagging Rabbit Hole
BUILD
azure
ci
docker
kubernetes
2026/03/12
I Wrote 90 Posts About Bazel. Here’s the Map.
BUILD
bazel
meta
migration
monorepo
2026/03/11
Bazel Migration: A CUDA Package Without Bazel Knowing About CUDA
BUILD
bazel
ci
cuda
docker
monorepo
2026/03/11
Bazel Migration: The Biggest Blocker Was a Cython Package
BUILD
bazel
cc-toolchain
dependencies
docker
monorepo
python
2026/03/11
Parallel Claude Sessions Beat Subagents at Scale
BUILD
ai-tooling
devex
2026/03/11
The AI CI Helper’s First Real Test (It Failed Its Own Test)
BUILD
ai-tooling
ci
devex
monorepo
testing
2026/03/10
Bazel Migration: Cracking the Biggest Blocker, 4 Cython Files
BUILD
bazel
cc-toolchain
migration
monorepo
python
⭐
2026/03/10
Python Packaging: Native Code in a Monorepo
BUILD
bazel
cc-toolchain
monorepo
python
⭐
2026/03/09
GPU Test Targeting with the Bazel Dep Graph
BUILD
bazel
ci
dependencies
devex
monorepo
testing
2026/03/09
I Made Pyright Faster by Removing Environments — Then It Got Slower
BUILD
bazel
ci
dep-graph
python
2026/03/09
Teaching Bazel to See Non-Python Dependencies
BUILD
bazel
ci
dep-graph
2026/03/09
Docker Builds: How Yolo Tags Images and the Stale Prepuller
BUILD
ci
docker
kubernetes
⭐
2026/03/09
Bazel Migration: Reading Status Like a Map
BUILD
bazel
deep-dive
migration
monorepo
⭐
2026/03/09
Bazel Migration: Benchmarking Bazel vs the Status Quo
BUILD
bazel
ci
dep-graph
dependencies
monorepo
testing
2026/03/09
Bazel Migration: Torch Packages, the Complete Decision Tree
BUILD
bazel
ci
cuda
dependencies
docker
monorepo
python
🍞
⭐
2026/03/09
Bazel Torch: Bazel Doesn’t Care What Version of numpy You Have
BUILD
bazel
ci
dep-graph
dependencies
python
2026/03/09
Bazel Torch: Two PRs, One Compiler, and a Package That Didn’t Need Either
BUILD
bazel
ci
cuda
dependencies
docker
monorepo
python
⭐
2026/03/09
BUILD Files That Lie: Missing Deps in Bazel
BUILD
bazel
ci
dep-graph
devex
gazelle
2026/03/09
ESL at Work: Meeting Prep When English Isn’t Free
LIVE
communication
esl
neurodivergence
2026/03/09
Inside find_changed: How a Monorepo’s Homegrown Test Selector Actually Works
BUILD
ci
dependencies
monorepo
python
testing
⭐
2026/03/09
The 30-Second Fix Nobody Did for 3 Months: Stale Docker Prepuller
BUILD
ci
docker
github-actions
kubernetes
2026/03/09
The Test Hierarchy Map: pytest, Bazel, and Everything in Between
BUILD
bazel
devex
monorepo
python
testing
⭐
2026/03/09
What a Full Dep Graph Actually Unlocks
BUILD
bazel
ci
dep-graph
devex
monorepo
2026/03/08
Bazel Torch: Two Python Interpreters
BUILD
bazel
dependencies
docker
python
torch
2026/03/08
A 2% Efficiency Drop That Only Exists at 8,000 GPUs
BUILD
ai-tooling
cuda
infra
2026/03/08
I Build the Kitchen, but I’ve Never Cooked: A Build Engineer’s ML Gap
LIVE
ai-tooling
devex
monorepo
2026/03/08
The Dep Graph Is the Product: bazel query Over Migration
BUILD
bazel
ci
dependencies
devex
monorepo
⭐
2026/03/08
The LLM Benchmark That Actually Matters Is the One Nobody Publishes
BUILD
ai-tooling
devex
2026/03/08
The Prototype Layer: Closed PRs and Experimental Infra
BUILD
ci
devex
infra
kubernetes
2026/03/08
I Had AI Write My PR. Now I Need to Understand the Review.
BUILD
ai-tooling
bazel
ci
devex
2026/03/08
rules_python vs rules_py: They’’re Layers, Not Competitors
BUILD
bazel
python
🍞
2026/03/07
I Replaced My Slack MCP Server with Six Lines of Curl
BUILD
ai-tooling
debugging
2026/03/07
Python Packaging: Native Build Tooling Below import torch
BUILD
bazel
cc-toolchain
cuda
dependencies
python
🍞
⭐
2026/03/07
The Full Chain: How Python BUILD Files Get Generated in a Bazel Monorepo
BUILD
bazel
gazelle
monorepo
python
⭐
2026/03/07
Bazel Migration: Studying a Migration Playbook
BUILD
ci
devex
infra
kubernetes
⭐
2026/03/07
Browser Tiling vs Corporate SSO: Pick One
BUILD
azure
devex
2026/03/07
ccboard v2 — The Data Model Was Wrong the Whole Time
BUILD
ai-tooling
devex
⭐
2026/03/07
From PR to Test Runner: How a Monorepo Decides What to Test
BUILD
ci
infra
monorepo
python
testing
⭐
2026/03/07
My Meeting Transcripts Are Trapped in Otter AI
BUILD
ai-tooling
devex
python
2026/03/07
The Parser Map: Every Tool in Your Python Monorepo
BUILD
bazel
devex
monorepo
python
⭐
2026/03/07
The Terminal Is Back. It’s Still Rough.
BUILD
ai-tooling
devex
2026/03/07
Two Engineers, One Dependency Graph: Parallel CI Work
BUILD
bazel
ci
dep-graph
testing
2026/03/06
Bazel Migration: mai_config, the First Torch Package
BUILD
bazel
ci
monorepo
python
torch
2026/03/06
Bazel Torch: It Works But I Can’t Merge It
BUILD
bazel
gazelle
python
2026/03/06
CI Observability: Anatomy of a 25-Minute Lint Check
BUILD
ci
devex
pl
python
⭐
2026/03/06
Gazelle: Reading the Source Code
BUILD
bazel
dependencies
gazelle
python
⭐
2026/03/06
GitHub Actions Triggers: The Full Mental Model
BUILD
ci
github-actions
infra
monorepo
🍞
⭐
2026/03/06
Liu Jia on AI, Brains, and the Meaning of Intelligence
BUILD
ai-tooling
meta
philosophy
2026/03/05
I Opened Our pyrightconfig.json and Found 11 Ghost Environments
BUILD
ci
devex
monorepo
python
2026/03/05
ASTs for the Impatient Python Developer
BUILD
pl
python
🍞
⭐
2026/03/05
Bazel Torch: When a Macro Hides Tests from an Entire Platform
BUILD
bazel
ci
monorepo
python
2026/03/05
CI Observability: Six Layers Deep in a Grafana Panel
BUILD
azure
infra
kubernetes
2026/03/05
Docker Builds: Debugging Stuck Builds with Datadog and the GH API
BUILD
ci
debugging
docker
infra
2026/03/05
Docker Builds: When the Cache Becomes the Bottleneck
BUILD
caching
ci
docker
infra
⭐
2026/03/05
Gazelle: Python in a Monorepo, the Invisible Machinery
BUILD
bazel
dependencies
monorepo
python
testing
2026/03/05
Gazelle: When It Can’t Help, Hand-Writing BUILD Files
BUILD
bazel
migration
monorepo
python
2026/03/05
Reading a Monorepo Like an Archaeologist: Forks, Prefixes, and Org Structure
BUILD
bazel
dependencies
devex
monorepo
python
⭐
2026/03/05
Three Paths to $2M in AI
BUILD
ai-tooling
infra
2026/03/05
Wait-for-Label: Gating Expensive CI Jobs Behind a Human Decision
BUILD
ci
github-actions
infra
testing
⭐
2026/03/05
We Built an AI CI Fixer — Then Discovered It Was Broken
BUILD
ai-tooling
ci
devex
monorepo
2026/03/04
CI Observability: Runner Utilization and the Wrong Question
BUILD
ci
devex
infra
2026/03/04
ESL at Work: Meeting Prep as Engineering
BUILD
ai-tooling
devex
esl
2026/03/04
GitHub PR Review Has Three Buttons and They Matter
BUILD
devex
2026/03/04
How I Review PRs I Don’t Own
BUILD
ci
devex
2026/03/04
How Our GPU Tests Actually Work
BUILD
ci
infra
python
testing
⭐
2026/03/04
Pyright Runs on 100 Packages When 1 Changed
BUILD
bazel
ci
monorepo
python
2026/03/04
Stop Grepping Your Python Tests (Use the AST)
BUILD
ci
python
testing
2026/03/04
The 500 Lines That Run Every GPU Test
BUILD
ci
github-actions
infra
⭐
2026/03/04
The Last Mile Problem in AI CI Fix Loops
BUILD
ai-tooling
ci
devex
monorepo
⭐
2026/03/04
GitHub Actions Cache: The Guide I Wish Existed
BUILD
bazel
caching
ci
docker
🍞
⭐
2026/03/04
What You Learn When You Graph a Monorepo
BUILD
bazel
ci
dependencies
monorepo
python
2026/03/04
ESL at Work: Claude Code Meeting Phrases
LIVE
ai-tooling
communication
esl
🍞
2026/03/03
Bazel Torch: Presenting the PR to the Team
BUILD
bazel
communication
torch
🍞
2026/03/03
Bazel Torch: The py_torch_test Pattern
BUILD
bazel
ci
docker
python
torch
🍞
⭐
2026/03/03
Bazel Migration: 6 Packages, 10 Bumps, 9 Pushes
BUILD
bazel
ci
migration
torch
⭐
2026/03/03
Bazel CC Toolchain: I Was Wrong About use_default_shell_env
BUILD
bazel
dependencies
python
2026/03/02
Python Packaging: How BlobFuse Works
BUILD
azure
2026/03/02
The Hitchhiker’s Guide to the Yolo Monorepo
BUILD
devex
monorepo
🍞
⭐
2026/03/02
Caching Layers for a Python Monorepo: It’s Not One Problem
BUILD
caching
uv
⭐
2026/03/02
A New Hire’s Guide to the MAI Infrastructure Zoo
BUILD
devex
infra
🍞
2026/03/02
Bazel Migration: Cascade Analysis, Which Packages torch Blocks
BUILD
migration
torch
2026/03/02
Slack Enterprise Tokens Are a Mess: A Debugging Guide
BUILD
debugging
🍞
2026/03/02
target_compatible_with vs select() — When to Skip a Target vs When to Adapt
BUILD
bazel
🍞
2026/03/02
Docker Builds: Four Tries, One Dockerfile
BUILD
caching
cuda
docker
⭐
2026/03/02
ESL at Work: The Doc I Couldn’t Read
LIVE
esl
neurodivergence
⭐
2026/03/02
GitHub Rate Limits: What I Learned When CI Started Getting 403s
BUILD
github-actions
🍞
2026/03/02
Hermetic CC Toolchain for Python Sdists in Bazel
BUILD
bazel
dependencies
2026/03/02
Python Packaging: pyproject.toml 101
BUILD
dependencies
🍞
2026/03/02
Two Dependency Graphs That Disagree in a Monorepo
BUILD
bazel
dependencies
⭐
2026/03/02
Using AI Agents to the Extreme — How I Accidentally Built a Cognitive Architecture
BUILD
ai-tooling
⭐
2026/03/02
Docker Builds: When One Cache Hides Another
BUILD
caching
ci
cuda
docker
2026/03/01
Bazel Torch: Option A, the Simplest Option That Wasn’t
BUILD
bazel
torch
⭐
2026/02/27
ESL at Work: Pushback Phrases for Code Review
BUILD
esl
🍞
2026/02/27
Bazel CC Toolchain for Python C Extensions
BUILD
bazel
dependencies
⭐
2026/02/26
CI Observability: Proving a CI Fix Actually Worked
BUILD
azure
debugging
2026/02/26
The Claude Code Config Ecosystem — What’s Out There and What I Built
BUILD
ai-tooling
⭐
2026/02/26
Docker Builds: I Shipped an Optimization and Nothing Happened
BUILD
debugging
docker
2026/02/25
Two Days to Merge Six Files: Docker CI Friction
BUILD
docker
github-actions
2026/02/25
Bazel Torch: Three Ways to Smuggle torch In
BUILD
bazel
torch
2026/02/25
ESL at Work: Selling a Technical Problem Before the Solution
BUILD
esl
2026/02/24
Bazel Torch: Making Bazel See System Torch in Docker
BUILD
bazel
docker
torch
2026/02/24
Bazel Torch: Option B and the Five Obstacles
BUILD
bazel
torch
2026/02/24
Docker Builds: The Two-Phase Cache Trick
BUILD
caching
docker
uv
2026/02/24
GPU Tests in Bazel: The Resource Problem Nobody Warned You About
BUILD
bazel
torch
2026/02/24
Bazel Torch: Test Classification, the Real CI Problem
BUILD
migration
torch
2026/02/24
Azure Jargon, Explained Through a Broken CI Login
BUILD
azure
🍞
2026/02/24
Bazel Torch: What Does Success Actually Look Like?
BUILD
bazel
torch
⭐
2026/02/24
When Homegrown CI Tools Hit the Ceiling
BUILD
migration
2026/02/23
Bazel Migration: The Four Levels of Readiness
BUILD
migration
2026/02/23
Bazel Torch: The Override That Overrode Everything
BUILD
dependencies
torch
⭐
2026/02/23
Gazelle: ASPECT_GAZELLE_CACHE Internals
BUILD
bazel
caching
2026/02/23
The Seven Layers of Reloading Your Emacs Config
BUILD
emacs
🍞
2026/02/23
TIL: uv.override_requirement() in aspect_rules_py
BUILD
bazel
dependencies
2026/02/23
Docker Builds: How to Prove an Optimization Actually Worked
BUILD
debugging
docker
🍞
⭐
2026/02/23
Docker Builds: Mount Tricks and the uv-stable.lock Pattern
BUILD
docker
uv
2026/02/23
Docker Builds: Reading Build and uv Sync Logs
BUILD
debugging
docker
uv
🍞
2026/02/23
Docker Builds: Shipping the uv-stable.lock Optimization
BUILD
docker
uv
2026/02/23
ESL at Work: AI as a Cheat Code
LIVE
ai-tooling
esl
⭐
2026/02/23
ESL at Work: Practice Log 1, Prepping a Weekly Sync
LIVE
ai-tooling
esl
2026/02/23
The CI Runner Landscape: Why Your Monorepo Needs More Than ubuntu-latest
BUILD
github-actions
2026/02/22
Go Compiler and Linker Flags in Bazel: The Three-Layer Model
BUILD
bazel
go
2026/02/22
Bazel CI Cache: Why GitHub Actions Cache Won’t Save You
BUILD
bazel
caching
2026/02/22
Bazel Torch: How Bazel Resolves Python Deps and Why torch Breaks
BUILD
bazel
dependencies
torch
⭐
2026/02/22
Bazel Migration: 62% Blocked by torch
BUILD
migration
torch
2026/02/22
Python Packaging: Why Large Monorepos Build Their Own Package Manager
BUILD
dependencies
2026/02/22
When GPU Showed Up in Our Python Bazel Monorepo
BUILD
migration
torch
2026/02/21
How a Monorepo Does Integration Tests in Bazel
BUILD
bazel
2026/02/21
Docker Builds: 5 Bazel Image Build Patterns in a Monorepo
BUILD
bazel
docker
🍞
2026/02/21
Python Packaging: Claude Code Built My PyPI Infrastructure
BUILD
ai-tooling
2026/02/21
Navigating the OpenAI Code Maze at Microsoft
BUILD
devex
infra
2026/02/21
Azure DevOps MCP vs Azure MCP Server: They Are Not the Same Thing (And You Might Not Need Both)
BUILD
ai-tooling
azure
2026/02/21
Python Packaging: Testing ADO PyPI Feed Access from Terminal
BUILD
azure
2026/02/20
Docker Builds: Layer Caching Trick for Monorepo Lockfiles
BUILD
caching
docker
⭐
2026/02/20
One Number Rules Them All: How OpenAI’s o-mini Models Actually Work
BUILD
ai-tooling
deep-dive
2026/02/20
Docker Builds: Splitting uv.lock for Faster Builds
BUILD
docker
uv
2026/02/20
Docker Builds: Getting ccache in with BuildKit Cache Mounts
BUILD
caching
docker
🍞
2026/02/19
What I Learned from Uber’s Flaky Test System (And What I Want to Steal)
BUILD
github-actions
2026/02/19
Process Wrangling on macOS and Linux
BUILD
infra
🍞
2026/02/19
Python Packaging: Why uv sync Takes 40 Minutes on a Cluster
BUILD
docker
uv
2026/02/19
Adding AI Failure Analysis to Our CI Pipeline (Without Letting It Break Anything)
BUILD
ai-tooling
github-actions
⭐
2026/02/19
Decoding the Infra Meeting You Just Survived
BUILD
kubernetes
2026/02/18
The Bazel Query Commands I Actually Use
BUILD
bazel
🍞
2026/02/18
Docker Builds: docker build vs Bazel rules_oci
BUILD
bazel
docker
🍞
2026/02/18
Four Ways Bazel Breaks Your Python Tests (And How to Fix Each One)
BUILD
bazel
debugging
🍞
2026/02/18
Gazelle: Python Manifest and modules_mapping
BUILD
bazel
dependencies
2026/02/18
Python Packaging: uv CLI Cheatsheet
BUILD
uv
🍞
2026/02/18
A New Hire’s Survival Guide to That Networking Meeting You Just Sat Through
BUILD
kubernetes
🍞
2026/02/18
Kubernetes Networking for People Who Just Want a URL
BUILD
kubernetes
2026/02/18
Wiring AI Agents into CI: From Cold DM to Working Pipeline
BUILD
ai-tooling
github-actions
⭐
2026/02/18
How to Add a 3rd-Party Helm Chart to Your GitOps Repo
BUILD
kubernetes
🍞
2026/02/17
Bazel Tests Passing, but None Running
BUILD
bazel
debugging
2026/02/17
Python Packaging: PyPI Registries and Proxies Demystified
BUILD
azure
dependencies
⭐
2026/02/15
Formatters, Linters, Type Checkers, and That Thing Called LSP
BUILD
devex
🍞
2026/02/15
CI Observability: Tracing CI Data into Datadog
BUILD
github-actions
2026/02/15
Docker Builds: Fixing Slow Builds Without Rewriting Everything
BUILD
caching
docker
2026/02/15
Docker Builds: Anatomy of a 40-Minute Build
BUILD
docker
2026/02/15
Docker Builds: The uv.lock Cache Bust Problem
BUILD
docker
uv
2026/02/15
Docker Builds: Bazel Won’t Speed Up a Docker Build
BUILD
bazel
docker
2026/02/15
OpenClaw’s Architecture — A Short Breakdown
BUILD
ai-tooling
2026/02/15
DNS Bouncing and the Cost of One Endpoint
BUILD
azure
debugging
2026/02/14
Python Packaging: What Most Devs Get Wrong
BUILD
dependencies
2026/02/14
Bazel Torch: When Bazel Enters Dependency Resolution
BUILD
bazel
dependencies
2026/02/14
Python Packaging: Deps at GPU Scale
BUILD
cuda
dependencies
torch
2026/02/14
Python Packaging: How Python Resolves Dependencies
BUILD
dependencies
2026/02/14
Python Packaging: uv and the Zoo of Tools
BUILD
dependencies
uv
🍞
2026/02/12
Bazel Migration: The Delete-and-Regenerate Roundtrip
BUILD
bazel
python
testing
2026/02/11
Circular Deps in Bazel: py_binary as Firewall
BUILD
bazel
debugging
gazelle
python
2026/02/11
Three Upstream PRs in One Day: Contributing to aspect rules_py
BUILD
bazel
python
2026/02/11
Python Packaging: From pip.parse to uv.lock in Bazel
BUILD
bazel
python
uv
2026/02/10
ACR DNS Bouncing: When Geo-Replication Breaks Your CI
BUILD
azure
ci
infra
2026/02/09
Bazel Marker Files: How Bazel Knows When to Re-Download
BUILD
bazel
2026/02/08
Docker Builds: Container Image Tagging and the Danger of latest
BUILD
ci
docker
🍞
2026/02/08
Docker Builds: What’s Inside a 40GB ML Training Container
BUILD
ci
cuda
docker
2026/02/08
Gazelle: How import yaml Becomes @pypi//pyyaml
BUILD
bazel
gazelle
python
⭐
2026/02/07
K8s SecurityContext: Why fsGroup Alone Won’t Fix Permission Denied
BUILD
debugging
kubernetes
2026/02/06
Python Packaging: Why the Build Tool Downloads Java
BUILD
bazel
dependencies
python
2026/02/05
CI Observability: StatsD to Prometheus to Grafana for GitHub Actions
BUILD
ci
observability
2026/02/04
Docker Builds: The Three Layers of Caching in CI
BUILD
caching
ci
docker
⭐
2026/02/02
Docker Builds: DinD vs Kubernetes Mode and 17-Minute Image Pulls
BUILD
ci
docker
github-actions
kubernetes
2026/01/30
K8s Affinity and Tolerations: The Nightclub Bouncer Model
BUILD
ci
kubernetes
2026/01/30
Docker Builds: The Remote BuildKit Experiment
BUILD
ci
docker
2026/01/29
CI Shows No Failing Tests, but Tests Are Failing
BUILD
bazel
ci
debugging
observability
python
testing
2026/01/28
GPU Test Sharding: Weighted Distribution Across H100 Nodes
BUILD
ci
cuda
testing
2025/09/20
Bazel: Taming Bulky bazel test Output
BUILD
bazel
🍞
2025/08/07
Building Systems for a Neurodivergent Brain
LIVE
adhd
neurodiversity
systems-thinking
productivity
emacs
⭐
2025/08/07
The ADHD Developer’s Paradox: Why Starting Is the Hardest Part
LIVE
adhd
neurodiversity
productivity
2025/05/22
Building an ESL Learning System Like It’s a Software Project
LIVE
esl
productivity
⭐
2025/05/12
Debugging Emacs Native Compilation on macOS
BUILD
emacs
debugging
macos
2025/05/12
Why I Left Doom Emacs
BUILD
emacs
2025/04/23
Mindset Shift: When Progress Looks Like Chaos
LIVE
neurodivergence
philosophy
2025/04/23
To My Chaotic Brain
LIVE
neurodivergence
2025/01/19
Open Source Licenses — What Engineers Actually Need to Know
BUILD
devex
open-source
🍞
2025/01/15
Bazel: Its Parallel Is Imparallel
BUILD
bazel
2025/01/15
Bazel: Remote Cache and Execution in Depth
BUILD
bazel
caching
2025/01/15
Menu Tips: A Menu, A Bot, and a Brain That Wants Less Chaos
LIVE
esl
🍞
2025/01/15
Output: Components List and How They Streamline
BUILD
devex
2025/01/15
Understanding the Difference Between Docs, Guides, and Everything in Between
BUILD
devex
🍞
2025/01/08
Shell Scripting — The Stuff Nobody Teaches You
BUILD
ci
devex
infra
🍞
2025/01/02
Lessons from Batch-Migrating Seven Go Services to Bazel
BUILD
bazel
ci
go
⭐
2024/12/29
Bazel: Cache Mechanisms Demystified
BUILD
bazel
caching
2024/12/26
Bazel’s Analysis Phase and In-Memory Cache
BUILD
bazel
caching
2024/12/21
ibazel — Bazel’s File Watcher and Live Reload System
BUILD
bazel
devex
2024/12/01
A Deep Dive into Bazel Ecosystem
BUILD
bazel
2024/11/30
Blogging Setup: Part 2, Github Action and AWS S3
BUILD
github-actions
infra
2024/11/29
Blogging Setup: Part 1, Emacs Org mode, ox-hugo and Hugo
BUILD
emacs
2024/11/20
The Logical Fallacies You’ll Hear in Engineering Meetings (And Exactly What to Say Back)
LIVE
communication
code-review
⭐
2024/11/09
Solitude, Procrastination, and the Aesthetic Self
LIVE
neurodivergence
2024/10/14
BazelCon 2024 Field Notes
BUILD
bazel
ci
testing
conference
2024/10/11
Four Years in Hong Kong
LIVE
esl
2024/10/08
Emacs Buffers Are Not Files (And Other Things I Wish Someone Told Me)
BUILD
emacs
🍞
2024/10/03
Why Communication Skills Matter
LIVE
esl
2024/09/20
Procrastination: Diagnosis and Prescription
LIVE
neurodivergence
2024/08/10
The Developer Productivity Frameworks Every DevEx Engineer Should Know
BUILD
devex
observability
⭐
2024/07/20
Five Ways to Run a Shell in Emacs (And When to Use Each One)
BUILD
emacs
productivity
🍞
2024/07/20
tmux vs screen vs nohup — A Guide to Not Losing Your Work When You Close Your Laptop
BUILD
linux
productivity
sysadmin
🍞
2024/06/29
Screenshots in Org-Mode: The Notion-Style Paste You Didn’t Know You Had
BUILD
emacs
productivity
2024/06/01
Factory, Abstract Class, Interface, and the Multi-Handler Pattern
BUILD
python
design-patterns
2024/04/10
Building a Review System in Org-Mode That You’ll Actually Use
BUILD
emacs
productivity
2024/03/15
Emacs Package Management: Install, Load, and Everything In Between
BUILD
emacs
🍞
⭐
2024/03/15
The Emacs Keybinding System, Explained for People Who Keep Getting Lost
BUILD
emacs
🍞
2023/10/23
BazelCon 2023: Field Notes from Munich
BUILD
bazel
monorepo
ci
caching
2022/07/01
CS Courses That Shaped How I Think About Systems
BUILD
infra
devex
⭐