Ask HN: What's your favorite tech talk?
Simply put, what are your favorite talks or trainings? It could by a one-off lecture about a specific concept or a series of talks about a language. Maybe it's a TED talk or a session from a con. Either way, what's that one talk that changed the way you think and you feel everyone needs to see?
265 comments
[ 3.5 ms ] story [ 252 ms ] threadthat'd be "Simple Made Easy"
Here's the link for those who are interested. https://www.infoq.com/presentations/Simple-Made-Easy
Start with, in order: Hammock Driven Development, Simple Made Easy, The Value of Values, The Database as a Value,
"Ask HN: What are your favorite videos relevant to entrepreneurs or startups?" -> https://news.ycombinator.com/item?id=7656003
"Ask HN: Favorite talks [video] on software development?" -> https://news.ycombinator.com/item?id=8105732
Growing a Language by Guy Steele.
https://www.youtube.com/watch?v=_ahvzDzKdB0
A write-up of the same talk. Fantastic read and watch.
BTW, does somebody know of (or have) a better quality version of this talk? The one on YouTube has some annoying audio cuts. There used to be a copy on Google Video[1], which i don't remember having the same issues.
[1] https://news.ycombinator.com/item?id=2359174
C++ has all three features. I suppose there is some success in games and graphics using overloaded operators on vector types. But otherwise it doesn't seem like a huge win, or something that is critical for the design of a language.
Python has operator overloading. I never really use it, but I guess it did allow NumPy and Pandas to exist. And TensorFlow uses it.
Perhaps it boils down to the fact that Java is more of a business language, and C++ and Python have more mathematical applications, which require richer algebraic expressions of many types. But I suppose if Java had gotten operator overloading, it may have been used more for scientific computing.
Perl 6 and Racket seem to be the languages that really allow creating your own language. But actually I heard Larry Wall say that they want to provide so many little languages within Perl 6 that users don't need to invent their own. Because this often makes it harder for others to read your program.
http://cr.openjdk.java.net/~jrose/values/values-0.html
With a book, it's easy to speed up and slow down as needs be.
Learning to skim text quickly for what I need is probably the single most important skill I possess.
This was the first time I watched pg give a talk. It was the talk that brought about the biggest change in the way I think about the world, my ambitions. The talk was the beginning, reading more about pg, I came across his essays and then HN.
We can argue on some of the points he makes but we can all agree that the demos are very impressive.
"LoneStarRuby 2015 - My Dog Taught Me to Code by Dave Thomas" - https://www.youtube.com/watch?v=yCBUsd52a3s
and
"GOTO 2015 • Agile is Dead • Pragmatic Dave Thomas" - https://www.youtube.com/watch?v=a-BOSpxYJ9M
https://vimeo.com/36579366
Was gonna post this if it wasn't up already.
After this, The Birth and Death of Javascript: https://www.destroyallsoftware.com/talks/the-birth-and-death...
He could've taken the concept further tho. I think there are real hardware simplifications you could do if the OS is a jitting VM - no memory mapping unit and take out the expensive fully-associative TLBs.
* SPOILER ALERT, and seriously go watch it first *
If I pronounce "J" I do him an unjustice, and if I pronounce "Y" I ruin a great surprise that comes quite a few minutes into the talk.
Never went to it as a student (it was only 3 hours away, how did I miss this?) but lots of my friends did, one even ran the thing for a year I think.
Are there any tools available which allow you to live code in such a way?
I did a quick search and found this - http://stackoverflow.com/questions/9448215/tools-to-support-...
It seems quite out of date though.
http://witheve.com/
https://www.youtube.com/watch?v=KZjFVdU8VLI
https://www.youtube.com/watch?v=4XpnKHJAok8
Great overview of value types, performance and how hardware that runs things still matters.
One of the best talks about code reviews and similiar things
https://youtu.be/0SARbwvhupQ
The Coming Civil War over General Purpose Computing by Cory Doctorow http://boingboing.net/2012/08/23/civilwar.html
Cybersecurity as Realpolitik by Dan Geer https://www.youtube.com/watch?v=nT-TGvYOBpI http://geer.tinho.net/geer.blackhat.6viii14.txt
InfoSec talk. Best lines from talk..
"Basic lessons are not learned such as know thy network"
"You have to learn your network, you have to have skin in the game"
"Defense is hard, breaking stuff is easy"
"If you serve the God's of compliance you will fail"
"Compliance is not security"
"Perfect solution fallacy"
"People are falling over themselves not to change, shooting great ideas down."
"Perfect attacker fallacy, they don't exist, they are a myth!"
"Attackers are not that good because they don't need to be that good."
Speaker is Eric Conrad
https://www.youtube.com/watch?v=giAMt8Tj-84
1) Alan Kay: Is it really "Complex"? Or did we just make it "Complicated" https://www.youtube.com/watch?v=ubaX1Smg6pY
Take note that he is not giving the talk using Window & PowerPoint, or even Linux & OpenOffice. 100% of the software on his laptop are original products of his group. Including the productivity suite, the OS, the compilers and the languages being compiled.
2) Bret Victor: The Future of Programming https://www.youtube.com/watch?v=IGMiCo2Ntsc
https://vimeo.com/67076984
Scott Meyers' talks are fun to watch too.
Carmack's talk about functional programming and Haskell -- https://www.youtube.com/watch?v=1PhArSujR_A
Jack Diederich's "Stop Writing Classes" -- https://www.youtube.com/watch?v=o9pEzgHorH0
All with a good sense of humor.
I'm reminded of Crockford's "Good Parts" of Javascript, I believe where he introduced me to the "Mother of all Demos."
If you are in for something out of the ordinary.
Bryan Cantrill's 2011(?) Lightning talk on ta(1). It's fascinating, but it also shows you just long-lived software can be.
Randall Munroe's Talk on the JoCo cruise. Because it's effing hilarious, and teaches everybody the important art of building a ball pit inside your house.
Finally, an honorable mention to three papers that don't qualify, but which I think you should read anyway.
Reflections on Trusting Trust: This is required reading for... Everybody. It describes a particularly insidious hack, and discusses its ramifications for security.
In the Beginning Was The Command Line: If you want get into interface design, programming, or ever work with computers, this is required. It's a snapshot of the 90's, a discussion of operating systems, corporations, and society as we know it. But more importantly, it's a crash course in abstractions. Before you can contribute to the infinite stack of turtles we programmers work with, you should probably understand why it's there, and what it is.
Finally, The Lambda Papers. If you've ever wondered how abstractions work, and how they're modeled... This won't really tell you, not totally, but they'll give you something cool to think about, and give you the start of an answer.
If we're going for papers, then I'm guessing books are allowed too. If so, for anyone interested in giving themselves a grounding in the fundamentals, it's worth checking out Code by Charles Petzold. I've been going through it, it's excellently written, and has helped me fill in gaps in my understanding of how computers work.
https://www.amazon.co.uk/Code-Language-Computer-Hardware-Sof...