andai 23 hours ago

Had a strange thought last year, that if a system runs too smoothly, eventually the knowledge of dealing with breakage will disappear, and when it inevitably breaks, everyone will be unprepared.

So a little bit of breakage is like a healthy "exercise."

Presumably, a functional system is supposed to have some kind of drills to fill in for that. But I have seen ones that don't!

  • _def 23 hours ago

    Oh, the legendary backup restore drill? I'm sure it will happen someday ...

  • gatio 22 hours ago

    Very true. If things are too reliable, systems can come to depend on them always being so so reliable... So it can actually pay off to inject transient issues deliberately.

    https://netflix.github.io/chaosmonkey/ and similar can help.

    That said ... most instability is introduced with normal changes, so every engineer can be a chaos monkey. ;-)

    • andai 14 hours ago

      You know, one of the things I miss from when I wrote most code manually (now it's a minority of code) is that I would have a high rate of random error.

      This was extremely tedious, and annoying, of course, but things would break in all sorts of educational ways.

      And once in a while, the computer would do something truly magical, something I didn't even know computers can do.

      LLMs still make mistakes, of course, but they make different kinds of errors than I do.

      I've been trying to replicate the effect with software that reproduces my own type of errors, randomly omitting tokens from the program. (A strange type of fuzzing the program space.)

      Some don't compile, some crash at runtime, most don't do anything interesting, but I know for a fact the process is worthwhile.

      What would be really interesting would be to create a cheap verification process for this at scale, i.e. a "wall of TVs" each containing the output of a program, so that the "worthwhileness" of each one can be evaluated at a glance.

  • ggambetta 22 hours ago

    Hence DiRT or whatever they call it these days

  • toast0 22 hours ago

    Yeah, I've lived that one. When your system is falling over all the time, you get good at quickly bringing it back. When you have the first failure in 2 years and you didn't do drills or etc, it takes a lot longer to get things going again.

    • andai 14 hours ago

      I am very clumsy, and I've become excellent at catching things mid fall!

  • jknoepfler 22 hours ago

    This is known as the "Paradox of Automation." It's a real problem for many industries.

    The OG paper on this is called "The Ironies of Automation" (Bainbridge, 1983). It's a clunky but fascinating read. I give it a skim every couple years and usually come away with a bit of a fresh take on the problem.

  • data-ottawa 20 hours ago

    There’s a good Star Trek TNG episode about this: When the Bough Breaks (S1E16)

    • andai 14 hours ago

      The real fun one is what do we do when civilization breaks. Do we even remember how we assembled it in the first place?

      I don't mean things like plumbing and roads, I mean things like, "what happens to a culture when people stop saying hello to each other?"

  • jjk166 17 hours ago

    Knowledge of how to fix the system comes from understanding how the system works, which does not necessarily require experience fixing it. Every problem ever fixed was at some point fixed without prior experience - if we can fix problems that have never happened before we can fix problems that haven't happened in a while.

    • andai 14 hours ago

      Can confirm.

      Can also confirm that the process can be harrowing and extremely inefficient (days can turn into months) if you don't know what you're doing and don't have the necessary support.

sixtyj 22 hours ago

Nice that it is cc-commons.

Unfortunately site would need some refurbishment for mobile… slide show doesn’t show, and page is floating.