9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* Re: [9fans] ugrading edition 2 graphics to edition 3
@ 2000-08-03 23:43 kim kubik
  2000-08-04  9:12 ` Boyd Roberts
  0 siblings, 1 reply; 27+ messages in thread
From: kim kubik @ 2000-08-03 23:43 UTC (permalink / raw)
  To: 9fans



-----Original Message-----
From: geoff@x.bell-labs.com <geoff@x.bell-labs.com>
To: 9fans@cse.psu.edu <9fans@cse.psu.edu>
Date: Thursday, August 03, 2000 1:25 PM
Subject: Re: [9fans] ugrading edition 2 graphics to edition 3


>There's reinvention and there's reimplementation, as advocated by
>forsyth in `more taste, less greed: sending Unix to the fat farm'
>(ftp://ftp.cs.york.ac.uk/papers/taste.ps.Z).  If the original wheel
>was square or triangular, it's well worth reimplementing it, and you
>usually learn something along the way.
>

I always assumed that title ("More Taste, Less Greed") was a takeoff
on a 1989 paper/talk by a D. Rosenthal (then at Sun I think) "More
Haste, Less Speed" where he says something like:

 "Six years ago the author was sharing a 1MIPS, 4Meg machine 
  with 60 users. At times it was irritatingly slow. Now he 
  has a 1.5MIPS, 4Meg machine all to himself. At times it is 
  irritatingly slow."

And then he asks "What Happened to All That Extra Power?"

Isn't this one of the basic ideas for p9, to have the terminal
server provide an essentially consistent response to user
interaction and the other processor hogs be 'down the wire'
and out of the way in terms of gobbling cpu cycles, which a
workstation has to juggle, especially when it has to go to
disk to process page faults. 



^ permalink raw reply	[flat|nested] 27+ messages in thread
* Re: [9fans] ugrading edition 2 graphics to edition 3
@ 2000-08-05  2:27 Anthony Sorace
  0 siblings, 0 replies; 27+ messages in thread
From: Anthony Sorace @ 2000-08-05  2:27 UTC (permalink / raw)
  To: 9fans

//But if I need a tire for my car, telling me that I have
//to build my own rubber factory etc. just because you
//don't like the tread patterns on existing commercial
//products is absurd.

but it makes more sense to build custom tires if none of
the commercial versions fit on my custom car.
: anothy;


^ permalink raw reply	[flat|nested] 27+ messages in thread
* Re: [9fans] ugrading edition 2 graphics to edition 3
@ 2000-08-05  2:18 geoff
  0 siblings, 0 replies; 27+ messages in thread
From: geoff @ 2000-08-05  2:18 UTC (permalink / raw)
  To: 9fans

> But if I need a tire for my car, telling me that I have
> to build my own rubber factory etc. just because you
> don't like the tread patterns on existing commercial
> products is absurd.

It would be, but perhaps the better analogy is that the only available
commercial tires are flat, or at least extremely leaky.



^ permalink raw reply	[flat|nested] 27+ messages in thread
* Re: [9fans] ugrading edition 2 graphics to edition 3
@ 2000-08-04 17:02 nigel
  2000-08-07  8:44 ` Douglas A. Gwyn
  0 siblings, 1 reply; 27+ messages in thread
From: nigel @ 2000-08-04 17:02 UTC (permalink / raw)
  To: 9fans

> But if I need a tire for my car, telling me that I have
> to build my own rubber factory etc. just because you
> don't like the tread patterns on existing commercial
> products is absurd.

I don't think anyone would disagree with that, unless it turns
out that the tread pattern is life threatening.

Since we're on car analogies, there are two ways to make
an old, heavy model go faster. You can put in a larger engine,
possibly reshape the front to achieve this, enlarge the fuel
tank to compensate for the loss of range, and replace the shocks.
This usually results in worse handling, and increased running
costs.

Alternatively, you could replace the body with modern materials
which reduces it's weight.



^ permalink raw reply	[flat|nested] 27+ messages in thread
* Re: [9fans] ugrading edition 2 graphics to edition 3
@ 2000-08-04  8:25 forsyth
  0 siblings, 0 replies; 27+ messages in thread
From: forsyth @ 2000-08-04  8:25 UTC (permalink / raw)
  To: 9fans

>>I always assumed that title ("More Taste, Less Greed") was a takeoff
>>on a 1989 paper/talk by a D. Rosenthal (then at Sun I think) "More
>>Haste, Less Speed" where he says something like:

Yes, you're quite right.  I thought there were simpler, more obvious
explanations for the workstation disaster than those mentioned in
Rosenthal's paper.  He included a nod to `Chaos Theory' (as regards
paging).  I suggested instead the application of `Control Theory' (cf.
Maurice Wilkes' elegant paper on paging, inspired by an analysis of
EMAS), `careful design', and `reimplementation' as possible ways to
address the problem, supported by some worked examples.
Of course, the `more taste' aspect was intended
to emphasise that careful design involves careful choice and
composition of primitives and functionality.

The distribution is possibly less important to Plan 9 (for achieving
simplicity and a generally responsive environment) than the use of
name spaces containing file servers which provides structural support
for distribution but much more besides, and keeping the implementation
lean, and reasonable (able to be reasoned about).
It's perhaps a small part, but I'd include avoiding the #ifdef/#include pit in that.

Some people just never learn: special-purpose protocols, perverse
naming schemes, botched file servers, and every program a whole
operating system ... they just keep coming.



^ permalink raw reply	[flat|nested] 27+ messages in thread
* Re: [9fans] ugrading edition 2 graphics to edition 3
@ 2000-08-03 20:40 forsyth
  0 siblings, 0 replies; 27+ messages in thread
From: forsyth @ 2000-08-03 20:40 UTC (permalink / raw)
  To: 9fans

>>There's reinvention and there's reimplementation, as advocated by
>>forsyth in `more taste, less greed: sending Unix to the fat farm'

