Computer nerdery (operating systems, programming, etc) - INSTALL GENTOO

Marvin

Christorical Figure
True & Honest Fan
kiwifarms.net
Joined
Feb 9, 2013
Some computer nerdery came up in the Linux lolcow community thread, and there was some legitimate stuff I wanted to discuss, so I'm making a thread.

Feel free to discuss whatever computer nerdery you want in here.

Anyway, time to engage in some Linux reeeing!
Linux is an absolute mess. I could go on about it's horrible design, technical details. awful ecosystem. POSIX itself is a mess, but Linux really makes the shit shine.
Firstly, people complain about Windows being "legacy". Linux is a younger operating system and yet that has more legacy design choices, not to mention it uses POSIX which is horribly out of date.
I would imagine you understand that POSIX is merely an API spec. You don't "use" POSIX, you merely expose a POSIX compatible API. How you actually implement it is your business. It's why there's POSIX compatibility for Windows, for example.
And forget about Xorg. I really feel sorry for people who ever think they can ever replace it. It's not happening.
Oh I really doubt that. Ten years ago, I would've said the exact same thing about streaming video to browsers using anything else but Flash, yet here we are. It's even easier to replace Xorg because almost no one actually writes code directly using Xlib, they all use wrappers like Gtk, Qt, SDL, etc. All of those libraries support Wayland.

Furthermore, making Xlib compatibility interfaces should be pretty straightforward.
Monolithic kernels are horrible. People who think they're good only think so because they're "faster". They're not faster. They're faster under POSIX because, of course, POSIX has a terrible message-passing system.
This certainly isn't true. Bringing data across process boundaries will always have a cost. You can argue about whether or not that cost is justified, but to be sure, it does exist.

Ultimately I would agree that smarter kernel designs are preferable. But I think it's a pretty obscure conversation, outside of a few, highly specialized topics.

If you're writing typical server side software, your kernel doesn't matter. If you're writing mobile software, your kernel doesn't matter. Hell, even if you're writing low level raspberry pi code, everything gets exposed to you as generic unix file handles anyway, so again, the kernel doesn't matter.

It maybe matters if you're handling a data center and need to save a few percent a year. Maybe. And in that case, it's going to be much easier to find Linux programmers to modify the freely available Linux kernel to get what you need. If you do it right, you'll probably get your changes into the mainline kernel.

Like, at the point where you start needing to care about the kernel, you might as well start considering all sorts of batshit, obscure OS ideas. Hell, why not GNU Hurd? Or Plan 9? Or Lisp machines?
To be fair it's the same reason Java still exists.
For all its faults, Java popularized a bunch of really important ideas.

Java the language wasn't actually a terrible language in its time (or even nowadays). It was like the Python of its day... I'd describe it as milquetoast.
However, they're also extreme hypocrites, because Linux is massive, it's so big the only people who can proper modify it anymore are actual corporations like Red Hat and Canonical (who made Ubuntu).
Nonsense. Anything is possible if you try. People who believe that challenges are perpetually over their heads are probably not suited for a career in computers. They lack ambition.

And the Linux kernel is a softball pitch project to get into. Everything's excessively documented and available, in English, for you to download and fuck with.

Consider Con Kolivas going from zero programming knowledge to getting into buttmad flamewars with the kernel mailing list over scheduler benchmarks.
If Windows was a generally better operating system in all respects, all the world's fastest supercomputers would be running it. Use of Linux extends outside a community of niche enthusiasts.
Linux is public property, essentially. It's big, does 90% of what you need it to, and it's not hard to pay people to adapt that last 10%. Nothing else has the momentum that Linux does.

There's a reason why Docker is natively available for Linux, but not on OS X yet. (Maybe there's native Docker for OS X by now? No clue.)
 
I'll be honest I could have written that post way better but I'm not drunk right now so I'm pretty much retarded.

You make very fair points but I was talking about the more practical side of things, rather than theoretical.
All I'm saying is, NT has a better architecture. It doesn't mean Linux is a trainwreck (even if I consider it to be one from my own personal prospective), it's just better designed is all. And I personally really hate dependency package managers.
Anyway lemme just get drunk real quick and I can have a proper discussion on this shit.
 
Honestly I'm pretty sure Windows isn't used on supercomputers because the Server editions cost literally thousands of dollars. I'd even use Linux if it meant I didn't have to buy Windows Server. But I pirate it anyway so it doesn't really matter to me.

The largest supercomputers cost tens or even hundreds of millions of dollars. I'm finding it hard to believe that a money crunch is stopping the people who decide what to run on them from choosing the best product.
 
The largest supercomputers cost tens or even hundreds of millions of dollars. I'm finding it hard to believe that a money crunch is stopping the people who decide what to run on them from choosing the best product.

Alright, to be fair, I fucked up there.
I can definitely see why you wouldn't use Windows on a massive supercomputer. Personally, I don't quite understand why they use Linux. I'd really just go with an RTOS, unless they modified Linux to be an RTOS. You can modify Windows to be an RTOS too (there are actual corporations who do this legally by selling a customized HAL.DLL), but to be fair, I can see a modified Linux being much more lightweight.
Again, I'd really rather go with a custom RTOS, but I guess the IT departments usually are Linux fans and prefer to just use what they're familiar with.
 
And I personally really hate dependency package managers.
Dependency package managers are pretty dogshit, but they're kind of making the best of a bad situation.

Docker's philosophy of "fuck it, install everything" has been more appealing to me recently. Next time I rethink my computer setup, I think I'm just going to run my software using things like docker and 0install.
 
If I might wade into the sperg pit, I think the OS wars are about as silly as the waifu wars, though with operating systems you can at least argue legit pros and cons about things in the real world.

