[clug] Going from 1 to 100 lines of ls wrapping script

steve jenkin sjenkin at canb.auug.org.au
Tue Nov 26 20:13:24 MST 2013

Hal Ashburner wrote on 27/11/13 11:47 AM:

> Still it's a pretty good sledge for *nix-haters
> "In order to list things that may contain files you actually have to write
> code on *nix" [1][2]
> :-)
> [1] But the reply is as ever $your_os is ugly and it's mum dresses it funny
> more than *nix! :p
> [2] It was like that when I got here. That's the way its always been. It
> was a decision forced on us by the customer against our counsel.


Great insight, both on gnucore maintainers and Unix/POSIX haters...

Here's the reality:

 - Unix/POSIX/Linux has since before 1980 been "the universal glue", it
talks to _everything_ and has to accommodate

 - The Unix/POSIX shells, plural, aren't just standard and (mostly)
portable, but anyone can build on them and DO IT BETTER if they want.
compare to 'command.com' and descendants... Learnt nothing, never evolved.
 "Powershell" is a great leap forward, but isn't portable, nor even
back-ported. Could you imagine that being accepted and not addressed in
the POSIX world???

 - Replacing 'ls' needs coming up with a bunch of new tools as well.
   There was a very credible effort, a commercial product, in the early
90's, by Functional Software. "Admin Manager", then "COS manager"
(latterly other product names like 'sentinel').

_Could_ the POSIX shells and toolset be improved? You betcha!

Would that be easy?
 No, because it's already been done in multiple iterations over 4 decades.

The central problem is _doing a great design_, not merely 'good' or
We can see exactly this with the "Perl 6" (a highly credible effort by
teams of very skilled, very capable people)
and the Google/Bell Labs guys who built "Go" in a year, and just
happened to redefine parallel processing so _ordinary_ mortals don't
just use it, but will _always_ get it right.

No more deadlocks - that's pretty special...

Someone, I'm told, in the P6 community asked, "How did they _do_ that?"
(the Go guys, included Thompson and Pike).

That's a deep question with a long answer.

Short answer is:
 they are the best there is, they make the hard look simple, the
impossible look trivial and obvious. [feel free to contest that and rag
on me!]

They didn't get there overnight and without making mistakes - but by
conscious, maybe deliberate, effort to improve every time round.
And by reading and learning from others' work.

Sorry to babble on. Hope that's an explanation.

Building a replacement for 'ls' is a much larger task than a single
Honours Project.

It starts with the shell and needs aggressively adopting and exploring
good design principles. Like the Bell Labs team did with Plan 9 (1989)
well before Linus even started...

 [that really old boring fart that was on the first ever Unix kernel

Steve Jenkin, Info Tech, Systems and Design Specialist.
0412 786 915 (+61 412 786 915)
PO Box 48, Kippax ACT 2615, AUSTRALIA

sjenkin at canb.auug.org.au http://members.tip.net.au/~sjenkin

More information about the linux mailing list