Re: [9fans] Google finally announces their lightweight OS

2009-07-10 Thread tlaronde
On Thu, Jul 09, 2009 at 06:18:14PM -0400, erik quanstrom wrote:
 
 it's also interesting to notice that long comments
 are often associated with bugs.

Literate programming is a magnifying glass. It's very easy to use,
but it's not straightforward to use right. My first attempts with
a creative problem, with lengthy explanations and so on, were
only showing that I was beating around the bush and had no clear
idea of what I was doing. It was the same with pure C, except it
was not as obvious.
-- 
Thierry Laronde (Alceste) tlaronde +AT+ polynum +dot+ com
 http://www.kergis.com/
Key fingerprint = 0FF7 E906 FBAF FE95 FD89  250D 52B1 AE95 6006 F40C



Re: [9fans] Google finally announces their lightweight OS

2009-07-10 Thread Akshat Kumar
Having seen that video, as well as other examples,
I am now more drawn to APL.
Any Plan 9 implementations available?


ak



Re: [9fans] Google finally announces their lightweight OS

2009-07-10 Thread Anthony Sorace
i don't believe so. i've made a number of false starts and would like
to return to it some day. there's some very simple interpreters out
there (including one by ken[1] for old unix systems) that might be
worth looking at if you want to work on a port and performance isn't
critical. note that i haven't found a single APL interpretation that
uses the unicode apl characters[2] - a version written with plan9
tools could have a very nice advantage there.

there has also been a lot of discussion in the past 1-2 months about
K, a successor to APL, in #plan9. you might ask there; i may have
missed a more recent development.

[1] everyone says the character set is very jarring working in APL.
for me, what's worse is the fact that in that community, ken,
unadorned, refers to a father of the field, a luminary who's example
many seek to follow, but it's a totally different person. here, i mean
our ken.

[2] i think A+, the APL-with-extensions from Morgan Stanley, could as
an option, but trying it out on OS X gave poor results.



Re: [9fans] Google finally announces their lightweight OS

2009-07-10 Thread erik quanstrom
 there has also been a lot of discussion in the past 1-2 months about
 K, a successor to APL, in #plan9. you might ask there; i may have
 missed a more recent development.

could someone please explain to the ignorant, what
is interesting about apl?  the last surge of interest i
recall in the language was in 1983.  ibm offered an
rom for the mga (monochrome graphics adapter)
that substituted the odd apl characters for the
equally-odd pc character set's bucky-bit characters.

- erik



Re: [9fans] Google finally announces their lightweight OS

