[HN Gopher] Alan Kay's talk at UCLA - Feb 21, 2024 [video]
       ___________________________________________________________________
        
       Alan Kay's talk at UCLA - Feb 21, 2024 [video]
        
       Author : sgoyal
       Score  : 150 points
       Date   : 2024-03-06 06:03 UTC (16 hours ago)
        
 (HTM) web link (www.youtube.com)
 (TXT) w3m dump (www.youtube.com)
        
       | nomilk wrote:
       | 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
        
         | djmips wrote:
         | Can't specifically recommend a talk but here's a menu of Kay
         | talks.
         | 
         | https://tinlizzie.org/IA/index.php/Talks_by_Alan_Kay
        
           | fermigier wrote:
           | I find it mind-boggling that he has been doing this for 50+
           | years.
        
             | djmips wrote:
             | IKR? I was a very young man and 40 years ago, I went to a
             | talk* by Kay who I thought was 'old' at the time (haha) and
             | this was already 15 years after he started at Xerox as a 30
             | year old! Now it's 2024 and I feel old... It was a pleasure
             | to see his talk 40 years ago and awesome to again watch a
             | talk today from an 83 year old Kay.
             | 
             | * after the talk, we even shared a cab to the airport and
             | he graciously entertained all of my questions.
        
         | Rochus wrote:
         | https://worrydream.com/EarlyHistoryOfSmalltalk/
        
         | vhiremath4 wrote:
         | Highly recommend his talk on the power of simplicity. This was
         | one of those lightbulb moments for me when I was a younger
         | programmer:
         | 
         | https://www.youtube.com/watch?v=NdSD07U5uBs
        
         | justin66 wrote:
         | He actively answers questions on Quora and those answers come
         | in a format (short length - though his are unusually well
         | thought out - and narrow focus) that is easy to browse.
        
           | theGnuMe wrote:
           | He's been here on HN as well in the past.
        
             | justin66 wrote:
             | His answers on Quora represent a pretty extensive body of
             | work. That's not true of his comments here (which are very
             | appreciated, of course).
             | 
             | Quora's a better place, with a better UI, for that almost-
             | blogging sort of thing.
        
           | DonHopkins wrote:
           | I think Quora is "a poor imitation of old static text media"
           | that's difficult to browse and not very accessible, since it
           | takes so much clicking and waiting to open up "more" buttons
           | and follow replies and threads, and is impossible to easily
           | print, or just scroll, skim, and search through, so I
           | collected Alan Kay's answers, some discussion we had, plus
           | some more discussion with David Rosenthal (who developed NeWS
           | with James Gosling), here:
           | 
           | "Alan Kay on "Should web browsers have stuck to being
           | document viewers?" and a discussion of Smalltalk, NeWS and
           | HyperCard:
           | 
           | https://donhopkins.medium.com/alan-kay-on-should-web-
           | browser...
           | 
           | >Alan Kay answered: "Actually quite the opposite, if
           | "document" means an imitation of old static text media (and
           | later including pictures, and audio and video recordings)."
           | 
           | Also here's a collection of HyperTIES discussions from Hacker
           | News (including some discussion with Ben Shneiderman about
           | why hypertext links are blue):
           | 
           | https://donhopkins.medium.com/hyperties-discussions-from-
           | hac...
        
         | derekenos wrote:
         | My favorite:
         | 
         | Is it really "Complex"? Or did we just make it "Complicated"?
         | https://www.youtube.com/watch?v=ubaX1Smg6pY
         | 
         | If you're interested in kids + computers + education, this 1955
         | Technology in Education House Committee Meeting is a
         | surprisingly great watch, and has Kay alongside Seymour Papert:
         | https://www.youtube.com/watch?v=hwsQn1Rs-4A
        
           | chadkeck wrote:
           | 1995, not 1955.
        
             | derekenos wrote:
             | Ha! Thanks for the correction. Comment's no longer
             | editable.
        
         | 6510 wrote:
         | The funniest to me was when he was 5 he read about 150 books:
         | _" I hit first grade, and I already knew the teachers were
         | lying to me"_
        
           | kragen wrote:
           | he elaborates on how concepts and ideas and schooling are
           | misleading by nature quite a bit in the talk, though if he
           | says that sentence i haven't gotten to it yet. (i've seen him
           | say it elsewhere)
           | 
           | https://youtu.be/dZQ7x0-MZcI?t=8m33s 'our minds are like
           | theaters. (...) we treat our beliefs as reality. that is the
           | worst thing about human beings. and these theaters are tiny;
           | we can only think of a few things at once, it's hard for us
           | to take in larger things. (...) we grow up in whatever
           | culture we were born into. (...) our conclusions tend to be
           | societal--that's a disaster!'
           | 
           | https://youtu.be/dZQ7x0-MZcI?t=57m9s 'because our brains want
           | to believe, rather than think, these can turn into something
           | like a religion. the reason we don't want to come up with
           | blind belief: there's always more, and what it is, is
           | something that we can't imagine. so when we give a name to
           | something, we (...) hurt our ability to think more about it,
           | because it already has a set of properties, it already is the
           | thing the word denotes.' (beautifully illustrated in the
           | video)
           | 
           | https://youtu.be/dZQ7x0-MZcI?t=60m 'school is the best thing
           | ever invented to keep you from thinking about something
           | important for more than a few minutes'
           | 
           | perhaps unsurprisingly, when i explained this on here two
           | days ago, it got downvoted to -2, because hn's comment
           | section is kind of the intellectual antithesis of alan kay:
           | https://news.ycombinator.com/item?id=39586470
           | 
           | i keep being optimistic but you people make me so sad
        
             | 6510 wrote:
             | It is hard to imagine a discovery so profound as banging 2
             | rocks together. Why would you do it?
             | 
             | Where are todays rocks?
        
               | kragen wrote:
               | i have some in my head, do you want some?
        
         | mpweiher wrote:
         | _The Computer Revolution hasn 't happened yet_, OOPSLA 1997
         | keynote
         | 
         | https://www.youtube.com/watch?v=oKg1hTOQXoY
         | 
         | Others have already mentioned _The Early History of Smalltalk_
         | , highly recommended. You'll probably want to read it a couple
         | of times, revisit from time to time.
         | 
         |  _The big idea is messaging, or rather "ma"_
         | 
         | http://lists.squeakfoundation.org/pipermail/squeak-dev/1998-...
         | 
         | "The key in making great and growable systems is much more to
         | design how its modules communicate rather than what their
         | internal properties and behaviors should be."
         | 
         | "I think I recall also pointing out that it is vitally
         | important not just to have a complete metasystem, but to have
         | fences that help guard the crossing of metaboundaries."
         | 
         | " I would say that a system that allowed other metathings to be
         | done in the ordinary course of programming (like changing what
         | inheritance means, or what is an instance) is a bad design. (I
         | believe that systems should allow these things, but the design
         | should be such that there are clear fences that have to be
         | crossed when serious extensions are made.)"
         | 
         | "I would suggest that more progress could be made if the smart
         | and talented Squeak list would think more about what the next
         | step in metaprogramming should be -- how can we get great
         | power, parsimony, AND security of meaning?"
        
         | e12e wrote:
         | From the sibling link, I'd highlight:
         | 
         | Alan Kay: A powerful idea about teaching ideas at TED (2007)
         | https://tinlizzie.org/IA/index.php/Alan_Kay:_A_powerful_idea...
         | 
         | Alan Kay: Normal Considered Harmful (2009)
         | https://tinlizzie.org/IA/index.php/Alan_Kay:_Normal_Consider...
         | 
         | Back to the Future of Software Development (2003)
         | https://tinlizzie.org/IA/index.php/Back_to_the_Future_of_Sof...
         | 
         | All of the STEPS reports - I especially like appendix E in:
         | 
         | https://tinlizzie.org/VPRIPapers/tr2007008_steps.pdf
         | 
         | > Appendix E: Extended Example: A Tiny TCP/IP Done as a Parser
         | (by Ian Piumarta)
         | 
         | > Our first task is to describe the format of network packets.
         | Perfectly good descriptions already exist in the various IETF
         | Requests For Comments (RFCs) in the form of "ASCII-art
         | diagrams". This form was probably chosen because the structure
         | of a packet is immediately obvious just from glancing at the
         | pictogram.
         | 
         | > If we teach our programming language to recognize pictograms
         | as definitions of accessors for bit fields within structures,
         | our program is the clearest of its own meaning. The following
         | expression cre- ates an IS grammar that describes ASCII art
         | diagrams.
         | 
         | > (...) We can now define accessors for the fields of an IP
         | packet header simply by drawing its structure.
        
           | nomilk wrote:
           | Thanks a lot for this (and to other posters). 20 minutes into
           | _Normal Considered Harmful_ and can tell I 'm going to binge
           | watch/listen to Kay over the next few weeks. Extremely
           | appreciative.
        
         | el_memorioso wrote:
         | Alan Kay won the Turing Award in 2003 for, "For pioneering many
         | of the ideas at the root of contemporary object-oriented
         | programming languages, leading the team that developed
         | Smalltalk, and for fundamental contributions to personal
         | computing." His Dynabook [1], developed during the 70s, is the
         | predecessor of modern tablets and laptops.
        
       | boxfire wrote:
       | The idea of computing as the shared stage to reflect our own
       | intelligence is really what sticks out to me as the best way to
       | frame what interacting with a computer means. It's not new but
       | Alan did a great job of motivating and framing it here. Thanks
       | for posting this great reminder that what we use as computers
       | today are still only poor imitations of what could truly be done
       | if we can transport our minds to be more directly players on that
       | stage. It's interesting to reflect the other way as well. If we
       | are the actors reflecting a computer to itself. An AGI has to
       | imagine and reflect in a space created of our ideas. To be native
       | the AI needs better tools, the "mouse" of it's body controlling
       | the closed loop of it's "graphics", how do we create such a space
       | that is more directly shared? Dynamically trading been actor and
       | audience in an improvisational exchange? This is the human
       | computer symbiosis I seek.
        
         | djmips wrote:
         | I feel like the LLM interface will enable that. I wonder what
         | Alan Kay makes of the current LLM revolution (he does talk a
         | bit about it in the question section @ around 1:35)
        
           | jimmySixDOF wrote:
           | I am a big fan of just in time on the fly UI and LLMs seem to
           | make that possible now with some of the fast token outputs
           | there are a couple of experiments [1]using image for now and
           | I expect this to be more useful in not too long.
           | 
           | [1] https://twitter.com/sincethestudy/status/1761099508853944
           | 383...
        
         | d_tr wrote:
         | A first-class programming language (not an LLM) to talk to the
         | computer's OS along with a rich library is the most important
         | missing component IMO.
         | 
         | Humans communicate mainly with language and no OS provides this
         | in a satisfactory way for the average user.
         | 
         | The result is users mostly clicking on signs to choose among
         | predetermined tasks, like monkeys in a lab.
        
           | TheOtherHobbes wrote:
           | That's because computers are dumb servants. And that's a good
           | thing, because computer solutions should be task specific.
           | The human has agency and sometimes imagination, and the
           | computer's job is to solve a problem as transparently as
           | possible with as little cognitive load as possible.
           | 
           | Human language is optimised for human _relationships_ , not
           | for task-specific problem solving. It's full of subtext,
           | context, and implication.
           | 
           | As soon as you try to use natural language for general open-
           | ended problem solving you get lack of clarity and unintended
           | consequences. At best you'll have to keep repeating the
           | request until you get what you want, at worst you'll get a
           | disaster you didn't consider.
        
           | AlchemistCamp wrote:
           | 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-adversarial.
           | 
           | 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.
           | 
           | There is a very real degree to which people are only capable
           | of thinking clearly about complex systems to the degree they
           | are comfortable with tools such as mathematics and
           | programming that can be used to unambiguously describe them.
        
           | pilgrim0 wrote:
           | I agree. I think one way to achieve that is to first
           | acknowledge the important distinction between modes of
           | programming and levels of abstraction. See, even in
           | programming, we're still restricted to a given domain. A web
           | dev does not program to the network stack, thus needs not to
           | known NICs and TCP frames internals. The web dev only
           | interacts with the lower levels via high level parameters
           | (data) through the low level APIs, which are already done and
           | settled, not directly with code. The same goes for each layer
           | and domain. Now, expecting users to write actual code is not
           | realistic or sustainable. What's more reasonable is to
           | imagine a scenario where users needs only to give the
           | parameters for the functions which are already done and
           | settled. So, composing super high level functions in an
           | environment which disposes of an extensive library of
           | utilities seems the way to go. Users already do
           | parameterization everyday, such as when they press buttons
           | and fill forms. What's missing is simply an abstraction which
           | gives them the power to compose those functions. Regarding
           | the paradigmatic framing for an end user language, I think
           | stack-based programming offers a superior model, because the
           | context window is directly visible and easy to track and
           | reason, but more than that, stack languages offer a good
           | avenue for learning, since it's the easiest model to teach by
           | analogy, even physical analogies can be made. It boils down
           | to just pushing and popping in a coherent order. The order of
           | operations is in fact the program. Hard to beat this
           | simplicity and universality.
        
       | nanna wrote:
       | Wonderful as ever.
       | 
       | Kay demonstrates an emulator of Sketchpad. Anyone know if it's
       | been shared anywhere?
        
         | asolove wrote:
         | Also very curious about this. I've been slowly building one
         | myself and would happily give up if another good one already
         | exists. Tried searching the web and can't find it.
        
       | skadamat wrote:
       | I wish we had a popular operating system for end users like
       | ourselves that was "live" all the way down.
       | 
       | It's unfortunate we've been stuck with Windows, Mac, and Linux
       | only
        
         | nanna wrote:
         | Live in what sense?
         | 
         | To me Emacs fits the bill, or at least a subset thereof.
        
           | skadamat wrote:
           | With a live programming model:
           | https://en.wikipedia.org/wiki/Live_coding
        
             | andsoitis wrote:
             | Pharo (a Smalltalk), is listed in that article as an
             | example of a live programming environment.
             | 
             | Alan Kay is one of the designers of SmallTalk.
        
               | skadamat wrote:
               | Yeah I like Pharo
        
             | nanna wrote:
             | It would be cool to be able to just click on anything and
             | adjust its code to however you like it. I guess that
             | Smalltalk and its descendants allow this. But so does
             | Emacs. It's not an operating system, but it covers a lot of
             | the use-cases.
        
               | hasmanean wrote:
               | 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.
        
         | wslh wrote:
         | People are different, that is why flame wars like Emacs vs. Vi
         | still exists. It is incredible that we tend to assume that
         | there ahould be just one technical response to problems.
        
         | linguae wrote:
         | I have the same dream. A part of me wishes Richard Stallman set
         | out on making a Lisp OS instead of making a Unix clone, but
         | this was the mid-1980s and thus I understand the technical
         | limitations and the social environment of the time. The 1990s
         | could've been a better time; workstations and commodity PCs
         | were powerful enough to run an entire Lisp or Smalltalk
         | operating system, and there would've been substantial interest
         | in such a system. Imagine had we ended up with a free, open
         | source Lisp or Smalltalk OS running on the Pentium and PowerPC
         | machines of the era as an alternative to Linux and the BSDs. I
         | think this would've been an easier foundation to develop a FOSS
         | desktop instead of the X11/KDE/GNOME/Wayland situation we have
         | today.
         | 
         | But the dream isn't dead. If only I had more free time...
        
       | javier_e06 wrote:
       | Thank you for the story.
       | 
       | My take away is the the concept that GUIs Mirror our minds as
       | individuals the way good writing and theater does. I then ponder
       | about what could be a fair or useful representation of a
       | collective mind in a way an individual mind can process/work-
       | with?
       | 
       | Maybe that is the will be the metaverse(snowcrash).
       | 
       | Thanks again.
        
       | angiosperm wrote:
       | There are sound reasons why no substantial system in common use
       | is coded in Smalltalk. Kay _could_ have spent the decades since
       | his time at PARC figuring out why, and remedying them.
       | 
       | One of the reasons is that O-O is just one of several important
       | ways discovered to organize software. Any big enough problem will
       | have places for each. Specialization is for insects.
        
         | kragen wrote:
         | 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 arguing that oo
         | should be the universal way to build everything, much less
         | smalltalk; he's lamenting that no better paradigm than their
         | research prototype has emerged since then
         | 
         | however, i do agree that there are some advances made since
         | then that he doesn't fully appreciate, things like the
         | importance of free-software licensing, roy fielding's work on
         | architectural styles, recent advances in formal methods and
         | functional programming, and the web's principle of least power
        
           | angiosperm wrote:
           | And static type calculus as seen in the MLs, Haskell, and
           | lately C++.
        
             | kragen wrote:
             | yes, although recent advances in functional programming and
             | formal methods go a lot further than that
        
               | linguae wrote:
               | This is really interesting; it's really cool to think
               | about the "statics" and "dynamics" of programming, and I
               | while I have a basic understanding of functional
               | programming (both the dynamic world of Scheme and the
               | static world of languages like Standard ML and Haskell),
               | I'm unfamiliar with these recent advances in functional
               | programming and formal analysis. I'm wondering if you
               | could share some links or references to some of this
               | material?
        
               | kragen wrote:
               | i'm not the best person to ask, and i don't really know
               | where to start
               | 
               | tla+ is getting uptake in industry, idris is sort of
               | making dependent types practical, acl2 has more and more
               | stuff in it, pvs is still around and still improving,
               | adam chlipala keeps blogging cool stuff, so does hillel
               | wayne, sel4 is an entire formally-proven-secure
               | microkernel, you can try compcert on godbolt's compiler
               | explorer, l@an has formalized significant mathematical
               | definitions that working mathematicians use actively
               | while metamath has an extremely convincing approach to
               | proof and an ever-growing body of proofs of basic math,
               | smt solvers like z3 are able to solve bigger and bigger
               | problems and therefore able to tackle bigger subproblems
               | of verifying software (and are easily apt installable and
               | callable from python or from cprover's cbmc),
               | cryptocurrency smart contracts have an incentive to be
               | correct in a way that no previous software did (and
               | people are applying at least idris to at least ethereum),
               | ...
               | 
               | a thing i saw recently that was really impressive to me
               | was parsley, by the main author of pvs as well as some
               | other people: http://spw20.langsec.org/papers/parsley-
               | langsec2020.pdf
        
         | pjmlp wrote:
         | The reason is called Java, and having all key Smalltalk vendors
         | pivoting into Java.
         | 
         | Smalltalk was the ".NET" of OS/2, and Visual Age for Smalltalk
         | code browser still lives on Eclipse.
         | 
         | Then there are those Objective-C and Ruby developers still
         | around, heavily influenced from Smalltalk.
        
       | lawrenceyan wrote:
       | Wow, this guy Vannevar Bush was the definition of being early:
       | 
       | > Wholly new forms of encyclopedias will appear, ready-made with
       | a mesh of associative trails running through them, ready to be
       | dropped into the memex and there amplified.
        
       ___________________________________________________________________
       (page generated 2024-03-06 23:02 UTC)