I make things: electronics and software and music and stories and all sorts of other things.

  • 0 Posts
  • 29 Comments
Joined 1 year ago
cake
Cake day: June 14th, 2023

help-circle








  • Well yeah, but that’s what standards are for. Look at Wayland. Outside of GNOME being a bit slow, all the major compositors and DEs like KDE and Hyprland have agreed to implement certain common desktop features that every desktop should have along with the Wayland protocol itself. Then they go their own way.

    So it’s not really as you say. There is unity in development beneath the heavy diversity.

    But along the way, things that would be considered “requirements so basic we don’t even need to state them” are not met.

    Except they are

    Your desktop doesn’t have a cohesive look with colours and fonts mismatched in a way that no monolithic project would ever tolerate.

    This is a bad example bc it’s opposite to what you say. You haven’t set a universal theme. Theming is commonly supported across desktops to some degree. You can get all your apps to have the same look unless an application forces its own (which would happen even in a homogenous Linux world). Some desktops will do it for you, but if they don’t it’s still as simple as install a universal theme, apply the Gtk version, and apply the Qt version. My understanding is soon it will be even simpler once a few more Wayland standards get adopted.

    We already have the best ecosystem. It literally could not improve functionally




  • KindaABigDyl@programming.devtoLinux@programming.dev*Permanently Deleted*
    link
    fedilink
    arrow-up
    21
    arrow-down
    1
    ·
    edit-2
    6 months ago

    No no no no no no

    It’s not fragmented in that sense.

    No, it would not be more popular if there was one distro. That wouldn’t solve any problems.

    This is a fundamental misunderstanding I see among many people, especially those outside/new to the Linux world. They talk about having too many choices where it’s overwhelming to pick from. But it’s not like ice cream flavors where “Oh I like chocolate and vanilla and strawberry? How can I choose?” where some people can get choice anxiety; if you think that’s comparable you just don’t know about how Linux fragmentation works.

    Now, that’s fine; not everyone will know everything, and this concept is not always obvious to everyone. That said, an argument made from ignorance is not a valid argument.

    Let me explain why fragmentation doesn’t work this way.

    In every piece of software that is fragmented in the Linux world, it’s not arbitrary. It’s not people making hundreds of different things “just because.” There’s always a correct choice for each person. Different tools in the same area to suit different needs. No, not all tools are on equal footing lacking unity. They all benefit from the same standards but implement the features that matter to that tool. Unifying them solves nothing. We may not even get a tool out of it as people would fight over the directions of the projects.

    For instance, why are there different DEs and WMs? Because not every DE has the workflow a person wants. I can’t stand the Windows way of UX; I think it’s terrible. If there was only one distro, and it came with KDE, I’d be very frustrated as there’s no good tiling options!

    The different distros are not ice cream flavors; they exist to fulfill specific needs. You pick your distro, DE, etc to suit the way you want to use your computer. Everyone has a way they want their computer to work whether they realize it or not, even if that way is just how Windows does it.

    There’s not an overwhelming amount of distros; that’s a view stemming from a lack of understanding. Fragmentation is not a problem.

    then that distro would probably be better than Windows and more people would move to Linux

    So as you can see, this wouldn’t be the case. That distro wouldn’t serve people’s needs, just like Windows doesn’t serve people’s needs.

    The problem with Linux is not its fragmentation - that’s it’s superpower; there are distros that will meet the needs of everyone already. You just have to figure out what you want from a computer. If it’s just how Windows does things then, well, there are DEs and distros out there already made to function like Windows! Give Mint a try, for instance.

    The reason Linux isn’t more popular has nothing to do with not having a good-enough distro that can beat Windows. What that looks like is different for different people, and I guarantee all of them exist somewhere.

    Tbh Linux already is better than Windows (and Mac) on every front except two:

    1. Lack of industry-standard software for certain fields as well as a handful of specific games
    2. Normies will use whatever their PC comes with and will be too scared to reinstall, and Windows and Mac come on almost all devices by default.

    P.S.

    similarly to how most of us use the same kernel

    This isn’t the case. We don’t even use the same kernels!

    First, many distros use very different versions and second, some come with kernels that have major tweaks and customizations.

    Not to mention the various modules and kernel parameters that get enabled and added.

    There are plenty of kernel tweaks.

    EDIT: I like what another user said - “Linux is modular, not fragmented.”


  • This is honestly so frustrating to see bc I’ll still never understand why Python isn’t just statically typed.

    It’s right there in the Zen:

    Explicitness is better than implicitness

    It wouldn’t even have to be less simple as it could still be weakly typed, a la Rust or Haskell, but not as robust.

    You wouldn’t need these extra special tools if the language was just built right!

    Same goes for the try/catch exception system where runtime errors can pop up bc you don’t have to handle exceptions:

    Errors should never pass silently.

    Unless explicitly silenced.

    Python is a good language that could’ve been a great one smh




  • Here’s how I think it works

    In formal language, what it means to accept a verification means does the result fall into the list of acceptable values.

    Consider adding two 2-bit numbers:

    • Alphabet: { 0, 1}
    • Language: x x consists of four binary digits representing two 2-bit binary numbers where the result of adding these two numbers is a valid 2-bit binary number (i.e. falls between 00 and 11)
    • Then you have an automata that will:
      • Start from the rightmost bit
      • Add the corresponding bits (+ carry from any previous iterations)
      • Carry over to the left if needed
      • Repeat for both bits
      • Check for acceptance
    • Machine as a whole simply checks did the inputs produce a valid 2-bit number, so it just accepts or rejects

    The machine itself simply holds this automata and language, so all it does is take input and reject/accept end state. I think you’re just getting caught up in definitions

    A sum of a list of numbers I think would be something like

    • Alphabet: digits 0-9 and ‘,’
    • Language: a single string of digits or a single string of digits followed by a comma and another valid string
    • Automata:
      • Are we a single string of digits? If yes, accept
      • Sum the last number into the first and remove the comma
      • Repeat
    • Machine: Does the some operation result in a valid string?

    Machines accept a valid state or hit an error state (accept/reject). The computation happens between the input and accept/reject.

    But maybe I don’t understand it either. It’s been a while since I poked around at this stuff.