2009-07-10 Thread Ethan Grammatikidis
On Fri, 10 Jul 2009 13:52:35 +0100
Robert Raschke rtrli...@googlemail.com wrote:

 On Fri, Jul 10, 2009 at 1:14 PM, erik quanstrom quans...@quanstro.netwrote:
 
   there has also been a lot of discussion in the past 1-2 months about
   K, a successor to APL, in #plan9. you might ask there; i may have
   missed a more recent development.
 
  could someone please explain to the ignorant, what
  is interesting about apl?  the last surge of interest i
  recall in the language was in 1983.  ibm offered an
  rom for the mga (monochrome graphics adapter)
  that substituted the odd apl characters for the
  equally-odd pc character set's bucky-bit characters.
 
  - erik
 
 
 Don't view it as a programming language, view it as an executable
 mathematical notation instead. And as such notations go, it is very
 rigorous; but also a bit esoteric when you come at it from a programming
 background.
 
 The J dialect of APL (http://www.jsoftware.com, essentially the
 continuation of Ken Iverson's development efforts after APL) is a great tool
 for thinking about generalised operations on vectors, matrices, cubes, etc.
 There's a great self-published book on graphics and image processing called
 Fractals Visualization and J by Cliff Reiter.
 
 The learning curve is very steep (unless you've never programmed and are
 used to lots of math). And there is a tendency of adherents to strive for
 the shortest possible expression(s) to solve a problem. That means it all
 looks a bit opaque from the outside. But it is possible to write J code that
 is elegant and easy to understand, even if you come back to it after some
 time.

I took a look at Q recently. The ancestry of Q is APL - K - Q but then 
there's a disjunction, the open-source Q being written and maintained by a 
different person with no reference to the Ken chap who authored K. I think the 
open-source Q is an independant implementation  not this Ken's implementation 
of Q, but it's possible Ken didn't create Q at all. I'm a little hazy on that 
detail. The difference between K  Q is primarily that K uses single letters 
and various other ascii characters where Q uses words, making the learning 
curve for Q slightly shallower.

The open-source Q has also been unmaintained for the last 2 years or so. (It 
fails to work correctly in 64-bit Linux.) Development has moven on to Pure, 
which delightully is implemented as a front-end to LLVM, that new compiler 
collection that's written in C++. Q is at any rate easy to compile  works 
correctly on 32-bit Linux, as far as I can tell. The core package of Q is very 
light on it's dependencies too.

Q seems pretty easy to learn if you can wrap your head around the idea of 
writing in quasi-mathematical abstractions, which is the part I'm struggling 
with. I'm sticking with procedural for now.

-- 
Ethan Grammatikidis

Those who are slower at parsing information must
necessarily be faster at problem-solving.



Re: [9fans] Google finally announces their lightweight OS

2009-07-10 Thread Richard Miller
 The J dialect of APL (http://www.jsoftware.com, essentially the
 continuation of Ken Iverson's development efforts after APL) is a great tool
 for thinking about generalised operations on vectors, matrices, cubes, etc.

There's a Plan 9 port of J 3.02 in /n/sources/contrib/miller/j/8.j

386 executable only, as I don't have permission to share source, but I can
compile for other $objtypes on request.




Re: [9fans] Google finally announces their lightweight OS

2009-07-09 Thread Eric Van Hensbergen
On Wed, Jul 8, 2009 at 11:10 PM, erik quanstromquans...@quanstro.net wrote:
  I expect to see code immediately, by the way, finished or not, and you 
  better be
  around to answer my questions.

 You have something here: these are central software-development tenets
 of agile/scrum/xp/lean/kanban du jour, and help the open-source
 community work.  Essentially, done is an elusive illusion, so enlist
 others throughout the process.

 i'm just going to take a guess that you have never had egg
 on your face caused by publishing code before it's time?


We could all do with a bit more egg on our face.
No one here is super-guru coder who can do without peer review, many
are here just starting out and need lots of guidance.  Within project
teams I always publish my sandbox, if it compiles its committed.  The
benefit is not only peer review, but also so folks know what I'm
working on (avoiding duplicate work).  The only things which are not
public have not cleared the IP lawyers (yet).  Within the labs,
everyone's sandboxes were visible (compiling or not).  So to answer...

 name operating systems that develop in this way?

Inferno and Plan 9 were both developed this way - everyone's code was
visible to everyone else working on the project, often in a single
tree.  Integration problems were discovered sooner rather than later,
and it was always easy to get help with a particular problem because
anyone could immediately see the source.

 was under the impression that even, e.g., linux code is submitted
 in fairly complete fashion and tends to get rejected even
 on style grounds.

Possibility of rejection is no reason to not to submit for review
(just make sure folks understand the status of the code), or otherwise
make your code visible.

-eric



Re: [9fans] Google finally announces their lightweight OS

2009-07-09 Thread David Leimbach
Indeed, Voltaire had it right.  Better is the enemy...  (of my enemy is my
friend??)

On Wed, Jul 8, 2009 at 9:10 PM, erik quanstrom quans...@quanstro.netwrote:

   I expect to see code immediately, by the way, finished or not, and you
 better be
   around to answer my questions.
 
  You have something here: these are central software-development tenets
  of agile/scrum/xp/lean/kanban du jour, and help the open-source
  community work.  Essentially, done is an elusive illusion, so enlist
  others throughout the process.

 i'm just going to take a guess that you have never had egg
 on your face caused by publishing code before it's time?

 i can't stand my own silly mistakes, unfinished and crap code.
 why should i look at anyone elses?  by the way, can you
 name operating systems that develop in this way?  i
 was under the impression that even, e.g., linux code is submitted
 in fairly complete fashion and tends to get rejected even
 on style grounds.

 i think the idea that is illusary is that there is no difference
 between code that doesn't work and code that does work
 but might be improved.

 part of the craft of programming is to know when something
 is actually finished.  the mistake is to improve things that
 work well enough.  i think one could write quite an interesting
 book critiquing modern software development for failing to
 stop at good enough.  but one would need to be quite a bit
 smarter, more educated and less lazy than i.  i'll satisfy myself
 by quoting some such people.  (oddly #1 and #3 are missing
 from fortune)

 Rule 3.  Fancy algorithms are slow when n is small, and n is usually small.
- rob pike, Notes on Programming in C
 Inside every large problem is a small problem struggling to get out.
- niklaus wirth
 When in doubt, use brute force.
- ken thompson

 - erik




Re: [9fans] Google finally announces their lightweight OS

2009-07-09 Thread erik quanstrom
 Why would it take a book?  DMR made the point succinctly in his
 critique of Knuth's literate program, showing how a few command-line
 utilities do the work of the Don's elaborately constructed tries.

because, evidently, one book was not enough.

- erik



Re: [9fans] Google finally announces their lightweight OS

2009-07-09 Thread Micah Stetson
 Why would it take a book?  DMR made the point succinctly in his
 critique of Knuth's literate program, showing how a few command-line
 utilities do the work of the Don's elaborately constructed tries.

Do you have a URL for this?

Micah



Re: [9fans] Google finally announces their lightweight OS

2009-07-09 Thread Devon H. O'Dell
2009/7/9 Micah Stetson mi...@stetsonnet.org:
 Why would it take a book?  DMR made the point succinctly in his
 critique of Knuth's literate program, showing how a few command-line
 utilities do the work of the Don's elaborately constructed tries.

 Do you have a URL for this?

I looked this up yesterday, and there is some discussion on
literateprogramming.com -- the discussion actually illustrates how to
take the shell script and make *it* literate programming instead. It
actually wasn't DMR, it was McIlroy.

 Micah

--dho



Re: [9fans] Google finally announces their lightweight OS

2009-07-09 Thread Jason Catena
 i think one could write quite an interesting
 book critiquing modern software development for failing to
 stop at good enough.

 Why would it take a book?  DMR [sic] made the point succinctly in his
 critique of Knuth's literate program, showing how a few command-line
 utilities do the work of the Don's elaborately constructed tries.

 Do you have a URL for this?

Yes, sorry I didn't look it up earlier.

Bentley, J., Knuth, D., and McIlroy, D. 1986. Programming pearls: a
literate program. Commun. ACM 29, 6 (Jun. 1986), 471-483. DOI=
http://doi.acm.org/10.1145/5948.315654

It is McIlroy (not DMR), but it looks like he focused on, not writing
a literate program, but the engineering benefits of constructing a
pipeline from common tools, vs Knuth's elaborate, single-purpose
program.

From the paper:

To return to Knuth’s paper: everything there---even
input conversion and sorting---is programmed
monolithically and from scratch. In particular the
isolation of words, the handling of punctuation, and
the treatment of case distinctions are built in. Even
if data-filtering programs for these exact purposes
were not at hand, these operations would well be
implemented separately: for separation of concerns,
for easier development, for piecewise debugging, and
for potential reuse. The small gain in efficiency from
integrating them is not likely to warrant the resulting
loss of flexibility. And the worst possible eventuality
eventuality---being forced to combine programs---is
not severe.

The simple pipeline given above will suffice to get
answers right now, not next week or next month. It
could well be enough to finish the job. But even for
a production project, say for the Library of Congress,
it would make a handsome down payment, useful
for testing the value of the answers and for smoking
out follow-on questions.

Jason Catena



Re: [9fans] Google finally announces their lightweight OS

2009-07-09 Thread tlaronde
On Thu, Jul 09, 2009 at 02:47:37PM -0500, Jason Catena wrote:
 
 Yes, sorry I didn't look it up earlier.
 
 Bentley, J., Knuth, D., and McIlroy, D. 1986. Programming pearls: a
 literate program. Commun. ACM 29, 6 (Jun. 1986), 471-483. DOI=
 http://doi.acm.org/10.1145/5948.315654

[The article is reproduced in D. E. Knuth, Literate Programming, CSLI
ISBN 0-9370-7380-6]

For the task to be done print the k most common words in a file, the
Unix approach and the Unix tools give everything to create a program
far more rapidly than the from scratch approach adopted by D. Knuth. But
because the tools exist (are already written... but in what language?
Easily understandable? Maintainable? etc.).

But this does not mean that _in general_, literate programming has not
its strength especially for complex and weaven program... or even for
writing the tools, the bricks one combines in a pipeline like McIlroy does.

I don't think that TeX and METAFONT could have been written correctly,
or could be understandable in something else than WEB (unfortunately not
CWEB; that would simplify greatly porting).

[For another thread: MetaPOST can be used instead of gnuplot. But not 
easily for 3D like plotting. Unfortunately, MetaPOST too is WEB not 
CWEB. And the ad hoc conversion of some Pascal to C (web to C) seems
alas the simplest way. Even the Pascal compilers that could be ported to
compile on Plan9 (if there are) would probably not allow a
straightforward compilation of the WEB based programs.]
-- 
Thierry Laronde (Alceste) tlaronde +AT+ polynum +dot+ com
 http://www.kergis.com/
Key fingerprint = 0FF7 E906 FBAF FE95 FD89  250D 52B1 AE95 6006 F40C



Re: [9fans] Google finally announces their lightweight OS

2009-07-09 Thread Jason Catena
 But this does not mean that _in general_, literate programming has not
 its strength especially for complex and weaven program... or even for
 writing the tools, the bricks one combines in a pipeline like McIlroy does.

I'll say amen, especially for a system of many little parts.  My point
wasn't to bash literate programming at all.  Rather I'd say that big
elaborate constructions of many aspects are fragile, hard to
understand and work with, and of limited use.  Instead, let our tools
combine bits of code into a bigger whole, and reuse the tools for
other wholes (cf Lego bricks).

I've used LaTeX and noweb daily since the first quarter of 2007 to
write papers that are literate programs.  They work well to organize
and document collections of many small command-line guide files, shell
scripts, makefiles, data files, C and lex source, and a real-time
gnuplot driver I downloaded from the page of a guy at NASA. (I posted
a few recent simple examples, in the tufte-handout style, at
http://swtools.wordpress.com/papers/ . I plan to ask for a publishing
release for the really interesting ones now behind a corp firewall.)

 Thierry Laronde

Jason Catena



Re: [9fans] Google finally announces their lightweight OS

2009-07-09 Thread erik quanstrom
 For the task to be done print the k most common words in a file, the
 Unix approach and the Unix tools give everything to create a program
 far more rapidly than the from scratch approach adopted by D. Knuth. But
 because the tools exist (are already written... but in what language?
 Easily understandable? Maintainable? etc.).

the problem i have with literate programming is that it
tends to treat code like a terse and difficult-to-understand
footnote.  it seems to me that literate programs tend to
spend too much time commenting on straightforward code
or code that is easier read than explained.  ironicly, the
assumption seems to be that one is illiterate in the computer
language at hand.

- erik



Re: [9fans] Google finally announces their lightweight OS

2009-07-09 Thread Jack Johnson
On Thu, Jul 9, 2009 at 1:34 PM, erik quanstromquans...@quanstro.net wrote:
 the problem i have with literate programming is that it
 tends to treat code like a terse and difficult-to-understand
 footnote.

And thus, we have literate programming meets APL. ;)

-Jack



Re: [9fans] Google finally announces their lightweight OS

2009-07-09 Thread erik quanstrom
 structure, on extremely clever constructions (on the BWK gibe that I
 won't be smart enough to debug it later), and to describe how the code
 segment interacts with others and maps to the problem domain.

it's also interesting to notice that long comments
are often associated with bugs.

- erik



Re: [9fans] Google finally announces their lightweight OS

2009-07-09 Thread Jason Catena
On Thu, Jul 9, 2009 at 16:34, erik quanstromquans...@quanstro.net wrote:
 For the task to be done print the k most common words in a file, the
 Unix approach and the Unix tools give everything to create a program
 far more rapidly than the from scratch approach adopted by D. Knuth. But
 because the tools exist (are already written... but in what language?
 Easily understandable? Maintainable? etc.).

 the problem i have with literate programming is that it
 tends to treat code like a terse and difficult-to-understand
 footnote.  it seems to me that literate programs tend to
 spend too much time commenting on straightforward code
 or code that is easier read than explained.  ironicly, the
 assumption seems to be that one is illiterate in the computer
 language at hand.

I'd guess that depends a great deal on the author's style.  In the
paper I quoted, I wouldn't say that's true at all of Knuth's
discussion.  I personally am very aware of this tendency, and only
comment to introduce a bit of code and place it within the overall
structure, on extremely clever constructions (on the BWK gibe that I
won't be smart enough to debug it later), and to describe how the code
segment interacts with others and maps to the problem domain.

Jason Catena



Re: [9fans] Google finally announces their lightweight OS

2009-07-09 Thread Bakul Shah
On Thu, 09 Jul 2009 13:44:20 -0800 Jack Johnson knapj...@gmail.com  wrote:
 On Thu, Jul 9, 2009 at 1:34 PM, erik quanstromquans...@quanstro.net wrote:
  the problem i have with literate programming is that it
  tends to treat code like a terse and difficult-to-understand
  footnote.
 
 And thus, we have literate programming meets APL. ;)
 
 -Jack

http://www.youtube.com/watch?gl=GBhl=en-GBv=a9xAKttWgP4fmt=18

*This* is what can happen when a literate programmer meets APL!



[9fans] Google finally announces their lightweight OS

2009-07-08 Thread Aharon Robbins
http://googleblog.blogspot.com/2009/07/introducing-google-chrome-os.html

'nuff said. :-)

Arnold



Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread tlaronde
On Wed, Jul 08, 2009 at 10:48:58AM +0300, Aharon Robbins wrote:
 http://googleblog.blogspot.com/2009/07/introducing-google-chrome-os.html
 
 'nuff said. :-)

Is it my english that is not sufficient ? [Note: it is written Google
Chrome while I think it should be Google Chrome OS]

The software architecture is simple - Google Chrome running within a
new windowing system on top of a Linux kernel.

If I read correctly, this is not Plan9 based. And it seems a
terminal will be available as open source, while the apps and
the data will be in a cloud... that is not controlled by the user.
(I have nothing against closed source---I make it too---. But the
terminal is definitively not the bulk of a cloud. Everybody being
allowed to build and sell terminals, ok. But terminals to access
what belonging to who?)

The majority of the current thinking is re-discovery of Plan 9
architecture: separate terminal, CPU and fileserver. And Plan9 was
thought with SMP from the beginning. So why all is always Linux
based ?  And no, I have no problem accessing my data wherever I go,
because it is _my_ data.
-- 
Thierry Laronde (Alceste) tlaronde +AT+ polynum +dot+ com
 http://www.kergis.com/
Key fingerprint = 0FF7 E906 FBAF FE95 FD89  250D 52B1 AE95 6006 F40C



Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread Richard Miller
 So why all is always Linux
 based ?

Because linux has an army of volunteers hacking up drivers for
everybody's weird undocumented ever-changing hardware.

 The software architecture is simple - Google Chrome running within a
 new windowing system on top of a Linux kernel.

It says linux kernel with no mention of multi-gigabyes of linux
libraries and commands.  The optimistic interpretation is that they've
rediscovered Ron's idea of borrowing a linux kernel as a minimal (sic)
device driver layer to put a sensible OS on top of, and throwing
everything else away.




Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread Anselm R Garbe
2009/7/8 Richard Miller 9f...@hamnavoe.com:
 So why all is always Linux
 based ?

 Because linux has an army of volunteers hacking up drivers for
 everybody's weird undocumented ever-changing hardware.

 The software architecture is simple - Google Chrome running within a
 new windowing system on top of a Linux kernel.

 It says linux kernel with no mention of multi-gigabyes of linux
 libraries and commands.  The optimistic interpretation is that they've
 rediscovered Ron's idea of borrowing a linux kernel as a minimal (sic)
 device driver layer to put a sensible OS on top of, and throwing
 everything else away.

Well a more realistic interpretation is somewhat more advanced than
what's under android's hood, but still lacking full POSIX, we'll see.

Kind regards,
Anselm



Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread Richard Miller
 But if it is just for a terminal, there is a lot of drivers you don't
 need. (Well, the video card is generally not the easier to correctly
 drive...)

Exactly.  And wi-fi.  And ethernet if it's a cheap broadcom chip.
And sound if it's not usb.  And bluetooth so you can use your phone
as a modem.  And so on.




Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread Uriel
On Wed, Jul 8, 2009 at 11:02 AM, Richard Miller9f...@hamnavoe.com wrote:
 The software architecture is simple - Google Chrome running within a
 new windowing system on top of a Linux kernel.

 It says linux kernel with no mention of multi-gigabyes of linux
 libraries and commands.  The optimistic interpretation is that they've
 rediscovered Ron's idea of borrowing a linux kernel as a minimal (sic)
 device driver layer to put a sensible OS on top of, and throwing
 everything else away.


You can be sure we wont be so lucky. A huge amount of gnu/gnome guck is assured.

uriel



Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread Uriel
On Wed, Jul 8, 2009 at 11:41 AM, Richard Miller9f...@hamnavoe.com wrote:
 But if it is just for a terminal, there is a lot of drivers you don't
 need. (Well, the video card is generally not the easier to correctly
 drive...)

 Exactly.  And wi-fi.  And ethernet if it's a cheap broadcom chip.
 And sound if it's not usb.  And bluetooth so you can use your phone
 as a modem.  And so on.

And C++ and Java and Flash and 

(C++ is assured, given that Chrome itself is all C++)

uriel



Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread Richard Miller
 You can be sure we wont be so lucky. A huge amount of gnu/gnome guck is 
 assured.

Your evidence?  a new windowing system doesn't sound like gnome to me.




Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread Uriel
My evidence is familiarity with the garbage chrome depends on, you can
expect Cairo, gtk/glib, dbus and the rest of the freedesktop.org
'standard' crap pile at the very least.

And they will need to do flash somehow, so I would not be surprised if
'window system' in this context simply means 'window manager' to keep
compatibility with all the plugins, input methods, font management and
other junk that X provides.

I could be wrong, but I have not seen any evidence that could
contradict any of this.

uriel

On Wed, Jul 8, 2009 at 12:40 PM, Richard Miller9f...@hamnavoe.com wrote:
 You can be sure we wont be so lucky. A huge amount of gnu/gnome guck is 
 assured.

 Your evidence?  a new windowing system doesn't sound like gnome to me.






Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread Anselm R Garbe
2009/7/8 Uriel urie...@gmail.com:
 My evidence is familiarity with the garbage chrome depends on, you can
 expect Cairo, gtk/glib, dbus and the rest of the freedesktop.org
 'standard' crap pile at the very least.

 And they will need to do flash somehow, so I would not be surprised if
 'window system' in this context simply means 'window manager' to keep
 compatibility with all the plugins, input methods, font management and
 other junk that X provides.

 I could be wrong, but I have not seen any evidence that could
 contradict any of this.

android doesn't use X and its browser application is still WebKit
based. So ideally they will really do a new window system, but we'll
see.

Kind regards,
Anselm



Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread erik quanstrom
 It says linux kernel with no mention of multi-gigabyes of linux
 libraries and commands.  The optimistic interpretation is that they've
 rediscovered Ron's idea of borrowing a linux kernel as a minimal (sic)
 device driver layer to put a sensible OS on top of, and throwing
 everything else away.

ha!  that's a good one.

- erik



Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread erik quanstrom
  But if it is just for a terminal, there is a lot of drivers you don't
  need. (Well, the video card is generally not the easier to correctly
  drive...)
 
 Exactly.  And wi-fi.  And ethernet if it's a cheap broadcom chip.
 And sound if it's not usb.  And bluetooth so you can use your phone
 as a modem.  And so on.

the same could be said of linux.  5 years ago when i got
a wireless card, i needed to use ndiswrapper to get it going.  i
also couldn't find a proper driver for my modem, either.  but
people still built stuff with linux.

you can't say that an army of volunteers sprung up and
created linux, nor can you say that linux created an army
of volunteers.

it's like the field of dreams.  but it's too big to build by
yourself.  so you have to build some and a few will come
and help build some more.

- erik



Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread David Leimbach
On Wed, Jul 8, 2009 at 2:02 AM, Richard Miller 9f...@hamnavoe.com wrote:

  So why all is always Linux
  based ?

 Because linux has an army of volunteers hacking up drivers for
 everybody's weird undocumented ever-changing hardware.

  The software architecture is simple - Google Chrome running within a
  new windowing system on top of a Linux kernel.

 It says linux kernel with no mention of multi-gigabyes of linux
 libraries and commands.  The optimistic interpretation is that they've
 rediscovered Ron's idea of borrowing a linux kernel as a minimal (sic)
 device driver layer to put a sensible OS on top of, and throwing
 everything else away.


I believe the L4 crowd had been doing that as well for a while.  No offense
to Ron, he's a super-bright guy!  But I'm not sure that idea is patently his
:-).

L4 processes could run on hardware that L4 didn't support by adding L4 to
linux for IPC to deal with device interrupts etc etc.

Someone ported IOKit from Mac OS X to Linux for this as well.  That guy was
promptly hired (killed perhaps) by Apple.  :-)

