Re: [fonc] HotDraw's Tool State Machine Editor

2011-07-24 Thread Alan Kay
The idea of using a grammar to create a user interface goes back at least as 
far 
as Engelbart's AHI group. They used a distant past cousin of OMeta (called Tree 
Meta) to do this. Ca. 1966.

One of the first systems to specify and make graphical grammars (and UIs) via 
user interactions was William Newman's The Reaction Handler PhD thesis about 
the same time. (William is the Newman of Newman and Sproull).

It's worthwhile to contemplate that a state machine (recursive or not) is the 
opposite of modeless -- it is the epitome of modes. So this is not a great 
way 
to specify a really nice modeless interface (because you have to draw arrows 
outward from pretty much every state to pretty much every other state). 
Modeless at PARC meant you don't have to explicitly back out of your current 
'mode' to initiate any other command.

Cheers,

Alan





From: Benoît Fleury benoit.fle...@gmail.com
To: Fundamentals of New Computing fonc@vpri.org
Sent: Sat, July 23, 2011 11:05:49 PM
Subject: [fonc] HotDraw's Tool State Machine Editor

Hi,

I found HotDraw's tool state machine editor [1] very interesting as a
graphical editor for a syntax-directed translator. The state machine
transforms a stream of mouse events into a stream of commands on the
structured drawing. Did I push the analogy too far?

I was wondering if anyone knows similar examples of graphical editor
for grammars?

Moreover, we didn't find (yet) a good metaphor for writing programs in
general purpose programming language in a graphical editor. Do you
think that might change with domain specific languages?

Thank you to everyone on this list for the very interesting
discussions and links.

- Benoit

[1] http://st-www.cs.illinois.edu/users/brant/HotDraw/Conversion.html

___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc
___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Re: [squeak-dev] [ANN] Alan Kay to talk about Next steps for qualitatively improving programming at HPI in Potsdam

2011-07-24 Thread Christopher Bratlien
Dr. Kay,
Thank you for giving this talk. Do you recall the list of papers Bob Barton 
instructed you to read, learn, and understand in 1966? Can you share that list 
of papers with us? 


