I’m curious how software can be created and evolve over time. I’m afraid that at some point, we’ll realize there are issues with the software we’re using that can only be remedied by massive changes or a complete rewrite.

Are there any instances of this happening? Where something is designed with a flaw that doesn’t get realized until much later, necessitating scrapping the whole thing and starting from scratch?

  • Max-P@lemmy.max-p.me
    link
    fedilink
    arrow-up
    73
    ·
    9 months ago

    And then ALSA to all those barely functional audio daemons to PulseAudio, and then again to PipeWire. That sure one took a few tries to figure out right.

    • Björn Tantau@swg-empire.de
      link
      fedilink
      arrow-up
      43
      ·
      9 months ago

      And the strangest thing about that is that neither PulseAudio nor Pipewire are replacing anything. ALSA and PulseAudio are still there while I handle my audio through Pipewire.

      • angel@iusearchlinux.fyi
        link
        fedilink
        arrow-up
        29
        ·
        edit-2
        9 months ago

        How is PulseAudio still there? I mean, sure the protocol is still there, but it’s handled by pipewire-pulse on most systems nowadays (KDE specifically requires PipeWire).

        Also, PulseAudio was never designed to replace ALSA, it’s sitting on top of ALSA to abstract some complexity from the programs, that would arise if they were to use ALSA directly.

        • lemmyvore@feddit.nl
          link
          fedilink
          English
          arrow-up
          10
          ·
          9 months ago

          Pulse itself is not there but its functionality is (and they even preserved its interface and pactl). PipeWire is a superset of audio features from Pulse and Jack combined with video.

          • tetris11@lemmy.ml
            link
            fedilink
            arrow-up
            9
            ·
            edit-2
            9 months ago

            For anyone wondering: Alsa does sound card detection and basic IO at the kernel level, Pulse takes ALSA devices and does audio mixing at the user/system level. Pipe does what Pulse does but more and even includes video devices