Dave


Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread Balwinder S Dheeman
On 07/08/2009 02:37 PM, Richard Miller wrote:
 So why all is always Linux
 based ?
 
 Because linux has an army of volunteers hacking up drivers for
 everybody's weird undocumented ever-changing hardware.
 
 The software architecture is simple - Google Chrome running within a
 new windowing system on top of a Linux kernel.
 
 It says linux kernel with no mention of multi-gigabyes of linux
 libraries and commands.  The optimistic interpretation is that they've
 rediscovered Ron's idea of borrowing a linux kernel as a minimal (sic)
 device driver layer to put a sensible OS on top of, and throwing
 everything else away.

But that's still a huge hog and spaghetti code; needs a lot of cleanup,
which I don't think is going to happen in the near future.

-- 
Balwinder S bdheeman DheemanRegistered Linux User: #229709
Anu'z li...@home (Unix Shoppe)Machines: #168573, 170593, 259192
Chandigarh, UT, 160062, India Plan9, T2, Arch/Debian/FreeBSD/XP
Home: http://werc.homelinux.net/  Visit: http://counter.li.org/



Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread Balwinder S Dheeman
On 07/08/2009 02:21 PM, tlaro...@polynum.com wrote:
 On Wed, Jul 08, 2009 at 10:48:58AM +0300, Aharon Robbins wrote:
 http://googleblog.blogspot.com/2009/07/introducing-google-chrome-os.html

 'nuff said. :-)
 
 Is it my english that is not sufficient ? [Note: it is written Google
 Chrome while I think it should be Google Chrome OS]
 
 The software architecture is simple - Google Chrome running within a
 new windowing system on top of a Linux kernel.
 
 If I read correctly, this is not Plan9 based. And it seems a
 terminal will be available as open source, while the apps and
 the data will be in a cloud... that is not controlled by the user.
 (I have nothing against closed source---I make it too---. But the
 terminal is definitively not the bulk of a cloud. Everybody being
 allowed to build and sell terminals, ok. But terminals to access
 what belonging to who?)
 
 The majority of the current thinking is re-discovery of Plan 9
 architecture: separate terminal, CPU and fileserver. And Plan9 was
 thought with SMP from the beginning. So why all is always Linux
 based ?  And no, I have no problem accessing my data wherever I go,
 because it is _my_ data.

