The Linux Thread - The Autist's OS of Choice

  • 🐕 I am attempting to get the site runnning as fast as possible. If you are experiencing slow page load times, please report it.
I do wonder if this sort of pathway means they're going to potentially look into programs that rely heavily on IE/edge compatibility down the road (purely thinking of byond here tbh). It's doubtful given there's not many use cases for it these days but hey who knows
I hope the WINE project focuses on wacky Win32 draw APIs, to make sure newer versions of Paint.NET finally works without using a VM or second PC.
 
Have a look at the comment counts on Phoronix
Saying you "got cancer" from seeing something stupid said online is cringy as hell, but I do believe I got cancer after reading this.
1714828449975.png

Interesting thread. They linked to Google live-updating from red hat 7.1 to debian testing. I've previously live upgraded centos6 to 7 and to 8, as well as debian 9 to 10 and it was incredibly frustrating and complicated. I also failed on a few machines and had to just give up and reinstall from scratch, so I can't even imagine the pain they had to deal with.
I think I found their uesimilitudo

1714828500605.png

1714828459978.png

Or this Artim guy who looks like he's about to say he writes all his own programs and he doesn't even use cd
1714828928658.png

Look how many words they need to say "shut the fuck up, retard"
1714828750902.png

There's a couple of gays crying about being associated with the LGBTQ because they're not like the other gays
1714829035958.png


FINALLY, a man of culture
1714829762458.png

Putting this one outside the spoiler, seems pretty relevant to the discussion here too. While the guy is a sperg, I think he's right that the separation of concerns that's in Linux is a main feature of it.
1714829219967.png

When we talked about shells, someone here was championing this as a huge advantage of bash, and an excuse for very slow operations for e.g manipulating mass amounts of data, but this seems like a step outside that scope. This will bring in feature creep and a lot of dev time that could be spent on improving what is supposed to be an init system will be spent on a sudo replacement.

reporting people for derailing Windows threads
Both you and the angry mob above need to take mister The Creator's advice, ignore the retards and talk shit in your own threads
1714830827419.png
 
I got tired of gentoo and I was a long time user. Many packages are not well maintained and there is a lot of cruft and nonsensical dependencies that are a pain to sort out. If you try to run a minimalist system every update has the chance that some package or other suddenly pulls in half the repository because a maintainer got lazy and just copy pasted the ebuild file together. A lot of default configs are also utterly busted with the maintainer obviously having a poor understanding of the software he is maintaining. In theory it is good, in practice the quality went down in the last few years, or at least that was my impression. I got tired of having to do this small "what did they fuck up now" dance every update. I want my system to work, I don't want to custom patch ebuilds and write patches for GTK to remove redundant dependencies on things like udev because the maintainers are lazy. I use Alpine as a base now. It's very minimal and sane and even the distro maintainers' config- and init files are usually optional. (not the case with gentoo without jumping through a few hoops you might have to repeat on changes) I use busybox init+mdev+my self-written scripts on all my PCs. It is all I need. If I need a very default Linux for some specific software and glibc, I just put Debian into a namespace container and let the software connect to the running X Server. With a script, this is absolutely seamless and opaque in default usage scenarios. The memory consumption is higher than it would need to be but it is neglible, even with 8 GB of RAM.

Gentoo was good for a time when packages didn't have 30 buld time and 50 run time dependencies. This is not directly a Linux problem (although the way Linux Userland is traditionally done certainly worsens it), it's more of a "it's competency crisis time and programmers need 10 external libaries to figure out if a number is even or odd" problem. That said, I do miss gentoo's flexibility sometimes, especially in the seamless way you can apply patches to software packages and USE flags, but the disadvantages did not outweight the advantages for me anymore.

Linux actually has the capability to be delightfully simple, and that is the main reason I use Linux and Linux software. Trying to make it look like modern MacOS/Windows is not the path to simplicity, nor is it playing to the strengths of the operating system and the selection of good, simple and correct userland software.
 
Interesting thread. They linked to Google live-updating from red hat 7.1 to debian testing. I've previously live upgraded centos6 to 7 and to 8, as well as debian 9 to 10 and it was incredibly frustrating and complicated.

