Now things are just getting stupid.
quote:
I happen to believe that the #1 problem with Unix usability is X. It has far outlived its usefulness. It gets in the way with progress. It''s architecturally ugly and unnecessarily complex (I can''t think of many people in their right mind who''d rather program with Xlib than even Win32).
The only problem with usability in X right now is that you can start it without Gnome or KDE. It''s too minimalist to be useful out of the box.
No one actually does program in Xlib anymore except the people who write Qt and Gtk. I don''t know what you mean by "architecturally ugly and unnecessarily complex", but you''re probably wrong. X''s architecture is simple:
Local client -> network loopback -> X server
Remote client -> network -> X server
quote:
But now, it''s incredibly important to provide users with a consistent interface, which require the windowing system to implement both. Otherwise, we''re stuck with the current mess of 1,000,000 different possible GUI''s.
No, it''s not important to provide users with a consistent interface. It''s important to provide users with whatever GUI they want. It is, in most cases anyway, their computer, after all. IMNSHO, people should pick one UI and agree to put it on by default under all distributions, and anyone with the know-how to switch is welcome to do so.
quote:
In my humble opinion, Unix has existed longer than it technically deserves to. In many ways, it reminds me of x86 architecture in that it is very respectable in what it can do, but leaves a lot to be desired in how it actually does those things. The architecture of the typical Unix operating system is frightfully unchanged from its early days. In fact, even NT has a more "modern" kernel than the typical Unix (of course, it must be noted that I''m talking about the NT _kernel_, which has nothing to do with Windows or even Win32).
If by "modern" you mean crappy, then you would be correct. The NT kernel pays lip service to modern microkernel architecture, but doesn''t even come close to QNX or the Hurd. So many superfluous things are added to the NT kernel that it''s almost a farce to even claim it''s a "micro" kernel. (there are other aspects of microkernels that make it more than just fat vs. skinny -- message passing and such are different between micro and macro kernels)
As for the rest of the Unix architecture, point out some concrete problems with it. Sound difficult? There''s now alsa. Printing? CUPS. /dev is gibberish? Use devfs. Graphics? X. But X doesn''t use...? Yes it does, it just uses an extension for it.
quote:
1. The notion that Linux developers should focus on a kernel and let others deal with higher level modules. This causes a great deal of incompatibility and generally crap software. An OS is a lot more then just kernel and the right thing to do for Linux developers is design a set of standard APIs and let others write software for them. An example is a huge amount of incampatible GUIs.
There''s going to be some point at which you have to say "Okay, here''s the API. Anything beneath this API is my territory, and anything above it is your territory". The linux developers have chosen to draw the line so that they have a manageably small territory.
The standard APIs you''re talking about is called POSIX, except where things like sound fall outside the scope of POSIX.
quote:
2. Function names like "fork" may have been fine forty years ago, but they are not fine today. It''s about time a new set of APIs was designed and old APIs were depricated.
You mean god handed down a new set of commandments and we didn''t get the memo? Commandment 1: Thou shalt not use short function names.
Please elaborate.
You didn''t actually think it meant a 4 pronged decimeter-long utensil made of stainless steel, did you? Fork is perfectly descriptive of what''s happening. Two copies of the same process are made, and fork() returns from those processes with different return values -- for the parent the pid of the child and for the child, 0.
quote:
3. Why does one need to compile the drivers into the kernel in order for them to work efficiently?
It''s called context switching. In order to preserve the integrity of the kernel''s memory space (i.e. prevent malicious programs from tampering with it), the kernel needs to ensure that its own memory is not accessible from user-space programs. Then, in order to switch between kernel-space and user-space, these protections need to be switched on and off. This takes a little bit of time. Obviously if it happened more often, then it would take more time.
Anyway, many people like it that way. The FSF likes it because it ensures that drivers are GPL''d.
quote:
4. A common configuration standard (XML anyone?) must be enforced in order to ever design good config tools.
It''s happening, albeit slowly, and probably won''t ever happen with some things (small projects maintained by one person, for which very little setup is needed). Things like Apache and Samba will probably get around to it. XFree86 might, if it catches on, and if the problems with development are worked out.
quote:
Gentoo is the only distro that seems to give me this ability
Well, this is a property of source-based distributions. Others include Sorcery and its forks (Lunar and Source Mage).
quote:
That Gentoo is efficient i have no doubt about it, but i don''t know how it can be more usable than the others... after all, X, Gnome, KDE, they''re all the same no matter which distro you use.
Well, not quite. I use a source-based distribution (Source Mage), and my Mozilla''s different from yours because it''s compiled with gcc 3.3 (gets rid of that bug that prevents optimization of the JS code), and I can select exactly the things to compile in (which is basically everything, but I *could* deselect things if I wanted.)
In addition, things are newer in source-based distributions because incrementing a version is simpler. (most of the time, just increment the version number in a script, at least in sorcery and its forks)
quote:
Linux 2.4 is stable!
Well, techically. The early 2.4 kernels were called "the Kernel of Death" because they weren''t as stable as expected (2.4.0 was less stable than 2.2.0, for example). About 14 minor versions later, it''s no longer the kernel of death, and is, in fact, quite stable.
quote:
With bloated distros there are so many useless dependencies that if one package goes wrong, you can say good bye to your entire system.
Yep. Thank goodness for cast --fix (which is, I''m told, the leg Source Mage has up on Gentoo). Ah, the fond memories of forcing a glibc upgrade and watching everything down to ls break.
quote:
With my default Mandrake install, KDE just doesn''t work (shows me a red screen), Gnome is also very buggy. If one app crashes, I have to kill X and restart it. This does not usually happen to Gentoo installs from what I''ve heard.
Dang. That''s one buggy setup. I''m pretty sure gdm acts as a watchdog these days (notifies you when an app crashes). With Gnome-1.4 (I''m now on 2.2), this happened all the time. Now it doesn''t happen at all (granted, more has changed than just the version numbers)
quote:
What''s so bad about X? I know its performance is not the best, but... is there anything else X sucks at?
Yep. Being well liked
X is bad because people with experience with windows like to complain about the absurdity of a vital system being run through the network (In linux, the loopback (127.0.0.1) is always on. In windows when you have no network device installed, the loopback is not functional). X is bad because it does half-hearted attempts at drivers, rather than just not doing them at all. (if X did not attempt them, people would complain that no driver exists. Since X does attempt them, people think the whole of X is buggy slow, and bloated.) Even the difference between an old official Nvidia driver and a new official Nvidia driver makes a world of difference.
X is not slow -- I can launch Mozilla while compiling the kernel and mozilla will load, download, and display a page before IE''s splash screen would have disappeared in Windows. (gotta love these compiler optimizations, brand new Nvidia drivers, and up-to-date mozilla)