Currently I do not have a favorite flavor of linux, because I now dislike them all. Briefly, I liked Arch. It is pretty nice. Here's the problem.
I moved to Arch hoping to solve my problem where wanting to do something (i.e. write code for android phones) requires that I install some software, which in turn requires that I upgrade something, which in turn requires that I upgrade something else, and then all of a sudden the five programs I use daily are broken and I have a new desktop manager that I hate. This is why ubuntu sucks.
I switched from Arch because the people are not dumbasses and it gives me more flexibility AND most importantly, the Arch people don't fuck with the packages like the ubuntu people. So when you install Firefox on arch, you get the real firefox, and not some special ubuntu version that is incompatible with the internet. I was able to install xfce painlessly and everything worked, unlike ubuntu. Unforunately, on Arch, you can't just upgrade a single package--thats not supported. You are supposed to do an "all or nothing" upgrade. This is still ok, but here's where the problem comes in.
There are often changes that require the user--me--to manually tweak something. In the middle of an upgrade. I can just be all like "go upgrade yourself" to arch, because it keeps coming back with "ERROR! I dont know what to do about this file!" and then I have to google the error (like "Pacman filesystem: /etc/mtab exists in filesystem"). The first result I look at happens to be the one where cranky people are yelling at someone for not googling the error and telling them they should have read some [now] ancient news post that they don't provide a link to. Fortunately there is usually enough information for me to go figure out what to do, but it is a manual process, and I believe that I should have to do anything manually for the filesystem to continue working.
So that got me thinking: what would be a good distro? Here are my thoughts:
Tenets of a Linux Distro that I Don't Hate
1. Design for Linux users who know how to use a computer. This means: don't copy Apple, don't copy Microsoft, and don't try to invent your own dumbass interface with icons large enough for the legally blind. Try to make it simple and clear for the user to take control and change everything to his liking. Remember that the user is unlikely to marry your distro, and that, by definition, and intelligent user will not commit to using only your distro, because intelligent people are the opposite of angry fanboys.
1.b. The terminal must be a First Class application. We do not hide it in menus, or try to pretend that using a linux computer is unrelated to typing. Anyone who does not understand that the default state of interaction, and the true power of the computer exists in the form of a typed conversation between the user and the computer has absolutely no business using a linux distro for smart people. They should be using a linux distro for dumb people (ubuntu) or a mac, or a chalk board or something.
2. Do not presume to know better than the user. Ever. Since my tastes in computer software are impeccable--a sort of digital paragon--and I am the user, it should go without saying that the user knows best. It is unacceptable to choose default mail and browser programs that happen to be shittly little open source projects that no one has heard of. If you must choose a default, choose the most popular, like Firefox, and stay the hell away from whatever the package maintanance nerds think is the best.
3. The desktop manager--the pieces that handle the X server and window management should support multiple desktops, and both mouse and keyboard input. Almost every linux box you are likely to run into in polite settings will have an interface similar to gnome2 or xfce. You might as well just start with XFCE, and let the user opt in to bloated options like Gnome or KDE or the super gay shit that the Ubuntu asshats invented. Furthermore, recognize that both the mouse and the keyboard have a place when you are using your computer in a graphical environment. People who think that a graphical, not-a-command-line environment, should be navigated by a keyboard alone 100% of the time have a fundamental misunderstanding of what a graphical environment provides. These people should not be allowed to work on any portion of the linux distro for smart people, and they should not be allowed to join the forumns or really talk to anyway, anywhere, ever.
4. Recognize that there is no way out of dependency hell. The choices you make will never solve it; they will only choose the manner in which this hell manifests itself. Admit this, and then chooses a strategy that minimizes effort required on the users part, while also giving them access to the most recent stable pieces of software available.
5. If I needed to, I could figure out how to hack or patch the kernel, choose a different scheduler, tweak video drivers, spend 4 hours researching an incompatibility with x.org and a widescreen monitor, memorize all of the refresh frequencies, choose the best compilation flags for a desktop computer, manually install a bootloader and manually configure a printing subystem and network shit. Yeah. I'm a smart guy. I could do all that. But I DONT FUCKING WANT TO. I want my personal computer to just work. My personal desktop is not a science project; it is a tool that I use every day to work and communicate with people. I can constantly be digging into its virtual guts in order to tweak something. If there is a known compatibility fix, deploy the hack for me. Don't make me go searching. However, remember #2 and don't start throwing in shit just to make things sparkle. I should spend my days wondering who that girl was that I saw in the elevator today. I should NOT spend my days wondering if buying a new video card will make this strange CPU problem with X.org go away (it didn't).
6. Be popular. The linux distro for smart people needs to be popular enough so that if I have a problem, I can google it and be 99% sure that someone else has already experienced this problem and fixed it.
Thanks to #6 right there, I don't even have to fact-check to tell you that there is no distro on the planet that satisfies all of these criteria, because I already know which ones are popular, and they fail. For the record, ubuntu fails the hardest.
Based on my experience, and because Arch is already installed on my computer and I dont feel like changing it, I am going to say that Arch Linux comes the closest. Nevertheless I will be judging every linux distro, everywhere, but the tenets I just laid out. If you disagree with me, you're wrong.
Actually now that I think of it my new Apple laptop also comes close.
[Edit]
Note to self: my previous notes are here:
http://blackdiamondsandpowerchords.blogspot.com/2011/07/how-to-unfuck-your-system-after.html
http://blackdiamondsandpowerchords.blogspot.com/2011/05/decrapifying-ubuntu-11whatever.html
Re-enamble keyboard shortcuts in xfce: "Appplications Menu" - "Settings" - "Keyboard" - "Application Shortcuts"
You have to use "/usr/bin/terminal" for the command.
[Edit]
Android App Ideas
-personal scrum (multiple topics)
-chris' wedding idea
-space game (with that secret thing
-lego brick database
-movie game
Subscribe to:
Post Comments (Atom)

No comments:
Post a Comment