Live data from Hacker News

Alan Kay's talk at UCLA – Feb 2024 [video]

youtube.com

111–120 of 145 posts

Re: Alan Kay's talk at UCLA – Feb 2024 [video]

#111

Earlier quoted context omitted.

You would need live routing of messages. And the ability to reroute, filter, inject messages dynamically into code. Why must everything be done as a function call? You can’t change anything without recompiling the code. Today everything is implemented as a function call. Need to send a message? Call a function named “snd_msg” or something.

> Why must everything be done as a function call? You can’t change anything without recompiling the code. Emacs Lisp supports dynamic binding, so you can dynamically rebind function definitions at runtime.

It's curious how the original 1981 paper [1] on TECO Emacs, written before I was born, describes many qualities I recognize in the ELisp Emacs I grew up on.

Emacs "happens" to be open source ;-), but the paper stresses how the system & language were designed to allow users to mold it at run time without the barrier of recompiling from source, and how empowering users led to better features than "careful design" could have achieved. Selected points I found notable:

- awareness that "An EMACS system actually implements two different languages, the editing language and the programming language". - Editing Language is tweakable (again at run time) by re-binding keys to macros / existing commands / custom commands. This gives agency to users with less programming skill! - Language separation being necessary so that tweaking Editing Language can't break Programming code. - Key bindings are shallow "keyboard sugar" over the concepts of Programming Language. Commands are (almost) regular functions. User can invoke any command by name, bypassing the sugar. - Buffer-local & mode-local bindings. - Commands (and generally as much of the system as possible) implemented in Programming Language which was chosen to be interpreted not compiled, so that users can redefine at run-time and experiment. - "The only way to implement an extensible system using an unsuitable language, is to write an interpreter for a suitable language and then use that one" :-D - "variable [and function] names are retained at run time; they are not lost in compilation"

- Commands are extensively parametrized by variables. User can achieve quite a lot by simply setting [global] variables. - Dynamic not lexical scoping deliberately choosen to make code less encapsulated and more reusable with tweaks. See paper why lexical is worse for dynamic - Unique concept of File/buffer-local variables! Again, if programmer went to the trouble of parametrizing code, maximize the payoff. - Commands and especially compiled code extensively parameterized by calling "Hooks" at interesting points. "These hooks can be thought of as compensating for the fact that some parts of the system are written in assembler language and cannot simply be redefined by the user." - Social dynamics like "library system" for loading extensions written by others. Well, ater Emacs actually lagged behind for decades in ease of obtaining 3rd-party libraries. "too cathedral, not enough bazaar..." Much better now with MELPA, still not as smooth as say VSCode extensions. But I feel a trade-off — VSCode extensions are more "opaque".

[1] https://www.gnu.org/software/emacs/emacs-paper.html

Re: Alan Kay's talk at UCLA – Feb 2024 [video]

#112
post #41

Earlier quoted context omitted.

you may or may not be aware that when he headed vpri, they did some substantial research into some of the other important ways to organize software, including things like array languages, david p. reed's work on spatially replicated computation, and cooperating communities of specialized solvers. in this talk, he also mentioned gelernter's tuple-space architecture, though you may have missed it. he definitely isn't a…

Bret Victor's DynamicLand seems to be a direct descendent of many of these ideas. RealTalk's reactive DB combines Linda tuplespace ideas with LISP 71 pattern matching and reactive semantics. Each Realtalk object is self contained and can't be 'messed with' externally. It's all introspective and reconfigurable, etc

btw, is there a lisp 71, or do you mean larry tesler's lisp70?

Re: Alan Kay's talk at UCLA – Feb 2024 [video]

#113
post #41

Earlier quoted context omitted.

you may or may not be aware that when he headed vpri, they did some substantial research into some of the other important ways to organize software, including things like array languages, david p. reed's work on spatially replicated computation, and cooperating communities of specialized solvers. in this talk, he also mentioned gelernter's tuple-space architecture, though you may have missed it. he definitely isn't a…

Bret Victor's DynamicLand seems to be a direct descendent of many of these ideas. RealTalk's reactive DB combines Linda tuplespace ideas with LISP 71 pattern matching and reactive semantics. Each Realtalk object is self contained and can't be 'messed with' externally. It's all introspective and reconfigurable, etc

Do you know anywhere where one can look into dynamicland more deeply? I've been interested in playing around with it for a while (hopefully I can get my hands on a projector lol) but have never found any details. Omar Rizwan's website had a cool post on geokit but that was all I managed to find.

Re: Alan Kay's talk at UCLA – Feb 2024 [video]

#114
post #113

Earlier quoted context omitted.

Bret Victor's DynamicLand seems to be a direct descendent of many of these ideas. RealTalk's reactive DB combines Linda tuplespace ideas with LISP 71 pattern matching and reactive semantics. Each Realtalk object is self contained and can't be 'messed with' externally. It's all introspective and reconfigurable, etc

Do you know anywhere where one can look into dynamicland more deeply? I've been interested in playing around with it for a while (hopefully I can get my hands on a projector lol) but have never found any details. Omar Rizwan's website had a cool post on geokit but that was all I managed to find.

you'll probably have to talk to the dynamicland folks; i'm not sure what their current strategy is for getting it out into the world, but it doesn't seem to be the obvious 'upload the software to gitlab and hope for the best' approach

