Monday, November 30, 2009

How we can once again become UNIX-ish

Eleven is Louder writes about the unix philosophy and linux today. Well, hes right and wrong, but mostly he misses the point!

As a programmer, atleast for me, the Unix philosophy is more about making the programmers life simple by making the tools "ortagonal" and standardizing the interfaces on read/write semantics, then it is about the command line interface.

Of course we can have a modern system based on those ideas! For example:

Sound: Instead of this horrible buggy complex mess that is alsa+pulseaudio, we can archieve the same thing, today, with OSS4¹ and NFS, SSH or Samba. And we get portability, higher quality mixing, lower latency and an easier programming interface for free.

KIO-slaves: Whats the point of of the KIO subsystem when FUSE exists? NIH in all its glory. Fortunatly KIO-FUSE exists, so you can access a textfile inside a tarfile on a remote webdav share with any program, not just KDE centric ones.

X: Lets drop the whole mess! The only thing it does nice is forwarding, but even that is botched compared to what it could be! Try using it without a hacky NX server over anything but a local link and you know what im talking about! Wayland seems like a clean codebase to replace it with, and it can even run X within itself!
But even Wayland dosn't adhere to the Unix philosophy: the way to do X unixy would be to make every application window a bitmap, toolkits into generators of bitmaps, all manipulated by unix tools like imagemagick, which in turn can be accelerated by opengl/cl. All shared over NFS, Samba or SSH.
Check out plan9 from bell labs, its in many ways the successor to Unix.

Then of course there is uzbl, etoile, gobolinux....

We can have a modern system, based on the spirit of the Unix philosophy!

¹ Not the OSS of the 90s. Yeah, it sucked, get over it.

Very late edit: I have since learned that my own experience of sound networking only worked by dumb luck, and wouldnt in reality. Still, the P9P networkprocol for device sharing could be ported.


  1. Ford here, (author of Eleven is Louder) I understand what you're saying. I like what you're saying. I agree with what you're saying. The problem I have with saying things this way, is that I am not trying to talk to programmers exclusively. End users really do not understand, want to understand, or care how difficult it is to write a program. They only want to use it. The way I approach the UNIX philosophy is therefore from the end user perspective, and more over trying to explain why the other aspects of UNIX are so amazing.

    On another note, have you seen MicroXwin? Most of it is closed-source but it performs well, and it is X11 compatible.

  2. Cool man, think were on the same page. 'Cause isnt the point of making the programmers life easier to get them working more efficiently, to advance the state of linux for the user?

    But on the other hand, Unix from an enduser perspective? Most do not care about the ease of making scripts, or learning 100 different dash-settings for 25 tools, 10 of them having different options manipulating the same thing...
    Have you read the Unix Haters Handbook? =)

    Yeah ive seen it, not had time to try it tho, is it any good?