Need to let loose a primal scream without collecting footnotes first? Have a sneer percolating in your system but not enough time/energy to make a whole post about it? Go forth and be mid: Welcome to the Stubsack, your first port of call for learning fresh Awful youā€™ll near-instantly regret.

Any awful.systems sub may be subsneered in this subthread, techtakes or no.

If your sneer seems higher quality than you thought, feel free to cutā€™nā€™paste it into its own post ā€” thereā€™s no quota for posting and the bar really isnā€™t that high.

The post Xitter web has spawned soo many ā€œesotericā€ right wing freaks, but thereā€™s no appropriate sneer-space for them. Iā€™m talking redscare-ish, reality challenged ā€œculture criticsā€ who write about everything but understand nothing. Iā€™m talking about reply-guys who make the same 6 tweets about the same 3 subjects. Theyā€™re inescapable at this point, yet I donā€™t see them mocked (as much as they should be)

Like, there was one dude a while back who insisted that women couldnā€™t be surgeons because they didnā€™t believe in the moon or in stars? I think each and every one of these guys is uniquely fucked up and if I canā€™t escape them, I would love to sneer at them.

(Semi-obligatory thanks to @dgerard for starting this.)

  • khalid_salad@awful.systems
    link
    fedilink
    English
    arrow-up
    9
    Ā·
    edit-2
    2 days ago

    Does anyone else get tired of ā€œread documentation and edit this text file to configure your appā€ Unix shit? I have no problem with the underlying configuration being a text-file (makes for a straightforward API), but do I really need to navigate to https://mpv.io/manual/master/#configuration-files and go through the rigamarole of figuring out which options I need to edit/include[0] because I misplaced (read: sudo rm -rf /) my config file?


    [0]: And there is always so much implicit bullshit. ā€œBy default, we summon Cthulhu on Tuesdays and Thursdays if the variable summon_octopus_guy is unset.ā€ Itā€™s a fucking config file, my friends, can we just be explicit?

    • nightsky@awful.systems
      link
      fedilink
      English
      arrow-up
      8
      Ā·
      2 days ago

      Oh yeah. I recently wanted to configure something in pipewireā€¦ the idea was simple: just creating a boot-persistent audio loopback, i.e. connecting an audio input to an output. I gave up for now after looking at the config examples for that in the documentation. How can such a simple thing need such complex configuration?

      As for losing configs, Iā€™ve started to put all my hand-edited config files in a git repo on my NAS so at least I only have to figure out things once.

    • YourNetworkIsHaunted@awful.systems
      link
      fedilink
      English
      arrow-up
      6
      Ā·
      2 days ago

      Surely itā€™s better to specify those defaults in the config file and have the system just fail if the necessary flags arenā€™t present. Having worked in support I can vouch for the amount of suffering that could be avoided if more systems actually failed if some important configuration isnā€™t in place.

      • khalid_salad@awful.systems
        link
        fedilink
        English
        arrow-up
        6
        Ā·
        2 days ago

        Surely itā€™s better to specify those defaults in the config file and have the system just fail if the necessary flags arenā€™t present.

        Completely agree. I think this may just be an extension of the ā€œyou gotta know what youā€™re doing to code correctly in Cā€ old school bullshit.

        • YourNetworkIsHaunted@awful.systems
          link
          fedilink
          English
          arrow-up
          6
          Ā·
          1 day ago

          This is my biggest gripe with that nonsense. If you make it hard to do something well, you wonā€™t end up with an elite series of uber-coders because there arenā€™t enough of those people to do all the programming that people want to be done. Instead youā€™ll see that much more software engineering done really goddamned badly and despite appearances at the time it turns out there is a maximum amount of shitty software the world can endure.

          • khalid_salad@awful.systems
            link
            fedilink
            English
            arrow-up
            6
            Ā·
            1 day ago

            Whatā€™s great is even the very best ā€œjust use valgrind lol, lmaoā€ folks make these errors all the time. Itā€™s basically impossible to write correct C code generally ā€” the best we can do is verify subsets of code (c.f. Rustā€™s unsafe keyword). The memory-safety CVEs in EXT3/4 are proof of this, IMO, as if there were anyone able to write correct C code today, it would be Ted Tsā€™o.

    • bitofhope@awful.systems
      link
      fedilink
      English
      arrow-up
      3
      Ā·
      1 day ago

      Personally I think itā€™s fine to have implicit defaults if you can make them sensible. Maybe ideally have a system-wide config like /etc/someapp.conf with all the options included and set to defaults out of the box and then allow overrides in ~/.config/someapp/someapp.conf where you only need to specify whatever you want to differ from the system conf file.

      • khalid_salad@awful.systems
        link
        fedilink
        English
        arrow-up
        6
        Ā·
        1 day ago

        I personally disagree. I think in the era of ā€œa megabyte is big,ā€ this made sense, but in my opinion after parsing a config file with missing config data, we should print something indicating they are missing then error out. The existence of a reference config file with all options included would definitely help, but I think itā€™s no coincidence that there is no such config for mpv ā€” why bother creating and maintaining one if the program will use the default value anyway?

        tl;dr explicit is better than implicit

        • bitofhope@awful.systems
          link
          fedilink
          English
          arrow-up
          4
          Ā·
          1 day ago

          I dunno, MPV has like a million config options and Iā€™ve set like three of them in my config. I would not prefer to maintain an enormous config file where I need to include a bajillion options I donā€™t care about just to play a video. Would I have to update my config every single time MPV adds, removes or renames an option, too?

          • khalid_salad@awful.systems
            link
            fedilink
            English
            arrow-up
            5
            Ā·
            edit-2
            1 day ago

            At the end of the day you shouldnā€™t have to maintain anything in order to use a program, in my opinion (at least ideally). I think a ā€œeverything must be present in the fileā€ type of config would require less no extra maintenance (assuming devs donā€™t do anything too silly). Additionally, while noting that my primary programming language is TeX and also that I am a dipshit, this just strikes me as an API-design problem. Alternative solutions could be:

            1. multiple config files (I think mpv already supports this)
            2. semver style config (idk if this would be practical)
            3. a config-editing tool (i.e., what the overwhelming majority of applications do, by hiding the implementation details from the user)

            I have thought about doing #3 for Sway (a sort of Sway-config editor). This does give me an idea, though: define a meta-format for specifying the variables, default values, allowed values, etc., for an arbitrary[0] programā€™s config file, and create a program that reads a meta-format file and presents a GUI for editing the config.

            tbh i just lost my config file, forgot what i changed, and now i have to read documentation (and figure out which file the mpv flatpak uses for config)


            [0]: maybe not too arbitrary

            • self@awful.systems
              link
              fedilink
              English
              arrow-up
              5
              Ā·
              1 day ago

              define a meta-format for specifying the variables, default values, allowed values, etc., for an arbitrary[0] programā€™s config file, and create a program that reads a meta-format file and presents a GUI for editing the config.

              Iā€™d kinda love this even if Iā€™m editing config files in a text editor. emacs could use this with a major-mode or LSP to provide suggestions, validity checking, various rendered versions of the config, and guarantee interoperability with graphical tools (so that changes you make in an editor donā€™t get trampled by the UI, and vice versa)

              • khalid_salad@awful.systems
                link
                fedilink
                English
                arrow-up
                6
                Ā·
                1 day ago

                I need an excuse to learn Rust and have wanted to do a ā€œparse, donā€™t validate / make invalid states unrepresentableā€ project for a while. I will definitely share it if I get anything done.