• 8 Posts
  • 306 Comments
Joined 6 years ago
cake
Cake day: May 31st, 2020

help-circle


  • There should be an open-source recommendation algorithm, though; I’m sure of it.

    Problem is that the kind of algorithm you envision is technologically a black-box, not just by choice. It’s a machine learning model. At best, you could make the training data and instructions public, but it would still be hard to reason why it makes certain decisions. Corporations traditionally try to eliminate biases by throwing as much data at it as possible, but that makes it even harder to reason about it.

    I guess, maybe you could try to split the tasks. So, set up a list of e.g. 50 topics, such as sports, IT, politics etc… Then use a small language model to decide into which categories each post fits. And then you could let the user decide the weights for the topics + weights for recency and vote count.
    Or I guess, automatically decide the weights based on what the user upvotes and then make the weights transparent to each user.

    But yeah, I don’t think there’s prior art in this respect, so would probably need lots of experimenting still.


  • Yeah, to be honest, I’ve given up on that one. “Language Server Protocol” is a classic case of Microsoft naming things.
    The two differentiating words are “language” and “server”. It does not specify what kind of language is being served or what it even means to serve a language. And “server” is entirely redundant with it being a protocol. Not to mention, that “server” is the most overused word in IT and therefore virtually meaningless.
    For all we know, it could be a protocol for butlers carrying French dictionaries.

    So yeah, I use the acronym as its name, because it is similarly meaningful while being actually recognizable. And when I need to specify whether I’m talking about the “protocol named Language Server Protocol” or a “Language Server Protocol server” or even a “Language Server Protocol client”, I will just slap that behind the acronym and be done with it.

    🫠


  • There’s varying takes on why folks prefer Gemini:

    • HTML browsers are too complex. It is virtually impossible to implement a new one. We’ve got 2½ implementations, i.e. Blink/WebKit and Gecko, and that’s it. Yes, you can use Dillo or w3m, links and lynx to view simplistic webpages, but anyone, who actually wants to use the web with these, will quickly run into webpages they cannot view.
      With Gemini, you can use tons of clients, some of them even written in Bash, because it’s so simple, and you will not run into pages you cannot view.
    • Burn the web. Some folks hold the opinion that the modern web is beyond saving, because advertisers control many central parts of it. Presumably, these days folks are also glad to be spared from AI-generated garbage. And again, you can create your own webpage that’s all smallweb with pure HTML and whatnot, but anyone who actually wants to browse these pages has an easier time finding them on Gemini.
    • An own community. Of course, using a different communication protocol cuts off communication with most of humanity. But as a result, many folks on Gemini know each other and bother reading blogs that they might not have read on the HTTP side of things.
      Well, and through survivorship bias, folks on Gemini tend to be nerds who care about permacomputing and the like, so that also helps with finding folks that have similar interests, even if you might end up reading their gardening blog, due to the aforementioned point.


  • Yeah, always found that weird as a junior. I basically never touched the main-function, because well, it set up some fundamentals and then called some other function or created some objects and then I was tweaking things somewhere below that.

    Now that I’m a senior and taking over the lead of projects, I’m the person that touches the main-function and others generally do not. 🥴


  • There’s these “ontological arguments”, which are basically folks trying to prove the existence of a god by reasoning with pure logic, so without relying on evidence. And they all sound like that. 🫠

    One of the classics goes roughly like this:

    1. There is good and bad. (Which is one hell of an axiom.)
    2. A creature can exist which unifies all good properties. (Yet another hell of an axiom.)
    3. Because this creature has all these good properties, it would be even gooder, if it did exist.
    4. Since this creature unifies all good properties and its existence is itself a good property, it therefore must exist.

    These arguments are also always funny, because the same logic can be used to “prove” all kinds of things. For example, a perfect island can exist, therefore it must exist. 🙃
    As far as I can tell, the arguments don’t actually get better over time either, but rather just more convoluted, to make it less obvious how silly they are…

    https://en.wikipedia.org/wiki/Ontological_argument


  • At its core, SystemD coordinates and launches all the services in your operating system. So, it is essential for the boot process, but also does scheduling, meaning you could run a backup script every night with it, for example.

    That’s the simple answer. But in truth, SystemD is often criticized for doing too much, so it’s hard to describe what it really does. For example, you can also manage network interfaces via SystemD.

    Kind of the goal of SystemD is to provide common plumbing which works the same across distros, so that when you configure your services or network interfaces etc. on Ubuntu, it works the same as on openSUSE or Arch or whatever.










  • Ephera@lemmy.mltoProgrammer Humor@programming.devRelatable
    link
    fedilink
    English
    arrow-up
    4
    ·
    16 days ago

    Yeah, the latter is certainly a big part of it. The way to make it compile-safe is to use macros to generate code, so that my users can write e.g. Package::my_frontend.version and that gives them the version of their frontend package.
    Writing such macros, i.e. writing code to generate code, is certainly something I haven’t done a ton of yet, because you practically cannot justify doing that in an application codebase, only in a library, so it is new stuff that I learn.

    But well, you did already call it a “nice abstraction”, which is another big part where my excitement comes from and where I think, the special nerdery is necessary.
    Others might build projects which are visually tangible, like a sexy GUI, or which do something tangible, for example a colleague (who I will absolutely not deny his own special nerdery) is currently building a driver for a motor. If that driver works, you can see a motor moving in the real-world. Even non-nerds can at least tell that something is happening.

    But with my project, my success is that you can write Package::my_frontend instead of Package::from_str("my_frontend")?. And that if you rename the package to super_duper_frontend, that the compiler will tell you to fix the code rather than it only breaking once you actually run the build code for the frontend.
    No chance of explaining to non-coders why this is exciting or even just when you’re successful.


  • Ephera@lemmy.mltoProgrammer Humor@programming.devRelatable
    link
    fedilink
    English
    arrow-up
    48
    ·
    17 days ago

    On Monday, one of our students at $DAYJOB asked me what projects I do in my freetime. After I infodumped on her for half an hour, she asked in disbelief “And you do these in your freetime, without being paid?”.

    Like, mate, did you not listen how feckin’ excited I got just then? Of course, I do these in my freetime.

    To be fair, though, the last project I told her about is very dry. It’s a library to help automate CI builds. And the thing I’m thrilled to build is a compile-safe API for accessing the packages in your workspaces. Like, yeah, it does take a special kind of nerd to get excited about that…