• 14 Posts
  • 105 Comments
Joined 1 year ago
cake
Cake day: December 28th, 2023

help-circle

  • This is such a stupid take. Gui obscures the thing that you want to do behind endless buttons and menus and some bullshit that some self-proclaimed “user experience engineer” thought would be “intuitive”. With cli it’s like you’re talking directly to the computer. Want to stop the networking service? service networking stop. Couldn’t be simpler!

    Also fun fact, Linux has a “wireless devices” tool, command line one and it uses device ID to apply it and the fucking ID changes every time for the device so you can’t make a permanent setting.

    Are you talking about rfkill? Strange, for me the ID’s don’t change. But even if they do for you, what’s stopping you from getting the ID just by grepping for the device name? Something like rfkill list | grep YOUR_DEVICE_NAME | cut -d ':' -f 1 | xargs rfkill block.








  • Just fucking putting data into json files in a folder is so much easier than databases. Sure, databases are faster and give you access to powerful SQL queries. But if you’re just making something small and simple, you don’t need those things. Save yourself the hassle and just use the filesystem.

    Or use minio/s3, which can either be the best or the worst of both worlds depending on your usecase.





  • But being too rigid with letting stupid opinions of a project’s founder cause you to reject everything, would have you miss the big-picture benefits of having such a project exist

    That’s the truth. The reason online “communities” constantly argue and never get anything done is because everyone is focused on not doing the wrong things that they forget about doing the right things. A while ago I saw a post making fun of some chuds who compiled a list of “woke” video games that they wanted to boycott. The people in this thread deciding to leave proton because its ceo said something positive about trump once don’t strike me as much different.


  • The .net-ification of *nix just seems bonkers to me.

    It IS bonkers. As a case study, compare the process of setting up a self-hosted runner in gitlab vs github.

    Gitlab does everything The Linux Way. You spin up a slim docker container based on Alpine, pass it the API key, and you’re done. Nice and simple.

    Github, being owned by Microsoft, does everything The Microsoft way. The documentation mentions nothing of containers, you’re just meant to run the runner natively, essentially giving Microsoft and anyone else in the repo a reverse shell into your machine. Lovely. Microsoft then somehow managed to make their runner software (reminder: whose entire job consists of pulling a git repo, parsing a yaml file, and running some shell commands) depend on fucking dotnet and a bunch of other bullshit. You’re meant to install it using a shitty setup.sh script that does that stupid thing with detecting what distro you’re on and calling the native package manager to install dependencies. Which of course doesn’t work for shit for anyone who’s not on debain or fedora because those are the only distro’s they’ve bothered with. So you’re either stuck setting up dotnet on your system, or trying to manually banish this unholy abomination into a docker container, which is gonna end up twice the size of gitlab’s pre-made Alpine container thanks to needing glibc to run dotnet (and also full gnu coreutils for some fucking reason)

    Bloat is just microsoft’s way of doing things. They see unused resources, and they want to use them. Keep microsoft out of linux.


  • No, sorry. I’m a python dev and I love python, but there’s no way I’m using it for scripting. Trying to use python as a shell language just has you passing data across Popen calls with a sea of .decode and .encode. You’re doing the same stuff you would be doing in shell, but with a less concise syntax. Literally all of python’s benefits (classes, types, lists) are negated because all of the tools you’re using when writing scripts are processing raw text anyway. Not to mention the version incompatibility thing. You use an f-string in a spicy way once, and suddenly your “script” is incompatible with half of all python installations out there, which is made worse by the fact that almost every distro has a very narrow selection of python versions available on their package manager. With shell you have the least common denominator of posix sh. With Python, some distros rush ahead to the latest release, while other hang on to ancient versions. Even print("hello world") isn’t guaranteed to work, since some LTS ubuntu versions still have python pointing to python2.

    The quickest cure for thinking that Python “solves” the problems of shell is to first learn good practices of shell, and then trying to port an existing shell script to python. That’ll change your opinion quickly enough.





  • Better would be to leave the 1970s and never interact with a terminal again…

    I’m still waiting for someone to come up with a better alternative. And once someone does come up with something better, it will be another few decades of waiting for it to catch on. Terminal emulation is dumb and weird, but there’s just no better solution that’s also compatible with existing software. Just look at any IDE as an example: visual studio, code blocks, whatever. Thousands of hours put into making all those fancy buttons menus and GUIs, and still the only feature that is worth using is the built-in terminal emulator which you can use to run a real text editor like vim or emacs.


  • People keep on telling me that python is a “scripting language” but honestly I would rather use the shoddiest and most barebones shell you would give me than python if I had to make a script. It all boils to interfaces, and there are more programs, libraries, and daemons that have a shell interface as opposed to whatever other “better” language there is out there. Trying to write scripts with Python or ruby or whatever will just boils down to plumbing data between external programs in a less succinct syntax. What good is type safety, try/catch, and classes if all the tools that you’re using are taking in and spitting out raw text anyway?