July 22, 2000

Advogato Entry 6

4:00 AM

Can't really sleep for some reason. I guess it's all these thoughts I'm having about Linux, ease of use, and whatnot. ``GNU's Not Unix'' I think people forget that. Some think it's just a play on words, but I believe it. There's no reason why it shouldn't be true -- all of the `true' Unices I've dealt with have been annoying as hell. I love a lot of the GNU stuff. I can't live without GNU fileutils. I need bash. I love the Linux kernel (especially /proc ;-) Though I can't say I get along well with Emacs..

I posted a rant about crappy text editors to my local LUG's mailing list. Again. I think I've done it several times before, and each time I say how much I want to get away from pico and start using something decent. {g}vim is fairly nice, but there are some things I just don't like. Of course, it doesn't help that `true' vi sucks goats (especially for those with Dvorak keyboards), so none of this does me any good if I have to fix something on Solaris, for example. I was wondering if maybe there should be a system-wide file for common keybindings..

I wish I could go through every type of package and find the best one. What's the best text editor? Eesh. The best mailer? Do we need elm? mail? pine? The `best' ones probably haven't been created yet, but I really don't want to start these religious wars all over again. Maybe we should use Roxen instead of Apache. Perhaps there's an up-and-coming SQL database that's way better than PostgreSQL and MySQL. Should everything in Linux be re-written to be object-ified, so it's even easier to make complex and powerful programs from small parts? And why the hell am I running i386 binaries on an AMD K6-2?

So many questions, it all makes my head spin. There's no need for a Linux kernel-based OS to behave much like Unix at all, is there? Can we move beyond pipes to more advanced types of message passing, or do we always have to use Unix or TCP/IP sockets to communicate between local programs? Blah, I wish I knew more of the answers..

On a somewhat more serious note, would it be a good or bad idea to make devices directly accessible through some sort of /dev/bus/{usb,pci,i2c} hierarchy? Most of the PCI devices tell you exactly what resources they use, right? So, can you create generic devices that allow direct access to memory and registers. That way, programs like X don't need to be suid root (if the /dev/bus/pci/1/0.0 AGP video card is writable by the user), and no real video drivers have to be in the kernel.. maybe. But it might allow for neat tricks like setting up eth4 before eth[0123] by directly accessing the device.. It would certainly allow for more user-land development of drivers before trying to implement the same functionality in the kernel. I suppose there has to be some gatekeeper functionality, so it probably all depends on whether or not you can generalize that sort of thing.

If I was a kernel hacker, maybe I'd actually know this stuff. Right now, I have to be content to be one of those annoying `brainstormers' that don't have enough time/talent/knowledge to do this on their own. Sorry if I got anyone's hopes up...

Posted by mike at July 22, 2000 02:30 AM | Old Advogato Diary , Software , XFree | TrackBack
Comments