this might be a hot take but the Unix philosophy leads to software that is unusable for non-technical people because instead of running one program which comes with a sane default configuration you have to install and configure an entire fragmented ecosystem of programs and then maintain that ecosystem over time
@kasdeya especially true 'cause of how tightly integrated The Unix Philosophy™️ is with the CLI
i kinda take it for granted that i can just easily do things on the cli and having to help friends out with their linux issues is a big reminder that, oh right, sudo btrfs rescue zero-log /dev/nvme0n1p3 is incomprehensible nonsense to most people
@eclairwolf omg yes. a while ago I boosted a post saying that the year of the Linux desktop will be 20 years after you can install and run Linux without ever opening a terminal. I think Linux’s reliance on its CLI is shooting itself in the foot massively when it comes to wider adoption - and when you tell a lot of Linux People™ that they act like you just blasphemed their sacred bash scripts lol
@kasdeya I don't think it has to be but there are definitely ways that people think it has to be done that are effectively for only the technically literate. Like Suckless which actually sucks because it's just hard coding your settings. Why??
@kasdeya @eclairwolf the reliance on the CLI is largely a failing of the UI ecosystem. Nothing really works quite right. The only reliable tool is CLI. It's been improving, getting much better. Ubuntu is effectively there for an average user experience. But only Gnome has so far managed to pull it off, or at least be close to it. That's probably because of their own contribution standards.
I love KDE but for all it's neat features, it's dealing with a lot of problems. Discover is still not quite an adequate Appstore solution. I still fallback to CLI because Discover fails me too often.
@shijikori I hate Suckless so much omg. even setting aside the “Suckless devs are nazis” part it still sucks because of like, the entire philosophy lol. unless someone just really likes C and wants a tinkering project which is totally valid - but if so I’m sure there are better options than nazi code
but yeah it baffles me. I think some people just value the aesthetics of minimalism or “de-bloating” so highly that practicality takes a backseat
@kasdeya a Linux OS for Anbernic handhelds that I have contributed to takes a hard stance approach on the "one thing that does it right" and the "Keep It Simple Stupid"... It's actually remarkable it works as well as it does because the UI is a bunch of separate binaries... The init system is just a bunch of shell scripts because the lead dev hates SystemD (and I guess on a weak device like an Anbernic, there is a bit of a point but you could still at least use the init system FFS). I made one big contribution to help with a problem they have created by doing things their way.
I have not been motivated to do much with it anymore. The Lead Dev is a cool dude but fuck... Shell scripts aren't adequate solutions for an entire init system. There's a bunch of weird problems. They don't even trust fstab... fstab
@kasdeya [tangential] yesterday we rediscovered the "many small programs" thing in minecraft by realizing it's easier to have several spell constructs that each do a simple thing than to have one that does all the things
@transoptimal omgg yeah I’ve been thinking about doing this. I’ve been having a really hard time using the fold glyph for iteration because I often have to smuggle multiple values into the accumulator value, since Trickster has no concept of “get this variable from the parent namespace”
and I’ve been thinking about making my very first callable scroll be some kind of abstraction that does this for me automatically
@kasdeya oh yeah the fold smugglestruggle is real,,,, when we need to do that we usually just make a custom iterator with recursion lol
btw we have a wand that reads a spell from offhand and calls it (with pointed block as argument). then we can just hold scrolls in the offhand and use that to cast them
also theres the distortion of closure (under spell distortions iirc) that lets u map keys to values in a spell
im curious what kinda parent namespace abstractions you'd come up with,,
#MinecraftTrickster might as well start using this tag :)
@transoptimal omgg I noticed the Distortion of Closure before but didn’t think much of it. but your explanation has me really interested to try it sometime. I feel like it could actually be really useful as a way to have constant values that I can easily reference anywhere in my code
also it’s smart having a wand that provides the pointed block! my eval wand still gives the function itself as its first argument, even though I now handle that inside of my scrolls. but giving the pointed block would actually be so nice for really simple spells like “break this block” or “heat this block”