41554 blogs · [ { "id": "01a0da57-46ad-73d9-a675-a800b8f34c74", "title": "A sandbox the agents are allowed to break", "url": "https://oznog.com/node0/lessons/operations/6-18/", "published_at": "2026-09-22T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800b930df35", "title": "Give storage time to prove itself", "url": "https://oznog.com/node0/lessons/hardware/1-18/", "published_at": "2026-09-22T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800bca30734", "title": "Nothing critical runs on a laptop that travels", "url": "https://oznog.com/node0/lessons/operations/6-19/", "published_at": "2026-09-22T00:00:00+00:00" }, { "id": "01a0da57-46ae-739f-8f39-184c1b9bf338", "title": "Node0, in the Open", "url": "https://oznog.com/updates/node0-in-the-open/", "published_at": "2026-09-22T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a8009f78fa9f", "title": "Power and environment", "url": "https://oznog.com/node0/as-it-stands/power/", "published_at": "2026-09-21T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a8007ea6374b", "title": "Site", "url": "https://oznog.com/node0/as-it-stands/site/", "published_at": "2026-09-20T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800826fe4aa", "title": "Edge", "url": "https://oznog.com/node0/as-it-stands/edge/", "published_at": "2026-09-20T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a8008320f4da", "title": "The rest of the seed design", "url": "https://oznog.com/node0/seed/design/", "published_at": "2026-09-20T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a80086cce65f", "title": "Fabric", "url": "https://oznog.com/node0/as-it-stands/fabric/", "published_at": "2026-09-20T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a8008b3ac948", "title": "Bootstrap", "url": "https://oznog.com/node0/as-it-stands/bootstrap/", "published_at": "2026-09-20T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a8008f5994ff", "title": "Storage", "url": "https://oznog.com/node0/as-it-stands/storage/", "published_at": "2026-09-20T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a80092bcef72", "title": "Compute", "url": "https://oznog.com/node0/as-it-stands/compute/", "published_at": "2026-09-20T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a80095f117f1", "title": "Services", "url": "https://oznog.com/node0/as-it-stands/services/", "published_at": "2026-09-20T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800993c1127", "title": "Agents and dev", "url": "https://oznog.com/node0/as-it-stands/agents/", "published_at": "2026-09-20T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a8009c10b5b4", "title": "Observability", "url": "https://oznog.com/node0/as-it-stands/observability/", "published_at": "2026-09-20T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800a237ef86", "title": "Operations", "url": "https://oznog.com/node0/as-it-stands/operations/", "published_at": "2026-09-20T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800af8ccd2e", "title": "A resolver that lied by omission: healthy on every check while replication silently stopped", "url": "https://oznog.com/node0/lessons/network/4-15/", "published_at": "2026-09-20T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800afb4131c", "title": "A second AI, forked from the first one's memory, that could not find it", "url": "https://oznog.com/node0/lessons/operations/6-15/", "published_at": "2026-09-20T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800b3ec9686", "title": "Grepping the module directory before proposing new work", "url": "https://oznog.com/node0/lessons/operations/6-16/", "published_at": "2026-09-20T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800b65539ed", "title": "Auditing your own infrastructure has traps of its own", "url": "https://oznog.com/node0/lessons/operations/6-17/", "published_at": "2026-09-20T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800b6e75665", "title": "Forty-one of three hundred and forty-seven alerting rules carried no instruction for whether to act", "url": "https://oznog.com/node0/lessons/monitoring/2-17/", "published_at": "2026-09-20T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800b9546fc4", "title": "A monitoring runbook's own numbers were stale prose, not live truth", "url": "https://oznog.com/node0/lessons/monitoring/2-18/", "published_at": "2026-09-20T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800c020dd05", "title": "Two power meters, 5% apart, and neither one is wrong", "url": "https://oznog.com/node0/lessons/power/5-20/", "published_at": "2026-09-20T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800c2e3566e", "title": "The second storage tier nobody was writing to", "url": "https://oznog.com/node0/lessons/storage/3-21/", "published_at": "2026-09-20T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800c436f5e3", "title": "Rules we now run by", "url": "https://oznog.com/node0/lessons/rules/", "published_at": "2026-09-20T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800b02a7c36", "title": "Half a KVM stopped taking keystrokes, and the fix is a new KVM", "url": "https://oznog.com/node0/lessons/hardware/1-15/", "published_at": "2026-09-18T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800ab41c72c", "title": "The heartbeat that was not watching what mattered", "url": "https://oznog.com/node0/lessons/operations/6-14/", "published_at": "2026-09-17T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800b492111f", "title": "Silencing a host by name during maintenance muted almost nothing the maintenance actually caused", "url": "https://oznog.com/node0/lessons/monitoring/2-16/", "published_at": "2026-09-17T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800bd8ef80f", "title": "One unique password, and a backup the verifier could not see", "url": "https://oznog.com/node0/lessons/storage/3-19/", "published_at": "2026-09-17T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800a8533544", "title": "A five-day-old battery warning fenced a hypervisor", "url": "https://oznog.com/node0/lessons/hardware/1-13/", "published_at": "2026-09-15T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800abe39738", "title": "A raidz3 absorbed an 18 TB drive's sudden death without losing a byte", "url": "https://oznog.com/node0/lessons/hardware/1-14/", "published_at": "2026-09-15T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800acdbd0f7", "title": "Creating an inventory record for a new host starts paging about it before it is built", "url": "https://oznog.com/node0/lessons/monitoring/2-14/", "published_at": "2026-09-15T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800b12a2606", "title": "An abandoned wait loop locked the only Grafana account out for a full day, by re-arming its own lockout", "url": "https://oznog.com/node0/lessons/monitoring/2-15/", "published_at": "2026-09-15T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800b4bbf5b2", "title": "A DNS helper's own safety feature nearly destroyed the wrong record twice", "url": "https://oznog.com/node0/lessons/network/4-16/", "published_at": "2026-09-15T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800a3275056", "title": "One switch generation, one silent 2.5 gigabit ceiling", "url": "https://oznog.com/node0/lessons/network/4-11/", "published_at": "2026-09-14T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800a340e51a", "title": "Two agents, one git index", "url": "https://oznog.com/node0/lessons/operations/6-11/", "published_at": "2026-09-13T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800a5b838bf", "title": "A written-down cluster quorum threshold became wrong, in the dangerous direction, the day a fourth member joined", "url": "https://oznog.com/node0/lessons/monitoring/2-12/", "published_at": "2026-09-13T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800a91a97b6", "title": "Real outages and planned outages need different UPS commands", "url": "https://oznog.com/node0/lessons/power/5-13/", "published_at": "2026-09-13T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800aa0c9aab", "title": "Shipping an alert before the thing it watches exists pages a human about your own unfinished work", "url": "https://oznog.com/node0/lessons/monitoring/2-13/", "published_at": "2026-09-13T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800ad41b473", "title": "The route to the power controllers ran through the thing they had to survive", "url": "https://oznog.com/node0/lessons/power/5-14/", "published_at": "2026-09-13T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800b740f8df", "title": "The environment project made its own plan obsolete, and the team let it", "url": "https://oznog.com/node0/lessons/power/5-17/", "published_at": "2026-09-12T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800ba013d17", "title": "Following one sensor sounds simple; the thermostat quietly refused for a day", "url": "https://oznog.com/node0/lessons/power/5-18/", "published_at": "2026-09-12T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a8009c5be251", "title": "An alert fired continuously on the normal state of a design it misunderstood, and was removed rather than tuned", "url": "https://oznog.com/node0/lessons/monitoring/2-9/", "published_at": "2026-09-11T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a8009fe0cfd1", "title": "An alert redesigned by hand three times before it survived independent review", "url": "https://oznog.com/node0/lessons/monitoring/2-10/", "published_at": "2026-09-11T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800a3d8b2a7", "title": "A folder permission left from a partial deploy silenced the entire alerting path for 98 minutes", "url": "https://oznog.com/node0/lessons/monitoring/2-11/", "published_at": "2026-09-11T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800a6466ebf", "title": "An agent caused a hardware fault, and it is on the record", "url": "https://oznog.com/node0/lessons/power/5-12/", "published_at": "2026-09-11T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800bad13bda", "title": "The PG autoscaler that silently did nothing, because two rules overlapped", "url": "https://oznog.com/node0/lessons/storage/3-18/", "published_at": "2026-09-11T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800c351c9bb", "title": "Two measuring tools lied about a healthy network during a live firewall upgrade", "url": "https://oznog.com/node0/lessons/monitoring/2-22/", "published_at": "2026-09-11T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a80099af8c8e", "title": "The hard drives were hiding their worst counters, and a reboot's letter shuffle paged seven false alarms", "url": "https://oznog.com/node0/lessons/monitoring/2-8/", "published_at": "2026-09-10T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800a0751e1d", "title": "A failed fetch still exits zero, and already converged can mean still stale", "url": "https://oznog.com/node0/lessons/operations/6-10/", "published_at": "2026-09-10T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800a4175f81", "title": "A shutdown that works perfectly and still leaves the fleet dark forever", "url": "https://oznog.com/node0/lessons/power/5-11/", "published_at": "2026-09-10T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800a4a573c8", "title": "An NVMe controller can die and leave no evidence", "url": "https://oznog.com/node0/lessons/hardware/1-11/", "published_at": "2026-09-10T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a80092c69381", "title": "A monitor that logs into the thing it watches becomes part of the fault it reports", "url": "https://oznog.com/node0/lessons/monitoring/2-6/", "published_at": "2026-09-09T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a8009a5fe988", "title": "A filter that returns everything is worse than a filter that returns nothing", "url": "https://oznog.com/node0/lessons/operations/6-8/", "published_at": "2026-09-09T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a8009cfeb9dc", "title": "HGST drives hide their worst counters, and a reboot can fake a SMART page", "url": "https://oznog.com/node0/lessons/hardware/1-9/", "published_at": "2026-09-09T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800a0806dea", "title": "103% of a UPS, and a nameplate rating that was wrong for months", "url": "https://oznog.com/node0/lessons/power/5-10/", "published_at": "2026-09-09T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800b221e58d", "title": "A knocked-loose USB cable went unnoticed for four days", "url": "https://oznog.com/node0/lessons/power/5-15/", "published_at": "2026-09-09T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800b79831a9", "title": "Editing the config by hand took out both nightly backups at once", "url": "https://oznog.com/node0/lessons/storage/3-17/", "published_at": "2026-09-09T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a8009a84e859", "title": "The USB network adapter that was actually a flash drive in disguise", "url": "https://oznog.com/node0/lessons/hardware/1-8/", "published_at": "2026-09-08T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800a69b0733", "title": "ats6's application link died on its own management card", "url": "https://oznog.com/node0/lessons/hardware/1-12/", "published_at": "2026-09-08T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800839ac06c", "title": "A drive can be physically gone for nine minutes and every health check stays green", "url": "https://oznog.com/node0/lessons/monitoring/2-2/", "published_at": "2026-09-07T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a80087315b83", "title": "Four monitor bugs in one week, and the silent ones were the dangerous half", "url": "https://oznog.com/node0/lessons/monitoring/2-3/", "published_at": "2026-09-07T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a8008bd401e3", "title": "A UPS running its own self-test looks exactly like a real power event, and nothing was watching UPS state at all", "url": "https://oznog.com/node0/lessons/monitoring/2-4/", "published_at": "2026-09-07T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800961a492a", "title": "A monitoring tool with zero monitors configured", "url": "https://oznog.com/node0/lessons/monitoring/2-7/", "published_at": "2026-09-07T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a8009711cf23", "title": "Three X540 NICs die in one week, three different reasons", "url": "https://oznog.com/node0/lessons/hardware/1-7/", "published_at": "2026-09-07T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a8009d7e0b3a", "title": "A secret rotation that silently did nothing", "url": "https://oznog.com/node0/lessons/power/5-9/", "published_at": "2026-09-07T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a8007ef40da7", "title": "The day four failures went unnoticed, and none of them paged anyone", "url": "https://oznog.com/node0/lessons/monitoring/2-1/", "published_at": "2026-09-06T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a8008c5946a4", "title": "Ceph hosts hang with no OS-side trace", "url": "https://oznog.com/node0/lessons/hardware/1-4/", "published_at": "2026-09-06T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800902e571e", "title": "Building a dead-man's switch that only proves itself by being killed", "url": "https://oznog.com/node0/lessons/monitoring/2-5/", "published_at": "2026-09-06T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a80093280247", "title": "A UPS service touch dropped a rack, and two hosts needed a person", "url": "https://oznog.com/node0/lessons/power/5-6/", "published_at": "2026-09-06T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800973787f6", "title": "One record per thing, and a re-seed silently reverts what you just fixed", "url": "https://oznog.com/node0/lessons/operations/6-7/", "published_at": "2026-09-06T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800a13da04d", "title": "A dirty bay connector wears two different disguises", "url": "https://oznog.com/node0/lessons/hardware/1-10/", "published_at": "2026-09-06T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800ae41ae63", "title": "A NAT rule with a misspelled field name took public services down for six minutes", "url": "https://oznog.com/node0/lessons/network/4-14/", "published_at": "2026-09-06T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800b4e9eb08", "title": "A laptop loses power exactly every five days, and the reason is out of Linux's reach", "url": "https://oznog.com/node0/lessons/hardware/1-16/", "published_at": "2026-09-06T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a80090b0c49a", "title": "Identity lives on the drive or the card, never the board", "url": "https://oznog.com/node0/lessons/hardware/1-5/", "published_at": "2026-09-05T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800aad61317", "title": "Remote access on a storage box, and the redesign that survived a lab-caught wrong assumption", "url": "https://oznog.com/node0/lessons/network/4-13/", "published_at": "2026-09-05T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800aea54504", "title": "The recursion rule: a backup of a backup is worse than no backup", "url": "https://oznog.com/node0/lessons/storage/3-14/", "published_at": "2026-09-05T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800b2f9c131", "title": "Rebalancing a ZFS pool: the math nobody runs before doing it anyway", "url": "https://oznog.com/node0/lessons/storage/3-15/", "published_at": "2026-09-05T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800b551e682", "title": "The bucket that was declared purged and was not", "url": "https://oznog.com/node0/lessons/storage/3-16/", "published_at": "2026-09-05T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a8009144ccd1", "title": "NixOS creates users alphabetically, and that is a security-relevant bug", "url": "https://oznog.com/node0/lessons/operations/6-5/", "published_at": "2026-09-04T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800b7b5f175", "title": "Proving an RMA: what Node0 learned by doing it", "url": "https://oznog.com/node0/lessons/hardware/1-17/", "published_at": "2026-09-04T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a8008809ae92", "title": "A settings dump that skips a whole menu", "url": "https://oznog.com/node0/lessons/hardware/1-3/", "published_at": "2026-09-03T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800915f0228", "title": "The whole fleet had two minutes to shut down a 218 TiB array", "url": "https://oznog.com/node0/lessons/power/5-5/", "published_at": "2026-09-03T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800aadcb281", "title": "Everything moves off the old NAS: the migration and its USB boot saga", "url": "https://oznog.com/node0/lessons/storage/3-13/", "published_at": "2026-09-03T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a80084549a64", "title": "Board damage an elimination tree cannot see: ceph7's three motherboards", "url": "https://oznog.com/node0/lessons/hardware/1-2/", "published_at": "2026-09-02T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a8007f75ffc6", "title": "What thirteen pulled servers actually cost", "url": "https://oznog.com/node0/lessons/hardware/1-1/", "published_at": "2026-09-01T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a8008cbed801", "title": "A management card that lies quietly when two callers ask at once", "url": "https://oznog.com/node0/lessons/power/5-4/", "published_at": "2026-09-01T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a80097528740", "title": "A BMC that reported fabricated power and thermal readings", "url": "https://oznog.com/node0/lessons/power/5-7/", "published_at": "2026-09-01T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a80093823012", "title": "Two NICs on one installer subnet look exactly like a crashing host", "url": "https://oznog.com/node0/lessons/hardware/1-6/", "published_at": "2026-08-30T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800b80d205f", "title": "A VPN client on a laptop that quietly captured Node0's own routes", "url": "https://oznog.com/node0/lessons/network/4-17/", "published_at": "2026-08-30T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800be8184d8", "title": "A restrictive permission mode that looks like a broken account, not a broken directory", "url": "https://oznog.com/node0/lessons/network/4-19/", "published_at": "2026-08-30T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800c0d9fe20", "title": "Two files, one name lookup: reconciling six laptops' worth of SSH trust", "url": "https://oznog.com/node0/lessons/network/4-20/", "published_at": "2026-08-30T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800980afd63", "title": "The Intel chip that eats its own DHCP replies", "url": "https://oznog.com/node0/lessons/network/4-7/", "published_at": "2026-08-28T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a8009dce01ac", "title": "Cutting a flat 135-host network to eighteen VLANs in one day, and the DNS outage that came out of it", "url": "https://oznog.com/node0/lessons/network/4-9/", "published_at": "2026-08-28T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a8009b2dc985", "title": "A VLAN renumber that never touched a live address", "url": "https://oznog.com/node0/lessons/network/4-8/", "published_at": "2026-08-27T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800b5d2d3c2", "title": "An interim fix with no new part solved a real heat problem", "url": "https://oznog.com/node0/lessons/power/5-16/", "published_at": "2026-08-27T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a80080704f51", "title": "A 208/240 V mismatch that looked like a bad transfer switch", "url": "https://oznog.com/node0/lessons/power/5-1/", "published_at": "2026-08-24T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800884ee175", "title": "Three battery packs is not a fault, it is a vocabulary problem", "url": "https://oznog.com/node0/lessons/power/5-3/", "published_at": "2026-08-24T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a8009b7371ad", "title": "Telnet on purpose, and the credential leak that proved the split mattered", "url": "https://oznog.com/node0/lessons/power/5-8/", "published_at": "2026-08-24T00:00:00+00:00" }, { "id": "01a0da57-46ad-73d9-a675-a800a751799c", "title": "A backup nobody has restored is a belief, and skipped is not passed", "url": "https://oznog.com/node0/lessons/storage/3-12/", "published_at": "2026-08-21T00:00:00+00:00" } ] posts Claim your blog
Back to oznog.com
Blog · corpus.blog/blogs/oznog.com/posts

oznog.com

oznog.com

2026

20 Sept 2026
20 Sept 2026
20 Sept 2026