HN Theater @HNTheaterMonth

The best talks and videos of Hacker News.

Hacker News Comments on
Alan Kay, 2015: Power of Simplicity

Kenneth Friedman · Youtube · 125 HN points · 19 HN comments
HN Theater has aggregated all Hacker News stories and comments that mention Kenneth Friedman's video "Alan Kay, 2015: Power of Simplicity".
Youtube Summary
One of my all time favorite talks of AKay's, given in 2015.

Not my own video, though it hasn't been on YouTube before. Original location here: http://global.sap.com/campaign/na/usa/CRM-XU15-INT-STILP/index.html
HN Theater Rankings

Hacker News Stories and Comments

All the comments and stories posted to Hacker News that reference this video.
Jun 09, 2020 · Jhsto on Formal Systems in Biology
Do you think that software should be architected as autonomous agents for it to scale infinitely? I watched an Alan Kay video [1] some time back. In the video, he had an argument about how software systems cannot scale unless the basis is the most complex "computation" system that we know -- that system being our own biological system.

[1]: https://www.youtube.com/watch?v=NdSD07U5uBs

uoaei
To limit complexity in complex systems design, you need to be able to create agents which perform simple functions based on well-defined inputs. You can have a few different types of those agents interacting, and each should be discrete and be able to "survive" in an adequate "environment". Then the system, if designed correctly, can become much greater than the sum of its parts but you retain the relative simplicity to monkey around with the internals of the agents as well as the reservoirs to which they're attached, etc. Nature has seemed to become a system where iterative improvement is performed by virtue of the finite life cycle and sexual reproduction (including all the ways that DNA shuttles around the necessary source code).
You’d probably like Bret Victor’s inventing on principle talk: https://m.youtube.com/watch?v=PUv66718DII

He demonstrates some good examples.

I’m not quite sure it’s what you mean by visual, but it seems obviously valuable and tools that enabled some of what he shows would be really useful.

