Hi, I’m Ethan 👋

Welcome to my blog.

I write about engineering practice, system design, tools & productivity, and reading & life notes.

Before Reading the Code, Read the Git History: A Five-Command Checkup

When handed an unfamiliar codebase, most people’s first instinct is to open the source tree and start browsing files. In The Git Commands I Run Before Reading Any Code, Ally Piechowski suggests a different route: don’t read the code yet — read the git history first. The commit log carries strong signals about code quality, team health, and project risk, and five commands are enough to surface them. This post is my summary of the article. ...

2026-07-19 · 3 min · 543 words · Ethan

Claude Code vs OpenClaw vs Hermes vs DeepAgents: A Deep Dive into Harness Design

Over the past year, “agent” has become one of the most overused words in software. But what actually determines whether an agent is good day-to-day is usually not the model — it’s the layer wrapped around it: the harness. LangChain’s The Anatomy of an Agent Harness offers a clean definition: Agent = Model + Harness. The harness is “every piece of code, configuration, and execution logic that isn’t the model itself.” ...

2026-07-07 · 11 min · 2265 words · Ethan

Hello World: the blog is live

Why this blog Ideas end up scattered across Slack threads, notes, and chats. A blog is a small forcing function: if I cannot explain it clearly, I probably do not understand it yet. What I plan to write Engineering practice: debugging stories, tuning, and lessons learned System design: distributed systems and platform thinking Tools & productivity: small automations that improve day-to-day work Reading & life notes: not everything is code Stack This site is built with Hugo and the PaperMod theme. Source and posts live in a GitHub repository; pushing to main triggers GitHub Actions, which builds and deploys to GitHub Pages. ...

2026-04-22 · 1 min · 141 words · Ethan