- 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!
Furthermore, making Xlib compatibility interfaces should be pretty straightforward.
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?
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.
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.
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.)
Feel free to discuss whatever computer nerdery you want in here.
Anyway, time to engage in some Linux reeeing!
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.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.
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.And forget about Xorg. I really feel sorry for people who ever think they can ever replace it. It's not happening.
Furthermore, making Xlib compatibility interfaces should be pretty straightforward.
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.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.
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?
For all its faults, Java popularized a bunch of really important ideas.To be fair it's the same reason Java still exists.
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.
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.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).
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.
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.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.
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.)