I think, Google did not choose Plan 9 due lack of device drivers, poor
IPv6 support and confusing redundant fragment of code lurking around in
  /sys/boot or 9load, but a compared with Linux a compact, clean and
much more efficient FreeBSD could definitely have been a better choice.

-- 
Balwinder S bdheeman DheemanRegistered Linux User: #229709
Anu'z li...@home (Unix Shoppe)Machines: #168573, 170593, 259192
Chandigarh, UT, 160062, India Plan9, T2, Arch/Debian/FreeBSD/XP
Home: http://werc.homelinux.net/  Visit: http://counter.li.org/



Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread erik quanstrom
you say

 I think, Google did not choose Plan 9 due lack of device drivers, poor
 IPv6 support and confusing redundant fragment of code lurking around in
   /sys/boot or 9load, but a compared with Linux a compact, clean and
 much more efficient FreeBSD could definitely have been a better choice.

but then

 But that's [linux] still a huge hog and spaghetti code; needs a lot of 
 cleanup,
 which I don't think is going to happen in the near future.

i think you're going to have to pick a lane.

and having fought with both the linux and plan 9 boot process,
i can assure you that the plan 9 boot process is simplier and more
straightfoward.  /sys/boot is trivial compared to a linux initrd.

- erik



Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread Devon H. O'Dell
2009/7/8 erik quanstrom quans...@coraid.com:
 you say

 I think, Google did not choose Plan 9 due lack of device drivers, poor
 IPv6 support and confusing redundant fragment of code lurking around in
   /sys/boot or 9load, but a compared with Linux a compact, clean and
 much more efficient FreeBSD could definitely have been a better choice.

 but then

 But that's [linux] still a huge hog and spaghetti code; needs a lot of 
 cleanup,
 which I don't think is going to happen in the near future.

 i think you're going to have to pick a lane.

