A knowledge garden · tended slowly
Tutorials, written like
gardening advice.
Welcome to mujun.wiki, a quiet commons where engineering ideas are pressed like flowers into a journal. Browse the plots below. Each card is a small thing learned, sorted by topic, dated by season, and offered without urgency.
71 entries
last tended 2026-05-08
spring rotation
Plant Your First Bulb: Initializing a Repository Like Soil
duotone · honeycomb + fern
There is a moment before any project where the soil is still loose. We do not rush it. git init is less a command than a small ceremony — choosing a corner of the disk and saying, this plot is now tended. Mind the depth: too shallow and history will not root.
Read on, gently
Fish That Wander into the Docs
Sometimes a stray idea swims through a chapter that did not invite it. Do not chase it out. Note it in the margin. Most will leave on their own; one or two become resident, and the page is better for it.
Read on, gently
Frost Dates for Risky Merges
Every project has a frost calendar — weeks where deploys are likelier to wilt. Read the team almanac before pushing on a Friday afternoon, the way one reads the sky before pruning fruit trees.
Tip
Mark your team's frost dates in the same place you keep release notes. Repetition trains the eye.
Read on, gently
A Week of Small Commits
duotone · honeycomb + coral
Seven mornings, seven small changes, each labelled like jars on a shelf. By Sunday the codebase smelled different — the way a kitchen smells different after a week of slow stew.
Read on, gently
Refactoring as Turning the Heap
A good compost heap is turned monthly — not because it is broken, but because air does the slow work. Refactoring is the same gesture: move things, let oxygen in, accept that decay is part of the cycle.
// before: tightly packed
function bake(items) {
return items.filter(i => i.ready)
.map(i => i.value * 1.05)
.reduce((a,b) => a+b, 0);
}
function bake(items) {
const ready = items.filter(isReady);
const taxed = ready.map(applyTax);
return sum(taxed);
}
Notice how the second form leaves room for a stranger to step in and add a step. That is the point of turning.
Read on, gently
Versioning Like Canning
Each release is a jar with a label and a date. Stack them on the cellar shelf in order, and when something spoils — a regression, a forgotten dependency — you can always reach back for the last good summer.
Remember
Label clearly. A jar without a date is a jar without a story.
Read on, gently
Watching a Query Bloom
A new index opened the morning's query like a peony — from a tight bud of 4.2 seconds to 80 milliseconds in the time it took to refill the watering can.
Read on, gently
Naming Things Gently
duotone · honeycomb + fern
Name a function the way you would label a jar: a verb you can read aloud at supper. fetch_user is fine. handleStuff is a jar of unmarked preserves.
Read on, gently
Seasonal Release Cadence
A garden teaches you that not every fruit ripens at once. Plan your release calendar in seasons, not sprints. The early peas of February. The slow tomatoes of August. The quiet root crops of November.
- Spring: small features, light pruning, many seedlings.
- Summer: long shipping arcs, watch for heat (incidents).
- Autumn: harvest features, canning (releases), retros.
- Winter: rest, sharpen tools, plan next year's plot.
Read on, gently
What Worms Teach About Ownership
A worm does not own the soil; it tends a small length of it, then moves on. Code modules can be the same. Ownership is a verb in this garden, not a fence.
Read on, gently
When the Build Wilted
Friday afternoon, the CI turned the colour of a tired leaf. We did not panic. We watered the cache, pruned a flaky test, and let it rest until Monday. By then it had recovered on its own.
Read on, gently
A Small Bestiary of Bugs
duotone · honeycomb + coral
A field guide to the visitors we meet most often: the off-by-one snail, the race condition firefly, and the rare, beautiful heisenbug butterfly.
Read on, gently