What Is Not in Plan Nine (2012)
11–20 of 42 posts
Re: What Is Not in Plan Nine (2012)
#12> find > The unix find is a SwissArmyKnife. In PlanNine, the TreeWalking is done by du -- a unix `find . -print` is in PlanNine: `du -a|awk '{print $2}'` Ah, a clearly much more natural replacement. EDIT: I got downvoted, but I'm not complaining about it, but rather happy to acknowledge the error of my ways. I cut and pasted what I thought was `du -alawk '{print $2}'`, a mish-mash of 5 unexplained command-line switch…
I dunno, I agreed with your comment even comprehending the syntax. Using a -a flag to a disk usage utility seems like an odd way to frame an essential building block. Plan 9 doesn’t have a recursive ls?
> Imagine how many separate Unix commands have the TreeWalking built into them... RefactorMercilessly.
And suggests the following shell script instead:
#!/bin/rc
switch ($#*) {
case 2 @{ cd $1 && tar c . } | @{ cd $2 && tar x }
case * echo usage: dircp from to >[1=2]
}
Which is horrifying (how would you ever figure out what " $#* " means?), even without the context of the article's own dislike and distrust of system customization:> The wide variety of superusers allowed each of them to inflict their style guidelines on the structure of the file system... Now where did that @#!$ superuser put gcc or perl or ...
So what's going to happen here? Every time someone wants to list or copy or search or whatever recursively, they're going to have to either write their own potentially buggy variation on this script, or use someone else's. Is there a convention for where they put that script? Every time someone deploys a new Plan9 box, they're probably going to remember that this was a problem before and provide some kind of script like this. Now where did that @#!$ sysadmin put it?
The solution to the repeated code problem is a library, not stripping critical functionality from core system utilities and burdening users with unnecessary complexity. Why is this 40 year old operating system making me so angry!? I should get out more.
Re: What Is Not in Plan Nine (2012)
#13Earlier quoted context omitted.
I dunno, I agreed with your comment even comprehending the syntax. Using a -a flag to a disk usage utility seems like an odd way to frame an essential building block. Plan 9 doesn’t have a recursive ls?
I would guess not, given how the article notes later on that "cp" has no recursion flag: > Imagine how many separate Unix commands have the TreeWalking built into them... RefactorMercilessly. And suggests the following shell script instead: #!/bin/rc switch ($#*) { case 2 @{ cd $1 && tar c . } | @{ cd $2 && tar x } case * echo usage: dircp from to >[1=2] } Which is horrifying (how would you ever figure out what " $#*…
It's in the manual.
> Now where did that @#!$ sysadmin put it?
The point of Plan 9 is that you don't rely on the sysadmin to put things places for you. You'd mount your home filesystem from wherever it lives and everything would be back to where you expect it. You could even mount /bin from whatever machine you wanted.
Plan 9 does not work in pieces. It only works if you're all-in, which is the reason I don't use it. But when you're all-in, it's very nice. None of the things you're objecting to turn out to be problems in practice. The problems in practice come from not having a c++ compiler or a web browser.
Re: What Is Not in Plan Nine (2012)
#14Also this comparison was often used as a celebration of not having objects, C++, shared libs, etc. on Plan 9. Again, this would be less ridiculous if any of the large complex things done on other systems that merited shared libs had ever been done at all on Plan 9.
Unfortunately, many of the good ideas in Plan 9 sank alongside this. If they had made "APE" a first-class project they wouldn't have been swivelling back and forth from non-Plan 9 boxes to use the web and the better ideas might have grown into something. :-(
Re: What Is Not in Plan Nine (2012)
#15Earlier quoted context omitted.
I dunno, I agreed with your comment even comprehending the syntax. Using a -a flag to a disk usage utility seems like an odd way to frame an essential building block. Plan 9 doesn’t have a recursive ls?
I would guess not, given how the article notes later on that "cp" has no recursion flag: > Imagine how many separate Unix commands have the TreeWalking built into them... RefactorMercilessly. And suggests the following shell script instead: #!/bin/rc switch ($#*) { case 2 @{ cd $1 && tar c . } | @{ cd $2 && tar x } case * echo usage: dircp from to >[1=2] } Which is horrifying (how would you ever figure out what " $#*…
The same way you figured out what "$@" or "$*" mean on unix: Reading the manual. For that matter, the variable's meaning is the same as on Unix, except with a 'count length of list' operator in there.
Because the plan 9 shell has proper lists, integrated in nicely. Which means that the script above will work even if the arguments have spaces in the filenames.
> Now where did that @#!$ sysadmin put it?
Doesn't matter, I bound it in to my /bin. All binaries are in /bin after you're done setting up your namespace.
Re: What Is Not in Plan Nine (2012)
#16The comment about Rio vs X Windows would make a lot more sense if you could do the same things in Plan 9 as you could in X Windows. Motif was a giant sack of crap, but you could make an application that was roughly identifiable as a "computer application" of the time to a non-technical user, and even customize/internationalize it (more or less). You'd pretty much be hand-painting every last UI widget in Plan 9. Ridic…
Motif is also not part of X11. If you want something vaguely like it, there's libcontrol which is used by a few applications. Nothing about rio prevents something even thicker from being written (or something like GTK from being ported), other than a strong distaste for that kind of gui.
> Again, this would be less ridiculous if any of the large complex things done on other systems that merited shared libs had ever been done at all on Plan 9.
That's kind of missing the point: The complexity doesn't carry it's weight. I can do most things I care about just fine on plan 9. The major exception is a good web browser, which is an OS on its own, and is best when towed beyond the system and isolated with the birds and fish and tons of crude oil.
> If they had made "APE" a first-class project they wouldn't have been swivelling back and forth from non-Plan 9 boxes to use the web and the better ideas might have grown into something. :-(
The better ideas were largely centered around the simplicity you were just bemoaning. If plan 9 had focused on APE, there would be little of value they could have done.
Re: What Is Not in Plan Nine (2012)
#17I'm not sure I follow the argument about symbolic links. What do they have to do with the root UNIX thinking that it owns the whole filesystem? I don't often see symlinks used in the context of crossing "imported" (mounted?) parts of the filesystem - instead, I use them most often to provide aliases so that the same file/directory can be accessed with multiple names.
Re: What Is Not in Plan Nine (2012)
#18A browser that supports JavaScript. This appears to be one of those sites that should ostensibly be just static text, but the source has none of the content and not even Google's text-only cache manages to show anything. Rather ironic this page is itself inaccessible to users of Plan9...
Like last year or something they apparently decided to migrate to this mess of a system, for reasons unknown to me. I think it might be mediawiki software?
Re: What Is Not in Plan Nine (2012)
#19The comment about Rio vs X Windows would make a lot more sense if you could do the same things in Plan 9 as you could in X Windows. Motif was a giant sack of crap, but you could make an application that was roughly identifiable as a "computer application" of the time to a non-technical user, and even customize/internationalize it (more or less). You'd pretty much be hand-painting every last UI widget in Plan 9. Ridic…
> Motif was a giant sack of crap, but you could make an application that was roughly identifiable as a "computer application" of the time to a non-technical user, and even customize/internationalize it (more or less). Motif is also not part of X11. If you want something vaguely like it, there's libcontrol which is used by a few applications. Nothing about rio prevents something even thicker from being written (or som…
I would suspect that the process of writing a full-fledged windowing system and graphics layer that people might recognize as behaving roughly like a modern computer (even running a web browser, yet), while holding true to the Plan 9 Received Wisdom, would be a intriguing journey of discovery for someone.
Whether they would emerge as a true believer with their faith strengthened by this trial, or as a Plan 9 heretic, would be an interesting question.
Re: What Is Not in Plan Nine (2012)
#20> find > The unix find is a SwissArmyKnife. In PlanNine, the TreeWalking is done by du -- a unix `find . -print` is in PlanNine: `du -a|awk '{print $2}'` Ah, a clearly much more natural replacement. EDIT: I got downvoted, but I'm not complaining about it, but rather happy to acknowledge the error of my ways. I cut and pasted what I thought was `du -alawk '{print $2}'`, a mish-mash of 5 unexplained command-line switch…
I dunno, I agreed with your comment even comprehending the syntax. Using a -a flag to a disk usage utility seems like an odd way to frame an essential building block. Plan 9 doesn’t have a recursive ls?