Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Rich Hickey's Greatest Hits (thechangelog.com)
270 points by sant0sk1 on Sept 16, 2013 | hide | past | favorite | 70 comments


One of my favorite quotes from Rich Hickey:

"Simplicity is hard work. But, there's a huge payoff. The person who has a genuinely simpler system - a system made out of genuinely simple parts, is going to be able to affect the greatest change with the least work. He's going to kick your ass. He's gonna spend more time simplifying things up front and in the long haul he's gonna wipe the plate with you because he'll have that ability to change things when you're struggling to push elephants around."

http://devopsu.com/blog/simplicity-is-key/


Fun nit: this is one of the times when effect is the correct word to use.


Grammatically, ted is right on this one.


Depends on the variety of English. What you said is true for the prestige dialect, certainly.


There ain't no such thing as a prestige dialect in English. In all of them, "affect change" is just plain wrong.


> There ain't no such thing as a prestige dialect in English.

I sincerely hope this is sarcasm.

> In all of them, "affect change" is just plain wrong.

Cite?


Hello derleth:

"Effect. As noun, means result; as verb, means to bring about, accomplish (not to be confused with affect, which means "to influence")." http://www.bartleby.com/141/strunk3.html

Affect vs. Effect: http://www.dartmouth.edu/~sullivan/CommonWritingErrors.html#...


Those sources don't define correctness. Especially Strunk and White, which is pretty well debunked at this point:

http://www.languagehat.com/archives/003463.php


Sorry, derleth. It's not a matter of someone defining correct usage. It's simply a matter of looking at the dictionary definitions of the words 'affect' and 'effect'. Affect simply means to influence while effect means to bring about.


Downvoting linguistic knowledge doesn't make it any less true.


I'd be curious to see an example of a dialect in which "to affect change" is more correct than "to effect change"?


Some people seem to like pushing descriptivism too far. "Somebody said it, therefore it's correct."


What basis for judgements of correctness would you suggest, if not facts about how English speakers speak English?


A majority, or at least a substantial minority? (Don't interpret common mistakes as proof of correctness. Most (all?) people who spell 'lose' as 'loose' will at least acknowledge their mistake when it's pointed it out. Nobody thinks 'loose' is actually correct in their "not prestige" dialect.)


For correctness, it should be how educated speakers speak English. In this case, I would also settle for "how published authors write English."


Are your notions of correctness defined by who can get publishing deals?


So... your notions of 'correctness' in a language are determined by who can get publishing deals?


How about facts about what nearly all English speakers agree is the correct usage?


Neither one is more correct in isolation as they mean different things.


Simplicity is hard work. But, there's a huge payoff.

I hate to be cynical in a thread about a very optimistic and insightful speaker but I think that it will always be the case that people will trade off easy work early on for more pain late in the game. This is called hyperbolic discounting and it's an extremely common cognitive bias in humans. The only way we'll overcome this is through extensive education and a dramatic change in culture (particularly office culture).


I'll ask a question. Have you seen a correlation between companies that have simpler code bases and are more successful in the long run? Personally, I've never seen it. The most successful companies have horrible code bases that are eventually replaced by well written modular architectures if the become successful. I personally love the idea and value of simple code but I can't say I've seen a lot of evidence for it.


that would be markets where the deciding factor is software. I suspect you are thinking of say windows where the quality of codebase was lesser factor than installed base etc

I would suggest that web browsers is a good example - IE market share vs say Mozilla. other examples are Sage vs freeagnet ?

hard to unpick market tactics and strategy from code - but it's hard to deny there is a link intuitively


My sense of what is intuitive follows his http://prog21.dadgum.com/87.html

Basically code quality doesn't really matter, product vision is what matters.


That depends on whether this hypothetical codebase is an asset or a sunken cost.


All code no matter how beautiful is a sunken cost.


Run upstairs...

