Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

The UNIX way

Name: Anonymous 2013-02-09 19:27

What's so cool about the UNIX philosophy? What would a heavy UNIX philosophy operating system look like? What is the most heavy UNIX philosophy operating system out there at the moment, besides UNIX itself?

Name: Anonymous 2013-02-09 19:29

Define your terms, unless you like being confused by the answers.
The answer is always Plan 9, but the reasons vary depending on what you think constitutes the Unix philosophy.

Name: Anonymous 2013-02-09 19:31

Name: Anonymous 2013-02-09 19:32

How does the GUI work in Plan 9? I can't imagine a GUI system that works in a way UNIX puritans would approve of, though maybe that's because X has warped my mind.

Name: Anonymous 2013-02-09 20:25


IMAGINE AN OS WHERE YOU CAN DO ANYTHING YOU WANT
AS LONG AS YOU COMPILE THE SOFTWARE YOURSELF
AND RUN IT ON A VT220
THAT'S THE UNIX WAY

Name: Anonymous 2013-02-09 20:35

There should be a documentary on Unix.

Name: Anonymous 2013-02-09 20:40

>>4
Three button mouse, all the apps happen to be ACME. Every mouse button does one thing in ACME: select text, execute command and load file. I think Oberon had a similar GUI workflow.

Name: Anonymous 2013-02-09 21:04

>>1
The big thing about UNIX and Unix-like systems is the insistence on decomposing the entire system into small components with a lightweight interface. You can contrast this with IBM (or to a lesser extent, Windows) systems where programmability requires interfacing with a large, inflexible framework of some kind. On UNIX, you just reach into the guts and pull out what you need. Some people will emphasize text orientation as a major component of this, but it's really just the way interaction is typically enabled.

>>4,5
Yup. The big evolution is that you can easily yank text around both the shell and the editor to mung and re-execute. There's no more struggling with screen or the X clipboard to move text somewhere for a one-off job. All your interaction with the system is still defined by the text, but you now have less friction involved in designating what text to use.

Name: Anonymous 2013-02-09 21:27

>>7
I understand how it works from the user's point of view (and I think it's pretty neat, actually) but how is it organized? Graphical objects aren't text or files. You can't pipe them or manipulate them in the same way you can with everything else in UNIX (or am I wrong?)

>>8
struggling with screen or the X clipboard
I also wish they'd implemented that better. The X clipboard feels too ``meta''.

Name: Anonymous 2013-02-09 22:14

>>9
Interactive data like GUIS or network devices that postdate Unix are really where it falls down, hard. Every system in common use gave up on providing a unified model for these; you have to use an API of some sort (Xlib, Berkeley sockets) to talk to them.

Plan 9 ``solves'' the problem by allowing any component (not just the kernel!) to expose itself as a file system. So, for example instead of doing an API call to change the contents of a window you can just open the file that represents its contents and write to it.

Name: Anonymous 2013-02-09 22:23

>>6
>There should be a documentary on Unix.
Here is an one: http://www.youtube.com/watch?v=tc4ROCJYbm0

Name: Anonymous 2013-02-09 23:36

GNU > UNIX

Name: Anonymous 2013-02-10 0:58

>>12
LLLLLEEEEEEEEEEEEEEEEEEEEEEEEEEELLLLLLLLLLLLLLLLLLLLLLLLLL
>EGIN LE SAGE!
>LE FAGGOT
>EGINGOINGWINZIMSIN GRO!!!!! XDDDDD

Name: Anonymous 2013-02-10 4:17

>>11
Thanks a mega.

Name: Anonymous 2013-02-10 4:18

>>14
LLLLLEEEEEEEEEEEEEEEEEEEEEEEEEEELLLLLLLLLLLLLLLLLLLLLLLLLL
>EGIN LE SAGE!
>LE FAGGOT
>EGINGOINGWINZIMSIN GRO!!!!! XDDDDD

Name: Anonymous 2013-02-10 12:37

>>10
Plan 9 ``solves'' the problem by allowing any component (not just the kernel!) to expose itself as a file system. So, for example instead of doing an API call to change the contents of a window you can just open the file that represents its contents and write to it.
That sounds like a good idea since the tools and ``interfaces'' are already there, but it seems kind of superfluous. On the back end of things, wouldn't it just be running some system call or library function I could have ran directly instead of accessing through a file?

Name: Anonymous 2013-02-10 13:26

>>16
nigga the only api u need is

open()
read()
write()
flush()
close()
ioctl()

Name: Anonymous 2013-02-10 13:29

Powershell.

Name: Anonymous 2013-02-10 13:31

