Kyber Cypher Plain English edition
Text size Back to the full site
An open notebook with a pencil and a ruler resting on it, standing for lessons written down after the fact.

Nine things I got wrong so you do not have to

What you will learn

  • Five rules that each cost somebody a real afternoon, so they can cost you nothing
  • Why the expensive part you are blaming is almost always innocent
  • When automating a task is a mistake rather than a win
What happened and why it matters

Every rule on this page cost me something. That is the difference between a rule and an opinion. Nobody writes these down until a machine has already made a fool of them, so here are mine, paid for in full, so that a few of yours can be free.

None of this is about being clever. The people who run good setups at home are not smarter. They have simply been caught out in more specific ways and kept notes. That is the whole advantage. So here is the notebook.

The network does not tell the machine it moved

I typed a fixed address straight into a machine because it felt tidy. Then the network changed underneath it, and the machine kept announcing its old address into a room that had been demolished.

It looked dead for days. The hardware was fine the whole time.

If a device needs a permanent address, let the router assign it, because the router is the only thing that knows when the map changes. The machine in the cupboard never gets the message.

The part you suspect is usually innocent

When something is slow, the human instinct is to blame the biggest, newest, most expensive part. It is almost never that part.

My "slow server" was a routing mistake sending traffic the long way round. My "slow database" was a question that was reading far more than it needed.

Stop guessing and go and find out what the data is actually doing. The bottleneck is almost always somewhere boring that you did not look, and the fix is usually small once you can see it.

Investigate before you touch

The urge to start changing things is the enemy. Ten minutes of finding out what is really happening beats an hour of confidently fixing the wrong thing and creating two new problems on the way.

Most automation is not worth it

I have spent an afternoon automating something I do twice a year. The program took longer to write than a decade of doing it by hand would have taken. Then it broke, and I had to learn it all over again to fix it.

Before you automate, ask whether the task is really a thirty second manual job you do rarely. If it is, leave it manual.

Automation is inventory. Every clever little program is a thing you now own and have to look after forever.

Match the ceremony to the risk

Not every change deserves the same care.

Flipping a setting you can flip back in five seconds needs no ritual at all. Just do it. Wiping a disk, changing something the whole house depends on, or anything you cannot undo deserves a backup, a written note of how to reverse it, and a slow hand.

Treating a reversible one-line change like surgery wastes your life. Treating surgery like a one-line change is how you lose data.

Spend your caution where it actually buys you something.

How to do it yourself

There is nothing to install here. These are the rules pulled out on their own, so you can take them without paying for them first. Pin them somewhere you will see them before you touch a machine.

1. Permanent addresses go in the router, never in the machine

If a device needs a permanent address, set it in the router, matched to that device, and leave the device itself set to automatic. The router knows when the network changes. A machine with the address typed into it does not, and it will wait forever at an address that stopped existing.

2. Investigate before you touch

Before you change anything, find out what is actually happening. Read the records, watch the traffic, measure the slow thing. The fix you arrive at after ten minutes of looking is smaller and more likely to be right than the one you guess at in the first minute.

3. Suspect the boring part

When something is slow, the expensive component you are blaming is usually innocent. Go and measure what the data is really doing. You cannot fix what you refuse to look at.

4. Do not automate a rare thirty second job

Ask whether the task is really a quick manual action you do rarely. If it is, keep it manual. Automate the things that are frequent, easy to get wrong, or that run while you are asleep. Leave the rest alone.

5. Match ceremony to risk

Reversible and small: just do it. Irreversible, or something everything else depends on: back it up first, write down how to undo it, and move slowly.

None of these are clever. They are just the notes from the times a machine won, written down so that it wins fewer times against you.

This page in the original Kyber Cypher voice: What I learned the hard way