On Jul 23, 2011, at 1:38, Alan Kay alan.n...@yahoo.com wrote:

 Converting the file to something generally playable is fine with me, and you 
 have my permission to do so (insofar as I have any rights to the talk heh heh 
 ...)
 
 Cheers,
 
 Alan
 
 From: Hans-Martin Mosner h...@heeg.de
 To: Fundamentals of New Computing fonc@vpri.org
 Sent: Fri, July 22, 2011 11:27:12 PM
 Subject: Re: [fonc] Re: [squeak-dev] [ANN] Alan Kay to talk about Next steps 
 for qualitatively improving programming at HPI in Potsdam
 
 Am 23.07.2011 04:47, schrieb Juan Vuletich:
  Casey Ransberger wrote:
  I did this dance too... Hmm... Seems the Mac installer comes with some 
  kind of translation tool that's advertised to
  be able to output MPEG, maybe we can use that to save others the trouble 
  of installing the Real client.
  If I figure out that I can handle the conversion without spending any 
  money, would folks have interest in the
  artifact produced?
 
  This is a fun talk, I'm only about halfway through it, but I must admit 
  having cracked up when he said, (and I have
  to paraphrase, because I don't have it in front of me,) ...if we were 
  physicists, and we didn't understand what
  Newton did [slight dramatic pause] we should be shot.
 
  LOL!
 
  I'd really like to have it in my local disk, and in any format that lets me 
  pause and resume, or go back to listen to
  some part again!
 
  Cheers,
  Juan Vuletich
 I'm currently converting it to AVI files, could make them available when that 
 is ok with HPI (don't want to infringe on
 any rights).
 
 Cheers,
 Hans-Martin
 
 ___
 fonc mailing list
 fonc@vpri.org
 http://vpri.org/mailman/listinfo/fonc
 ___
 fonc mailing list
 fonc@vpri.org
 http://vpri.org/mailman/listinfo/fonc
___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Re: [squeak-dev] [ANN] Alan Kay to talk about Next steps for qualitatively improving programming at HPI in Potsdam

2011-07-24 Thread Alan Kay
Wow, what a question!

Let me ponder this. I can certainly come up with a few of them. The class was 
actually taught starting Jan 1967 (I entered grad school a few months before 
this), so all the papers were from 1966 or earlier.

For example, a big deal back then was the design and implementation of 
programming languages. 


One of the things on his list was to read a book of papers that had been 
gathered by (Stanley?) Fox from the UK. I recall that some of the papers in 
this 
book were classics by Strachey and Landin on foundations of programming 
languages, lambda calculus equivalents of Algol, etc. I recall that most of the 
papers in this slim book were very good.

Another book on his list was by Iliffe (who among other things was the designer 
of the Rice University computer, an early one using keywords which were 
called 
Descriptors on the -- even earlier -- B5000). This book was about a new 
machine design of his.

Another book on his list was A Programming Language by Iverson. This was 
before there were any real implementations of what we now call APL, and there 
was much discussion about how to implement it in a reasonable way.

McCarthy's Lisp 1.5 Manual

van Wijngarten's A Generalization of Algol

Wirth's paper of the same name (and drawn from the above), 

... and his very good paper with Weber on Euler -- which used a B5000-like 
byte-coded interpreter (what some would call a VM today) -- though it was 
anticipated in a much stronger way by the B5000 itself. 


The first Simula (I) paper by Nygaard and Dahl (Sept 1966 in CACM -- which was 
a 
very good source in those days).

The papers by Irons, Floyd, Evans, Shorre, and many others about how to make 
syntax directed parsers, and how to think about them.

There were also Wirth's Systems Programming Notes from his course at Stanford.

Randall and Russell's classic book about their Algol Compiler/Interpreter 
system 
for the KDF9 computer (still a very good set of ideas today).

Quite a few papers in The Annual Review of Automatic Programming.

Knuth's notes and drafts for what was originally planned to be one book.

Anatole Holt's notes on Petrie Nets and Occurrence Systems

Barton liked to be mysterious about his own work and did not include any of his 
own writings in this list. But I tracked much of it down. I also had learned 
the 
B5000 as my 3rd machine while in the Air Force a few years earlier, so I had 
some sense of it. However, I did not appreciate many of the great ideas in it 
until I started actually wrestling with systems design (and had Sketchpad and 
the first Simula for context). Barton is probably the most deserving computer 
scientist who never was given the Turing Award (this was a real miscarriage, 
though he did receive the first Eckert-Mauchly Award for HW Architecture).

And tons more! (Many students today would think this to be a lot for a one 
semester course -- but this kind of density was pretty common back then where 
there was a certain amount of filtering and selection done in grad school).

For a more general idea of what the ARPA research community thought about 
computing, take a look at the special issue on Information, Scientific 
American, 
Sept 1966. Each article was written by the best person in each area -- and the 
whole gives a sense of what had been done up to 1966 (and for me, what had been 
done by my mentors and inspirators before I went to grad school).

I hope this will serve for now

Cheers,

Alan






From: Christopher Bratlien chrisbratl...@gmail.com
To: Fundamentals of New Computing fonc@vpri.org
Cc: Fundamentals of New Computing fonc@vpri.org
Sent: Sun, July 24, 2011 1:59:02 AM
Subject: Re: [fonc] Re: [squeak-dev] [ANN] Alan Kay to talk about Next steps 
for qualitatively improving programming at HPI in Potsdam


Dr. Kay,
Thank you for giving this talk. Do you recall the list of papers Bob Barton 
instructed you to read, learn, and understand in 1966? Can you share that list 
of papers with us? 


On Jul 23, 2011, at 1:38, Alan Kay alan.n...@yahoo.com wrote:


Converting the file to something generally playable is fine with me, and you 
have my permission to do so (insofar as I have any rights to the talk heh heh 
...)

Cheers,

Alan





From: Hans-Martin Mosner h...@heeg.de
To: Fundamentals of New Computing fonc@vpri.org
Sent: Fri, July 22, 2011 11:27:12 PM
Subject: Re: [fonc] Re: [squeak-dev] [ANN] Alan Kay to talk about Next steps  
for qualitatively improving programming at HPI in Potsdam

Am 23.07.2011 04:47, schrieb Juan Vuletich:
 Casey Ransberger wrote:
 I did this dance too... Hmm... Seems the Mac installer comes with some kind 
 of 
translation tool that's advertised to
 be able to output MPEG, maybe we can use that to save others the trouble of 
installing the Real client.
 If I figure out that I can handle the conversion without spending any 
 money, 
would folks have interest in the
 artifact produced?

 

Re: [fonc] Alan Kay talk at HPI in Potsdam

2011-07-24 Thread Marcel Weiher
Hi Alan,

as usual, it was inspiring talking to your colleagues and hearing you speak at 
Potsdam.  I think I finally got the Model-T image, which resonated with my 
fondness for Objective-C:  a language that a 17 year old with no experience 
with compilers or runtimes can implement and that manages to boil down dynamic 
OO/messaging to a single special function can't be all bad :-) 

There was one question I had on the scaling issue that would not have fitted in 
the QA:   while praising the design of the Internet, you spoke less well of 
the World Wide Web, which surprised me a bit.   Can you elaborate?

Thanks,

Marcel



On Jul 22, 2011, at 6:29 , Alan Kay wrote:

 To All,
 
 This wound up being a talk to several hundred students, so most of the 
 content is about ways to think about things, with just a little about 
 scaling and STEPS at the end.
 
 Cheers,
 
 Alan
___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Alan Kay talk at HPI in Potsdam

2011-07-24 Thread Alan Kay
Hi Marcel

I think I've already said a bit about the Web on this list -- mostly about the 
complete misunderstanding of the situation the web and browser designers had. 


All the systems principles needed for a good design were already extant, but I 
don't think they were known to the designers, even though many of them were 
embedded in the actual computers and operating systems they used.

The simplest way to see what I'm talking about is to notice the many-many 
things 
that could be done on a personal computer/workstation that couldn't be done in 
the web  browser running on the very same personal computer/workstation. There 
was never any good reason for these differences.

Another way to look at this is from the point of view of separation of 
concerns. A big question in any system is how much does 'Part A' have to know 
about 'Part B' (and vice versa) in order to make things happen? The web and 
browser designs fail on this really badly, and have forced set after set of 
weak 
conventions into larger and larger, but still weak browsers and, worse, onto 
zillions of web pages on the net. 


Basically, one of the main parts of good systems design is to try to find ways 
to finesse safe actions without having to know much. So -- for example -- 
Squeak 
runs everywhere because it can carry all of its own resources with it, and the 
OS processes/address-spaces allow it to run safely, but do not have to know 
anything about Squeak to run it. Similarly Squeak does not have to know much to 
run on every machine - just how to get events, a display buffer, and to map its 
file conventions onto the local ones. On a bare machine, Squeak *is* the OS, 
etc. So much for old ideas from the 70s!

The main idea here is that a windowing 2.5 D UI can compose views from many 
sources into a page. The sources can be opaque because they can even do their 
own rendering if needed. Since the sources can run in protected address-spaces 
their actions can be confined, and we the mini-OS running all this do not 
have 
to know anything about them. This is how apps work on personal computers, and 
there is no reason why things shouldn't work this way when the address-spaces 
come from other parts of the net. There would then be no difference between 
local and global apps.

Since parts of the address spaces can be externalized, indexing as rich (and 
richer) to what we have now still can be done.

And so forth.

The Native Client part of Chrome finally allows what should have been done in 
the first place (we are now about 20+ years after the first web proposals by 
Berners-Lee).  However, this approach will need to be adopted by most of the 
already existing multiple browsers before it can really be used in a practical 
way in the world of personal computing -- and there are signs that there is not 
a lot of agreement or understanding why this would be a good thing. 


The sad and odd thing is that so many people in the computer field were so 
lacking in systems consciousness that they couldn't see this, and failed to 
complain mightily as the web was being set up and a really painful genii was 
being let out of the bottle.

As Kurt Vonnegut used to say And so it goes.

Cheers,

Alan




From: Marcel Weiher marcel.wei...@gmail.com
To: Fundamentals of New Computing fonc@vpri.org
Cc: Alan Kay alan.n...@yahoo.com
Sent: Sun, July 24, 2011 5:39:26 AM
Subject: Re: [fonc] Alan Kay talk at HPI in Potsdam


Hi Alan,

as usual, it was inspiring talking to your colleagues and hearing you speak at 
Potsdam.  I think I finally got the Model-T image, which resonated with my 
fondness for Objective-C:  a language that a 17 year old with no experience 
with 
compilers or runtimes can implement and that manages to boil down dynamic 
OO/messaging to a single special function can't be all bad :-) 

There was one question I had on the scaling issue that would not have fitted in 
the QA:   while praising the design of the Internet, you spoke less well of 
the 
World Wide Web, which surprised me a bit.   Can you elaborate?

Thanks,

Marcel



On Jul 22, 2011, at 6:29 , Alan Kay wrote:

To All,

This wound up being a talk to several hundred students, so most of the content 
is about ways to think about things, with just a little about scaling and 
STEPS at the end.

Cheers,

Alan___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] HotDraw's Tool State Machine Editor