>>16
Perhaps, but that way it's guaranteed standardisation across the whole system. Consider how different image libraries each have different interfaces - with plan9, this would not be the case. You'd just choose an image format and the resulting library/file operations would be identical.

Name: Anonymous 2013-02-10 13:34

>>18

d8888b.  .d88b.  db   d8b   db d88888b d8888b. .d8888. db   db d88888b db      db           d888888b .d8888.                       
88  `8D .8P  Y8. 88   I8I   88 88'     88  `8D 88'  YP 88   88 88'     88      88             `88'   88'  YP                       
88oodD' 88    88 88   I8I   88 88ooooo 88oobY' `8bo.   88ooo88 88ooooo 88      88              88    `8bo.                         
88~~~   88    88 Y8   I8I   88 88~~~~~ 88`8b     `Y8b. 88~~~88 88~~~~~ 88      88              88      `Y8b.                       
88      `8b  d8' `8b d8'8b d8' 88.     88 `88. db   8D 88   88 88.     88booo. 88booo.        .88.   db   8D                       
88       `Y88P'   `8b8' `8d8'  Y88888P 88   YD `8888Y' YP   YP Y88888P Y88888P Y88888P      Y888888P `8888Y'                       
                                                                                                                                   
                                                                                                                                   
 .d8b.  d8888b.  .d88b.  db    db d888888b       .d8b.  .d8888.      db    db d88888b d8888b. d8888b.  .d88b.  .d8888. d88888b     
d8' `8b 88  `8D .8P  Y8. 88    88 `~~88~~'      d8' `8b 88'  YP      88    88 88'     88  `8D 88  `8D .8P  Y8. 88'  YP 88'         
88ooo88 88oooY' 88    88 88    88    88         88ooo88 `8bo.        Y8    8P 88ooooo 88oobY' 88oooY' 88    88 `8bo.   88ooooo     
88~~~88 88~~~b. 88    88 88    88    88         88~~~88   `Y8b.      `8b  d8' 88~~~~~ 88`8b   88~~~b. 88    88   `Y8b. 88~~~~~     
88   88 88   8D `8b  d8' 88b  d88    88         88   88 db   8D       `8bd8'  88.     88 `88. 88   8D `8b  d8' db   8D 88.         
YP   YP Y8888P'  `Y88P'  ~Y8888P'    YP         YP   YP `8888Y'         YP    Y88888P 88   YD Y8888P'  `Y88P'  `8888Y' Y88888P     
                                                                                                                                   
                                                                                                                                   
 .d8b.  .d8888.         d88b  .d8b.  db    db  .d8b.        .d8b.  d8b   db d8888b.      d8888b. db    db       .d8b.  .d8888.     
d8' `8b 88'  YP         `8P' d8' `8b 88    88 d8' `8b      d8' `8b 888o  88 88  `8D      VP  `8D `8b  d8'      d8' `8b 88'  YP     
88ooo88 `8bo.            88  88ooo88 Y8    8P 88ooo88      88ooo88 88V8o 88 88   88        oooY'  `8bd8'       88ooo88 `8bo.       
88~~~88   `Y8b.          88  88~~~88 `8b  d8' 88~~~88      88~~~88 88 V8o88 88   88        ~~~b.  .dPYb.       88~~~88   `Y8b.     
88   88 db   8D      db. 88  88   88  `8bd8'  88   88      88   88 88  V888 88  .8D      db   8D .8P  Y8.      88   88 db   8D     
YP   YP `8888Y'      Y8888P  YP   YP    YP    YP   YP      YP   YP VP   V8P Y8888D'      Y8888P' YP    YP      YP   YP `8888Y'     
                                                                                                                                   
                                                                                                                                   
.d8888. db       .d88b.  db   d8b   db                                                                                             
88'  YP 88      .8P  Y8. 88   I8I   88                                                                                             
`8bo.   88      88    88 88   I8I   88                                                                                             
  `Y8b. 88      88    88 Y8   I8I   88                                                                                             
