Ruby Conf 12 - Y Not- Adventures in Functional Programming by Jim Weirich
Confreaks17 HN recommenders · recommended in 18 months, 2013-2026
65K views · 13 years ago · talk · evergreen
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.
40:50Ruby Manor 3 - Programming with Nothing by Tom Stuart
Confreaks
13K views • 13 years ago
1:02:15Lambda Calculus - Fundamentals of Lambda Calculus & Functional Programming in JavaScript
Fullstack Academy
227K views • 9 years ago
3:26:34David Beazley - Lambda Calculus from the Ground Up - PyCon 2019
PyCon 2019
52K views • 7 years ago
1:05:51The Functional Programmer's Toolkit - Scott Wlaschin
NDC Conferences
79K views • 7 years ago
1:07:10Brian Beckman: Don't fear the Monad
jasonofthel33t
415K views • 13 years ago
12:56Stephen Wolfram's Introduction to the Wolfram Language
Wolfram
924K views • 12 years ago
1:07:22Invited Talk - Guy Steele
ClojureTV
39K views • 9 years ago
1:04:45Stanford Seminar - Concatenative Programming: From Ivory to Metal
Stanford Online
14K views • 8 years ago
58:22Lecture 1B | MIT 6.001 Structure and Interpretation, 1986
MIT OpenCourseWare
116K views • 17 years ago
36:53Rails Conf 2012 Keynote: Simplicity Matters by Rich Hickey
Confreaks
220K views • 14 years ago
11:25Monad - FunFunFunction #21
Fun Fun Function
128K views • 10 years ago
1:50:07JSON Parser 100% From Scratch in Haskell (only 111 lines)
Tsoding
205K views • 6 years ago
1:28:59Clojure for Lisp Programmers Part 1 - Rich Hickey
ClojureTV
25K views • 13 years ago
43:16Pure Functional Programming in Excel • Felienne Hermans • GOTO 2016
GOTO Conferences
26K views • 10 years ago
1:10:16Saša Jurić - Parsing from first principles - WebCamp Zagreb 2019
WebCamp Zagreb
6K views • 6 years ago
54:27Douglas Crockford: Monads and Gonads (YUIConf Evening Keynote)
YUI Library
67K views • 13 years ago
1:04:16Simon Peyton-Jones: Escape from the ivory tower: the Haskell journey
Churchill College, University of Cambridge
170K views • 9 years ago
36:31Hey Underscore, You're Doing It Wrong!
InfoQ
141K views • 13 years ago
53:56Expert to Expert: Rich Hickey and Brian Beckman - Inside Clojure
jasonofthel33t
119K views • 13 years ago
41:09ClojureScript for Skeptics - Derek Slager
ClojureTV
72K views • 10 years ago
20 comments from Hacker News
Reminds me a bit of the coolest talk I ever got to see in person: ▶ this video It’s a derivation of the Y combinator from ruby lambdas
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.
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 ).
A good video that made it click for me is the following, which derives the ycombinator from 1st principles: ▶ this video
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
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
Jim Weirich's 2012 Ruby Conf talk is also a great introduction to the Y Combinator and Lambda Calculus. ▶ this video
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.
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.
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
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
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
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
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
Since it is not readme based, I suggest including Y-Not[1] - an excellent talk about functional programming and lambda calculus [1]: ▶ this video
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
▶ this video This talk is a must-see, really shows off Jim Weirich's craft and overall ability to be a great pedagogue.
+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.
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
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.