Moving my build chain from CentOS 8 to Rocky 9 was an absolutely infuriating experience.

While the guy is a sperg, I think he's right that the separation of concerns that's in Linux is a main feature of it.

But he's not right about Linux separating concerns. Linux is a monolithic kernel with an enormous amount of functionality rolled into it that isn't fundamental to an OS kernel. An obvious example is amdgpu; there is no equivalent in Windows kernel code. Supposedly, the Linux kernel has about 15x as much code as the Windows kernel because of this. Then add in glibc, which isn't part of the kernel, but is another system-essential library that you'd better not touch if you want anything to work. In Windows, I can ship whichever MSVC runtime my program needs. In Linux, I'd better have built against a glibc no younger than what your system provides, or forget it, it's not going to work. Same goes with the terminal - I'm not going to write every script my program relies on a dozen times to ensure every niche terminal alternative can run it. I'm writing it in bash and telling you to go fuck yourself if you don't have bash or a bash derivative installed.

The degree to which core functionality is not standardized in Linux makes it harder to support, not easier. The reason systemd took over is it unified a whole bunch of core functionality that wasn't in the kernel, which means now anyone developing software that needs to touch that functionality has a common standard they can rely on. Ironically, if it had all been in the kernel in the first place, nobody would be demanding to have ten different options.
 
The reason systemd took over is it unified a whole bunch of core functionality that wasn't in the kernel, which means now anyone developing software that needs to touch that functionality has a common standard they can rely on. Ironically, if it had all been in the kernel in the first place, nobody would be demanding to have ten different options.
systemd didn't standardise shit, though. What it did was take a bunch of previously separate sub-systems, where standardised behaviours already existed (udev, user management, logging, cron, and so on and so forth), and mangled them into a sprawling, intermingled mass of code, leaving a huge, vulnerable attack surface that didn't exist prior. Systemd is an ego trip by a man who was offended that his shit code was called out twenty years ago, who used his privileged status within Red Hat and his industry connections to ensure that any criticism of his project was shouted down and objectors harassed out of their positions, often with accusations of racism, sexism, or some other ism that was hard to argue against. The way it was forced into debian as the default, despite the majority of the community being opposed to that decision and through a rancorous, hostile decision-making process that ended with several resignations, should have been enough of a clue that its adoption was not organic and was driven by an agenda other than being "better".
 
systemd didn't standardise shit, though. What it did was take a bunch of previously separate sub-systems
...and unified them. That's what standardization is. You no longer have a huge number of independent systems, each with a variety of implementations and versions, which no, cannot all be guaranteed to work together in every possible permutation in the wild, and now you just have systemd.

the majority of the community being opposed to that decision

The vast majority of the community embraced systemd. The furious exodus to Gentoo didn't happen. Nobody organized a successful systemd-less fork of Debian, RHEL, or openSUSE. Turns out a few dozen angry people on a forum or listserv aren't representative of millions of people.

The attack surface whining turned out to be FUD. Mission-critical systems all over the planet run RHEL or Rocky, and when they do get compromised, it's the usual story, some sysadmin fell for a phishing attack. The heat death of the RHEL universe didn't happen.
 
Same goes with the terminal - I'm not going to write every script my program relies on a dozen times to ensure every niche terminal alternative can run it. I'm writing it in bash and telling you to go fuck yourself if you don't have bash or a bash derivative installed.
The shell has been standardized for a long while with adhering with POSIX. Just use a shell that is POSIX complaint and you'll have no issues. bash, sh, or zsh. If someone wants to use fish or tcsh they are on their own as they are intentionally not POSIX compliant, which they should have a good reason using. Any system that run fish or tcsh should have sh/bash installed anyways alleviating these issues.
 