I don't think so. We already have IPv6 support and it's not that bad.
Having more drivers and supported commodity architectures would be a
good thing. I'd love to do this, but I don't think anybody's going to
match my salary to port drivers, do ACPI, add amd64 support for
workstations, etc. I don't think that adding drivers would make it a
`huge hog' or require `spaghetti code'. (Linux kernel code isn't
really `spaghetti code', it's just poorly organized and some of the
architectural decisions, I'd classify as `spaghetti architecture' --
once you find it though, the code isn't so bad to read, in general).

 and having fought with both the linux and plan 9 boot process,
 i can assure you that the plan 9 boot process is simplier and more
 straightfoward.  /sys/boot is trivial compared to a linux initrd.

I can stand up for this statement. Not only is it trivial compared to
initrd, the following of the boot process is much easier. I was doing
some work on an ARM architecture port for Plan 9 (for an already dead
product, the Siemens SimPAD). Figuring out where the *(#Q*(#...@$ source
for the boot stuff was in Linux was a huge hassle and took me days.

 - erik





Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread Dan Cross
On Wed, Jul 8, 2009 at 12:27 PM, erik quanstromquans...@coraid.com wrote:
 you say

 I think, Google did not choose Plan 9 due lack of device drivers, poor
 IPv6 support and confusing redundant fragment of code lurking around in
   /sys/boot or 9load, but a compared with Linux a compact, clean and
 much more efficient FreeBSD could definitely have been a better choice.

 but then

 But that's [linux] still a huge hog and spaghetti code; needs a lot of 
 cleanup,
 which I don't think is going to happen in the near future.

 i think you're going to have to pick a lane.

I think his lane is that Linux is complex, bloated, poorly designed,
etc and that FreeBSD would have been a better choice.  I have to agree
with that

 and having fought with both the linux and plan 9 boot process,
 i can assure you that the plan 9 boot process is simplier and more
 straightfoward.  /sys/boot is trivial compared to a linux initrd.

And how!

- Dan C.



Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread erik quanstrom
 But don't underestimate the value of the interesting ideas in the
 linux kernel that get the performance, e.g. RCU. I don't think there
 are any OSes that have scaled to 4096 CPUs at this point besides
 Linux.

i thought that massively parallel harvard-arch machines had
generally fallen out of favor in favor of blue gene-style hardware.

is this incorrect?

- erik



Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread erik quanstrom
 I'd love to do this, but I don't think anybody's going to
 match my salary to port drivers, do ACPI, add amd64 support for
 workstations, etc. 

i told myself this for years.  it turns out to be a mistaken
idea.  now that i know, i regret the years i spent doing
other things.

- erik



Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread Devon H. O'Dell
2009/7/8 erik quanstrom quans...@coraid.com:
 But don't underestimate the value of the interesting ideas in the
 linux kernel that get the performance, e.g. RCU. I don't think there
 are any OSes that have scaled to 4096 CPUs at this point besides
 Linux.

 i thought that massively parallel harvard-arch machines had
 generally fallen out of favor in favor of blue gene-style hardware.

 is this incorrect?

I think it depends on the application. I have a friend who studies
fluid dynamics for scramjets and he was mentioning how doing some of
those calculations requires ultra-low latency. The algorithms they
need to use require multiple passes, and each calculation is affected
by surrounding `blocks.' With infiniband and whatnot, this might be
moot (he's doing his stuff on 32-core systems right now, so it's not
even to that degree), but perhaps there are still applications that
still significantly benefit from that architecture. They are quite the
opposite of `embarrassingly parallel' problems (a la distributed.net /
SETI / Folding).