"Use difficulty as a guide not just in selecting the overall aim of your company, but also at decision points along the way. At Viaweb one of our rules of thumb was run upstairs. Suppose you are a little, nimble guy being chased by a big, fat, bully. You open a door and find yourself in a staircase. Do you go up or down? I say up. The bully can probably run downstairs as fast as you can. Going upstairs his bulk will be more of a disadvantage. Running upstairs is hard for you but even harder for him." -- PG

http://www.paulgraham.com/wealth.html


My favorite quote (from "Are We There Yet?") is "I'm just trying to program without going crazy".


True if your product is a success. But if you're building 10 projects and only one of then succeeds, you just spent 9 times enormous amount of time you will never get back. One could argue that rewriting the successful one from scratch would still take less time than that.


Very nice quote. But I think I am having a hard time seeing the genius of it. There was voice in my head saying 'Duh..' as I finished reading it.


Did anyone say that it was genius? Taking something that some people see as "duh" and phrasing it in such a way as to provide clarity is a valuable thing.


Exactly this.


Rich Hickey has great track record of being spot on. He seems to know exactly where the pain points of software engineering are, and proposes sound solutions.

In this talk he explains how Datomic works, but more importantly, what the reasoning behind it is:

http://www.infoq.com/interviews/hickey-datomic-cap

Everybody should watch this, as the concepts behind it apply to any system.


This is a great list, now I can refer my new programmers to a single place.

Rich is quite possibly the greatest marketing asset for the Clojure programming language. After listening to one of his talks (about concurrency) I realized that there is an extremely smart person that does a lot of thinking and makes a lot of sense, so perhaps Clojure might be worth a try. Haven't regretted it.


I took the same path. I was actually a bit skeptical at his talks initially, but once they sunk in, he's really head of the curve on this stuff.


Simple made easy has my vote for the #1 spot, it isn't about clojure as much as about general principles. I really love that talk.


I'll also vote Simple Made Easy above Are We There Yet. I've talked about it at length with a bunch of other programmers and get consistently better responses from starting people with Simple Made Easy.


If this is the talk I think it is, I can say it helped me greatly as a programmer. I'm one of those 'homegrown' programmers with no formal education, and I'd probably horrify some of you with my work. But I'm learning, and very aware of my deficiencies.

What I loved about this talk is that it seemed more a 'philosophy of programming' thing, where a lot of what he said applied even to my shitty programming, and (hopefully) even improved it.


For me the biggest change was 'structured programming', Niklaus Wirth and K&R changed the way I looked at code completely. Pascal was never my favorite language but after 'Algorithms + Data Structures = Programs' I became a much better programmer pretty much overnight.


Haha, yeah, that's pretty much the single most useful thing I learned.


Rich Hickey is a genius. I love how he connected music to software engineering [1]. He should write a book on some of these topics. He has a lot more than 45 mins talks to offer to the world.

[1] http://www.infoq.com/presentations/Design-Composition-Perfor...


I've been waiting for a book that elaborates on simple design a la Hickey (with some examples/code) ever since I saw the "simple made easy" talk. If there is one that I missed, I'd love to know.


paradigms of artificial intelligence by norvig, although seemingly about something completely different, has the same "simplicity" in its code.


I read the list of comments and I find disappointing too see people saying things like "he talk simple stuff", or "this is too basic, I got nothing out of it"

I love those talks, and every once in a while I watch them again so I don't forget the basic principles.

Rich went 2 step ahead than simple state what some people feels as obvious: he created a language that implements them, and he communicated those concepts.

He did something to better the trade. Have you?

This is not about the next tool to make a quick buck, or cute, but impractical, philosophical concepts

And, I too would put "Simple made easy" as the first one. Then it becomes much easier to understand why functions are the 555 chip of software development.


We sometimes watch Rich Hickey's talks in the office.

We always have a good conversation afterwards.


That's exactly what I've started doing at my office. We watch a talk per week and discuss it after. Rich Hickey occupies several rows of the spreadsheet!


Is your spreadsheet of talks publicly available?


