Simple Made Easy (2011) [video]
186 points by stcg 1 year ago | 40 comments- runetech 1 year agoI found this talk to be the single most influential on my way of thinking of all my years on trying to absorb knowledge from the net. Very recommendable no matter your favorite language - I love that the concepts are applicable to a wide range of situations.
This has led me to his other talks which are heads and shoulders over most comparable content. I have learned more and found more enjoyment & enlightenment in the line of thinking he presents than the alternatives. Not shitting on anyone, just giving credit where credit is due. If you are open and willing to learn and come from a "traditional" background I think you will have your mind expanded like me.
Thank you Rich! ;-)
- edem 1 year agoRich is an absolute genius hands down.
- edem 1 year ago
- Clever321 1 year agoTruly one of my favorite talks on software systems and composition. It's so dense that I had to watch it 3 times to really absorb the subtleties. He also has 'the language of the system', which is excellent, and almost a companion talk to this topic.
- kgwxd 1 year agoI've never use clojure directly in any production work, but every one of his talks have influenced a ton of my programming in other languages. I'm a bit sad he hasn't had any recent talks. Feels like they've exhausted the journey, like there's not much else to extract from the clojure mindset even though it feels like there's a lot more there.
- Clever321 1 year agoHe talked at clojure conj 2023, something like 'design, in practice'. Another great one. I think there was a gap in his keynotes because of covid. Also, it's very hard to write/talk about such profound ideas reliably every year- they just don't show up that often.
- joelwilsson 1 year ago"Design in Practice" by Rich Hickey: https://www.youtube.com/watch?v=c5QF2HjHLSE
- joelwilsson 1 year ago
- beanjuiceII 1 year agohe just did a talk where he shows ppl how to use excel, rich hickey the manager
- kgwxd 1 year agoHA! I realize now that I had watched that live, paid the $20 to attend the conf virtually, then went a drinking binge so that I would forget I even saw it.
- ungamedplayer 1 year agoData cell programming for clojure incoming.
- kgwxd 1 year ago
- Clever321 1 year ago
- kgwxd 1 year ago
- dang 1 year agoRelated:
Simple Made Easy (2011) - https://news.ycombinator.com/item?id=23905051 - July 2020 (30 comments)
Simple Made Easy (2011) - https://news.ycombinator.com/item?id=13660797 - Feb 2017 (36 comments)
Simple Made Easy (2011) - https://news.ycombinator.com/item?id=13313398 - Jan 2017 (2 comments)
Rich Hickey: Simple Made Easy - https://news.ycombinator.com/item?id=4173854 - June 2012 (42 comments)
Rich Hickey: "Simple Made Easy" from Strange Loop 2011 [video] - https://news.ycombinator.com/item?id=3135185 - Oct 2011 (99 comments)
- phtrivier 1 year agoDumb and honest answer: do you have an automated tool to generate such a list of "we discussed that already" ? Would it belong "somewhere" in the base UI for HN (if it's ever allowed to change ?) Or do you just keep a list at hand for the usual suspects ?
- dang 1 year agoNot entirely automated but machine-augmented: https://news.ycombinator.com/item?id=35668525
- andreif 1 year agoBy using dang's comments I can fetch all historical discussions and render them on the same page. Easy made simple :)
- dang 1 year ago
- phtrivier 1 year ago
- frou_dh 1 year agoThis great talk is a pet peeve inducer, because after watching it you will start noticing how often the word "simple" is still used as a platitude in programming circles.
- steamer25 1 year agoWhen I use the word 'Simple' in e.g., a class name, I usually mean: ~"This is meant to cover the 80% of common cases--I haven't done extensive testing or development on it. If you need to cover something in the remaining 20% of edge and corner cases, you're going to need to write your own more complex code to handle those."
I.e., my code is simple--and that might make your usage complex.
Of course, things can evolve from the original implementation--especially if the code is maintained by a team. What was once 'simple' (from any perspective) can become terribly appendaged yet never renamed.
- sph 1 year agoMy pet peeve is how many articles use the word simple, and immediately after refer to this talk.
It's a great talk, but it's like nobody is allowed to say "simple" anymore without mentioning Rich Hickey.
- frou_dh 1 year agoWhen it comes down to it, Hickey's talk does not even need to be referenced. The core of the peeve is that when the millionth "X is a simple library/tool/language for Y-ing" pitch is made, the question should be: On what OBJECTIVE basis is this simpler than the alternatives? (Because everyone thinks their own polished creations or preferred techniques are "simple" and so the word as typically used in pitches is close to meaningless).
- bongobingo1 1 year agoActually its incredibly simple.
See, I just did it and didn't have to mention Rich Hickey.
- sph 1 year agoThe new age variant is quoting the Tao Te Ching instead of Rich Hickey.
"Simple, like a block of uncarved wood."
- sph 1 year ago
- frou_dh 1 year ago
- mrkeen 1 year agoAt least "simple" tries to say something - even if it's completely subjective.
Far worse is "pragmatic".
- remram 1 year agoOr "for humans", hopefully that trend has died down though.
- remram 1 year ago
- steamer25 1 year ago
- phtrivier 1 year agoOoh, this time of year when engineers finely get some time to dig into longer tech talks.
I remember watching the original "clojure" talks during Christmas break too.
At least it's a found memory that I keep, as opposed to all the troubles getting a somehow functioning clojure dev environment set up back in the day... For all my whining, it has actually got better nowadays, although I still don't know if it's acceptable to use lein as opposed to boot as opposed to deps.edn as opposed to [insert tool].
I don't think I'll ever professionally work on a things where the costs of clojure (training / mental reshaping / startup performances / etc...) will be worth the benefits (using a map of tuple to sets of immutable records and solve a gnarly problem in 10 lines and 50 parens.)
But as other said, the sermons _do_ change how you program in any language.
(I just wish I understood what in meant in "Effective Programs" by "typos are not important". They are, aren't they ? A typo is a runtime error begging to occur during the demo, how is that "not important" ? Never mind.)
I would advise to immediately go watch anything from Muratori or Blow to get the exact opposite perspective, pounder the fact that they are _both_ right and wrong in their own ways.
And go back to writing typescript like everyone.
- jordibc 1 year ago> (I just wish I understood what in meant in "Effective Programs" by "typos are not important". They are, aren't they ? A typo is a runtime error begging to occur during the demo, how is that "not important" ? Never mind.)
They are going to create an error that you can see and fix immediately, in the vast majority of cases. Certainly in compiled languages (like clojure), but less so in interpreted languages like python, where a misspelled variable in a hidden part of the code may not cause an exception until that part of the code is run.
At least, that's my understanding of what he means by typos being less important than other types of mistakes.
By the way, when I saw his comment originally I was surprised too. But when comparing to the other kind of mistakes he talks about I realized that, yes, I'd rather have a typo than any of the other problems! Though of course, I'd prefer to have none :)
- phtrivier 1 year agoThe problem is that having a typo-based issue, especially one that would have been trivially caught by a compiler from the 70s, can sometimes prevent you from having a chance to tackle the important problem.
(Now, maybe it's PTSD from that time a typo in a script botched a demo in front of important people, and, well, let's say I avoided a bunch of scaling / domain complexity / temporal cohérence / etc... issues by not having to work on the thing any more ?)
- phtrivier 1 year ago
- jordibc 1 year ago
- cutler 1 year agoRich Hickey's Sermons On The Mount changed my life as a programmer. 'Trouble is I can't look at OOP anymore without wanting to throw-up.
- whitepoplar 1 year agoI can't seem to find a "Sermons On The Mount" talk. Do you have a link?
- simongray 1 year agoI think he's just referring to all his classic talks, e.g. this one, Are We There Yet, Hammock-driven development, etc.
- whitepoplar 1 year agoFacepalm! Thanks.
- whitepoplar 1 year ago
- simongray 1 year ago
- edem 1 year agowhat has been seen cannot be unseen
- discreteevent 1 year agoHeh, Gilad Bracha says exactly that in favour if objects here.
Each to their own. There's room for everyone.
https://gbracha.blogspot.com/2022/06/the-prospect-of-executi...
- discreteevent 1 year ago
- whitepoplar 1 year ago
- jasonwatkinspdx 1 year agoJust wanna say I ended up sitting next to Rich Hickey at a conference years back and had a fantastic conversation. He is one of the most thoughtful and just nice people I've met in computing.
- edem 1 year agoThis is an absolutely awesome talk. I can't recommend it enough. I never used Lisp or Clojure in production, but I learned so much just by trying it out and understanding how it works. You can't unsee it. Rich is a genius.
- dartos 1 year agoA true classic. There’s also a 30min version he gave at railsconf once
- eikenberry 1 year agoIs this it?
- dartos 1 year agoYes!
- dartos 1 year ago
- eikenberry 1 year ago
- revskill 1 year agoPolymorphism is complex.
- grumpyprole 1 year agoMultiplication and division aren't necessary for arithmetic, why not keep things simple and just use addition for everything? Because by using a more complex language, it actually simplifies many solutions to problems. I do not understand why many software developers seem unable to grasp this.
- kgwxd 1 year agoI think it's saying languages that make polymorphism an inescapable, top-level concern (everything's an Object, Class, Interface, etc), and/or force all polymorphism be done through a limited choice of polymorphism tools it provides, is incidental complexity. Polymorphism a la carte lets you pick your poison from a full platter, or ignore it all together.
- grumpyprole 1 year ago