Linux is, by design, a jury rigged box of various lego pieces you put together however best fits your needs then you do what you gotta do.

It's clunky for noobs and horribly inefficient if you don't want to have to worry about tweaking everything to death to make it work, but if you need to do some things Windows sucks at or can't do well at all, Linux is worth it for that alone.

Windows was made for the average idiot who isn't the type who wants to have to literally cobble all the parts they need together and instead wants the project already assembled. It's not as customizable and can't do certain things Linux has Windows beat at hands down (certain web apps will never run well at all in Windows, and servers will never be as good on Windows as on Linux), but it has the advantages of being a lot more stable and built more for the average person's needs.

Alright, to be fair, I fucked up there.
I can definitely see why you wouldn't use Windows on a massive supercomputer. Personally, I don't quite understand why they use Linux. I'd really just go with an RTOS, unless they modified Linux to be an RTOS. You can modify Windows to be an RTOS too (there are actual corporations who do this legally by selling a customized HAL.DLL), but to be fair, I can see a modified Linux being much more lightweight.
Again, I'd really rather go with a custom RTOS, but I guess the IT departments usually are Linux fans and prefer to just use what they're familiar with.

Actually, this makes a lot of sense. Linux was created to be like UNIX, which itself was written for supercomputers, and Linux offers several things Windows is bad at offering, like very exactly defined permission levels for certain types of access, cannot be tweaked as minutely as Linux to handle certain applications like mentioned above that would not be as efficient and would require more overhead on Windows, and a lot of specific code that was written to be cross platform starts with Linux in mind, so if you want to be able to have a master computer that can talk to many others more efficiently, it's best to start with a Linux computer as the master computer instead of Windows.
 
Last edited:
  • Informative
Reactions: grumbleBum
Linux is great in many ways, but it really, really fucks me off when I have to piss around with new applications compiling and installing from source, especially when the documentation is shite.
 
I’d just like to interject for a moment. What you’re refering to as Linux, is in fact, GNU/LInux, or as I’ve recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX.

Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called “Linux”, and many of its users are not aware that it is basically the GNU system, developed by the GNU Project.

There really is a Linux, and these people are using it, but it is just a part of the system they use. Linux is the kernel: the program in the system that allocates the machine’s resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the GNU operating system: the whole system is basically GNU with Linux added, or GNU/Linux. All the so-called “Linux” distributions are really distributions of GNU/Linux.
The most I've done with Linux was install Debian on a virtualbox. It's not too bad, and some things are done better than Windows. Apt-get is probably one of the best features.
 
  • Like
Reactions: Marvin
Linux is good in it's own right, but it certainly orientated towards the OS hobbyist. That's why I love Linux on raspberry pi machines because they go hand in hand.

On the flipside, windows is good if you don't want to jump through hoops just to get shit done.

OSX is good if you want street cred in your local Starbucks and vegan meetings.
 
Linux has a big advantage in software development, even over other *nixes. I've seen people release software as UNIX or POSIX, even, that just blatantly make use of Linux-only APIs. They just assumes it's standard and no one notices until the BSD people complain about it.

OS X is popular among silicon valley / west coast programmer types, for a good reason: it's a solid *nix with an UI that's not shit (compared to linux). But still, the development environment leaves a lot to be desired compared to just running Linux. All the cutting edge stuff comes out on Linux first. Like how they don't have native Docker on OS X yet. (Last time I checked, anyway.)
 
OS X is popular among silicon valley / west coast programmer types, for a good reason: it's a solid *nix with an UI that's not shit (compared to linux).

It's a coherent, more or less unitary whole, compared to the anarchic mess that is Linux. I'd say it's a lot closer to being a "real" Unix than Linux ever has been. NeXTSTEP was awesome and ahead of its time, and OS X took off from there.

I don't see how anyone can seriously talk shit about it.

But still, the development environment leaves a lot to be desired compared to just running Linux.

They're actually overtly hostile to any developers they don't directly control. It's actually surprising that there's any kind of active community porting things to it but there is. Even more than being pretty, overpriced hipster bait, this is why Apple has always perversely driven away people who might otherwise have been its proponents, and why you're left with mindless rah rah fanboys like John Flynt, who contribute even more to the perception of their products as only being for douchebags.
 
It's a coherent, more or less unitary whole, compared to the anarchic mess that is Linux. I'd say it's a lot closer to being a "real" Unix than Linux ever has been.
OS X actually is a by-the-book Unix.
NeXTSTEP was awesome and ahead of its time, and OS X took off from there.
The choice of Objective C was a huge boon there, I think. I don't think NeXT would be nearly as influential as it was had it gone with C++ (and certainly not C).
They're actually overtly hostile to any developers they don't directly control. It's actually surprising that there's any kind of active community porting things to it but there is. Even more than being pretty, overpriced hipster bait, this is why Apple has always perversely driven away people who might otherwise have been its proponents, and why you're left with mindless rah rah fanboys like John Flynt, who contribute even more to the perception of their products as only being for douchebags.
It's extremely difficult to develop iOS stuff outside of OS X. Heh, I was kind of excited when they were talking about releasing a Linux version of Swift, just so I could contribute to the iOS version of a project I was working on. (Our frontend developers were absolute clowns, so I was going to write a frontend wrapper to our web API.)

Turns out the Linux version of Swift was complete garbage back then. I'm sure it's improved since then, but probably not by much.
 
  • Agree
Reactions: AnOminous
Gonna start off with: I've had a few drinks.

But like, has anyone in here implemented a quadtree?

I've done that shit a million times, and everytime I do, it's very soothing. It's a very comfortable sort of mathematical efficiency. And it feels even more crisp if you can minimize the amount of code you copy and paste.
 
Back