2011-07-24 Thread Benoît Fleury
Hi Dr Kay,

thank you for the pointer to Newman's work I was not aware of.

Regarding the state machine, Engelbart already pointed out that it was
not a good model for user control language in [1].

In the first attempt, the control language was described as a finite
state machine, and the language allowed a formal textual definition of
such a machine. [...] It was originally thought that such an approach
was adequate for the definition of user-system control languages. But,
to paraphrase John McCarthy, the model is metaphysically adequate, but
epistemologically inadequate. Implementation revealed that the
dialogue is a non-Markovian (nonstochastic,
historically dependent) process on the part of both the machine and
the user, and accurate characterization as a finite state machine
results in so many states that the model is useless. A better model is
a two-stack automaton with a small number of immediate-access storage
registers.

I didn't encounter a lot of systems like NLS/AUGMENT during my time at
a french engineer school. I guess the situation is similar to US
universities. I'm trying now to catch up and was wondering if there
are other software systems built using the same principles and
techniques (collection of domain specific languages). I, of course,
know already about Franck and the STEPS project.

Thank you again for the pointers.

- Benoit

[1] Development of a multidisplay, time-shared computer facility and
computer-augmented management-system research (Final Report),
http://bitsavers.org/pdf/sri/arc/Development_of_a_Multidisplay_Time-Shared_Computer_Facility_Apr68.pdf