as noted in that paper, i borrowed the distinction
from the EMAS group, particularly their paper
``An Experiment in Doing it Again, But Very Well This Time''
(CSR-18-77 University of Edinburgh):

	By re-implementation, we mean re-programming and altering the
	structure of an existing system where necessary, so as to better implement
	the function of that system.  We distinguish re-implementation from two
	other activities.  These are the transportation of an existing system to
	new hardware, and the design of a new system.  If we transport a system,
	we leave its function and its structure unaltered.  Re-implementation is
	not merely a combination of transportation and re-design, but is a
	unique activity in its own right.  It is doing it again, but very well this time.



^ permalink raw reply	[flat|nested] 27+ messages in thread
* Re: [9fans] ugrading edition 2 graphics to edition 3
@ 2000-08-03 20:19 geoff
  2000-08-04 16:19 ` Douglas A. Gwyn
  0 siblings, 1 reply; 27+ messages in thread
From: geoff @ 2000-08-03 20:19 UTC (permalink / raw)
  To: 9fans

There's reinvention and there's reimplementation, as advocated by
forsyth in `more taste, less greed: sending Unix to the fat farm'
(ftp://ftp.cs.york.ac.uk/papers/taste.ps.Z).  If the original wheel
was square or triangular, it's well worth reimplementing it, and you
usually learn something along the way.



^ permalink raw reply	[flat|nested] 27+ messages in thread
* Re: [9fans] ugrading edition 2 graphics to edition 3
@ 2000-08-03 19:13 dhog
  0 siblings, 0 replies; 27+ messages in thread
From: dhog @ 2000-08-03 19:13 UTC (permalink / raw)
  To: 9fans

Doug Henderson <djhender@telusplanet.net> writes:
> It's about reinventing the wheel.
> "If I have seen furthur it is by standing on the shoulders of giants" -
> Isaac Newton.
> http://www.newton.org.uk/essays/Giants.html
> 

If I have seen farther than others, it is because I was standing on
the shoulders of giants.  -- Isaac Newton

In the sciences, we are now uniquely privileged to sit side by side
with the giants on whose shoulders we stand.  -- Gerald Holton

If I have not seen as far as others, it is because giants were
standing on my shoulders.  -- Hal Abelson

In computer science, we stand on each other's feet.  -- Brian K. Reid



^ permalink raw reply	[flat|nested] 27+ messages in thread
* Re: [9fans] ugrading edition 2 graphics to edition 3
@ 2000-08-02 20:33 Russ Cox
  0 siblings, 0 replies; 27+ messages in thread
From: Russ Cox @ 2000-08-02 20:33 UTC (permalink / raw)
  To: 9fans, djhender

The easiest thing at the moment is not to use
the APE -- #include <u.h>, then <libc.h>,
and even <stdio.h> if you want it, and you'll
have a pretty sensible setup.

As far as the panel library goes, there is no
direct replacement.  

As far as converting libg.h to draw.h, the big
difference is that bitblt is replaced by draw, and
while there is some intersection (block copies,
block fills), if you have a program that is heavy
into things like XORing pixels, it will need to be
rethought for the new driver.  There are also
little differences -- add became addpt, etc.

For little graphical programs, there are a 
couple at www.eecs.harvard.edu/~rsc/plan9.html;
look for click.c, bargraph.c, mixer.c, cdplay.tar.gz,
in increasing order of complexity.

As far as file systems, there is a rot13fs.c 
on the same page, which is a 9P filter rather
than a 9P server.  /sys/src/cmd/archfs.c
is a very minimal server but uses a 9P
library to do the dirty work.  /sys/src/cmd/rdbfs.c is a fairly 
simple completely self-contained 9P server.

Russ



^ permalink raw reply	[flat|nested] 27+ messages in thread
* Re: [9fans] ugrading edition 2 graphics to edition 3
@ 2000-08-02 16:53 Anthony Sorace
  0 siblings, 0 replies; 27+ messages in thread
From: Anthony Sorace @ 2000-08-02 16:53 UTC (permalink / raw)
  To: 9fans

//Is there much 2nd edition stuff you feel needs to be updated?

yeah. /bin/games.
: anothy;


^ permalink raw reply	[flat|nested] 27+ messages in thread
* Re: [9fans] ugrading edition 2 graphics to edition 3
@ 2000-08-02 14:45 rob pike
  2000-08-03  8:20 ` Boyd Roberts
  0 siblings, 1 reply; 27+ messages in thread
From: rob pike @ 2000-08-02 14:45 UTC (permalink / raw)
  To: 9fans

> The <libg.h> looks like it used to be supported in the APE environment (the
> header is still there in 3rd, but it doesn't work - also no libg.a).

APE has been a bit neglected the last year or two.  There should
certainly be an APE version of <draw.h>.  I removed <ape/libg.h>
here; it was a dreg.  Thanks for catching it.

> One of the most valuable aids (for me) to learning a new environment is
> building and experimenting with existing code. So I am lacking some of the
> tools that I can use to figure out how to do these tranforms. Is the 2nd
> edition documentation still available anywhere, for download or browsing? Is
> there a porting guide? A feature comparision?

None of the above, really.  I suppose we could put the old documentation
on line - in fact it's still there, just hidden - but is that actually useful?
Is there much 2nd edition stuff you feel needs to be updated?

-rob



^ permalink raw reply	[flat|nested] 27+ messages in thread
* [9fans] ugrading edition 2 graphics to edition 3
@ 2000-08-02 13:23 Doug Henderson
  0 siblings, 0 replies; 27+ messages in thread
From: Doug Henderson @ 2000-08-02 13:23 UTC (permalink / raw)
  To: 9fans

While I looked at Plan9 a number of years back - I downloaded the 3 disk
install set I think, I didn't get seriously involved until 3rd edition, what
with ADSL & cable making 50Meg downloads a practicality for the individual.

A lot of the existing native plan9 source code out there is written for the
2nd edition graphics libraries, with headers like <libg.h>, <panel.h>, and
<layer.h>. I don't have access to the 2nd edition graphics library
documention. I have not seen both versions of any programs which have been
transformed from 2nd to 3rd editions.

One of the most valuable aids (for me) to learning a new environment is
building and experimenting with existing code. So I am lacking some of the
tools that I can use to figure out how to do these tranforms. Is the 2nd
edition documentation still available anywhere, for download or browsing? Is
there a porting guide? A feature comparision?

The <libg.h> looks like it used to be supported in the APE environment (the
header is still there in 3rd, but it doesn't work - also no libg.a). Is the
3rd edition <draw.h> and etc. going to be supported under the 3rd edition?
Anyone working on that? Are there guidelines / suggestions for doing such a
thing? My efforts so far get to the linker where I get a conflict between
the ape atexit and the libc atexit (I think).

Are there any feature test programs available? I mean simple programs
(perhaps used by the developers of the 3rd edition graphics libraries) to
excercise the features of the code. I find these kinds of programs a
valuable starting point for testing out my own pieces of code - the ones
where I find out how to do the basic things I need for a larger project.



^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2000-09-11 15:41 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-08-03 23:43 [9fans] ugrading edition 2 graphics to edition 3 kim kubik
2000-08-04  9:12 ` Boyd Roberts
2000-08-04 14:19   ` Andy Newman
2000-08-04 14:37     ` Boyd Roberts
     [not found]       ` <20000805004518.A42947@juju.bsn>
     [not found]         ` <022101bffe66$90ac6640$03c684c3@psychobasketcase.org>
     [not found]           ` <20000805085453.A46136@juju.bsn>
2000-08-04 23:26             ` Boyd Roberts
2000-08-07  8:46               ` Alex Danilo
2000-08-07 13:41                 ` Andy Newman
2000-08-07 20:45                 ` Boyd Roberts
  -- strict thread matches above, loose matches on Subject: below --
2000-08-05  2:27 Anthony Sorace
2000-08-05  2:18 geoff
2000-08-04 17:02 nigel
2000-08-07  8:44 ` Douglas A. Gwyn
2000-08-04  8:25 forsyth
2000-08-03 20:40 forsyth
2000-08-03 20:19 geoff
2000-08-04 16:19 ` Douglas A. Gwyn
2000-08-04 17:06   ` Matt
2000-08-07  8:44     ` Douglas A. Gwyn
2000-08-03 19:13 dhog
2000-08-02 20:33 Russ Cox
2000-08-02 16:53 Anthony Sorace
2000-08-02 14:45 rob pike
2000-08-03  8:20 ` Boyd Roberts
2000-08-03  8:44   ` Doug Henderson
2000-08-03  8:54     ` Boyd Roberts
     [not found]       ` <boyd@noos.fr>
2000-09-11 15:41         ` Tom Duff
2000-08-02 13:23 Doug Henderson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).