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)
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?
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
I felt that in my bones.
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.
We need something like SI units in programming.
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
Shout out to the random GitHub user that would periodically fork my college project about a Pizza shop’s inventory system and translate everything to Chinese.
This happened more than once? Or what dies periodically mean in this context?
I really wish I’d saved it or something, but I think it’s lost to time. They did it once, then it disappeared, then it reappeared later. My best guess is that they used it for a second assignment/portfolio or something.
Hahaha
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.
Smh at DiCaprio Devs. The project gets too old, they jump ship.
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.
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.
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.
This problem right here is why the entirety of containerization was invented.
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?
Bro forgot Squeeb4J
didn’t that have a vulnerability that let hackers remotely impregnate your wife?
You’re thinking of Poly4J’s infamous wife’s boyfriend bug
The documentation was totally clear that calling
squeeb
would do that, and the official sample code only calledsqueebWithACondom
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 toprintf
in C, everyone accepted it was the application’s fault for usingprintf
irresponsibly.
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
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.