On Sat, Jul 23, 2011 at 11:39 PM, Alan Kay alan.n...@yahoo.com wrote:
 The idea of using a grammar to create a user interface goes back at least as
 far as Engelbart's AHI group. They used a distant past cousin of OMeta
 (called Tree Meta) to do this. Ca. 1966.

 One of the first systems to specify and make graphical grammars (and UIs)
 via user interactions was William Newman's The Reaction Handler PhD thesis
 about the same time. (William is the Newman of Newman and Sproull).

 It's worthwhile to contemplate that a state machine (recursive or not) is
 the opposite of modeless -- it is the epitome of modes. So this is not a
 great way to specify a really nice modeless interface (because you have to
 draw arrows outward from pretty much every state to pretty much every other
 state). Modeless at PARC meant you don't have to explicitly back out of
 your current 'mode' to initiate any other command.

 Cheers,

 Alan

 
 From: Benoît Fleury benoit.fle...@gmail.com
 To: Fundamentals of New Computing fonc@vpri.org
 Sent: Sat, July 23, 2011 11:05:49 PM
 Subject: [fonc] HotDraw's Tool State Machine Editor

 Hi,

 I found HotDraw's tool state machine editor [1] very interesting as a
 graphical editor for a syntax-directed translator. The state machine
 transforms a stream of mouse events into a stream of commands on the
 structured drawing. Did I push the analogy too far?

 I was wondering if anyone knows similar examples of graphical editor
 for grammars?

 Moreover, we didn't find (yet) a good metaphor for writing programs in
 general purpose programming language in a graphical editor. Do you
 think that might change with domain specific languages?

 Thank you to everyone on this list for the very interesting
 discussions and links.

 - Benoit

 [1] http://st-www.cs.illinois.edu/users/brant/HotDraw/Conversion.html

 ___
 fonc mailing list
 fonc@vpri.org
 http://vpri.org/mailman/listinfo/fonc

 ___
 fonc mailing list
 fonc@vpri.org
 http://vpri.org/mailman/listinfo/fonc



___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Alan Kay talk at HPI in Potsdam

2011-07-24 Thread Thiago Silva
Hello Dr. Alan,

