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)
  • Fontasia@feddit.nl
    link
    fedilink
    arrow-up
    3
    ·
    55 minutes ago

    Oh God, I’ve come across this post trying to package Snorble for Windows as an Intune package, does anyone happen to know the switches to get it install silently?

  • _____@lemm.ee
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 hour ago

    I’m at the phase where I’m reading constant blog posts about how libsqueeb2 sucks with metrics supporting them but the guy writing the blog post is also writing libsqueeb3 but it hasn’t seem an update for months. you really want to migrate to libsqueeb3 for various reasons but youre unsure about the state of the project, but for now you use libsqueeb2 while stalking this mysterious open source blogger

  • JackbyDev@programming.dev
    link
    fedilink
    English
    arrow-up
    3
    ·
    3 hours ago

    If I can easily call Squeeb.js from the command line, then I’m using it. I’m assuming this is something I need to do once and never again. That’s my view of the hypothetical, at least. Definitely not using a c or rust library. GNU Scrimble is tempting. I honestly might try it first. I can just see myself getting lost and frustrated by the weird syntax of flags and lisp.

    I’ll probably have to sit there and remember how to install something to use through the command line from npm. I’ll likely have an existential debate about whether it try yarn or not. I’ll see where the project is now and if npm still sucks. Then I’ll remember npx vaguely and try that. I’ll get all of this set up and leave it in my rc files only to forget what it all is the next time I need to squeeb a snorble or use any Node cli stuff.

  • pixeltree@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    32
    ·
    7 hours ago

    Obviously you use a half implemented java wrapper for libsnorble-2-dev that was a students practice project 4 years ago that they left public on github

  • affiliate@lemmy.world
    link
    fedilink
    arrow-up
    7
    ·
    6 hours ago

    sprongloxide might be the first rust crate i’ve heard of that’s reached version 0.9. my experience has usually been that the projects die and get forked due to infighting or loss of interest before reaching v0.6.

  • AnyOldName3@lemmy.world
    link
    fedilink
    arrow-up
    51
    ·
    9 hours ago

    Someone’s clearly confused GNU Scrimble, and Scrimble for Windows, a fork of GNU Scrimble which makes no changes to the program itself, but has an overcomplicated installer that provides a stripped-down MSYS2 environment which only includes GNU Scrimble’s direct dependencies (which turn out to be about 90% of a full MSYS2 install, excluding only the package manager, update system, and a few key Unix tools you’ll only realise aren’t present if you start using Scrimble Bash as your daily Bash shell and run a script that uses a POSIX-mandated but rarely used utility, and also awk for some reason, which causes problems squeebing certain file formats until you download an awk binary from the upstream MSYS2 project).

    As a true Unix Philosophy application, GNU Scrimble itself wouldn’t integrate extra features that should clearly be standalone applications like a Lisp interpreter, Pong implementation, or wide file support. Instead, it calls the existing Lisp interpreter, Pong implementation, and various tools to convert file formats into intermediate text representations that can be parsed through an unholy mix of grep, sed and awk that all GNU-based operating systems must always provide. After all, it’s better somehow to call a bash script that runs some awk snippets so your dependencies are only expressed at runtime than it is to link with libjson-glib.so.

    • JackbyDev@programming.dev
      link
      fedilink
      English
      arrow-up
      2
      ·
      3 hours ago

      Hey, I use Scrimble for Windows’s MSYS2 environment as a daily driver. It’s pretty useful until you have to deal with something like docker which suddenly expects Windows style paths.

  • collapse_already@lemmy.ml
    link
    fedilink
    English
    arrow-up
    60
    ·
    10 hours ago

    In my experience, the c library also depends on several additional libraries which is fine except it needs version 5.0+ of a library that you’re already using 3.4 of. The APIs for the library have been significantly changed, a function in the library that you heavily use has been deprecated, and upgrading to use it is more work than just implementing the desired feature yourself. The manager who suggested the library thinks you are overstating the amount of work using it will require and thinks technical debt is the money he still owes the Indian subcontractors.

  • fool@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    28
    ·
    edit-2
    9 hours ago

    No, no, it’s fine – I saw a Python2 sample squeeblimator that was never fully fleshed out. I just need to rewrite it… dodge the deprecations… use a few list comprehensions…

    The next dev 5 years in the future: wtf is this?

      • AnyOldName3@lemmy.world
        link
        fedilink
        arrow-up
        4
        ·
        4 hours ago

        The documentation was totally clear that calling squeeb would do that, and the official sample code only called squeebWithACondom for that exact reason except for one sample specifically illustrating the remote impregnation feature. It’s not Squeeb4J’s fault that third parties made tutorials with security holes, and it was irresponsible of the tech press to blame them. It wasn’t Dennis Ritchie’s fault when people demoed exploits in software that passed user-provided format strings to printf in C, everyone accepted it was the application’s fault for using printf irresponsibly.

  • luciole (he/him)@beehaw.org
    link
    fedilink
    arrow-up
    21
    ·
    9 hours ago

    Ahah fuck it I’m taking the worst decision: I’m grabbing that hermetic spec, I’m cannibalizing every other implementation under the sun and I’m writing my own. Because you only live once

  • Gork@lemm.ee
    link
    fedilink
    arrow-up
    12
    ·
    edit-2
    8 hours ago

    Every time I squeeb a snorble it results in a lot of internal cursing when the sqawk doesn’t compile and I get 50+ error messages.