17 HN users recommended this talk18 months2013–2026score 22.5
Years with an HN recommendation, 2007–2026
HN recommends it repeatedly as one of the best and most entertaining programming talks, and as the talk that makes the Y combinator click, even for people who do not use Ruby.
Jim Weirich's RubyConf 2012 talk derives the Y combinator step by step, live-coding in Ruby lambdas. It builds up an understanding of functional programming and lambda calculus from first principles.
“perhaps the most entertaining and interesting technical talk I've ever seen.” (HN, 2015)
If you are curious about the topic, I strongly recommend watching these videos: Y Not- Adventures in Functional Programming by Jim Weirich [this video] Programming with Nothing by Tom Stuart [link]
Walks through the Y combinator and functional programming
Jim Weirich's "Y Not - Adventures in Functional Programming"[1] is perhaps the most entertaining and interesting technical talk I've ever seen. It would absolutely not be as cool or as fun without the live coding. Additionally, the incremental process by which he arrives at the conclusion makes the topic much more approachable. 1. [this video]
Entertaining live-coded derivation that makes the topic approachable
For those (like me) that prefer learning through talks and demonstrations, Jim Wierich gave an incredible talk on the Y Combinator at RubyConf 2012. Video: [this video] Code: [link]
Incredible talk and demonstration on the Y Combinator
Finally made an account to post in this thread. I'm rather early in my career doing mostly Ruby, Python and JavaScript things. As you might expect, I consume mainly Ruby, Python and JavaScript related talks. The first two talks that really blew my mind are: - K Lars Lohn's PyCon Keynote from 2016: [link] - Jim Weirich's (RIP) "Y Not" talk from RubyConf 2012: [this video] There are many other presenters who I have a good opinion of: - Raymond Hettinger: his presentation/teaching style is something I'd like to model my own after, also he gave the first talk on writing proper threaded/concurrent python that I was able to understand and make use of. - Brandon Rhoades: another speaker with a presentation style that I've found easy to follow, also he takes a little shot at the dd utility about 18 minutes into [link] ) - Sandi Metz: I started out in Python land and moved to Ruby land, where I was introduced to Sandi's talks. She doesn't talk about incredibly complex topics, but she's got insight into some really basic things that's helpful to new people who can't see the forest through the trees. - Robert Martin: I gather that his OO principles are not universally revered, but I find his talks useful. - Gary Bernhardt: his talks are interesting and entertaining in ways that most are not The list goes on, but I can't think of them all right now.
This video (similar lecture, different audience) has the slides alongside the talk: [this video] Still one of the best programming talks I've ever seen.
On the same topic, Jim Weirich's 2012 talk "Y Not - Adventures in Functional Programming" on lambda calculus and the (little 'c') Y combinator is fantastic. [this video]
Fantastic talk on lambda calculus and the Y combinator
If anyone wants this in a humorous 1 hour format, watch the legendary Jim Weirich (rip) explain it here: [this video] Don't be discouraged that it is in Ruby as the concepts are completely general. Great watch even though I never coded a line of Ruby.
Humorous one-hour explanation of the Y combinator, language-agnostic
Jim Weirich derives the Y combinator in pure Ruby here: [link] EDIT: Correct video [this video] It is some of the ugliest ruby code I have ever seen, but it was something amazing to watch happen live.
+1 on the lambda calculus stuff. Here's a related talk about deriving the Y combinator in Ruby by Jim Weirich: [this video] (skip to about 28:00 if you're impatient) There are additional versions of this same presentation circulating with the code in Javascript and (I believe) Clojure. Full disclosure: Jim is a co-worker of mine.
I mean, sure, it's going to be turtles the whole way down if you're looking to define the universe without resorting to physical quantities (that is, dimensioned units). We don't have anything like a Grand Unified Theory yet, wherein we define Physics by means of some elemental mathematics (in the form that we can bootstrap computation from lambda calculus via things like the Y Combinator [0]). Besides, we occasionally give dimensional names to dimensionless quantities (my favorite being the engineering unit the inverse radian) [1]. It's a useful abstraction, and it seems confusing to complain about it. So we resort to what we know, which is what we see. We can't see more than the surrounding universe, but we can try extrapolating from what seems to work. Attempting to stifle that inquiry seems a bit... I dunno, pointlessly antagonistic. This article shows science in action, doing what it does best: taking observations and reconciling them with other observations via theory, and then fixing theory to match. It seems our universe follows certain equations which are themselves dimensionful, so I'm not sure why we wouldn't attempt to benchmark the universe against itself - we don't have much else to use. Even dimensionless numbers are only marginally useful, like alpha; it may "exist" and manifest as our universe, but it's not especially predictive. [0] [this video] (one of my favorite videos - I still don't grok it, but I'm getting closer!) [1] [link]
Bootstraps computation from lambda calculus via the Y combinator
Y Not - Adventures in Functional Programming by Jim Weirich [this video] The Coming Civil War over General Purpose Computing by Cory Doctorow [link] Cybersecurity as Realpolitik by Dan Geer [link] [link]
Here is a good one that come to mind: 1. This one is alive demo where the speaker derives the Y Combinator from first principles. A really interesting exposition of functional programming at its finest. Link: [this video]
Live demo deriving the Y Combinator from first principles
Well, .NET's garbage collector certainly springs to mind. Not exactly in a good way. You know you have something special on your hands when GitHub refuses to show you a highlighted version of a hand written C++ file ( [link] ). Other than that, I remember my mind was blown a few times while watching Jim Weirich's presentation on functional programming all those years ago ( [this video] ).
Functional programming presentation that blew the commenter's mind
Confreaks.com seems to be having some troubles, I'm guessing this is the same talk: Ruby Conf 12 - Y Not- Adventures in Functional Programming by Jim Weirich (uploaded by Confreaks): [this video]
Reading this, I was struck by how it reminded me of a talk that slowly warped and wrapped a statement to build up the Y-combinator. The process takes a self-referential function and slowly works the self out of it. Honestly, I'm not at all sure turning a function anonymous is actually similar to making a sentence passive, but maybe re-watching that video now I'll have that je ne sais quoi that'll let me actually grok the process. [0] [this video]
Shows self-reference being worked out of a function step by step
Video list and Hacker News comment labels from HackerTube (prompted by @karpathy), released under ODC-By 1.0, built on the open-index/hacker-news archive. Hacker News data is provided by Y Combinator; comments remain the work of their authors. Video titles, channel names and thumbnails belong to their creators and are shown via YouTube. HackerTube Watch is an unofficial edition. Data export of 2026-10-31.
20 Hacker News comments
From the HN archive; up to 20 kept per video, favoring different commenters. Recommendations first.
Read more
Read more
Citations, criticism and jokes