Since access to fonc list archives is closed to members, would you allow me to 
publish your email below elsewhere for public access? It is the most rich and 
informative critique I've found about the web (plus the non-authoring nature 
of the browser you've mentioned before).

Cheers,
Thiago

On Sunday 24 July 2011 14:24:20 Alan Kay wrote:
 Hi Marcel
 
 I think I've already said a bit about the Web on this list -- mostly about
 the complete misunderstanding of the situation the web and browser
 designers had.
 
 
 All the systems principles needed for a good design were already extant,
 but I don't think they were known to the designers, even though many of
 them were embedded in the actual computers and operating systems they
 used.
 
 The simplest way to see what I'm talking about is to notice the many-many
 things that could be done on a personal computer/workstation that couldn't
 be done in the web  browser running on the very same personal
 computer/workstation. There was never any good reason for these
 differences.
 
 Another way to look at this is from the point of view of separation of
 concerns. A big question in any system is how much does 'Part A' have to
 know about 'Part B' (and vice versa) in order to make things happen? The
 web and browser designs fail on this really badly, and have forced set
 after set of weak conventions into larger and larger, but still weak
 browsers and, worse, onto zillions of web pages on the net.
 
 
 Basically, one of the main parts of good systems design is to try to find
 ways to finesse safe actions without having to know much. So -- for
 example -- Squeak runs everywhere because it can carry all of its own
 resources with it, and the OS processes/address-spaces allow it to run
 safely, but do not have to know anything about Squeak to run it. Similarly
 Squeak does not have to know much to run on every machine - just how to
 get events, a display buffer, and to map its file conventions onto the
 local ones. On a bare machine, Squeak *is* the OS, etc. So much for old
 ideas from the 70s!
 
 The main idea here is that a windowing 2.5 D UI can compose views from many
 sources into a page. The sources can be opaque because they can even do
 their own rendering if needed. Since the sources can run in protected
 address-spaces their actions can be confined, and we the mini-OS running
 all this do not have to know anything about them. This is how apps work on
 personal computers, and there is no reason why things shouldn't work this
 way when the address-spaces come from other parts of the net. There would
 then be no difference between local and global apps.
 
 Since parts of the address spaces can be externalized, indexing as rich
 (and richer) to what we have now still can be done.
 
 And so forth.
 
 The Native Client part of Chrome finally allows what should have been done
 in the first place (we are now about 20+ years after the first web
 proposals by Berners-Lee).  However, this approach will need to be adopted
 by most of the already existing multiple browsers before it can really be
 used in a practical way in the world of personal computing -- and there
 are signs that there is not a lot of agreement or understanding why this
 would be a good thing.
 
 
 The sad and odd thing is that so many people in the computer field were so
 lacking in systems consciousness that they couldn't see this, and failed
 to complain mightily as the web was being set up and a really painful
 genii was being let out of the bottle.
 
 As Kurt Vonnegut used to say And so it goes.
 
 Cheers,
 
 Alan
 
 
 
 
 From: Marcel Weiher marcel.wei...@gmail.com
 To: Fundamentals of New Computing fonc@vpri.org
 Cc: Alan Kay alan.n...@yahoo.com
 Sent: Sun, July 24, 2011 5:39:26 AM
 Subject: Re: [fonc] Alan Kay talk at HPI in Potsdam
 
 
 Hi Alan,
 
 as usual, it was inspiring talking to your colleagues and hearing you speak
 at Potsdam.  I think I finally got the Model-T image, which resonated with
 my fondness for Objective-C:  a language that a 17 year old with no
 experience with compilers or runtimes can implement and that manages to
 boil down dynamic OO/messaging to a single special function can't be all
 bad :-)
 
 There was one question I had on the scaling issue that would not have
 fitted in the QA:   while praising the design of the Internet, you spoke
 less well of the World Wide Web, which surprised me a bit.   Can you
 elaborate?
 
 Thanks,
 
 Marcel
 
 
 
 On Jul 22, 2011, at 6:29 , Alan Kay wrote:
 
 To All,
 
 This wound up being a talk to several hundred students, so most of the
 content is about ways to think about things, with just a little about
 scaling and STEPS at the end.
 
 Cheers,
 
 Alan

___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc