So, some back story. (And when i mean "some" i mean "about 10,000 words worth"--feel free to skim a bit)
A while back--around last Christmast time, in fact--i had some computer issues. My video card cooked itself, my network card suddenly and inexplicably went dead, and my Windows install exploded violently and took out all my partitians and made the whole machine unbootable by randomly scrambling the disk. All within the space of a single week. (And no, these were not related--it was entirely coincidental
)
Fortunately, xfs_repair is like a tiny god that looks over its domain--which is the xfs filesystem. I ran that and all my (xfs) filesystems came back, minus a couple gigabytes of not inconsequential data that were too broken for even this program to repair. I still can't get Windows to re-install on this damned machine and i have since given up bothering. It is like a tiny cactus i have no intent of swallowing.
But i was busy, and didn't have time to totally fix my Slackware install so i just left it; until last week, when i began the process of rebuilding a fully-functional slackware.
This is when the hurting started.
Once upon a time i was new to Linux and decided on Slackware, as opposed to Mandrake/Red Hat/Debian/etc (i'm particularly including Debian in this one) because it just worked. Now, that probably seems an odd way to describe Slackware--a distribution with a reputation for being incredibly hard-assed and unwilling to do anything for you, but that's sort of the whole point. It did exactly what you told it to--no more, no less.
Now, certainly, there were times when it would have been nice if the thing had done
more than it was told to--if it automatically handled dependencies like Debian (now possible, to an extent, thanks to the porting of various configuration tools) or if it automatically detected and configured hardware like Red Hat. On the whole, however, i found it was the only distro that i could actually use without going schizophrenic trying to keep track of it all.
But now, i fear, the experience is something else entirely.
So, back on track, last week i installed the 10.2 version of Slackware, because it's shiny. Mostly, it worked quite nicely. I had to do a bit of tweaking to make it work precisely right, and i of course had to install a bunch of other stuff (ie, enlightenment) because i can't tolerate some of the defaults, but everything worked.
Then i decided to install the 2.6 Linux kernel. Specifically, i downloaded 2.6.16.20.x.y.z.9999.wtf.why.are.there.so.many.numbers, or something reasonably close to that in any event. It's true that Slackware comes with its own kernel, but it's 2.6.13--a scary and bad version that is known to eat babies and stab pretty boys.
So anyway, i did the usual kernel install routine--which i have been doing for years--and much to my surprise, it didn't work. Instead, the thing threw a kernel panic on boot for no apparent reason. So i scoured the internet--on a different machine, since even compiling the source code broke the internet capabilities of the default slackware kernel due to module bullshit--and tried to find out why it was broken. Apart from people who didn't know what they were talking about insisting i had accidentally forgotten to include XFS support in my kernel, which would have made the thing unbootable since it couldn't access the partition it was on--which i most certainly did
not do--nobody even really had a clue what was happening. And we're not talking a few people--no, this was several forums and IRC channels dedicated to Linux.
It turns out, as i had discovered in the past but had since forgotten, that if you use the kernel's gconfig (as oposed to the xconfig or some other config) it simply will not work. It will turn out a broken kernel, every single time. At least, that's what happens for me. Using an essentially identical configuration, the kernel worked just fine.
Or rather, i should say it "worked just fine" until i actually got it booted up.
After boot, my internet stopped working and my video card stopped working and my sound card stopped working. They simply no longer work. Oh, i can see them and stuff with lspci and all the usual stuff people on forums and IRC suggest you check. They certainly
appear to be working fine. But upon careful inspection, it should be obvious that they are not working at all. (You know, "careful inspection" like trying ot access a web page or listen to music or start X.)
Nothing i have tried--no invocation of saint or devil--has managed to restore these things to working order. (Admittedly, i haven't been focusing on the video aspect because, as i remember, it takes a bit of cleverness to make it work to begin with.) In fact, when i went back to booting the old 2.4 kernel it turns out these things had stopped working in 2.4 as well. I have managed to get internet access again--but not audio, and not video acceleration either.
So i decided it was maybe Slackware not getting all of the stuff that it needs--that Slackware has some particular demand the default kernel does not fulfill. So, after noticing Slackware had a 2.6 option, i tried that. Installed a new copy of the OS and picked the 2.6 kernel this time.
Much to my dismay, this worked
even less than the previous efforts. See, the Slackware 2.6 does not come with the kernel modules or the source or configurations or (in fact)
any part of the kernel other than a bzImage. Instead, it comes with the 2.4 versions--which are decidedly incompatible!
Well, after kicking this around a bit i decided to retreat back to 2.4-land. Maybe, i figured, i would have more success getting other things going.
Oh, how wrong i was
I tried to get x.org 7.1 working--Slack 10.2 comes with 6.8.2, which is functional but not as neat. However, x.org is now distributed in
one billion files, which you must download and install all separately as far as i'm aware. Why is this? I looked around the x.org site (and ones focusing on x.org), but to no avail. There was some talk about a switch to "autotool"--but no talk about how to actually use this damned software, which is actually a step back from before--they used to actually link a howto, in case you needed some hand-holding. I suppose someone might come in here and point to one thing that makes it all make sense--but the x.org web page sure as fuck doesn't, and why not? Are links too expensive for them? Did they have a pixel shortage this year?
But anyway, i gave up quickly on that because--as mentioned--x.org 6.8.2 is perfectly reasonable.
Onto enlightenment. I installed e16, which went fine. That's not my complaint here. My complaint is that i installed e16, rather than e17. This is--basically--the exact same version of the software i used when i first started using Linux. It is, i believe, over a decade old. What is wrong with this picture? At one point, the enlightenment crew had at least a half-assed justification: e17 was going to be such a gigantic step forward it simply required a lot of time and care to be put into developing it.
That might have been true five or six years ago. It is not true today.
Did you know they're already starting development of e18? I'm sure it'll be a fantastic program--in 2299, the year it will actually be released!
Then there's gtk. Now, i like gtk. I really do. Except for theming it.
The default theme is garbage--it's win-3.1 era stuff. So i went and got some themes. However, all of the good themes require things called "theme engines". So i went and downloaded those. Things were going well up to this point... but then i tried to install the theme engines.
I do not believe, and will not believe, that anyone has actually successfully installed a gtk theme engine. Ever. Not a single person. It is an utterly incomprehensible process, and not helped by the fact that there's basically no help to be had if you have trouble installing these things. (Not that this is surprising, since--as i continue to maintain--nobody has ever actually done it.) You go and install it--and
if it compiles--it just doesn't work. Why? Who knows! The entire thing is arbitrary. There is no sense to why any of it happens. Neither, of course, is any of this documented in a sensible manner. In fact, as near as i can tell, it's not documented at all.
Sure, i could read the source code and figure it out that way--but the source to the configuration script
alone is over 22,000 lines long.
No joke.
Don't believe me? Try this on for size:
$ wc configure
22709 82770 731744 configure
Why? What could possibly justify this? It's not as though we're dealing with such an amazingly complex thing that it simply requires that much code. You can write entire kernels in fewer lines than that--and that's just to configure the damned thing! And this is just for themes!
Twenty-two thousand, seven hundred nine lines of configuration file for a theme.
2.2*10^4
So what happens when i go point this out to someone?
"Oh, you need to use the gnome configuration utility to install theme engines."
Say
what?
I thought gtk was supposed to be--i don't know--sensible and/or cross platform?
This isn't that, this is howling-at-the-moon insanity! It is easier to
write a program in gtk than it is to install a new gtk theme.
I have to download Gnome--a gigantic program i don't really care about--because i have to use gconf--a configuration program notorious for
not working--so that i can install a theme engine so that i can install a theme? For real?
There is apparently no other way to do it--but why? Why does installing a theme require me to download a more-or-less unrelated piece of software that is fucking gigantic and otherwise useless? Whose bright idea was this? This isn't smart, it's the fucking Microsoft model! "No, you can't read that .doc document, you have to buy a $500, 700 mb program to read it even though it's basically plain text in a fancy dress."
I could go on--believe me, i could go on and on about dozens more examples exactly like this--but i promised to keep it under a few thousand words and i want to get to the point.
======================================
If you skimmed down from the top, you should stop here!
======================================
What's going on, here? It's not me--i've had a lot of experience with this stuff and it should not be rocket science, in any event. Hell, i get rocket science. This is Cthulhuian gibberish. The King In Yellow could not inspire as much madness as this. You want to know why more people don't use Linux? It's because it has apparently been designed by an Elder God of horror.
It wasn't always this way, but at some point it stopped being not-this-way and became this way.
The problem is that this software all sucks. I will go farther: the problem is that it sucks and nobody is willing to admit it.
Even ESR admits Linux software has become so incredibly ridiculous that he, too, can't get it to work all the time and he does this stuff a whole fucking lot.
If there were anywhere else to go--some other operating system that made sense--i would gnaw my own leg off to get out of this disgrace.
Sure, i'm downloading some new distributions to test out but i don't expect it'll work any better. It'll only take fewer commands for it to not work--just "apt-get it-isn't-going-to-fucking-work-and-you-know-it" instead of "./configure;make;make install".
There's no excuse for this mess. It doesn't take that much effort to
not make a fucking maze of twisty pasages, all alike.
We can do better.
But, right now, it looks like things are going in the other direction.
(Incidentally, for those who wonder why this is in the debate club, i want someone to come in here and say "No, you're all wrong--it makes perfect sense because of [totally logical reasons x, y, z, etc]!" Of course, that isn't going to happen because
i am right! But i've never stopped that from letting people who are wrong argue with me before. There're also implied questions, like what would be better? How
would a "fixed" system look? Why hasn't anyone done this before? Etc. I know some of these answers, but not all.
Also, i'm doing this so i don't wander into some Linux conference and take a chainsaw to everyone responsible for this garbage.)