I’m not sure why we don’t have these things - I think Alan Kay would say it’s because we stopped doing real research to improve what our tools can be. We’re just relying on old paradigms (I just watched this earlier today: https://www.youtube.com/watch?v=NdSD07U5uBs)

optymizer
Bret's talk was great! Thank you for sharing it.
fossuser
His website also has some great stuff: http://worrydream.com/#!/LearnableProgramming
caleb-allen
Thanks for the Alan Kay talk, I really enjoyed that.
On the other hand Alan Kay has made powerful arguments that systems can be made much simpler if only their building blocks were slightly less simple! It's a tough question.

https://youtu.be/NdSD07U5uBs?t=319

eandre
Good point, I didn't necessarily mean simpler primitives but rather "higher-order" primitives. We need to move to a higher level of abstraction on top of a new layer of primitives (even if those primitives themselves are more complex than the ones we have today).
Dec 11, 2019 · fovc on Simple Software Manifesto
Not sure which generation you're in and which generation you'd (relatively) consider Alan Key in, but here is a much more principled approach to what the OP is trying to do: https://youtu.be/NdSD07U5uBs

The TLDW is that Kay thinks we haven't discovered all the fundamental rules of computing, a la Maxwells Equations for physics. If you are able to figure these out, you can substantially cut down your accidental complexity.

FWIW, my unscientific view is that achieving simplicity is really hard and doesn't scale people-wise. Instead of C99 without a bunch of stuff, I'd probably use Scheme to create very dense (lots of bespoke abstractions and idioms) but simple software. That approach works reasonably well, but try onboarding a new developer!

chaosite
> Instead of C99 without a bunch of stuff, I'd probably use Scheme to create very dense (lots of bespoke abstractions and idioms) but simple software. That approach works reasonably well, but try onboarding a new developer!

I understand what you're getting at, but I'd argue that what you're suggesting isn't actually simple by any means.

pron
I've yet to watch Kay's talk, but I take issue with the fundamental claim that rules necessarily lead to "simplicity". If there is one thing computer science tells us is that this is not the case. For example, orbit equations are very simple, yet if you put more than 2 objects in gravitational interaction, their behavior is completely unpredictable (and very complex) even though the rules that govern it are simple. I'm personally interested in (and practice) formal methods for software verification, and I saw these nice slides in a talk [1] by a formal methods researcher that say:

> Computers have been invented to surprise us

> If we knew what computers do, we would not use them, and we would not have built any.

This means that computers are most useful precisely where the complexity of the problem is beyond our efficient reasoning powers. Like Brooks, I think that our accidental complexity is already quite low (no more than 50%), and while it's always good to decrease it, what we're left with will still be very complex -- that's why it's useful.

[1]: https://shemesh.larc.nasa.gov/NFM2018/talks/Dowek.pdf

fovc
If you don't like videos, you can also look up his papers from STEPS circa 2010.

I think the 3 body problem is indicative of what Kay says. One simple rule produces very rich behavior. Why not have something like that for your network stack?

pron
> Why not have something like that for your network stack?

In a way, it is like that already. After all, all computation can be described as a repeated application of, say, the very simple reduction rules of the lambda calculus. How does that help? Does the fact we know what the gravity equation help us predict the system's behavior (e.g. to ensure that some bad state is never reached)?

Sep 29, 2019 · bch on Simple Is Complex
There’s a Alan Kay talk[0] that might illuminate for you that leap of logic about simplicity.

[0] https://youtu.be/NdSD07U5uBs

Feb 26, 2019 · bch on Computer Software (1984)
> “What [the computer field] needs first is a William of Occam, who said “Entities should not be multiplied unnecessarily.” The idea that it is worth while to put considerable effort into eliminating complexity and establishing the simple had a lot to do with the rise of modern science and mathematics, particularly from the standpoint of creating new aesthetics...

The tricky thing is he argues for “sophistication” here[0], which on the surface seems antithetical.

Picking (and committing-to) a (correct) abstraction can be tricky. Also, these “axioms” are often made true by useless qualifiers like “unnecessary” complexity, or even “complexity”. If it’s required, it’s not “complexity”, but a necessary implementation detail. Pick in good faith, keep a loose grip, have fun.

[0] https://www.youtube.com/watch?v=NdSD07U5uBs?t=345

Oct 30, 2018 · leoc on Soup – Alan Kay on Objects
Reposting my comment from discussion https://news.ycombinator.com/item?id=14318663 with a fixed YouTube link:

> Now this right here https://www.youtube.com/watch?v=NdSD07U5uBs&t=1362 is the problem: if you follow the idea of computers as virtualisers where it leads you do not, in the general case, end up with the flat backplane talked about from 23:15 and shown in the accompanying slide. (Actually, this is in turn probably just a symptom of another, more general problem.)

Bret Victor - Inventing on principle

https://vimeo.com/36579366

Alan Kay - Power of Simplicity

https://www.youtube.com/watch?v=NdSD07U5uBs

Steve Jobs - Marketing (unveiling Think Different)

https://www.youtube.com/watch?v=4HsGAc0_Y5c

Robert Cialdini - On Influence

https://www.youtube.com/watch?v=AC6ItuT1Eso

Peter Thiel - On Zero to One (Notes on Starts Ups or How to Build the Future)

https://www.youtube.com/watch?v=HZQnKtjM1TA

Naval Ravikant on Reading, Happiness, Systems for Decision Making, Habits, Honesty and More (Farnam Street podcast)

https://www.fs.blog/2017/02/naval-ravikant-reading-decision-...

Josh Wolfe - On "This is who you are up against" podcast

http://investorfieldguide.com/wolfe/

Richard Feynman - Fun to Imagine

https://www.youtube.com/watch?v=4zZbX_9ru9U

Paul Graham - Startup school (2008)

https://www.youtube.com/watch?v=q7K0vRUKXKc

James Burke - Connections (BBC documentary)

<No link>

Jim Al-Khalili tells the story of the Atom (BBC)

https://www.youtube.com/watch?v=Gm3p_3Vgejk

Elon Musk's 2003 Stanford University Entrepreneurial Thought Leaders Lecture

https://www.youtube.com/watch?v=afZTrfvB2AQ

Ken Robinson - Do schools kill creativity?

https://www.youtube.com/watch?v=iG9CE55wbtY

Paul Stamets on mycology, bioremediation and fungi- Joe Rogan Experience

https://www.youtube.com/watch?v=mPqWstVnRjQ

whatyoucantsay
Fantastic list!
Dec 22, 2017 · 3 points, 0 comments · submitted by ne01
Having watched nearly every talk/interview of Kay I could find on YouTube (which includes the OOPSLA keynote) and having read some of his writings I think I have a reasonably good understanding of what he is advocating for.

Here is Kay talking about Internet's resilience in a bit more detail:

https://youtu.be/NdSD07U5uBs?t=1472

>His position is strongly aligned with the "mechanism, not policy" philosophy.

I don't see how this opposes or contradicts any of what I wrote above.

jasode
>and having read some of his writings I think I have a reasonably good understanding of what he is advocating for.

In the Dr Dobbs interview[1] that you pulled the quote from, Alan Kay is not talking about protocols for web resilience. Actually, there is no mention of "protocols" in that article at all.

Even outside of that particular article, AK doesn't talk much about "protocols" other than the protocol of "message passing" in Smalltalk which is a different meaning from "internet protocols".

Tim Berners-Lee is a figure that speaks of new protocols for decentralization, etc. That's not Alan Kay's angle. If you think AK is imploring the tech community for new internet protocols, you need to cite another AK source other than that Dr Dobbs interview.

>[Alan Kay] was talking about the lack of protocol-level solutions for resilience of the Web.

That's not what he's talking about. He's complaining that the "web" did not make it easy for people to do computing. One example in that interview was Wikipedia page on Logo programming language not being able to execute Logo programs.

Kay's criticism of the "web done by amateurs" looks to be the same train of thought about his ideal Dynabook enabling people to participate in computing rather than something like the Apple iPad where people just read news or watch videos.

[1] http://www.drdobbs.com/article/print?articleId=240003442&sit...

romaniv
Just because Kay criticized the Web for its limits on user participation does not mean he did not criticize it for other reasons.

Here is an entire talk on complexity and robustness in software where the Web is mentioned as one of the worst offenders of design by accretion:

https://youtu.be/QboI_1WJUlM?t=1046

(I'm linking to a specific part, but the entire thing is worth listening to.)

Also, he does talk about protocols. Heck, VPRI implemented a TCP/IP implementation by treating it as a language and using a non-deterministic parser.

http://www.vpri.org/pdf/tr2007008_steps.pdf

Page 17.

I've seen him give this great talk before, but IMO the delivery this time feels rushed and a bit disjointed. That said, the last few minutes summarize his powerful "Gretzky Game" idea so succinctly that they're worth the price of admission alone.

I would recommend watching the last 18 seconds of this version (starting at https://youtu.be/ZDM33CMJvp8?t=3452), internalizing the Gretzky Game slide on the screen, backing it up and watching the fuller explanation in the preceding ~3 minutes (starting at 54:18, https://youtu.be/ZDM33CMJvp8?t=3258), and then finally watching a different, more expansive version of the talk like this one, given at Qualcomm: https://www.youtube.com/watch?v=NdSD07U5uBs.

Oddly specific advice, I know, but hopefully helpful to somebody.

tim333
Thanks. I talk 2 he say he also feels the talks are a bit rushed and will re-record them.
sjg007
This whole talk is amazing. Thanks for the links.
leoc
Now this right here https://www.youtube.com/watch?v=NdSD07U5uBs?t=1362 is the problem: if you follow the idea of computers as virtualisers where it leads you do not, in the general case, end up with the flat backplane talked about from 23:15 and shown in the accompanying slide. (Actually, this is in turn probably just a symptom of another, more general problem.)
Feb 04, 2017 · 2 points, 0 comments · submitted by espeed
well, in this talk it sounds like you do advocate tool building - isn't tool building a way to try elliptic orbits instead of the circular ones ?

https://www.youtube.com/watch?v=NdSD07U5uBs 'Power of simplicity'

alankay
Yes, I do advocate tool building -- basically "if you can do it without getting buried, you should".
I'm not Alan, but I saw one of his talks[1] about how they did invent all those things we're using now, which you are very much referring to.

What he said was important was to have a big horizon, at least 10 years. Anything less would not do.

Then envision what should be possible in that time. "It would be ridiculous if $X wasn't possible in $Y years" and then backtrack on what would technically be required to make that happen.

Rinse repeat. He said that with good company support and a good team, you often found yourself delivering at half that time none the less (but again, you should never constrain yourself to that little, or else you will stress towards performing, instead of thinking properly about the problems needing to be solved).

Alan: Hope I didn't butcher your message too much :)

[1] I think it might be this one, but I honestly haven't checked. See it anyway. It's a good talk. https://www.youtube.com/watch?v=NdSD07U5uBs

dookahku
Seems like a good a strategy as any. :) Thanks for the pointer!
alankay
10 years is too close -- 30 years out will generally lose the pernicious connection to the present and "how do we get there?". The idea is to "go out there and bring the ideas back" rather than try to go from the present to the future.
Alan Kay has a more generalized idea about building up abstractions that I like better. I think he mentioned it in this video https://www.youtube.com/watch?v=NdSD07U5uBs

I, like many in this thread, think that good people are more important than a particular programming language.

Feb 26, 2016 · josteink on Rich Hickey Fanclub
Completely unrelated: Alan Kay - the power of simplicity

https://youtu.be/NdSD07U5uBs

Easily over of the most thought provoking presentations I have seen recently.

I really liked Alan Kay's talk from 2015: The Power of Simplicity https://www.youtube.com/watch?v=NdSD07U5uBs
Check this video running in another thread. This a known Alan Kay talk, he did it already a few times.

https://www.youtube.com/watch?v=NdSD07U5uBs

As an example of the type of research being done, you must be willing to build something that will be considered commodity in 15 years time at today's price.

You won't get there with basic income.

calibraxis
Basic Income can be a great stepping block to cultural improvements which include things like tech. It is true that some things need allocation of resources which Basic Income doesn’t directly address, but a society with Basic Income might be more reliably capable of getting it done.
pjmlp
I agree with basic income for everyone.

Just don't agree it is enough to innovate at Xerox PARC scale, as what is being discussed is funding, not salaries.

Oct 03, 2015 · 120 points, 20 comments · submitted by tnorgaard
staunch
> "The big problem with Xerox is they only wanted to make billions. And that's the problem with most companies. When you're doing kind of stuff you're actually in the trillion-dollar range."
abetusk
At that scale, we're talking about companies becoming nations.
Turing_Machine
Everything except sovereignty, and some of them are pretty good at working around that.

I'm actually sort of surprised that a company hasn't just "bought out" one or more of the smaller countries -- paying off the citizens to renounce their citizenship, say. It would be easier if you bought two, so as to avoid creating a bunch of stateless people -- pay Country A to grant citizenship to everyone in Country B, and pay the citizens of Country B to renounce their Country B citizenship. You now have Country B to run as you please.

wodenokoto
Yeah, he is really selling his new research division hard.
sp332
The quantity of world-changing tech that came out of the late 70's has never been matched. In fact it's hard to come up with more than a handful of innovations in tech of the same magnitude that have happened since. http://stackoverflow.com/questions/432922/significant-new-in...
hga
The World Wide Web. Yep, plenty of antecedents, I personally start with Vannevar Bush's Memex for the idea, and there were many attempts with varying levels of un-success, until Tim Berners-Lee put together a winning, massively network effects positive solution.

Which, along with search engines, have resulted in significant, qualitative changes in information publishing and access; in the '70s (or perhaps earlier) Jerry Pournelle was looking forward to the day when you could quickly find the answer to any question that had an answer, and this is one of the biggest steps towards that.

To the point I rank it near computers per se; from Wikipedia (https://en.wikipedia.org/wiki/General_purpose_technology):

General-purpose technologies (GPTs) are technologies that can affect an entire economy (usually at a national or global level). GPTs have the potential to drastically alter societies through their impact on pre-existing economic and social structures. Examples include the steam engine, railroad, interchangeable parts, electricity, electronics, material handling, mechanization, control theory (automation), the automobile, the computer, and the Internet.

This was the step that made the Internet into a "monster". So even if it only counts as one invention, it's as big as many of those preceding GPTs.

kragen
I think the revision of the NSFNet AUP in 1994 (?) to allow commercial use, and the decommissioning of the NSFNet in 1995, was what made the internet into a "monster". Even if people were "only" running NNTP, email, and anonymous FTP, the internet would have taken off massively at that point. This was obvious to me from the time I joined the internet in 1992.
mpweiher
Around 9:30:

"What's the expense of getting simplicity? [..] You get simplicity by finding a slightly more sophisticated building block to build your theories out of. It's when you go for a simple building block that anyone can understand with common sense that you start screwing yourself right and left."

duncanawoods
I found that interesting as well.

After thinking about it for a while, I struggled to get anything profound out of it. I feel his point is equivalent to saying "a higher level of abstraction can make problems more tractable" which is something we do all the time in all contexts.

Finding good abstractions is an art but I don't think this really maps to insights like Copernicus though. I see a slightly different process happening i.e. discovering a new perspective on a problem. A new perspective can be a different way to decompose a problem but I don't think it necessitates anything about the sophistication of the building blocks. Instead, a revealing change is often because it changes the type of relationships between the building blocks in a radical way that enables new inferences.

calibraxis
Don’t know if this applies to your post, but I got a lot more out of Alan Kay talks when I stopped trying to look for profundity, and assumed he's mostly talking about how we're being morons.
mpweiher
I'd say the profundity is in how we're being morons...and how we could stop if we wanted to do so. Alas, those insights aren't easy to apply.
nly
I think the problem is he uses so much similie and metaphor that you have to work to follow him, and come to expect some kind of philosophical insight as a reward. He goes a long way around the merrygoround to get to the point, and in the end never really suggests anything practical we can do today.
kragen
http://vpri.org/html/writings.php has some suggestions of practical things we can do today.
wodenokoto
I think that too is wrong way of looking at it.

What he basically says is, you need an organizational framework that works 10 years at a time in order to get a result in 7 years. The people working in this framework, needs 5 years windows and you need to hire absolute geniuses and have the trust that they'll do the right thing.

If you do that, you will get long term, world changing inventions relatively cheap.

I don't think anyone is being a moron for utilizing a staff of less than stellar geniuses to get work done in a time frame less than 7-10 years.

calibraxis
I believe there's a lot of evidence we're collectively morons. Consider how close we are to a transformed world. Hunger, wage slavery, environmental destruction, etc could be a thing of the past if enough of us decided right now to be serious... countering absurd ways of thinking.

Are people really afraid of death? Then we should invite people to organize to solve that. Support each other regardless of gender or other insignificant differences, to accomplish such goals; any menial work can be shared equally. What huge percentage of humanity would go for that?

But currently we organize ourselves in moronic ways. Alan Kay's vision seems actually quite narrow and corporate-friendly; many go further in seeking to liberate imagination. http://thebaffler.com/blog/david-graeber-defiantly-having-fu...

TheOtherHobbes
The moronism comes from a corporate culture that prioritises short-term gain over the invention of ultra-profitable long-term game-changers.

How many of the advances in computing have been inspired by MBAs demanding quarterly growth?

We have no formal tools for valuing our collective future.

Incubators and accelerators come closest, but the emphasis is still on believable prospects for profitability - hence investing in the team, instead of good ideas - and not on open research.

kbutler
Or is it a rational discounting of uncertain distant future results compared to the relatively more certain short-term gains?

Or taking another look - how much of your income are you investing for retirement vs current consumption? Why?

papaf
a higher level of abstraction can make problems more tractable

I think of an abstraction of something that makes things simpler:

https://en.wikipedia.org/wiki/Abstraction_%28computer_scienc...

I understood Alan Kay to be saying that a lot of abstractions are actually making things too simple. I would understand the point to mean "a lower level of abstraction can make the big picture more tractable".

mpweiher
I see where you're coming from, and in a very, very abstract sense it might be true. However, I think there are two different kinds of "abstraction" at play here. The more common is where you have a basic set of building blocks and build abstractions with them. The second is where you adjust the building blocks. That's the one that's profound...and profoundly difficult, I found.

For example, I believe to have discovered that we need a slightly more complex notion of identifier/reference/variable (I call them Polymorphic Identifiers [1][2][3]). Smalltalk says that we only need messages (procedural abstraction) to be polymorphic, identifiers and things like assignment are simple/monomorphic. SELF (another "Power of Simplicity" [4]) essentially said that you don't really need separate identifiers for things at all, all the things that look like identifiers are really message-sends. This makes a lot of sense at first glance, and at second and third. However, there are subtle problems related to the Uniform Access Principle [5], and my contention is that to solve these problems you can't layer abstractions on top, you actually have to go against the grain and make one of the fundamental building blocks (variable access, both read and write) slightly more complicated. And that you actually need the concept "variable access" :-)

Having worked with PIs for a bit now, it looks like this slightly more complicated primitive really does help solve/reduce a lot of complexities in real world systems. As far as I can tell, a lot of these complexities are fundamentally "storage" related, but that unifying abstraction is lost because the mechanisms we have available are procedural. Once you have it, you get building blocks similar to shell filters that you can combine to create variations as one-liners that would otherwise be many pages of code, similar to McIlroy's shell solution to Jon Bentley's word count challenge (6 lines of shell vs. Knuth's 12 pages of Pascal/Web) [6]

However, communicating this appears to be nearly impossible. For example, David Ungar (of Self fame) reviewed my paper and just tore it to shreds, misunderstanding not just the solution, but also the problem, and completely incorrectly claiming that Self already solves those problems. He stopped responding when I showed him the (very simple) examples demonstrating the problem in Self.

[1] http://dl.acm.org/citation.cfm?id=2508169

[2] https://www.hpi.uni-potsdam.de/hirschfeld/publications/media...

[3] http://objective.st/URIs/

[4] http://bibliography.selflanguage.org/_static/self-power.pdf

[5] https://en.wikipedia.org/wiki/Uniform_access_principle

[6] http://www.leancrew.com/all-this/2011/12/more-shell-less-egg...

codeshaman
Suppose you need to get from A to B and back. You need to do it often, you need to do it fast. Your cargo - written notes which two kings (from A and B respectively) exchange between each other.

So you try to solve the problem by getting faster cars, building better roads, hiring the best drivers - all with the goal of getting the notes from king A to king B as fast as possible.

---

The 'abstraction' which I think Alan is talking about is not about how to make the car go faster between A and B - it is about stepping back and actually thinking about the context - what do we actually need ? We need a way to transfer messages between A and B.

And pretty soon you come up with the idea of using a membrane to convert voice into electrical signals and send those over a wire. So you install a cable between A and B and now the kings can chat all day long.

That's a much simpler and powerful solution, but not to the problems you were trying to solve (making the car go faster), but to the problem in the upper scope - sending messages from A to B.

This was the gist of Alan's talk imho.

HN Theater is an independent project and is not operated by Y Combinator or any of the video hosting platforms linked to on this site.
~ yaj@
;laksdfhjdhksalkfj more things
yahnd.com ~ Privacy Policy ~
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.