Hacker News new | past | comments | ask | show | jobs | submit login
Simple Made Easy (2011) [video] (youtube.com)
186 points by stcg on Dec 26, 2023 | hide | past | favorite | 40 comments



I 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! ;-)


Rich is an absolute genius hands down.


Truly 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.


I'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.


He 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.


"Design in Practice" by Rich Hickey: https://www.youtube.com/watch?v=c5QF2HjHLSE


Thank you, this is a great talk! Even though I am not using clojure, Rich Hickey is one of my favorite speakers.


he just did a talk where he shows ppl how to use excel, rich hickey the manager


HA! 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.


Data cell programming for clojure incoming.


Related:

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)


Dumb 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 ?


Not entirely automated but machine-augmented: https://news.ycombinator.com/item?id=35668525


By using dang's comments I can fetch all historical discussions and render them on the same page. Easy made simple :)


This 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.


When 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.


My 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.


When 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).


Actually its incredibly simple.

See, I just did it and didn't have to mention Rich Hickey.


The new age variant is quoting the Tao Te Ching instead of Rich Hickey.

"Simple, like a block of uncarved wood."


Simple Block tm


At least "simple" tries to say something - even if it's completely subjective.

Far worse is "pragmatic".


Or "for humans", hopefully that trend has died down though.


Ooh, 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.


> (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 :)


The 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 ?)


Rich 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.


I can't seem to find a "Sermons On The Mount" talk. Do you have a link?


I think he's just referring to all his classic talks, e.g. this one, Are We There Yet, Hammock-driven development, etc.


Facepalm! Thanks.


what has been seen cannot be unseen


Heh, 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...


Just 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.


This 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.


A true classic. There’s also a 30min version he gave at railsconf once



Yes!


Polymorphism is complex.


Multiplication 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.


I 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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: