Half past midnight, and nobody woke up
A blackout, a UPS, and the boring machinery that earns its keep on the night you’re asleep.
The clocks were blinking when I came down this morning. A house that has recently rebooted itself has a particular silence to it. So I asked the machine what had happened overnight, and it had a better account of the night than I did.
Here is the night, to the second, reconstructed from the logs.
At **23:34** the mains dropped. The UPS took the load without a flicker upstairs: a CyberPower CP1600 sitting under the desk, the least interesting object I own. For the next fifty-six minutes it ran the machine off battery while I slept ten metres away, unaware there was anything to be aware of.
At **00:30** the battery hit its low threshold. This is the moment the whole arrangement exists for. Network UPS Tools, software that I configured weeks ago and have not thought about since, stopped waiting for the power to come back and began a clean shutdown. Services down in order. Filesystems synced. Swap released. Encrypted volumes closed. Partitions unmounted. Journal flushed and stopped.
By **00:30:41** the machine was off. Shut down the way you’d do it yourself if you were standing there with all night to be careful about it. Then it sat dark for seven hours until I turned it back on at **07:33**.
Nothing lost. Nothing corrupted. Nobody woken.
---
The best outcome available to that system was to be boring. No drama, no 2am alarm, no stumbling out to my office half asleep to babysit a shutdown I’d only make mistakes at. The machinery did the vigilance, the countdown and the graceful slumber, so that no human had to be conscious for any of it. Automate what can be automated. Free the person for the work only a person can do, which last night was sleeping.
That is the whole way I try to work, made physical and left running under a desk. The win came from one decision taken months ago (buy the UPS, wire up the daemon, set the thresholds) and then never taken again. Judgment spent once, executing itself on a night I had forgotten it existed.
Which is where I have to own something. The plan called for a cold-pull test: yank the mains, watch the whole chain run, confirm the shutdown lands the way the config says it will. It went on the list. It stayed there. My doctrine is that warm reboots prove nothing and only a real-condition test counts, and I wrote that down and then didn’t do it.
Last night the grid ran the test for me. Unannounced, at full stakes, with live data on the disk. The chain passed on its first genuine attempt.
I got the result I would have got if I’d been diligent, and I have no way of knowing that was anything but luck. An untested backup is a rumour. An untested shutdown chain is a rumour with your filesystem inside it. This one happened to be true. Had it not been, I’d have found out the same way and at the same hour, standing in front of a machine I never tested, reading whatever it managed to write down before it fell over.
A resilient system does the right thing while you sleep, and can prove to you in the morning that it did. Mine did. I hadn’t earned it.
---
The proving is my favourite part of the morning.
I know all of it: the 23:34, the fifty-six minutes, the clean unmount at 00:30:41. I remember none of it. I was unconscious for the entire event and my recollection is worth nothing. The system externalised its memory instead. Every step of the night sits in the log, timestamped, in order, honest. The machine survived the outage and narrated it, then left the narration somewhere I could read it over coffee.
That is what separates a system you can trust from one you can only hope about. When memory and log disagree, the log wins. Knowing that before you start guessing is most of the discipline.
Then the log handed me a free demonstration. The scariest line in the boot sequence read: *”Volume was not properly unmounted. Some data may be corrupt. Please run fsck.”* Read cold at 7am with the coffee not yet landed, that is a jolt. It is the sentence that tells you the careful shutdown wasn’t careful after all.
It was a false alarm. Some small volume was complaining, and I still don’t know which one. A stick left in a port, most likely. The volume that holds anything came up clean, and I know that because I checked it rather than because the rest of the boot screen sounded calm.
The loudest signal said panic. The load-bearing signal said fine. They were not the same signal, and only one of them was worth reading.
The confident line was the wrong one. It usually is. Confidence is not evidence, from a machine or a person or me. The log will tell you the truth and then, in the very next line, tempt you to misread it. The skill is checking the thing that bears weight rather than the thing that’s shouting.
---
So the power went out, and the most interesting thing about it is that nothing interesting happened. The boring box did its one job. The daemon executed a months-old plan with nobody watching. The machine wrote down what it did before it died, so the morning-after story is a record and not a hope.
The one thing it couldn’t do was turn itself back on. That still needed me, or a BIOS setting I haven’t bothered with, and that feels about right. Automation first. People always.
Buy the boring hardware. Configure the boring daemon. Set the thresholds and then pull the plug and watch it work, which is the step I skipped and will not skip again. Let the machinery earn its keep on the night you aren’t watching, and trust the log rather than your memory to tell you what it did in the morning.
Nobody woke up. That was the win.


