Archives
All the articles I've archived.
-
How Coding Agents Handle Context Compaction
A survey of context compaction strategies across seven coding agents—Aider, Claude Code, Codex CLI, Cline, OpenCode, OpenClaw, and Pi—showing how each compresses the same simulated session.
-
How to Manage Multiple AI Agents
Surveyed 30+ tools for managing multiple AI coding agents, filtered to those with 1k+ stars that directly handle agent management. Organized into four categories: Terminal Integration, Session Manager, Agentic IDE, and Orchestrator.
-
Dissecting Hermes' Memory System
Walking through a complete Hermes session to dissect its three-layer memory architecture, the frozen snapshot mechanism, the design trade-offs of full-context injection, and how it differs from OpenClaw.
-
Understanding MCP: A New Paradigm for LLM Agent Development
A deep dive into the Model Context Protocol (MCP) — its architecture, protocol design, and ecosystem. Can it unify LLM tool and data source integration the way USB-C unified peripherals?
-
K9s: A Quick Guide to the Terminal Kubernetes UI
K9s is a terminal-based Kubernetes UI management tool with Vim-like controls — you can pick it up in minutes. This guide covers common operations: resource browsing, log viewing, shell access, and port forwarding.
-
Skaffold: A Quick Guide to Local Kubernetes Development
What is Skaffold? In simple terms, it's a local CI/CD tool that quickly deploys your application to a Kubernetes cluster. Features: fast local Kubernetes development, optimized source-to-Kubernetes workflow, configure once run anywhere, lightweight single binary.
-
Skaffold Practice Guide
A hands-on guide to Skaffold's Build, Test, and Deploy phases, covering Docker, Jib, ko, and other build methods, plus practical deployment with Helm and Kubectl.
-
Building a Linux 2.6 Kernel Debugging Environment
Build a Linux 2.6 kernel debugging environment from scratch with QEMU + BusyBox — covering kernel compilation, root filesystem creation, GDB remote debugging, and the pitfalls encountered along the way.
-
A Few Things About RISC-V Dev Boards
Starting from MIT's 6.S081 course, surveying RISC-V development boards on the market (SiFive, Allwinner D1, K210, etc.), sharing the selection process and observations on the current state of the RISC-V ecosystem.
-
ROOK: Cloud-Native Storage Orchestrator — Installation Guide and Ceph Cluster Setup
ROOK is a cloud-native storage orchestrator that lets you quickly set up a Ceph cluster on Kubernetes. This post covers the complete installation process: disk cleanup, StorageClass configuration, Dashboard access, and practical tips.
-
Setting Up Python: Environment and Project Scaffolding
From pyenv version management to Poetry dependency management to Makefile automation — a complete walkthrough of Python project setup on macOS/Linux, with an example project repo.
-
Kubernetes DNS Internals and CoreDNS Deep Dive
Starting from DNS fundamentals, a deep dive into how DNS works inside Kubernetes clusters, CoreDNS architecture and configuration, and practical troubleshooting for common DNS resolution failures in production.
-
Awk Text Processing: Tutorial and Practical Examples
From basic syntax to real-world examples, a comprehensive guide to the Linux Awk text processing tool — covering variables, arrays, user-defined functions, and advanced techniques like group-by statistics.
-
A Production Redis Connection Alarm Incident
Troubleshooting a production Redis cluster alarm where connections exceeded 80% capacity — analyzing the root cause, investigation steps, and how to optimize Redis client connection pool configuration.
-
A Production K8s Ephemeral Storage and Eviction Incident
Troubleshooting a production Kubernetes incident where containers were evicted due to ephemeral storage exhaustion — analyzing the ephemeral storage mechanism, eviction policies, and the final solution.
-
Building and Deploying GitHub Pages with Travis CI
Explaining the two types of GitHub Pages and how they work, with a detailed walkthrough of using Travis CI to automate Hexo blog builds and deployments — every commit automatically updates your site.
-
Becoming a DevOps Engineer — Version Control with Git
Skip the Git basics. This post shares uncommon but practical Git techniques: rebase workflows, cherry-pick, reflog for emergencies, submodule management, and recommended learning resources.
-
Becoming a DevOps Engineer — The Ansible Chapter
From Ansible basics to hands-on core module usage — learn how to use Ansible for configuration management, application deployment, and task orchestration, an essential skill for any aspiring DevOps engineer.
-
Becoming a DevOps Engineer — The Terraform Chapter
A systematic introduction to Infrastructure as Code with Terraform — core concepts, HCL syntax, Provider configuration, and State management, with hands-on examples for managing AWS/GCP resources.
-
Bottle Source Code Reading Notes (Part 2): Routing
A deep dive into Bottle's source code, analyzing how URL route mappings are generated, how requests are matched to view functions, and how error pages are handled.
-
Bottle Source Code Reading Notes (Part 1): WSGI
A deep dive into the WSGI protocol by reading Bottle's source code — how it works, how requests are processed, and how Python web frameworks interact with web servers through the WSGI interface.
-
Python __slots__ in Depth
A deep dive into Python __slots__ — implementation details, performance gains, memory savings, and practical considerations.
-
HOWTO Use Python in the Web
A comprehensive overview of how Python fits into web development, covering different ways Python integrates with web servers and common practices for building websites.