db   8D 88booo. `8b  d8' `8b d8'8b d8' db                                                                                          
`8888Y' Y88888P  `Y88P'   `8b8' `8d8'  VP                                                                                          
                                                                                                                                   
                                                                                                                                   

Name: Anonymous 2013-02-10 14:58

>>19
It would also be slow and fat as shit.

Name: Anonymous 2013-02-10 15:01

>>21
Not really. Compilers optimise stuff, you know. And file operations don't touch the filesystem once they're established.
If speed is your concern though, what are you doing using an academic's operating system?

Name: Anonymous 2013-02-10 15:15

>>22
Hey fagshit, we have highly specialized and zomgoptimized image formats and functions for a reason. If you want a hard drive full of BMPs or some other format that is easy to edit ``as is'', be my fucking guest.

Name: Anonymous 2013-02-10 15:19

egin

Name: Anonymous 2013-02-10 15:20

egin

Name: Anonymous 2013-02-10 15:28

>>23
Do you understand what you're talking about?
Plan 9 proposes that libraries expose themselves through virtual filesystems, not unlike /proc, /sys, /dev...
The actual implementation will be identical to the same library exposing itself through dynamic linking and #included headers.

I don't know what the fuck your argument is, but it certainly isn't relevant and it certainly doesn't follow from the one you previously put forward.

Name: Anonymous 2013-02-10 15:35

>>16,17
Bloated APIs are the problem, not the solution. Look into the situation we now have with networking system calls and ioctls in the Linux kernel - it's not pretty, and if people keep adding things it will become a nightmare.

>>22
Having a uniform interface to differing implementations is sort of the whole point of software design, you know. The inner loop of of an image processing tool is not going to be the 9fs it exports to the system.

>>18,20
People need to stop talking about Powershell as if it's competing with Unix shells. The name of the thing is just [Ww]indows? dressing, and misleading. You aren't supposed to use Powershell interactively (really, has anyone tried? It's horrible). Its real game is competing with admin scripts written in Perl or Python.

Name: >>22 2013-02-10 15:38

>>27
I was trying to address what I perceived to be >>21's concern about the speed of opening a "file" vs. calling a function from a dll. I didn't know he was going to turn out batshit in >>23

Name: Anonymous 2013-02-10 16:39

>>28
If a lot of data is exchanged through the file server, it's going to be significantly slower because you must context switch and wait for the server to parse the data every time. X clients must already do this when they deal with the X server, though, so if you're using a Unix system already there's no reason you should object to this. Windows style (GDI) is another matter...

Name: Anonymous 2013-02-10 16:50

>>19
So the filesystem would make available to me all the functions in libpng?

I don't get it.

Name: Anonymous 2013-02-10 16:56

>>29
I can imagine using mmap to somehow put the interface in memory and reduce overheads like that, but I don't know too much in this area.

Name: Anonymous 2013-02-10 17:10

>>31
You might mmap for direct rendering if you're running the window client and the server on the same machine. Plan 9 was designed in the early 90s, so I believe it would predate the addition of direct rendering to X. Plan 9 stresses network transparency so heavily, I doubt the developers would have had much motivation to use it.

Name: >>32 2013-02-10 17:18

Checking the man pages - it appears Plan 9 doesn't have mmap anyway, so the discussion is moot. Evidently the developers don't want you doing anything fancy with the page tables on Plan 9 - you get shared memory IPC based on segments and that's it.

Name: UUCP 2013-02-12 15:14

UUCP

Name: Anonymous 2013-02-12 16:37

http://cm.bell-labs.com/cm/cs/who/dmr/cacm.html

In the absence of the ability to redirect output and input, a still clumsier method would have been to require the ls command to accept user requests to paginate its output, to print in multi-column format, and to arrange that its output be delivered off-line. Actually it would be surprising, and in fact unwise for efficiency reasons, to expect authors of commands such as ls to provide such a wide variety of output options.

lol gnu

Name: Anonymous 2013-02-13 2:08

>>35
The question then becomes, why hasn't someone replaced GNU ls with some combination of ancient Unix ls and a shell script. If you can answer that, you understand why `The UNIX Philosophy'' isn't the solution to every problem.

Name: Anonymous 2013-02-15 13:42

>>36
Because then GNU wouldn't have the market share from its HIP, MODERN FEATURES that try to make you depend on them like crack.

Basically, the same reason teenagers install Instant Messenger Plus: Extra Spyware Edition instead of Instant Messenger.

Name: Anonymous 2013-02-15 14:56

>>36
What? There are a lot of Linux distros that don't use any GNU software at all.

Name: Anonymous 2013-02-15 16:20

>>36
The BSD systems have minimal features compared to GNU.

>>37
Is it really GNU's fault for sharing software that people actually use? Remember, GNU's goal is about making a full featured system, not about following the Unix philosophy.

Name: Anonymous 2013-02-15 16:30

>>39
Is it really GNU's fault for sharing software that people actually use? Remember, GNU's goal is about making a full featured system, not about following the Unix philosophy.
Of course. It's a noble goal and I wish them luck, but I disagree with their methods.

At times it can be harmful, e.g. when people, systems and software expect some nonstandard GNU extension even though the POSIX equivalent would do. People who have to de-autotools software or maintain BSD ports have my condolences.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List