“Falsehood flies, and truth comes limping after it, so that when men come to be undeceived, it is too late; the jest is over, and the tale hath had its effect: […] like a physician, who hath found out an infallible medicine, after the patient is dead.” —Jonathan Swift

  • 0 Posts
  • 29 Comments
Joined 1 year ago
cake
Cake day: July 25th, 2024

help-circle

  • TheTechnician27@lemmy.worldtomemes@lemmy.worldMaths
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    10 days ago

    … okay? Yes? Nobody thought otherwise? Do we now have to clarify every statement about algebra by specifying that we’re talking about an algebra over the reals or the complex numbers? Or the polynomials or the p-adic integers, whose multiplications are also commutative?

    No one would call these “n-dimensional” number systems either. The algebra for each of these operates in R1 and R2, respectively, but, like, you would describe their algebras as being over an n-dimensional vector space. It’s not wrong, but I don’t think “two-dimensional number system” is something you’d hear mathematicians say.

    This pedantic aside feels so “I just watched a 3blue1brown video and feel verysmart™” that I don’t know what to do with it. It’s good to be interested in math, but this ain’t it. Everyone knew what they meant.



  • I’d go even further: the learning curve for Rust is shallower than C/C++.

    • C is obvious: dealing with strings is a goddamn nightmare in pure C, and strings are used all the time in modern programming. Almost no guardrails for memory safety mean that an inexperienced programmer can easily run into undefined, nondeterministic behavior that makes bug hunting difficult.
    • In C++, there’s a trillion ways to do anything (which varies enormously based on C++ version), and when you make mistakes of even moderate complexity (not “missing semicolon on line 174”), compilers like gcc spit out a gargantuan wall of errors that you need to know how to parse through.
    • Rust, in my experience, gives you a much clearer “good” way to do something with some room for expression, and its compiler tells you exactly what you did wrong and even how to resolve it.

    The fact that the compiler actually guides you, to me, made learning it much easier than C/C++.


  • I don’t know how else they could react:

    And the compiler was slow, the code that came out was slow…

    The compiler is slower because it has more to check for, but “the code that came out was slow” seems like nonsense, exaggeration, or PEBCAK. Rust code is highly performant and very close to C code.

    The support mechanism that went with it — this notion of crates and barrels and things like that — was just incomprehensibly big and slow.

    Dude what? C’s build systems like cmake are notoriously unfriendly to users. Crates make building trivial compared to the ridiculous hoops needed for C.

    I have written only one Rust program, so you should take all of this with a giant grain of salt,” he said. “And I found it a — pain… I just couldn’t grok the mechanisms that were required to do memory safety, in a program where memory wasn’t even an issue!

    He doesn’t say what the program was, and the borrow checker operates by a set of just a few extremely simple rules. There’s no idea of what he was trying to accomplish or how the borrow checker impeded that.

    So my reaction as someone who cares deeply about how disastrously unsafe C is and the tangible havoc it creates in modern society:

    • I agree the compiler is slower. Honestly boo hoo. It’s slower for two very good reasons (better static analysis and better feedback).
    • The code being slower is such a minor issue as to effectively not be true. Benchmarks prove this.
    • I’m not going to take “big and slow” as a serious critique of Cargo from someone who idealizes C’s ridiculous, tedious, convoluted build system.
    • The borrow checker is trivial, and unlike C, the compiler actually gives you easy, intuitive feedback for why your code doesn’t build.





  • TheTechnician27@lemmy.worldtoLinux@lemmy.worldPlease don't promote Wayland
    link
    fedilink
    English
    arrow-up
    10
    arrow-down
    1
    ·
    edit-2
    1 month ago

    I can say with confidence that I have not – ever in my life – attempted to not just contribute to but be the primary maintainer of such a complex, low-level, crucial piece of software when I was that much of a beginner. And their GitHub bio reads “Old Linux hacker and kernel maintainer. Xorg developer, Xlibre founder/maintainer”.

    Keep in mind here that “Xorg developer” means “came in, pushed dozens of shoddy patches that are now being reevaluated for how fucking trash they were, acted like a petulant little bitch when confronted about my lack of quality, and turned it into a conspiracy theory”. They do not get the benefit of the doubt. They are a moron who doesn’t know the basics of C.





  • TheTechnician27@lemmy.worldtoProgrammer Humor@programming.devHello, Linux Developer
    link
    fedilink
    English
    arrow-up
    29
    arrow-down
    2
    ·
    edit-2
    1 month ago

    Not sure how this applies when:

    • X11 was the only standard prior to Wayland.
    • GNOME is dropping X11 in a short time.
    • KDE’s telemetry even five months ago showed 80+% of (that portion of) their userbase uses Wayland, and they plan to drop X11 once they have a concrete set of problems worked out.
    • Hyprland and Sway run Wayland exclusively.
    • Cinnamon, MATE, and Xfce are working on Wayland sessions. Cinnamon’s is there but, I think, still experimental.
    • Budgie is working to go Wayland-only.
    • There’s no sign that Wayland will stop improving from a state that’s arguably already much better than X11.
    • X11’s actual maintainers barely want anything to do with it beyond bug fixes, and the only person who wants to “innovate” it via a fork is a bigot and a fucking moron who doesn’t know things you learn in CS 101.
    • X11’s maintainers are majorly involved in developing Wayland and have been since the start. This is their idea.

    It seems like it went from “Situation: there is one standard” to “Situation: there are two standards developed by largely the same people with one set to replace the other”, and then soon: “Situation: there is one standard and one translation layer kept around for a decade or so for compatibility.”

    Not every single time someone tries to make things better is this xkcd relevant; this had nothing to do with unifying standards and everything to do with superseding one.


  • TheTechnician27@lemmy.worldtoProgrammer Humor@programming.devHello, Linux Developer
    link
    fedilink
    English
    arrow-up
    23
    arrow-down
    1
    ·
    edit-2
    1 month ago

    Has anyone so far stopped you from using your outmoded tangle of garbage? Or do you just not like that major desktop environments are switching to more sensible defaults?

    If you’re worried about GNOME 50 dropping X11 in the future… okay? Nobody’s obliged to maintain your shit. Linux is all about choice, and it’s their choice not to spend untold thousands of hours working to keep X11 usable, just like it’s your choice to change your Linux to something that does still use it. Switch to any one of the other desktop environments; see if the Wayland Illuminati or whatever gives a shit.


  • If “the wheel” is achieved by making literally every application you run a keylogger, I’m very cool with Wayland “reinventing the wheel”. X11’s handling of user input is a fucking embarrassment.

    Besides just the Steam Deck and Proton, a big reason people are finally sticking around on Linux is because using X11 feels exactly like what it is: a cobbled-together piece of archaic shit that needs to be left behind.

    Wayland by contrast feels fantastic to run, and on my GTX 1070 with proprietary drivers, the only current issue I have with it is how Firefox picture-in-picture popouts don’t stay on top by default.