cross-posted from: https://lemmy.blahaj.zone/post/20883609

show transcript

compiler-specific posts:
every software is like. your mission-critical app requires you to use the scrimble protocol to squeeb some snorble files for sprongle expressions. do you use:

  • libsnorble-2-dev, a C library that the author only distributes as source code and therefore must be compiled from source using CMake
  • Squeeb.js, which sort of has most of the features you want, but requires about a gigabyte of Node dependencies and has only been in development for eight months and has 4.7k open issues on Github
  • Squeeh.js, a typosquatting trojan that uses your GPU to mine crypto if you install it by mistake
  • Sprongloxide, a Rust crate beloved by its fanatical userbase, which has been in version 0.9.* for about four years, and is actually just a thin wrapper for libsnorble-2-dev
  • GNU Scrimble, a GPLv3-licensed command-line tool maintained by the Free Software Foundation, which has over a hundred different flags, and also comes with an integrated Lisp interpreter for scripting, and also a TUI-based Pong implementation as an “easter egg”, and also supports CSV, XML, JSON, PDF, XLSX, and even HTML files, but does not actually come with support for squeebing snorble files for ideological reasons. it does have a boomeresque drawing of a grinning meerkat as its logo, though
  • Microsoft Scrimble Framework Core, a .NET library that has all the features you need and more, but costs $399 anually and comes with a proprietary licensing agreement that grants Microsoft the right to tattoo advertisements on the inside of your eyelids
  • snorblite, a full-featured Perl module which is entirely developed and maintained by a single guy who is completely insane and constantly makes blog posts about how much he hates the ATF and the “woke mind-virus”, but everyone uses it because it has all the features you need and is distributed under the MIT license
  • Google Squeebular (deprecated since 2017)
  • hobbsc@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    7
    ·
    4 hours ago

    you folks are still scrimbling? hacker news says you can get much better results if you dronkle instead. in fact, you don’t even have to worry about your implementation, just use the kneeb.io api for all of your dronkling (and scrimbling i guess via their legacy api deprecated last month). they just got seed funding and they reinvested that into their infrastructure. this is a no brainer!

  • Corbin@programming.dev
    link
    fedilink
    English
    arrow-up
    8
    ·
    4 hours ago

    Yeah, writing your own squeeblerizer sucks, but there’s no better option. GNU Scrimble can be used off-the-shelf as a passthrough, so the only real tasks are implementing Squeeb’s algorithm and a sprongler; then, your entire pipeline is merely something like:

    $ gscrimble --passthrough --args -- ./your_squeeb | ./your_sprongler
    

    Edit: Whoops! Forgot to mention, GNU Scrimble also has Snorble support out-of-the-box, and Scrimble clients have content auto-negotiation, so your_squeeb can just take JSON on stdin. GNU Scrimble is really nice for this sort of thing, just…big.

    And if you want to sprongle directly into a database or etc. then you can write your_sprongler to taste. Full disclosure: I have a fairly fast implementation of Squeeb’s algorithm in rpypkgs. However, I’d really recommend writing your own; it’s like twenty lines of code you can copy from Wikipedia and it’ll give you a good basis for extending it with your own desired changes later.

    You can read snorblite’s code if you need to figure out a specific sprongling technique, but it’s way easier to just go look up the original SprongCode from SprongReg. Use a search engine to get around the university’s paywall. This gets you the SprongCode UUID and you don’t have to read code written by a batshit fascist.

  • rothaine@lemm.ee
    link
    fedilink
    arrow-up
    14
    ·
    5 hours ago

    I’m trying to use emscripten to compile libsnorble to wasm so I can use it in an electron app but it’s not working. Can anyone help me?

    “Just use squeeb JS lol”

    But squeeb.js can’t squeeb snorbles with Windows line endings!

  • casmael@lemm.ee
    link
    fedilink
    arrow-up
    5
    ·
    5 hours ago

    Congratulations on squeebling meme of the week - this one really sprangled my sprongle

  • Rusty Shackleford@programming.dev
    link
    fedilink
    English
    arrow-up
    59
    ·
    edit-2
    10 hours ago
    • libsnorble-2-dev, a C library that the author only distributes as source code and therefore must be compiled from source using CMake

    Of the available options, this is easily the best, since I can use my own compilation flags to tune the library for my specific target architecture/CPU which can possibly change as the deployment profile for the business case evolves. Assuming it’s OSS, I can also fork and adjust the library itself for said “mission-critical” use case.

    Also, the Google product being deprecated since '17 is too real 😅…

    • Ephera@lemmy.ml
      link
      fedilink
      English
      arrow-up
      10
      ·
      8 hours ago

      And here I would argue that the Rust library is strictly better, specifically because it will come with an automated or precompiled build of the C library. Compiling C is such a pain.

    • mkwt@lemmy.world
      link
      fedilink
      arrow-up
      12
      ·
      11 hours ago

      Also, on Gentoo Linux, there will be an ebuild that integrates all of the cmake options into the rest of the packaging system and manage the dependencies

      • Rusty Shackleford@programming.dev
        link
        fedilink
        English
        arrow-up
        3
        ·
        edit-2
        9 hours ago

        Any similar system for Kubuntu 24.04 LTS noobs/normies like me? I don’t know what “ebuild” is, but it sounds cool (of course, I could look it up, but I thought I’d just ask).

        I’m not a dev-ops dude, but for work, I develop parametric CAD solutions and generative DNNs for CAD. Lots of linear algebra and Pytorch on the GNU-Linux side; lots of Grasshopper for Rhino8 on the Win11 side. Hence, I use Docker to separate my experimental build environments from my production ones.

        I’ve been kinda maintaining my shit “by hand”, so to speak, for years now, and I think I’m ready for some automation in that regard.

        • Illecors@lemmy.cafe
          link
          fedilink
          English
          arrow-up
          2
          ·
          6 hours ago

          An ebuild is a definition - a recipe, if you will - of how a package is built from some source by portage, a Gentoo package manager.

          Very few things are trully impossible in linux land, but having multiple package managers on a single system is just asking for trouble.

          You could try setting up a gentoo prefix and get the benefits of portage that way, but I’ve not beem able to accomplish that the single time that I tried.

    • skip0110@lemm.ee
      link
      fedilink
      English
      arrow-up
      16
      ·
      12 hours ago

      Yup. If source is not available I’m not using it if I have any choice in the matter. Binary distribution is nice, but I’d rather have source.

      Plus I’m sure some kind soul has created a build pipeline that autogenerates binaries from the source. I can always either use that or clone and customize it. It’s a natural separation—as a dev I’d like my responsibility to end at “I merged working code to trunk”.

  • breakingcups@lemmy.world
    link
    fedilink
    arrow-up
    15
    ·
    11 hours ago

    All accurate, except the Microsoft one. Microsoft makes you pay for enterprise development tools, but not for libraries.

    • DokPsy@lemmy.world
      link
      fedilink
      arrow-up
      8
      arrow-down
      1
      ·
      10 hours ago

      So, while I agree on that part, the maintainer of snorblite is one step from getting shut down by the feds due to radical actions and an alleged affiliation to a known csa distribution network. As soon as he’s brought in for questioning, all data tied to his machines will be deleted and we’ll have to rely on forks of the library from previous versions with outdated dependencies.

  • Scoopta@programming.dev
    link
    fedilink
    arrow-up
    6
    ·
    11 hours ago

    I’d probably do libsnorble and then snorblite, mainly just because I prefer C, don’t mind source distribution and the rest sound cursed for one reason or another.

  • neidu3@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    8
    ·
    edit-2
    11 hours ago

    Snorblite, pecause I actally understand and can debug perl.

    Libsnorble as a close second.