• @FlatFootFox
    link
    3103 months ago

    The two hardest problems in computer science are cache invalidation, naming things, and off by one errors.

  • monk
    link
    fedilink
    993 months ago

    And before Pidgin was named Pidgin, it was named GAIM, which was short for GTK AIM, which was short for GIMP toolkit AOL IM, which was short for GNU Image Manipulation Program toolkit America Online Instant Messenger, which was short for GNU’s Not Unix Image Manipulation Program toolkit America Online Instant Messenger and it never ends.

  • @waigl
    link
    English
    913 months ago

    Also, almost all of that is written in C, which is a successor to B, which is a simplified version of the Basic Combined Programming Language. There was never an A.

      • @[email protected]
        link
        fedilink
        263 months ago

        Yes, but I’m not sure if we want to open the “programming language can of worms”.

        There’s B, C, C++, C#, Objective-C, D, E, F, F#, F* and so many more. Also, they may or may not have anything to do with each other

        • Johanno
          link
          fedilink
          123 months ago

          But of course Java and Javascript are related /s

        • @jyte
          link
          63 months ago

          Also I’ve read that C# is C++++ (like put those + on 2x2 table, which in turns ressemble a #)

          • @[email protected]
            link
            fedilink
            53 months ago

            Hahaha I’ve never heard that before. Seems legit.

            C# was originally “Java: The Good Parts” but but these days it’s a much more advanced language and runtime compared to Java.

            • @[email protected]
              link
              fedilink
              13 months ago

              As a dev who works on both Java and C# code, modern Java (17+) and C# feel almost exactly the same (not sure if Java has extension methods though).

              Bonus points for using Kotlin instead tho. I dislike both Java and C# just because they both allow any object to be null and that’s usually a headache whenever a null exception shows up.

              The only thing I like better about C# is the Fixture library for testing. I haven’t found any mature libraries like it for Java yet.

  • Arthur Besse
    link
    fedilink
    773 months ago

    disappointed cricket fan meme with CDE logo

    (before it was Kool, KDE was a reference to CDE, the Common Desktop Environment)

  • Kerb
    link
    fedilink
    753 months ago

    im almost sad that its linux that became the dominating open source kernel instead of “GNU’s Not Unix! Hird of Unix-Replacing Daemons”
    (hird stands for “Hurd of Interfaces Representing Depth”)

  • @[email protected]
    link
    fedilink
    753 months ago

    GNU is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX is not UNIX[Maximum call stack size exceeded]

    • @Klear
      link
      213 months ago

      GNU is not UNiplexed Information Computing System is not UNiplexed Information Computing System is not UNiplexed Information Computing System is not UNiplexed Information Computing System is not UNiplexed Information Computing System is not UNiplexed Information Computing System is not UNiplexed Information Computing System is not UNiplexed Information Computing System is not UNiplexed Information Computing System is not UNiplexed Information Computing System is not UNiplexed Information Computing System is not UNiplexed Information Computing System is not UNiplexed Information Computing System is not UNiplexed Information Computing System is not UNiplexed Information Computing System is not UNiplexed Information Computing System

    • A tail-recursive version written in OCaml that should not reach stack limits easily. (Not an expert in OCaml, so this might be stupid. But I tried it with 10000 iterations, and it worked without any issues.)

      let gnu =
          let rec aux s = function
          | 0 -> s
          | n -> aux (s^" is Not Unix") (n-1)
      in aux "GNU";;
      
      • @[email protected]
        link
        fedilink
        8
        edit-2
        3 months ago

        Not an OCaml expert either but that looks tail recursive, you’re never going to blow the stack.

        You can tell by how after the recursive call within aux, its result does not get used within the function. That means that the compiler doesn’t need to push a return address to the stack as the only code that would be at that address is instructions to pop another address and return there, we can short-circuit all that and jump from the base case (0) directly to where aux(10000) is supposed to return to instead of taking 10000 dumb steps (like practically all procedural languages do because they don’t have tail call optimisation).

        This would’ve been different if you had concatenated the string not as an argument to aux.

        • @[email protected]
          link
          fedilink
          3
          edit-2
          3 months ago

          I thought Tail recursion just gets turned into an iterative loop by the compiler? Hence why you won’t get a stack overflow. And since in procedural languages you can just use a loop in place of a tail recursive function you would never run into this problem, right? At least this is how it was taught to me when I was learning about it in lisp.

          • @[email protected]
            link
            fedilink
            33 months ago

            Yes you still need the loop part I skipped over that one, only focussing on the “why no return address on the stack” part. It’s what you need to focus on to see whether a recursive call is in a tail position and if it is the compiler does the rest no need to worry about that part.

        • ѕєχυαℓ ρσℓутσρє
          link
          fedilink
          2
          edit-2
          3 months ago

          That was the idea. But I’m not a functional programmer (not a programmer by profession at all lol), so I might’ve done something stupid. Hence the disclaimer. Thanks for confirming.

          • @[email protected]
            link
            fedilink
            53 months ago

            OCaml certainly isn’t a bad language to learn for a non-professional. It’s almost painfully sensible and well-engineered, you’re far away from hype train nonsense and startup production jank but also not out in the “the purpose of this language is to be beautiful and earn me a PhD” territory, OCaml definitely is a production language.

  • Dizzy Devil Ducky
    link
    fedilink
    English
    673 months ago

    Not gonna lie, took me a moment of thinking and waiting for a search engine to load before I realized Kool Desktop Environment is just KDE…

    • @smackjack
      link
      133 months ago

      I always thought the K in KDE just stood for KDE.

      • Dizzy Devil Ducky
        link
        fedilink
        English
        63 months ago

        While looking it up, I’m pretty sure I read that Kool Desktop Environment was changed to K Desktop Environment. Either way, it’s absolutely Konfusing regardless of how you slice it.

        • I Cast Fist
          link
          fedilink
          103 months ago

          Konfusing? Everything is krystal klear in KDE, or you kan make it opaque, too, as all konfigurations are exposed for maximum kustomization

        • @PopcornTin
          link
          03 months ago

          Originally, it had no meaning. It was just the letter K. There are attempts to rewrite history, give it some purpose, but no.

      • ReCursing
        link
        fedilink
        13 months ago

        It does now and has for years, but at first they didn’t realise how stupid Kool Desktop Environment sounded

          • Dizzy Devil Ducky
            link
            fedilink
            English
            13 months ago

            Not sure if this is directly aimed at us but, I don’t know much about different desktop environments (with this being the maybe 2nd or 3rd one I’ve used), but I l just like plasma because it looks good without much tweaking. I’m still learning Linux, so I just want something that looks good out of the box.

            • firefly
              link
              fedilink
              13 months ago

              @[email protected]

              I don’t care much for looks. I want something that works good. Every time I’ve tried KDE in the past decade there have been major bugs that crashed things. I use mostly XFCE and OpenBox (both ugly) and the bugs are so infrequent that I can’t even remember the last one encountered. I’m so busy getting things done I don’t notice how ugly the desktop environment looks.

    • @[email protected]
      link
      fedilink
      35
      edit-2
      3 months ago

      Web browsers: elinks, based on links, which I’m pretty sure was a play on words on lynx, which is a play on words on “links” on a web page.

      Then there’s email. There’s mahogany and balsa and mulberry, which are in-jokes referring to pine, which was a joke referring to elm, which stood for ELectronic Mail. Pine has been forked to alpine, in an entirely different play on words.

      • @[email protected]
        link
        fedilink
        13 months ago

        Pine has been forked to Alpine

        Wonder if it runs on Alpine the Linux distro.

        In other news, I never knew pine’s genetic code still lives on; but I miss elm more. Can we do uw-imap too? Dovecot annoys me.

        • @beaiouns
          link
          English
          53 months ago

          I’ve run alpine on alpine, it works just fine

    • @[email protected]
      link
      fedilink
      73 months ago

      Naming things is hard, and everyone remembers these names, so they must have done something right.

      • @[email protected]
        link
        fedilink
        43 months ago

        Yes, naming things one of the three hard computing problems left along with cache invalidation.

        • jungle
          link
          13 months ago

          I feel bad that you’ve been left hanging there.

          What’s the third one? :)

          • Pyro
            link
            English
            23 months ago

            Probably off-by-one errors

    • @KrapKake
      link
      43 months ago

      Yea no kidding. Gnome is pronounced Guhnome, Mate DE is pronounced Matay, Open Suse is susuh not soos, and Qt is to be pronounced as “cute” instead of just… Q-T. Many such cases.

      • @cmbabul
        link
        33 months ago

        Wait for real? I don’t think I’ve heard many say those terms out loud, i pronounce them in my head Nome, Mate, Soos, and q-t

  • @psycho_driver
    link
    483 months ago

    This sounds like it was written for a medical research journal.

  • @okamiueru
    link
    24
    edit-2
    3 months ago

    With just little bit of formatting, it would communicate the information infinitely better. Why don’t people make the minimal effort, once, when not doing leads to each and everyone having to figure out what the fuck it’s actually trying to say.

    Apologies. I’m grumpy after a three hour meeting.

    • @[email protected]
      link
      fedilink
      English
      103 months ago

      the real problem is this sentence contains no formatting no punctuation and no capitalization it must be a failure of our public education system in america that kid dont get the proper education they need in this day and age to use proper gramer and formatting where needed i bet most of you cant tell me the proper time to use a semicolon vs using a colon and thats ok because i dont either i do try my best to put it in the right place sometimes looking it up and failing to understand comas are also frequently used to much by people im sure your not alone in this assumption it could also be that english is hard and schools spend more time teaching us to consume and parse english rather than a balance of both reading comprehension and writing skills

      • @[email protected]
        link
        fedilink
        33 months ago

        A semicolon is used when you’re separating sentences that are themselves part of a list. Typically you would use commas to separate list items, but when the list items are complete sentences with commas in them, you use a semicolon to separate them. A colon is used when you have to poop

      • @[email protected]
        link
        fedilink
        English
        33 months ago

        Typing this thing was admittedly hard on the phone. Without selecting any suggestions, it still manages to get the capitalization and punctuation right.