That said, I have no idea what the performance / latency
characteristics are of a system with 32 cores and 32 CPUs connected
with infiniband / some other proprietary high speed interconnect, or
what that would look like performance-wise if it was scaled to 4096
cores versus quad-CPU boards with interconnects.

 - erik

-dho



Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread Devon H. O'Dell
2009/7/8 erik quanstrom quans...@coraid.com:
 I'd love to do this, but I don't think anybody's going to
 match my salary to port drivers, do ACPI, add amd64 support for
 workstations, etc.

 i told myself this for years.  it turns out to be a mistaken
 idea.  now that i know, i regret the years i spent doing
 other things.

I certainly don't know anybody who is hiring people to do this sort of
work in Plan 9.

 - erik

--me



Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread erik quanstrom
 2009/7/8 erik quanstrom quans...@coraid.com:
  I'd love to do this, but I don't think anybody's going to
  match my salary to port drivers, do ACPI, add amd64 support for
  workstations, etc.
 
  i told myself this for years.  it turns out to be a mistaken
  idea.  now that i know, i regret the years i spent doing
  other things.
 
 I certainly don't know anybody who is hiring people to do this sort of
 work in Plan 9.

maybe you just don't know it.

- erik



Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread Devon H. O'Dell
2009/7/8 Uriel urie...@gmail.com:
 On Wed, Jul 8, 2009 at 6:56 PM, Devon H. O'Delldevon.od...@gmail.com wrote:
 I don't think so. We already have IPv6 support and it's not that bad.
 Having more drivers and supported commodity architectures would be a
 good thing. I'd love to do this, but I don't think anybody's going to
 match my salary to port drivers, do ACPI, add amd64 support for
 workstations, etc.

 ACPI will never, ever, ever happen, so people better get over it (and
 if anyone is naive enough to waste their time trying, it will end up
 as a useless atrocious mess that wont boot even in a 100th of the
 systems out there, much less suspend or do anything useful).

ACPI support doesn't need to suspend or do thermal zones. It just
needs to be able to read the ADT and get MP / interrupt routing table
information. This is doable. Have you ever read any of the ACPI spec?
I have.

 As for amd64, it is already done, we are just not worthy to have access to it.

Without this getting into a holy war, what Geoff told me was that the
amd64 work was for headless CPU servers, which is only mildly useful
to me anyway.

 uriel





Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread Uriel
On Wed, Jul 8, 2009 at 9:56 PM, Devon H. O'Delldevon.od...@gmail.com wrote:
 2009/7/8 Uriel urie...@gmail.com:
 On Wed, Jul 8, 2009 at 6:56 PM, Devon H. O'Delldevon.od...@gmail.com wrote:
 I don't think so. We already have IPv6 support and it's not that bad.
 Having more drivers and supported commodity architectures would be a
 good thing. I'd love to do this, but I don't think anybody's going to
 match my salary to port drivers, do ACPI, add amd64 support for
 workstations, etc.

 ACPI will never, ever, ever happen, so people better get over it (and
 if anyone is naive enough to waste their time trying, it will end up
 as a useless atrocious mess that wont boot even in a 100th of the
 systems out there, much less suspend or do anything useful).

 ACPI support doesn't need to suspend or do thermal zones. It just
 needs to be able to read the ADT and get MP / interrupt routing table
 information. This is doable. Have you ever read any of the ACPI spec?
 I have.

The spec doesn't matter much, given that most BIOS out there totally ignore it.

 As for amd64, it is already done, we are just not worthy to have access to 
 it.

 Without this getting into a holy war, what Geoff told me was that the
 amd64 work was for headless CPU servers, which is only mildly useful
 to me anyway.

If it was released perhaps somebody would add the missing drivers, who knows...

As things stand, we will never know.

uriel



Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread Devon H. O'Dell
2009/7/8 Uriel urie...@gmail.com:
 On Wed, Jul 8, 2009 at 9:56 PM, Devon H. O'Delldevon.od...@gmail.com wrote:
 ACPI support doesn't need to suspend or do thermal zones. It just
 needs to be able to read the ADT and get MP / interrupt routing table
 information. This is doable. Have you ever read any of the ACPI spec?
 I have.

 The spec doesn't matter much, given that most BIOS out there totally ignore 
 it.

I think you're unfamiliar with the spec as it relates to what I mentioned.

--dho



Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread ron minnich
On Wed, Jul 8, 2009 at 12:30 PM, erik quanstromquans...@coraid.com wrote:
 But don't underestimate the value of the interesting ideas in the
 linux kernel that get the performance, e.g. RCU. I don't think there
 are any OSes that have scaled to 4096 CPUs at this point besides
 Linux.

 i thought that massively parallel harvard-arch machines had
 generally fallen out of favor in favor of blue gene-style hardware.

 is this incorrect?