I could make it that way, it's still pretty small at the moment. Here's the current list:

Theraputic refactoring - Katrina Owen, The Future of Programming - Bret Victor, Simplicity matters -Rich Hickey, Hammock Driven Development - Rich Hickey, Programming with nothing - Tom Stuart, Connections: Faith in Numbers - James Burke, Growing a Language - Guy Steele, Y Not - Adventures in Functional Programming - Jim Weirich, Cool Code - Kevlin Henney, We Really Don't Know How to Compute! - Gerald Jay Sussman, Keynote: Architecture the Lost Years - Bob Martin, Computer Heuristics - Richard Feynman, The Power of Abstraction - Barbara Liskov, The Mother of All Demos - Douglas Engelbart


While I have much sympathy for Rich (way more than for Clojure), I find his talks to be extremely simple. He can talk hours about very basic and obvious things. Overall, at the end, I'm not getting much new from it.


> Overall, at the end, I'm not getting much new from it.

The trick here is to pretend for a bit that you're not yet as amazingly well educated and developed as you no doubt are and then to realize that there are a large number of people like that. As one of those I'm really happy he takes the time out to do these. To you it would obviously be a waste of time so no need to watch them, but I definitely get some value from them. I like that 'much' in there.


Oh shit, I have learned a lot from Rich's talks... so your talks must be much more useful. Where can I find them? Please tell me you have some talks? You have such great ideas, or communicate such "extremely simple" ideas so well that others (or even you yourself) have recorded them for me to watch. No talks? So you keep this knowledge to yourself and shit all over a guy who shares his knowledge with a community?

Your comment is terrible. You shit on Rich, you shit on Clojure, and say nothing other than you're so superior that you get nothing from anything Rich says. Fuck you (yes, that's not subtle, but your comment is passive-aggressive bullshit or perhaps you lack the ability to clearly state WHY you do not think a talk is useful).


I really wish this is the last time I see a comment like this on HN. This is nothing but an angry, sarcastic rant by somebody who, I can only presume, had a really bad day. There is absolutely nothing civil in this comment.

While I completely disagree with the grandparent comment, I understand that that's his/her opinion, nothing more. What Hickey talks about may seem obvious, but only in hindsight, at least to me. It seems that most of the commenters in this thread feel the same way. However, I can accept that there are people, like Zerr, who would find Hickey's talks to be rather boring stuff, since they are already well aware of everything he talks about. So there's really no need to reply to these people with hateful comments like this one.


I had a pretty good day and I'm not an angry person. I was very uncivil in response to what I understood to be a dismissive comment wrapped in civility. Comments tearing down someone else's real work without offering alternatives or constructive criticism are easy to make and damaging, but my tone and choice of language didn't communicate my message. I'm sorry that it bothered you. I generally do not post w/ this tone and will be more careful in choosing the right tone to communicate my meaning in the future. Thanks for your feedback.


I'm going to reply to myself to clarify my harsh words. It is very easy to say something sucks. Windows sucks. Linux sucks. Lisp sucks. Apple Sucks. Google Sucks. It doesn't mean anything to say it. It is not useful to say something sucks, you cannot fix "sucks". Saying what is wrong with something is useful. Saying Rich's talks are "simple" is something, except most people don't seem to agree, so it would be much more useful to cite the things you know beyond the "simple" things Rich has talked about... "Rich is ok, he says simple things, but read X, or watch Y" is useful. I may disagree with you but at least I have something to investigate. In a better mood this probably would have been my first post, but HN seems to be about shitting on stuff these days so I guess I just went with that.


Your comments suck.


Have a blessed day.


Hey, stop it. Grandparent presented his opinion about the talks. It's perfectly possible that for him they are not new or interesting. He's not shitting on anything, he's just presenting his feelings about some things. While it's somewhat off-topic, it doesn't deserve a response like yours.