You can write a system script in whatever language you want, as long as the target system has an interpreter, it is irrelevant. The shebang harkens back to the days of Richie. You can mark a text file as executable and put your text editor in the shebang and executing your text file will open it in the text editor, if your text editor is not super weird. sh should be the default (mostly because the language handles strings and external programs as first class citizens, which is handy when gluing them together) Bashisms and other 'isms should be avoided in system scripts anyways for the simple reason that you might want to change languages down the road and posix sh without any bash extensions is very simple and still quite powerful and supported by many different shells across different OSes. Gentoo had a neverending problem with this where many scripts in packages relied on bashisms to work correctly. As gentoo strives to be customizable and modular, this was not ideal as you could not have a system without bash. (I think you still can't. My Alpine system does not have bash) This was a good example for a thing you should do right from the beginning as fixing it later could become incredibly painful. An argument can be made for using a "heavy" non-standard shell for maximum user interactivity (and write user oriented tasks around that shells hopefully easy to use language) and do system scripts in sh, to get the best of both worlds. I tried this approach often but usually end up writing all in sh anyways. Hell, use a forth/lua/lisp/python REPL as your user shell if you want. Nobody is stopping you. The various shells with all their commonalities are just one way to interface with your computer, not the end-all. Hook up a telegraph key to your USB port and morse all your commands. Certainly possible.