The two fastest machines in the world right now are arguably opteron
clusters. Well, one is opteron+cell, the other is a cray xt4, but hey
... the basic software running on them is straight linux cluster-style
software.

ron



Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread ron minnich
On Wed, Jul 8, 2009 at 12:50 PM, Urielurie...@gmail.com wrote:

 As for amd64, it is already done, we are just not worthy to have access to it.

Ah! I knew there was a reason!

ron



Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread ron minnich
On Wed, Jul 8, 2009 at 1:10 PM, Devon H. O'Delldevon.od...@gmail.com wrote:
 2009/7/8 Uriel urie...@gmail.com:
 On Wed, Jul 8, 2009 at 9:56 PM, Devon H. O'Delldevon.od...@gmail.com wrote:
 ACPI support doesn't need to suspend or do thermal zones. It just
 needs to be able to read the ADT and get MP / interrupt routing table
 information. This is doable. Have you ever read any of the ACPI spec?
 I have.

 The spec doesn't matter much, given that most BIOS out there totally ignore 
 it.

 I think you're unfamiliar with the spec as it relates to what I mentioned.

Devon is right on all counts.

ron



Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread Benjamin Huntsman
 Without this getting into a holy war, what Geoff told me was that the
 amd64 work was for headless CPU servers, which is only mildly useful
 to me anyway.

If it was released perhaps somebody would add the missing drivers, who knows...

As things stand, we will never know.

Speaking of the amd64 port, I had thought that Bell Labs was planning on 
releasing it at some point in the future, but that it currently wasn't quite 
perfect and they didn't want to have to field complaints...  I can't say that I 
blame them...

But, it would be nice to see eventually.  Are there plans to let the amd64 port 
out of the labs at some point in the future?

Many thanks!

-Ben
winmail.dat

Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread Devon H. O'Dell
2009/7/8 Benjamin Huntsman bhunts...@mail2.cu-portland.edu:
 Without this getting into a holy war, what Geoff told me was that the
 amd64 work was for headless CPU servers, which is only mildly useful
 to me anyway.

If it was released perhaps somebody would add the missing drivers, who 
knows...

As things stand, we will never know.

 Speaking of the amd64 port, I had thought that Bell Labs was planning on 
 releasing it at some point in the future, but that it currently wasn't quite 
 perfect and they didn't want to have to field complaints...  I can't say that 
 I blame them...

My understanding from Geoff was exactly this. But I don't want to
speak for him or introduce this as fact. I'm unaware of the exact
status at this particular time.

 But, it would be nice to see eventually.  Are there plans to let the amd64 
 port out of the labs at some point in the future?

Agreed.

 Many thanks!

 -Ben

Before my signature, I'd really like to reiterate that I did not bring
up amd64 to open a can of worms.

-dho



Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread John Floren
On Wed, Jul 8, 2009 at 1:04 PM, Urielurie...@gmail.com wrote:
 On Wed, Jul 8, 2009 at 9:56 PM, Devon H. O'Delldevon.od...@gmail.com wrote:
 2009/7/8 Uriel urie...@gmail.com:
 On Wed, Jul 8, 2009 at 6:56 PM, Devon H. O'Delldevon.od...@gmail.com 
 wrote:
 I don't think so. We already have IPv6 support and it's not that bad.
 Having more drivers and supported commodity architectures would be a
 good thing. I'd love to do this, but I don't think anybody's going to
 match my salary to port drivers, do ACPI, add amd64 support for
 workstations, etc.

 ACPI will never, ever, ever happen, so people better get over it (and
 if anyone is naive enough to waste their time trying, it will end up
 as a useless atrocious mess that wont boot even in a 100th of the
 systems out there, much less suspend or do anything useful).

 ACPI support doesn't need to suspend or do thermal zones. It just
 needs to be able to read the ADT and get MP / interrupt routing table
 information. This is doable. Have you ever read any of the ACPI spec?
 I have.

 The spec doesn't matter much, given that most BIOS out there totally ignore 
 it.

 As for amd64, it is already done, we are just not worthy to have access to 
 it.

 Without this getting into a holy war, what Geoff told me was that the
 amd64 work was for headless CPU servers, which is only mildly useful
 to me anyway.

 If it was released perhaps somebody would add the missing drivers, who 
 knows...

 As things stand, we will never know.

 uriel

Yeah, it's too bad nobody else on this planet could conceivably ever
write a port.

Since you're so hot on the idea, why not port it yourself? I expect to
see code immediately, by the way, finished or not, and you better be
around to answer my questions.

Or are you too busy perfecting your /sys/doc mirror and bitching on irc?


John
-- 
I've tried programming Ruby on Rails, following TechCrunch in my RSS
reader, and drinking absinthe. It doesn't work. I'm going back to C,
Hunter S. Thompson, and cheap whiskey. -- Ted Dziuba



Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread Benjamin Huntsman
Before my signature, I'd really like to reiterate that I did not bring
up amd64 to open a can of worms.

-dho

I just thought I'd ask the question since it came up, as I've been wondering 
also.
However, I don't think it needs to be a can of worms if we as a community 
don't make it into one.
After all, we're all on the same side.

If the Bell Labs folks don't want to release it, we can either wait for them to 
do so, or as John suggested, port it ourselves.

Personally, I'll wait... :)

I also want to take the opportunity to thank the Labs folk and others here who 
release outstanding code for free and still take the time to communicate with 
the rest of us mortals...  Time and effort greatly appreciated.

-Ben
winmail.dat

Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread Francisco J Ballesteros

 ACPI will never, ever, ever happen, so people better get over it (and
 if anyone is naive enough to waste their time trying, it will end up
 as a useless atrocious mess that wont boot even in a 100th of the
 systems out there, much less suspend or do anything useful).


I've been  wasting time on acpi, and will do waste more time soon.

ISNT __IT _FUN?

sorry, this is just a case convention I've recently seen
and I love it.

BTW, useless, who knows; but atrocious?, the interpreter is pretty.
but what could I say about it?



Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread Devon H. O'Dell
2009/7/8 Francisco J Ballesteros n...@lsub.org:

 ACPI will never, ever, ever happen, so people better get over it (and
 if anyone is naive enough to waste their time trying, it will end up
 as a useless atrocious mess that wont boot even in a 100th of the
 systems out there, much less suspend or do anything useful).


 I've been  wasting time on acpi, and will do waste more time soon.