Personally I like Rich talks very much, they were eye opening for me, although I agree that they focus on simple things. That's why they are so interesting. On the other hand I'm not a fan of Clojure - I'm trying to be, but my love for certain other Lisps gets in the way.

Are you going to tell me to fuck off because I said, in effect, that in my opinion there are better Lisps than Clojure?


After re-reading my initial comment a few times I agree that my language wasn't helpful in communicating my real frustration with the GP's comment. My intent was to call out a dismissive, superior and mostly unhelpful comment, but my intent was lost in my presentation. Your approach to me would have been a more effective choice. Thanks for replying.


I didn't have much of a problem with the GP's mildly dismissive comment about Hickey's talks, nor was I hugely concerned that you opened a can of worms about it. What I would, however, like to remark on how your comment forced me to think of you as a complete dumbass who has no business mingling with people who, like most of us, get paid for our ability to think logically.

In your "clever" attempt at irony, you ask your parent about his own, presumably better talks. Please take a moment to reflect on how utterly stupid this line of attack is!

Give up? OK, here's the explanation, by analogy: I'm completely incapable of building an automobile. Yet, having driven both, I'm qualified to comment that a Geo Prizm is an underpowered, shoddily constructed car - at least when compared to my Lexus. A talk is a product created for the benefit of an audience, and as the consumers of such a service, the audience - including the GP - is probably best qualified to judge it. To imply that only a producer of talks may have an opinion on a talk is shockingly stupid.

Before you attempt another such put-down, please consider how it will reflect on you, and whether it might not be more sensible to keep your mouth shut!


Thank you for your thoughtful reply and helpful criticism of my initial comment.


@zerr: Sorry for my language and insults in response to your comment. I don't agree w/ your comment, and I chose a contradictory tone to express my disagreement, but that tone and my choice of words was not helpful to any discussion. Regardless of my intent I apologize for how I responded to you. I owe you a beer.


It's OK Kevin. We all make mistakes, but when one acknowledges and honestly apologizes, it deserves appreciation. So thank you and take care.

Oh, and, the world is not that big, so I'll keep in mind that beer ;)


Although more on the motivational than in the technical side, I learned a lot from his talks. To me, the feeling after one of his talks is more akin to "it's is so obvious to me now, I should have been thinking like this all along". http://en.wikipedia.org/wiki/Egg_of_Columbus


I think I'm prone to cascading realization more than most. I often watch (or read) things multiple times, each time seeing it in a new way. For me, it's not so much the process of getting a principle intellectually, but a long process of internalization, often of simple ideas, and putting them into practice in my everyday work. The colloquial term for this is 'stupid', I think, but I prefer to think of it in a more positive light. =) It actually makes me think of my favorite T.S. Eliot quote:

'We shall not cease from exploration, and the end of all our exploring will be to arrive where we started and know the place for the first time.'

I often return to basics and understand them in a new way after some time away, and Rich's talks evoke that phenomenon for me more than most.


It's because of him I know now the difference between simple and easy, that easy and that simple!


What he talks about may be obvious to you, but is probably not the reality for 90% of the industry.


He also has an excellent ability to make the complex and abstract seem simple and obvious. His talks are not bullet points of "how to program good" that you're supposed to check off as you code - they're deeper-but-general ideas that are supposed to simmer and percolate.

All the smartest people I know (far smarter than me) are constantly impressed by his talks - and discussing with them often makes me realise I've missed some bigger-picture concepts.

So my conclusion (in lieu of a chat over a beer with the person to dig deeper) is to assume that superficial dismissal of his talks mostly demonstrate a superficial understanding of the content.


I think his talks [that I've watched] are more about the taste. So the fact that I mostly agree with him, i.e. have a similar taste, doesn't necessary correlate with a superficial understanding.


I love this guy since the first time I watched 'Are We There Yet?'.


Is there a way to get transcriptions from infoq presentations ?


I often wish there was, too. I _hate_ being forced to watch the video to assimilate what a person has to say. At work, it's not an option for me.




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

Search: