All writing

Notes & Observations

Translated from the original Chinese essay · Read the Chinese original →

How long has it been since you had a hot meal before dark?

Have you ever tuned Redis cache to be lightning fast, yet couldn't be bothered to cache what your next meal will be?

Do you often schedule Kubernetes but rarely schedule your digestive system; meticulous about project launches, yet indifferent to takeout as long as it's edible?

Programmers are the best at "building systems" in the world, but also the most likely to neglect their "daily runtime environment." Especially when it comes to three meals a day.

For friends living in China: takeout, instant food, iced Americanos, energy drinks—these can still construct the chaotic architecture in your stomach. For friends in Melbourne, if you miss the time by accident, you can't even order takeout; you can only open the fridge and drink a few gulps of cold milk.

No documentation, no metrics, no disaster recovery mechanism. What you eat is not food, it's latency; stomach pain is not a bug, it's a downtime warning.

At this point, if you open a GitHub project called HowToCook (https://github.com/Anduin2017/HowToCook), you'll wonder why someone understands your needs so well!

Cooking = another kind of programming

This project doesn't talk about poetry and distant places, doesn't sell nostalgia; it just writes a bunch of recipes, each dish is a Markdown file, like the API documentation you're familiar with. Input: tomato + egg, output: clean plate + stable happiness.

And what moves me even more is the cognitive subversion it conveys:

Cooking is not inspiration, it's executable logic; A meal is not consumption, but a system recovery.

Let's draw an analogy:

Programming concept Cooking counterpart Why?
Variable initialization Chopping and preparing ingredients Clarify resource list, reduce ad-hoc calls
Unit testing Tasting for saltiness Detect anomalies early, avoid ruining the whole pot
Circuit breaker Turn off the heat immediately when it burns Prevent disaster from spreading
Concurrency control Cooking rice and stir-frying simultaneously Improve efficiency, prevent cookware deadlock
Canary release Make a small portion of a new dish to taste first Validate before full rollout, reduce failure cost
Log monitoring Sizzling sounds from the pot Observability assurance

Look at such a rigorous recipe for tomato scrambled eggs. Let's just say, any adult should be able to follow it, right? (If you, like me, got scared away the first time you turned on the gas stove, then you just need to practice a few more times 😄)

Structured steps for tomato and scrambled eggs from a GitHub recipe

This isn't cooking at all; it's simply the minimum viable product (MVP) of life!

True life reconstruction starts with a hot meal

I followed HowToCook to make braised pork, and the debugging process was truly real:

  • First time: too little water, equivalent to not setting a connection timeout, the bottom of the pot burned (HTTP internal error)
  • Second time: too much soy sauce, like uncontrolled log printing, the result was black as charcoal (memory overflow)
  • Third time: strictly followed the documentation ratios, controlled the heat, the meat was tender and the sauce reduced successfully (request returned success)

Not to mention programmer moms in Australia, whose daily life is not ordinary, but a "life CI/CD" pipeline: pick up kids → buy groceries → wash vegetables → cook → pack lunchboxes → clean up → prepare kids' lunchbox the next morning → drop off kids → go to work. Having a how-to-cook project like this can save so many brain cells that die from arranging daily meals!

Project delivery is seen by the boss; a hot meal on the table is the warmth of the family.

Three meals a day are actually the DevOps of life.

A diagram comparing everyday cooking with a DevOps loop

Programmers understand closed loops best, but also most easily forget that their own body is a system.

  • Breakfast is a cold start, don't skip it
  • Lunch is load balancing, don't eat while writing code
  • Dinner is daily convergence, don't use instant noodles as a hot deployment
  • Late-night snack? Not recommended, prone to OOM (Out of Memory)

The quality of every meal feeds back into the next day's performance.

Don't let "life launch failure" become our norm.

Programmers are not incapable of living; they are just too good at settling.

We don't need to become master chefs, nor do we need three dishes and a soup for every meal, but each of us deserves to write a script for a hot meal launch for ourselves.

Not all systems can be restarted, but our three meals a day can!

It's the weekend, why not try the Xinjiang hand-pulled rice that I, Hammer, learned from my mother? It also has clear steps. When the room is filled with the aroma of food, such a world is truly worth it.

Making Xinjiang pilaf: preparing the ingredients

Making Xinjiang pilaf: preparing the lamb and vegetables

Making Xinjiang pilaf: stir-frying the ingredients

Making Xinjiang pilaf: adding rice and water

Making Xinjiang pilaf: finishing the covered cook

The finished Xinjiang pilaf served on a plate