Another person in Plan 9 has been working on an AML interpreter that
presents the ADT in a filesystem (at least, that was what I envisioned
and explained to him). I believe he has also contacted you regarding
some USB ethernet device, so perhaps you two will want to work
together to some point? If I can be of any use as well, let me know.
I've got a small bit of experience with ACPI (fixing some issues in
FreeBSD's acpica support for Intel Blades).

 ISNT __IT _FUN?

 sorry, this is just a case convention I've recently seen
 and I love it.

It's certainly fun from a WTF were they thinking perspective. Hardware
engineers are rarely amazing programmers.

 BTW, useless, who knows; but atrocious?, the interpreter is pretty.
 but what could I say about it?

--dho



Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread Francisco J Ballesteros

 Another person in Plan 9 has been working on an AML interpreter that
 presents the ADT in a filesystem (at least, that was what I envisioned
 and explained to him). I believe he has also contacted you regarding
 some USB ethernet device, so perhaps you two will want to work
 together to some point? If I can be of any use as well, let me know.
 I've got a small bit of experience with ACPI (fixing some issues in
 FreeBSD's acpica support for Intel Blades).


Well, the thing has to be ready for use at boot time
(even before chandevreset, IMHO). Thus I took care to write
this in a way that does not require processes or other external
artifacts (but for memory allocation and i/o, of course). Providing
a file system interface could be done, but the problem is the
interpreter itself, not providing the tree as a file system.

But time will tell.
Thanks for saying.
Any idea is welcome in any case.



Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread Jason Catena
 I expect to see code immediately, by the way, finished or not, and you better 
 be
 around to answer my questions.

You have something here: these are central software-development tenets
of agile/scrum/xp/lean/kanban du jour, and help the open-source
community work.  Essentially, done is an elusive illusion, so enlist
others throughout the process.

Jason Catena



Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread erik quanstrom
  I expect to see code immediately, by the way, finished or not, and you 
  better be
  around to answer my questions.
 
 You have something here: these are central software-development tenets
 of agile/scrum/xp/lean/kanban du jour, and help the open-source
 community work.  Essentially, done is an elusive illusion, so enlist
 others throughout the process.

i'm just going to take a guess that you have never had egg
on your face caused by publishing code before it's time?

i can't stand my own silly mistakes, unfinished and crap code.
why should i look at anyone elses?  by the way, can you
name operating systems that develop in this way?  i
was under the impression that even, e.g., linux code is submitted
in fairly complete fashion and tends to get rejected even
on style grounds.

i think the idea that is illusary is that there is no difference
between code that doesn't work and code that does work
but might be improved.

part of the craft of programming is to know when something
is actually finished.  the mistake is to improve things that
work well enough.  i think one could write quite an interesting
book critiquing modern software development for failing to
stop at good enough.  but one would need to be quite a bit
smarter, more educated and less lazy than i.  i'll satisfy myself
by quoting some such people.  (oddly #1 and #3 are missing
from fortune)

Rule 3.  Fancy algorithms are slow when n is small, and n is usually small.
- rob pike, Notes on Programming in C
Inside every large problem is a small problem struggling to get out.
- niklaus wirth
When in doubt, use brute force. 
- ken thompson

- erik



Re: [9fans] Google finally announces their lightweight OS

2009-07-08 Thread Jason Catena
On Wed, Jul 8, 2009 at 23:10, erik quanstromquans...@quanstro.net wrote:
  I expect to see code immediately, by the way, finished or not, and you 
  better be
  around to answer my questions.

 You have something here: these are central software-development tenets
 of agile/scrum/xp/lean/kanban du jour, and help the open-source
 community work.  Essentially, done is an elusive illusion, so enlist
 others throughout the process.

 i'm just going to take a guess that you have never had egg
 on your face caused by publishing code before it's time?

I have, often enough that I got past it really bothering me
personally.  Rather, the only way to get changes out to the people
that need it, when they need it, is to release after some sanity test.
 Users of my system tested it far better than I can, and faster.  For
the people who found problems, I fixed them ASAP.  For people who
didn't see any difference, my code passed.  For those who needed the
primary change, they got it quick and got on with their jobs.  To none
of these groups was it worth significantly lengthy testing on my part
to make sure everything was perfect, so long as I quickly fixed any
knock-on, secondary errors.  Managers don't think like that though.

 i can't stand my own silly mistakes, unfinished and crap code.

It's just a process of learning how to build better theories that map
problem to program domains.  Tomorrow you won't be able to stand code
you consider correct, finished, and great today.

 why should i look at anyone elses?

To find giants on whose shoulders you may stand. A capital reason to
study Plan 9.

 by the way, can you
 name operating systems that develop in this way?  i
 was under the impression that even, e.g., linux code is submitted
 in fairly complete fashion and tends to get rejected even
 on style grounds.

Everywhere pair programming is used.  Less obviously, every OS is
incomplete and has rough edges made better through open source, where
it's done.  This was most of my original point, that your demands are
essentially what many customers who can code want.  Why else would
people on this list complain about not being able to see Bell Labs'
broken AMD64 code?

 i think the idea that is illusary is that there is no difference
 between code that doesn't work and code that does work
 but might be improved.

Whether code works depends on your point of view, what your
requirements are for the code.  Just like any system that we build,
and any aspect from which we consider it.

 part of the craft of programming is to know when something
 is actually finished.  the mistake is to improve things that
 work well enough.

Why bother with Plan 9, or write software at all?  Windows and Unix
are essentially finished, and good enough for what almost all people
want to do with a computer. So we could say improving the state of
the art with Linux or Plan 9 are mistakes.  The only code we should
bother to write is completely novel in concept.

 i think one could write quite an interesting
 book critiquing modern software development for failing to
 stop at good enough.

Why would it take a book?  DMR made the point succinctly in his
critique of Knuth's literate program, showing how a few command-line
utilities do the work of the Don's elaborately constructed tries.

 but one would need to be quite a bit
 smarter, more educated and less lazy than i.  i'll satisfy myself
 by quoting some such people.  (oddly #1 and #3 are missing
 from fortune)

 Rule 3.  Fancy algorithms are slow when n is small, and n is usually small.
        - rob pike, Notes on Programming in C
 Inside every large problem is a small problem struggling to get out.
        - niklaus wirth
 When in doubt, use brute force.
        - ken thompson

Agree, but these are off the point of when to release code, however
well-spoken and perceptive.

 - erik

Jason Catena