Re: Alan Kay's talk at UCLA – Feb 2024 [video]

#115
post #91

Earlier quoted context omitted.

There are things about human language that are fundamentally at odds with effective communication with a computer (or engineering in general). One example is ambiguity. Every human language has faculties for ambiguity, which is crucial in many human interactions and relationships. The ability to make implicit requests or suggestions while maintaining plausible deniability is valuable, even in situations that are non-…

> In contrast, when communicating with an OS or engineering a mechanical device, ambiguity is a negative and it's crucial to use language that is deterministic. Very much a historical artifact. Modern systems (LLMs, for example) can in principle handle ambiguous inputs.

Is ambiguity ever desirable when communicating with them?

Re: Alan Kay's talk at UCLA – Feb 2024 [video]

#116
post #114
post #113

Earlier quoted context omitted.

Do you know anywhere where one can look into dynamicland more deeply? I've been interested in playing around with it for a while (hopefully I can get my hands on a projector lol) but have never found any details. Omar Rizwan's website had a cool post on geokit but that was all I managed to find.

you'll probably have to talk to the dynamicland folks; i'm not sure what their current strategy is for getting it out into the world, but it doesn't seem to be the obvious 'upload the software to gitlab and hope for the best' approach

Bret plans on publishing everything this Spring - https://twitter.com/worrydream/status/1753116042254340526

Re: Alan Kay's talk at UCLA – Feb 2024 [video]

#117
post #112

Earlier quoted context omitted.

Bret Victor's DynamicLand seems to be a direct descendent of many of these ideas. RealTalk's reactive DB combines Linda tuplespace ideas with LISP 71 pattern matching and reactive semantics. Each Realtalk object is self contained and can't be 'messed with' externally. It's all introspective and reconfigurable, etc

btw, is there a lisp 71, or do you mean larry tesler's lisp70?

Sorry I meant Tesler's Lisp70 - http://www.bitsavers.org/pdf/stanford/sail/lisp70patmatch_Fe...

Re: Alan Kay's talk at UCLA – Feb 2024 [video]

#118
post #113

Earlier quoted context omitted.

Bret Victor's DynamicLand seems to be a direct descendent of many of these ideas. RealTalk's reactive DB combines Linda tuplespace ideas with LISP 71 pattern matching and reactive semantics. Each Realtalk object is self contained and can't be 'messed with' externally. It's all introspective and reconfigurable, etc

Do you know anywhere where one can look into dynamicland more deeply? I've been interested in playing around with it for a while (hopefully I can get my hands on a projector lol) but have never found any details. Omar Rizwan's website had a cool post on geokit but that was all I managed to find.

Omar has a new project in the same vein as DynamicLand called Folk - https://news.ycombinator.com/item?id=39241472

Re: Alan Kay's talk at UCLA – Feb 2024 [video]

#119
post #91

Earlier quoted context omitted.

> In contrast, when communicating with an OS or engineering a mechanical device, ambiguity is a negative and it's crucial to use language that is deterministic. Very much a historical artifact. Modern systems (LLMs, for example) can in principle handle ambiguous inputs.

Is ambiguity ever desirable when communicating with them?

I would argue no - the entire concept of prompt engineering exists for this reason.

Re: Alan Kay's talk at UCLA – Feb 2024 [video]

#120
post #2

I heard of Alan Kay via Steve Jobs's intro of the iPhone [1], but otherwise know little about him - can anyone recommend other Alan Kay talks/essays/books? [1] https://www.youtube.com/watch?v=VQKMoT-6XSg&t=10m2s

Dealers of Lightning: Xerox PARC This follows Alan Kay (as well as dozens of others) through their groundbreaking research at Xerox's research lab in Palo Alto, primarily during the 70s. You will learn how these visionaries and personalities were largely at war with themselves, while HQ (2,000 miles away) largely ignored any of their marvelous outputs... until it was too late. ---- I just checked this morning, and wa…

PARC (at least the UI that came out of it) is replicable in terms of a new UI paradigm: The virtual headset is criminally underutilized.

How much is computer interface restricted by the little window (even a 4k TV) we get as the view into the computer? The promise to me of a VR headset UI is having an arbitrary amount of real estate to display information (and not just 2D!)

And here's the thing about a good VR UI: it wouldn't just be the visible! Your brain can track the location of things subconsciously, so the log tailing window, the metrics window, that upload/download/file copy status window, can all be in some area you turn your head to glance at to get occasional information on.

Because the PARC UI's windowing system is designed to help out with the "limited viewport": it already recognized that people will do more applications/tasks than there is visible screen space, so you need an overlaid windowing system.

But right now, facebook is the sociopaths in control of VR headsets, so ... we'll be waiting for a while.

The talk is so refreshing, so indicative of research in the 1960s. I think in retrospect from listening to the talk is that all researchers had to do was the possible. What they didn't have to think about was the consequences of technology.

That is not the world we live in now. It is apparent that we are a civilization facing the Fermi Paradox/Great Filter. He alluded to it in the human evolution and human organizations part of the intro, but it is fundamentally structured around post-WWII viewpoint, not the modern view where literally every person's consumption is a step towards collective destruction.

Post reply on HN