Frame from Ruby Conf 12 - Y Not- Adventures in Functional Programming by Jim Weirich Plays with YouTube's privacy-enhanced embed

Ruby Conf 12 - Y Not- Adventures in Functional Programming by Jim Weirich

Open on YouTube First HN thread

17 HN users recommended this talk in 18 different months between 2013 and 2026.

2007–2026
9 strong recommendations 9 recommendations 2 citations HackerTube score 22.5

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.

Pull quote: “perhaps the most entertaining and interesting technical talk I've ever seen.” (HN, 2015)

Also tagged: y combinator, functional programming, lambda calculus, ruby, live coding, jim weirich

What Hacker News said

20 labeled comments from the HN archive; up to 20 are kept per video, favoring different commenters. Each one links back to the original thread.

Strongly recommends mekishizufu November 2013 under What is a y-combinator? (2008)
Walks through the Y combinator and functional programming
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]
Strongly recommends careersuicide November 2015 under Writing code doesn't mix well with oration
Entertaining live-coded derivation that makes the topic approachable
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]
Strongly recommends JamilD December 2016 under What is a Y Combinator?
Incredible talk and demonstration on the Y Combinator
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]
Strongly recommends webdevatlurk April 2018 under Ask HN: What is your favourite tech talk?
One of two talks that blew the commenter's mind
Read the full comment
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.
Strongly recommends caseyohara September 2020 under All you need is λ, part one: booleans
Fantastic talk on lambda calculus and the Y combinator
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]
Strongly recommends sva_ April 2025 under Baking the Y Combinator from Scratch
Humorous one-hour explanation of the Y combinator, language-agnostic
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.
Recommends tesmar2 January 2013 under Three Little Birds – Deriving the Y Combinator
Live derivation of the Y combinator in pure Ruby
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.
Recommends al2o3cr December 2013 under Emacs users are like Terry Pratchett’s Igors
Derives the Y combinator in Ruby
+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.
Recommends friendzis August 2014 under Tech Talks
Excellent talk on functional programming and lambda calculus
Since it is not readme based, I suggest including Y-Not[1] - an excellent talk about functional programming and lambda calculus [1]: [this video]
Recommends HCIdivision17 September 2014 under Excitement Over Gravity Waves Comes Crashing Down
Bootstraps computation from lambda calculus via the Y combinator
Read the full comment
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]
Recommends pdkl95 October 2016 under Ask HN: What's your favorite tech talk?
Favorite tech talk on functional programming
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]
Recommends jiripospisil October 2022 under Ask HN: What piece of code/codebase blew your mind when you saw it?
Functional programming presentation that blew the commenter's mind
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] ).

Citations, criticism and jokes

Cites it HCIdivision17 October 2015 under An Interactive Guide to Ambiguous Grammar
Shows self-reference being worked out of a function step by step
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]

Keyboard shortcuts

/
Search
j k
Next / previous video in a list
Enter
Open the focused video
l
Like (on a video page)
w
Watch later (on a video page)
?
This help
Esc
Close