Jonathan Blow on Five 9's, Operating Systems and Software

Поделиться
HTML-код
  • Опубликовано: 17 июн 2024
  • ‪@jblow888‬
    • Preventing the Collaps...

Комментарии • 51

  • @aaronleonard1337
    @aaronleonard1337 8 дней назад +43

    Nowadays we changed to nine 5s. 55.5555555% uptime

    • @coolguy69verycool
      @coolguy69verycool 3 дня назад

      Except it's declared as an int so it's truncated down to 55% but no one knows why

  • @tripplejaz
    @tripplejaz 7 дней назад +8

    As an artist, Jonathan Blow almost makes me want to be a programmer; the passion he has for his craft is infectious.

  • @ShawnMcCool
    @ShawnMcCool 8 дней назад +12

    We absolutely still use that measurement in business systems. It's true that any dependencies that we have directly impact our ability to maintain specific service level objectives. That said, I'm aligned with the message that the software industry is built of bad practices and failed mythologies.

  • @bruterasta
    @bruterasta 8 дней назад +13

    Corporations or more important entities still use this notation when buying/selling services from each other. It's just not something you sell to regular people.

    • @benjaminblack91
      @benjaminblack91 3 дня назад

      Totally, AWS S3's 9 9s guarentee is sooo important to AWS's success its just crazy. AWS would have very little adoption in medicine, finance, manufactering, etc, without this.

  • @buzinaocara
    @buzinaocara 8 дней назад +30

    "five 9's" might have lost usage, but now we have great motos like "move fast and break things". Surely that way of thinking must be very sustainable.

    • @Mr0rris0
      @Mr0rris0 8 дней назад +1

      Some say 9 is so reliable it makes time but who knows how long ago that ended

    • @jasondads9509
      @jasondads9509 6 дней назад

      Nah sounds like the skipped the move fast part and just do break things

  • @velo1337
    @velo1337 8 дней назад +7

    now ppl do weekly updates so you are around 98% update if you are lucky

    • @sudd3660
      @sudd3660 4 дня назад

      one 9, that is depressing.
      i rarely use my phone for internet stuff, but when i do, i need update of many kinds and shit break. if i use a phone for calls the uptime seem to be a lot of 9's. so that is ply plan.
      my pc on the other hand is solid, there i can update only when i want and i rarely restart or turn it off.

  • @mindasb
    @mindasb 7 дней назад +2

    Maybe a bit of a nitpick, but we are absolutelly using the 9's principle for datacenters and cloud providers.
    So saying that we do not use it anymore is not true. Obviously this does not mean that the main theses is not accurate.

  • @earx23
    @earx23 4 дня назад +1

    I've been a cynic ever since ATX power supplies came along. Why the hell should my machine be on all the time? Why can't it just power down? Why does it need to shut down and write junk to hard disk for 10 - 20 seconds? USB made me even more of a cynic. Universal unischermsal. USB C is even worse. 120Watt over a USB cable. Universal, but not all cables are made the same, USB A, B, C, mini B, micro B, several power ratings for USB cables, analog audio over USB C? You kidding me? And worst, it doesn't always work. Plug in an analog audio cable, and wow, it works! Zero latency, driverless! Your only enemy is getting your cable between the door. I sound like a luddite now, but I actually love getting new hardware and trying it out, and writing good code. The problem is, half the time I don't know where the OS is going to get in my way. All day I'm fighting the complexity of system d, udev, you name it, and then udisks2 has segfaults.. in 2023. The standard USB mounter in most linux distros has segfaults. Get real.

  • @aniketbisht2823
    @aniketbisht2823 7 дней назад +1

    C++ is not "afraid" of pointers. It enable you to automate resource management efficiently without loss of performance in most cases. And wherever you need manual control you can have it.

  • @kabukitheater9046
    @kabukitheater9046 8 дней назад +1

    what jonathan blow probably means was the silicon graphics workstation that was used to make jurassic park, which was used by rare to make killer instinct and donkey kong country. rare was using a huge mallet to drive a small nail coz the graphics was compressed to fit the snes anyway. it was just a waste of money

    • @NicholasStabile
      @NicholasStabile 8 дней назад +1

      It was also used by Blizzard for cinematics and games like WoW (most likely before that, especially around the Diablo 1 era), and Squaresoft for their PS1 era games, and beyond. It made for really cool advertising, especially off the heels of Toy Story a year before FF7 released, and likely contributed to the quality of the game being high, but it is a huge money sink and risk that paid off in pushing the medium forward to surpass movies and books...but at what cost? (FF7 was one of the most expensive games at the time, with a manpower of 100 people, some of whom are from the film and anime industry)

  • @yapdog
    @yapdog 8 дней назад +4

    He's not exactly on point here. Going up the abstraction ladder isn't intended to increase programmer productivity. It's intended to increase the number of programmers, effectively increasing the amount of work produced. On that front, it's a rousing success. But are we better off for it.............?

  • @eightsprites
    @eightsprites 8 дней назад

    I fought against Five 9s around 2000-2010. Lost every single time.
    Five 9s = 5minute downtime / YEAR
    How realistic is that?
    Not at all ofcourse!
    Still companies wanted Five 9s and our sells department and project managers apparently didn’t have anything against it.

    • @KevinDay
      @KevinDay 6 дней назад

      As soon as you add a single redundancy it comes 182 days, 11 hours, and 57.5 minutes per year.
      And even with a single system it would absolutely be possible to run 100% of the time that it had power for many years straight if it just didn't need to be changed every freaking week at a minimum, and it wouldn't need changed that often if it wasn't built on layers upon layers of garbage that no one understands more than 0.001% of at any one time.

  • @catcatcatcatcatcatcatcatcatca
    @catcatcatcatcatcatcatcatcatca 8 дней назад +6

    I don’t think the five nines ever applied to a client OS. Even if the OS was good enough, the hardware won’t be.
    From this perspective it seems a bit silly to note nothing on a laptop can’t reach five nines reliability. That’s a hardware issue, not software.
    Beyond the hardware, how many workstation OSs can be upgraded without a reboot? Not windows, that is for sure. So again, there go the nines.
    We need to exclude the hardware and allow some reboots, which means the discussion is about something very different than five nines. Do we expect the software to update seamlessly while running? No, well thats kind of the point of 99.999% uptime.
    Do we want the program to handle crashes on the background? That sounds like a stupid idea, now it needs reduntant processes with reduntant memory. I’d like it to crash instead.
    So while software might have become messier and less reliable, the five nines concept was never applicable nor should it ever be.

    • @barterjke
      @barterjke 8 дней назад +6

      The point he is trying to make is not that we need it, but the whole concept of it just disapeared, we don't really strive for things like that anymore. It's always product first, I don't really buy big games on releases anymore, I don't install new software versions right away, because you know for sure - day0 is always bugged.

    • @buzinaocara
      @buzinaocara 8 дней назад +5

      Windows updating without user concent a d crashing the entire OS is not a "hardware problem", its part of a rotten culture problem and your dismissal is also part of it

    • @mage3690
      @mage3690 8 дней назад +2

      Linux can be upgraded without a reboot. I found that one out the hard way when I updated my system (as one does before installing new things), that update came with a kernel upgrade, then I tried starting my new thing (it was the docker daemon IIRC) and it failed. I did reboot it at that point, but I'm sure I could've reloaded the appropriate components of systemd at that point and gotten it to work, so my point stands. Sure, some hardware isn't up to the task of five 9s. But inevitably, that hardware was created in service to the same culture that produced modern software that is _also_ incapable of five 9s.

    • @greyshopleskin2315
      @greyshopleskin2315 8 дней назад +1

      @@mage3690yes, you can upgrade anything on linux with no reboot, including the kernel.
      On personal computers, it’s better to not bother an just reboot, it’s easier. To have live kernel upgrades you must set it up so I opt for just rebooting

    • @blarghblargh
      @blarghblargh 8 дней назад

      "That’s a hardware issue, not software". sure, for five 9s that might be true.
      but the vast majority of problems I've had with machines I've worked with have been software problems, not hardware problems. most reliability struggles most of us experience are software problems.
      even striving for three 9s and achieving two would be a big improvement.

  • @christophborowski725
    @christophborowski725 6 дней назад +3

    I have rarely heard so much bullshit in a presentation. Everything is generalized, seen in black and white and not questioned. Maybe he should implement a large application that processes huge amounts of data, is scalable, communicates with a large number of surrounding systems, takes security seriously, has to be constantly adapted to changing requirements, etc. Let's see how far he gets with his low-level approach from the past.

  • @mryodak
    @mryodak 8 дней назад +7

    99,999% uptime is referring to what? It means 1 in 100000 frames might break the system? With system runing 60 fps, that's every 30 hours. This sounds like the reliabilty of the adobe products.

    • @sabamacx
      @sabamacx 8 дней назад +9

      The first two minutes make it clear what context 9 9's is made in.

    • @georgedf1
      @georgedf1 8 дней назад +6

      Presumably user uptime, given the talk of productivity.
      A bug on one frame could take arbitrary time for the user to work around, so pretty much all software falls far from five 9s with that definition.

    • @maccsguitar
      @maccsguitar 8 дней назад +8

      Refers to the percentage of running vs down, not the chance to break. You'll get more than one frame of downtime after the system breaks.

    • @maccsguitar
      @maccsguitar 8 дней назад +3

      In other words it would have to reboot and restore adobe in that one frame for that to keep 99,999% runtime

    • @mryodak
      @mryodak 8 дней назад

      @@sabamacx It's not. He talks about losing the progress on the programs. How does it correlate to the uptime? You might lose your progress in a one-frame bug, or if system restarts for a minute or two. The annoying part is that you lost your data.

  • @enginerdy
    @enginerdy 8 дней назад +7

    I don’t buy this. Taking this into the real world, you could say “What happened to us, we used to build bridges with three people in an afternoon!” where the bridge was two logs and some rope.
    Now it takes us a year+ to build a bridge (we’re so unproductive!) but the bridge is doing something completely unimaginable to those people building log footbridges, carrying millions of passenger cars , trucks, and trains every year.
    Yes, it takes longer now, but the expectations are vastly different.

    • @9hoot789
      @9hoot789 8 дней назад +4

      Not true and not even applicable either considering in that hypothetical, he has built a bridge (two bridges, in fact), and understands exactly how to build one (not just "two logs and some rope"), so he has every reason to be able to complain and point out the problems with the industry.

    • @enginerdy
      @enginerdy 8 дней назад +2

      @@9hoot789 huh?
      The joke Ken Thompson (I think that’s KT..) is making is just a joke. Writing a barebones OS on a rudimentary machine is something that is a tractable problem for a single, highly skilled developer. Years later, Linus did something similar, but had to leverage GNU to get complete functionality.
      He has a semblance of a point in this, but it’s taken to such an extreme that it’s a functionally useless point. You can’t fix something if you don’t address the complicating issues.

    • @MrLordFireDragon
      @MrLordFireDragon 8 дней назад +1

      ​@@enginerdy
      The person you're responding to is pointing out that Jonathan Blow has built complex programs and is currently building his own programming language - he has a solid foundation to base his claim that software is worsening on because he knows what sorts of things you can do when you don't use the kind of abstractions people claim save time.
      You're right that the tasks people are completing these days are more impressive, but by what magnitude? For ten times the engineers, are we making software that is ten times as good? Blow argues that not only are we not making better software, software reliability is actual becoming worse, so we may be radically increasing the number of engineers required to make software of roughly equivalent quality. Is that worth it?
      You can watch Blow's full talk for a much more thorough explanation of all of this, if you haven't already.

    • @enginerdy
      @enginerdy 8 дней назад +2

      @@MrLordFireDragon thanks for the further explanation. I do think his examples undermine his main points though, which I broadly agree with. The infrastructure to handle modern volume is large, and has many active components. We will eventually develop better tools to handle scale, but this comes in cycles: people expend vast effort to do a thing that’s very hard, people spend time studying the problem and making tools to make it easier, problem becomes more tractable.
      Even his laptop example is goofy, don’t know how old he is, but computers in the era he’s talking about crashed CONSTANTLY. “Five nines” was what you could expect from carrier telephone and internet data service, but that was about it outside of aerospace and medical (where it’s even higher).

    • @etfstrategy-vb2eo
      @etfstrategy-vb2eo 8 дней назад

      Not true. China builds massive bridges and apartment buildings in weeks. Some even in days.

  • @cit0110
    @cit0110 6 дней назад

    CS curriculums are a joke classes that should be required aren't

  • @bobweiram6321
    @bobweiram6321 8 дней назад +1

    These are Windows and Linux problems. Microsoft screwed up their entire ecosystem and Linux is balkanized by definition. MacOS is where the productivity is.

    • @FrankHarwald
      @FrankHarwald 6 дней назад +1

      & MacOS has vendor lock-ins, its updates regularly break things & users only have little control what & how MacOS updates.

    • @bobweiram6321
      @bobweiram6321 6 дней назад

      @@FrankHarwald You're just making up stuff. MacOS has a very reliable update system and rarely breaks the OS unlike Windows. User can choose when and how their system is updated. As for vendor-lockins, I'm not sure what you're talking about.