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

Confreaks17 HN recommenders · 2013–2026
65K views · talk · evergreen · Uploaded 2012-11-11

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.

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.

Watch on YouTube

20 comments from Hacker News

@tesmar22013 · in “Three Little Birds – Deriving the Y Combinator”

Jim Weirich derives the Y combinator in pure Ruby here: [LINK] EDIT: Correct video [VIDEO] It is some of the ugliest ruby code I have ever seen, but it was something amazing to watch happen live.

RecommendsView on HN
@mekishizufu2013 · in “What is a y-combinator? (2008)”

If you are curious about the topic, I strongly recommend watching these videos: Y Not- Adventures in Functional Programming by Jim Weirich [VIDEO] Programming with Nothing by Tom Stuart [LINK]

Strongly recommendsView on HN
@al2o3cr2013 · in “Emacs users are like Terry Pratchett’s Igors”

+1 on the lambda calculus stuff. Here's a related talk about deriving the Y combinator in Ruby by Jim Weirich: [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.

RecommendsView on HN
@VeejayRampay2014 · in “So very sad to hear about the passing of Ruby legend Jim Weirich”

[VIDEO] This talk is a must-see, really shows off Jim Weirich's craft and overall ability to be a great pedagogue.

Strongly recommendsView on HN
@e12e2014 · in “Y Not – Adventures in Functional Programming (2012)”

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): [VIDEO]

@friendzis2014 · in “Tech Talks”

Since it is not readme based, I suggest including Y-Not[1] - an excellent talk about functional programming and lambda calculus [1]: [VIDEO]

RecommendsView on HN
@HCIdivision172014 · in “Excitement Over Gravity Waves Comes Crashing Down”

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] [VIDEO] (one of my favorite videos - I still don't grok it, but I'm getting closer!) [1] [LINK]

RecommendsView on HN
@HCIdivision172015 · in “An Interactive Guide to Ambiguous Grammar”

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] [VIDEO]

@careersuicide2015 · in “Writing code doesn't mix well with oration”

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. [VIDEO]

Strongly recommendsView on HN
@pdkl952016 · in “Ask HN: What's your favorite tech talk?”

Y Not - Adventures in Functional Programming by Jim Weirich [VIDEO] The Coming Civil War over General Purpose Computing by Cory Doctorow [LINK] Cybersecurity as Realpolitik by Dan Geer [LINK] [LINK]

RecommendsView on HN
@JamilD2016 · in “What is a 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: [VIDEO] Code: [LINK]

Strongly recommendsView on HN
@webdevatlurk2018 · in “Ask HN: What is your favourite tech talk?”

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: [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 recommendsView on HN
@dmvaldman2018 · in “Y Not? – Adventures in Functional Programming (2012)”

This video (similar lecture, different audience) has the slides alongside the talk: [VIDEO] Still one of the best programming talks I've ever seen.

Strongly recommendsView on HN
@dnsco2018 · in “Deriving the Y Combinator in JavaScript”

Jim Weirich's 2012 Ruby Conf talk is also a great introduction to the Y Combinator and Lambda Calculus. [VIDEO]

RecommendsView on HN
@dwrodri2018 · in “Ask HN: What are some of the best technical talks you've heard?”

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: [VIDEO]

RecommendsView on HN
@caseyohara2020 · in “All you need is λ, part one: booleans”

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. [VIDEO]

Strongly recommendsView on HN
@sva_2022 · in “An intriguing discovery of Computer Science: The Y combinator [video]”

A good video that made it click for me is the following, which derives the ycombinator from 1st principles: [VIDEO]

RecommendsView on HN
@jiripospisil2022 · in “Ask HN: What piece of code/codebase blew your mind when you saw it?”

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 ( [VIDEO] ).

RecommendsView on HN
@sva_2025 · in “Baking the Y Combinator from Scratch”

If anyone wants this in a humorous 1 hour format, watch the legendary Jim Weirich (rip) explain it here: [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.

Strongly recommendsView on HN
@peterlk2026 · in “All elementary functions from a single binary operator”

Reminds me a bit of the coolest talk I ever got to see in person: [VIDEO] It’s a derivation of the Y combinator from ruby lambdas

Strongly recommendsView on HN