I'm actually sitting a bit away from my computer and am typing this post on a "dumb" terminal that is hooked up to an eight bit system. I'm in the process of wiring an ancient french graphics chip to that system (yes, while it's running. Yes, this is ok) while looking at PDF datasheets on my computer and it got annoying to change chairs and move input devices if I wanted to try something on this computer or google something so I wrote a few forth words for this so I can always use the same keyboard for both. (it's easier to use the terminals' keyboard, space wise) One of that systems serial ports is connected via TTL-to-USB to my thinkpad which feeds my terminal input into a small C program that created a virtual keyboard via uinput. If my browser was terminal-based, that level of abstraction would not even be necessary with Linux. A lot of things Linux supports predate even computers having "graphics controllers" (like this 8 bitter for now) or, you know, screens. Memory used to be very expensive. Paper was cheaper.

You people need to relax a little. Computers are fun. Being knowledgable about what you are doing and not being dependant on companies with their own agendas to solve your problems is always a good thing. This should not be a controversial talking point on kiwifarms of all places, haven't we all seen companies and especially tech companies abuse their positions and power first hand over and over again? If you like systemd so much, then keep using it. Just be aware that that comes with a price. No such thing as a free meal. The more you lock yourself into solutions like this, the more difficult it becomes to break away from them if they end up doing something you don't like. That is also why alternatives and their continued existence are good. systemds active hostilty to alternatives and interfacing with them should give you pause, if nothing else. Even if systemd was the best thing since sliced bread and had absolutely no downsides whatsoever, the people involved with it and their continued, documented behavior would stop me from using it. Yes, Alpine is probably also full of trannies (not even checking, this just goes without saying these days) and people with opinions I don't like - the central difference is that Alpine doesn't try to become the absolute standard of all things Linux systems administration. For something attempting that feat, more scrutiny is advised and sysd just does not pass the smell test for me, and apparently not only for me.

Yes, this is one of my big-ass posts again. puzzle pieces etc.
 
Gentoo has multiple init systems to choose from because it's run by autistic, Stallman-worshipping speds. They make decisions for ideological reasons, not practical reasons.
The actual serious alternatives to sysvinit, like OpenRC, don't even require new init scripts. Because they're created by practical human beings who just want their system to boot a bit faster than sysvinit (and systemd), not psychopathic sexual deviants to want to make everyone's life worse..
If you have a serious performance problem associated with init, any init, your problem is the config, not the init itself.
Taking over populating nameservers and all the other cancers that Poettring has grafted onto systemd over the years has nothing to do with 'performance' or anything like that. He's just trying to make life worse for tens of millions of people.
 
I don't actually like the monolithic approach at all. I really hate how gcc is a symbiote on any distro. But that's because in FOSS world, either you have a free-for-all where you have zero control, or you have a monolith. If you need stability and compatibility to be assured, you roll things into a monolith. IMO, systemd has merely mirrored the Linux kernel here. The kernel is an insanely bloated monolith, but that's because you can't leave all that functionality to the free-for-all melee happening outside of it. systemd took a big chunk of the free-for-all, specifically most of the chunk that is needed to have a useable OS, and build another monolithic deliverable. There's nothing in between.

And, funnily enough, several of the essentials of the operating system are basically monoliths dominated by total cunts whose sheer force of cuntery battered their solution to success.

You need to execute code written in C. The monolith is gcc, the cunt is Richard Stallman.
You need to manage file systems, processes, and devices. The monolith is the kernel, the cunt is Linus Torvalds.
You need to start your system and manage services. The monolith is systemd, the cunt is Lennart Poettering.

Special mention goes out to GNOME, another bloated monstrosity that is run by some of the biggest cunts in all of computing.

Now that I think through it, I wonder if the lack of cash-paying customers and reliance of the space on nerds who make no money is why problems ultimately get solved by sheer force of will. Whoever (a) has a solution and (b) is willing to be a giant dick until he wins seems to be the one who is most likely to solve a problem in FOSS.
 
In Linux, I'd better have built against a glibc no younger than what your system provides, or forget it, it's not going to work.
I simply avoid the C language. Once a better language is situated on the system, these problems evaporate. At worst, a binding over some POSIX C language functionality not exposed to the better language can be written, ideally without any explicit C language code. I can write code in Ada, which has standardized mechanisms for binding to several other languages and representing data according to their ways, and avoid all of this horseshit with only a few bindings for the POSIX Sockets nonsense. If I wanted to port my code to MicroSoft Windows, I'd need only to replace the body of the network code package which uses my POSIX Sockets binding, if that.
Linux is a monolithic kernel with an enormous amount of functionality rolled into it that isn't fundamental to an OS kernel.
The microkernel approach is clearly the better way. However, the educated Internet commentator will realize that a microkernel is simply a stunted realization of the Object-Oriented programming model, twisted around the fact that C language programs want to pretend to have dominion over the world and therefore must be sequestered away in their own address spaces.
 
Gentoo was good for a time when packages didn't have 30 buld time and 50 run time dependencies. This is not directly a Linux problem (although the way Linux Userland is traditionally done certainly worsens it), it's more of a "it's competency crisis time and programmers need 10 external libaries to figure out if a number is even or odd" problem. That said, I do miss gentoo's flexibility sometimes, especially in the seamless way you can apply patches to software packages and USE flags, but the disadvantages did not outweight the advantages for me anymore.

Linux actually has the capability to be delightfully simple, and that is the main reason I use Linux and Linux software. Trying to make it look like modern MacOS/Windows is not the path to simplicity, nor is it playing to the strengths of the operating system and the selection of good, simple and correct userland software.
Another former Gentoo user here. For a time it was my primary OS but I spent too long fiddling with it compared to using it. This was back when I got a particular kick out of being able to compile everything with flags specific to my hardware and produce a kernel that was 2KB smaller than the more generic one, or however much I could get it down by. Ah, happy days. I still have an affection for it but not so much that I can't laugh at things like this:


Putting this one outside the spoiler, seems pretty relevant to the discussion here too. While the guy is a sperg, I think he's right that the separation of concerns that's in Linux is a main feature of it.
1714829219967.png

When we talked about shells, someone here was championing this as a huge advantage of bash, and an excuse for very slow operations for e.g manipulating mass amounts of data, but this seems like a step outside that scope. This will bring in feature creep and a lot of dev time that could be spent on improving what is supposed to be an init system will be spent on a sudo replacement.
LOL! That shell discussion was my fault. In a degree of naivety that I should no longer be capable of I thought it would be fun to compare Powershell and Bash. Actually, come to think of it I was responding to someone saying how they preferred Linux because it had a shell so maybe it wasn't my fault. But yes, that was a weird "advantage" to champion. I think I noped out of the debate when someone declared Bash was more powerful because someone had 'written a Minecraft server in it' - then linked to a blog post which was mostly someone trying to figure out how to handle bytes in Bash (which PS has native types for).

@The Ugly One is right - SystemD was needed. That doesn't mean it's good. Only that it's the only thing meeting the need.
 
Taking over populating nameservers and all the other cancers that Poettring has grafted onto systemd over the years has nothing to do with 'performance' or anything like that. He's just trying to make life worse for tens of millions of people.
Dear god, the first time this happened to me I was supremely pissed off.
Install system, ping "myfileserver" Host Not Found, fine ping "myfileserver.domain.com" Host Not found.
How the fuck do you break DNS so bad and ignore my DHCP provided DNS servers?
(Checks into it)
Christ, stop going to the fucking Internet for DNS. I have a local resolver to stop you wasting cycles going to the Internet for local names or names in cache.

Fucking systemd systemd-resolved.

I think this stupidity has been somewhat rolled back as newer installs seem to work 'right'.

But don't ask how I feel about DNS over HTTPS.
 
The other thing that systemd has totally broken. Time.

DHCP has a flag to send a NTP servers to the host just like DNS servers.

systemd systemd-timesyncd in many vendors distributions totally ignores this and uses vendor.pool.ntp.org.

Which fucking pisses me off as I've spent a lot of money to run a local Stratum 1 NTP server(nearly $75...) and it's totally ignored. And after a presentation years ago where a public NTP server was DDOSed off the net due to this stuff, which lead to pool.ntp.org I try and be a good net citizen and use public NTP as little as possible.

Sadly this isn't just systemd-timesyncd but Windows and Mac seem to do the same most of the time.

So I have 3 NTP servers allowed to reach the Internet, the Stratum 1 Pi as well as my router and file server.

There's a 2 prong approach to 'fixing' everything else. The router redirects any other connection to 123/UDP to itself for time service. And all the usual public NTP servers (*.pool.ntp.org time.windows.com time.apple.com) are DNS forwarded to the local servers.

So, fuck you systemd-timesyncd
Server: 192.168.1.15 (2.debian.pool.ntp.org)
 
The unanticipated attack on Free Software which RedHat SystemD, Google Chrome, and other malicious programs exploit is to accrue too much code for anyone to make changes. It's perhaps not entirely unanticipated, as RMS used a similar approach to protect GCC, but it's become very obvious in recent years.

The only escape is to remove as much as possible. Give up on browsing the WWW with a good machine, as an example.
You and I will both die before C/C++ does.
That's true of every programming language that has ever existed. Aids and polio will also outlive us.
 
The other thing that systemd has totally broken. Time.

DHCP has a flag to send a NTP servers to the host just like DNS servers.

systemd systemd-timesyncd in many vendors distributions totally ignores this and uses vendor.pool.ntp.org.

Which fucking pisses me off as I've spent a lot of money to run a local Stratum 1 NTP server(nearly $75...) and it's totally ignored. And after a presentation years ago where a public NTP server was DDOSed off the net due to this stuff, which lead to pool.ntp.org I try and be a good net citizen and use public NTP as little as possible.

Sadly this isn't just systemd-timesyncd but Windows and Mac seem to do the same most of the time.

So I have 3 NTP servers allowed to reach the Internet, the Stratum 1 Pi as well as my router and file server.

There's a 2 prong approach to 'fixing' everything else. The router redirects any other connection to 123/UDP to itself for time service. And all the usual public NTP servers (*.pool.ntp.org time.windows.com time.apple.com) are DNS forwarded to the local servers.

So, fuck you systemd-timesyncd
Server: 192.168.1.15 (2.debian.pool.ntp.org)
The thing that we must all remember, is that when you are talking about systemd, it really is a case of that gay poem of Niemoller, but for real.
  • Poettring came for a functional init and readable debugging system, and you weren't using that anyway?
  • Poettring came to destroy standards on the population of /etc/resolv.conf, and you weren't affected?
  • Poettring came to destroy standards on how NTP is handled, and you don't really care if computers on your network have their RTC set several minutes apart?
Well bully for you. But if you still want to actually use your computer in any way, POETTRING IS COMING FOR YOU NEXT. It can't be bargained with, it can't be reasoned with. It doesn't feel pity, or remorse, or fear. Only hatred for computer users. And it won't stop until it's killed.
 
Back