# Awesome talks

There are a lot of screencasts, recordings of user group gatherings and conference talks available online. I try to commit myself watching at least two new talks every week, and I’ve been doing this for quite some time now. I created this list of online talks that I really enjoyed watching. I’ll also be updating this list whenever I’ve watched another awesome talk that is worthy enough. Suggestions are always appreciated through a pull request. So without further ado ..

(In no particular order)

### Categories

- Software Development
- Object-Oriented Programming
- Functional Programming
- Software Design
- Web Development
- Test-Driven Development
- Methodologies
- Computer History
- Databases
- Security
- Cognitive Development
- Cryptocurrencies

#### Software Development

- The Computer Revolution hasn’t happend yet by Alan Kay [1:04:34]
- The Future of Programming by Bret Victor [32:55]
- Inventing on Principle by Bret Victor [54:20]
- Media for Thinking the Unthinkable by Bret Victor [39:32]
- Finding a Way Out by Chris Granger [33:46]
- Programming is terrible - Lessons learned from a life wasted by Thomas Figg [1:06:43]
- Computers are a Sadness, I am the Cure by James Mickens [27:35]
- Are We There Yet? by Rich Hickey [1:10:04]
- Simple Made Easy by Rich Hickey [1:01:26]
- The Value of Values by Rich Hickey [58:53]
- Effective Programs - 10 Years of Clojure by Rich Hickey [1:14:51]
- The Web We Lost by Anil Dash [1:10:54]
- Growing a Language by Guy Steele [53:30]
- The Mess We’re In by Joe Armstrong [45:49]
- To the Moon! by Russ Olsen [52:43]
- Simplify Challenging Software Problems with Rocket Science by Bradley Grzesiak [23:07]
- A short history of Software Engineering, and other ideas that didn’t work by Paolo Perrotta [36:35]
- Linus Torvalds on Git by Linus Torvalds [1:10:14]
- The Worst Programming Language Ever by Mark Rendle [1:00:40]
- Unconventional Programming with Chemical Computing by Carin Meier [36:00]
- Seven Ineffective Coding Habits of Many Programmers by Kevlin Henney [01:02:52]
- 5 WTFs in 6 LOCs by Dorothy Wingrove [05:11]
- Programming is Writing is Programming by Felienne Hermans [55:46]
- We’re Doing It All Wrong by Paul Phillips [50:42]
- Real Software Engineering by Glenn Vanderburg [1:07:57]
- Feature Branching Considered Evil by Thierry de Pauw [49:38]
- Programming’s Greatest Mistakes by Mark Rendle [55:34]
- Email vs Capitalism, or, Why We Can’t Have Nice Things by Dylan Beattie [56:45]

#### Object-Oriented Programming

- Functional is cool, but do you know OO by Sandro Mancuso [54:17]
- Stop Writing Classes by Jack Diederich [27:29]

#### Functional Programming

- Functional Principles for Object-Oriented Developers by Jessica Kerr [51:13]
- Adventures in Functional Programming by Jim Weirich [50:34]
- Functional Programming: What? Why? When? by Robert C. Martin [58:26]
- Deconstructing Functional Programming by Gilad Bracha [48:33]
- Living in a Post-Functional World by Daniel Spiewak [45:46]
- Extreme Cleverness: Functional Data Structures in Scala by Daniel Spiewak [39:24]
- Tangible Functional Programming by Conal Elliott [56:24]
- Faith, Evolution, and Programming Languages by Phillip Wadler [1:06:53]
- Don’t fear the Monad by Dr. Brian Beckman [1:07:10]
- Functional Programming Design Patterns by Scott Wlaschin [1:49:10]
- Domain modelling with the F# type system by Scott Wlaschin [1:03:40]
- Propositions as Types by Philip Wadler [42:42]
- Category Theory for the Working Hacker by Philip Wadler [42:17]
- Types are like the Weather, Type Systems are like Weathermen by Matthias Felleisen [1:15:18]
- Functional architecture - The pits of success by Mark Seemann [1:00:09]
- To Clojure and back: Writing and rewriting in Ruby by Phillip Mendonça-Vieira [33:16]
- All I needed for FP I learned in High School Algebra by Eric Normand [33:05]
- Solving Problems The Clojure Way by Rafal Dittwald [01:02:25]

#### Software Design

- Architecture the Lost Years by Robert C. Martin [1:06:38]
- DDD: putting the model to work by Eric Evans [58:48]
- Unleash Your Domain by Greg Young [45:20]
- The Art of Destroying Software by Greg Young [42:30]
- 8 Lines of Code by Greg Young [54:43]
- Strategic Design by Eric Evans [54:40]
- Reliability, Availability, and Scalability by Udi Dahan [1:11:09]
- Implementing Micro Service Architectures by Fred George [54:40]
- Immutability Changes Everything by Pat Helland [45:19]
- Crafting Wicked Domain Models by Jimmy Bogard [1:03:03]
- The Actor Model by Hewitt, Meijer and Szyperski [42:34]
- How To Design A Good API and Why it Matters by Josh Bloch [1:00:18]
- The Joys and Pains of a Long Lived Codebase by Jeremy D Miller [1:02:30]
- Microservices by Martin Fowler [26.25]
- Stewardship: The Sobering Parts by Brian Goetz [1:03:30]
- Therapeutic Refactoring by Katrina Owen [26:04]
- Evidence-Oriented Programming by Andreas Stefik [41:42]
- The Programming Language Wars by Andreas Stefik [50:28]
- Hopelessness and Confidence in Distributed Systems Design by Camille Fournier [40:35]
- Kill “Microservices” Before Its Too Late by Chad Fowler [39:41]
- The Lost Art Of Software Design by Simon Brown [46:15]
- Tidy First by Kent Beck [46:19]

#### Web Development

- Crockford on JavaScript by Douglas Crockford [10:14:37]
- Go To There and Back Again by Douglas Crockford [49:06]
- The Better Parts by Douglas Crockford [01:00:52]
- Introduction to Node.js by Ryan Dahl [58:19]
- WAT by Gary Bernhardt [4:17]
- The Birth & Death of JavaScript by Gary Bernhardt [29:22]
- Hey Underscore, You’re Doing It Wrong! by Brian Lonsdorf [36:30]
- Community.js by Chris Williams [21:39]
- An End to Negativity by Chris Williams [27:25]
- Is Node.js Better by Brian Ford [41:42]
- Life is Terrible: Let’s Talk About the Web by James Mickens [32:07]
- Critical rendering path - Crash course on web performance by Ilya Grigorik [41:10]
- 10 Things I Learned from the jQuery Source by Paul Irish [53:40]
- Om Next by David Nolen [46:17]
- ClojureScript for Skeptics by Derek Slager [41:08]

#### Test-Driven Development

- TDD, where did it all go wrong by Ian Cooper [1:00:37]
- Holistic testing by Jimmy Bogard [1:00:33]
- Boundaries by Gary Bernhardt [33:44]
- Is TDD Dead? by Martin Fowler, Kent Beck, and David Heinemeier Hansson (DHH)
- The Transformation Priority Premise by Robert C. Martin [53:43]
- TDD in Tatters by Scott Bellware [01:07:53]
- Test-Driven Development - Write better code in less time by Evan Dorn [30:54]
- The Magic Tricks of Testing by Sandi Metz [32:22]
- How To Stop Hating Your Tests by Justin Searls [43:39]
- Why You Don’t Get Mock Objects by Gregory Moeck [44:42]
- The Clean Code Talks - Unit Testing by Misko Hevery [32:07]
- TDD and Software Design by JB Rainsberger and Sandro Mancuso [01:28:50]
- Integrated Tests Are a Scam by JB Rainsberger [01:04:35]
- Structure and Interpretation of Test Cases by Kevlin Henney [01:04:23]
- Does TDD Really Lead to Good Design? by Sandro Mancuso [57:59]
- TDD For Those Who Don’t Need It by Chew Choon Keat [13:42]

#### Methodologies

- The Land that Scrum Forgot by Robert C. Martin [45:41]
- Demanding Professionalism in Software Development by Robert C. Martin [45:03]
- Spotify Engineering Culture - Part 1 by Spotify Training & Development [13:12]
- Spotify Engineering Culture - Part 2 by Spotify Training & Development [13:27]
- Adopting Continuous Delivery by Jez Humble [47:22]
- The Death of Agile by Dave Thomas [47:47]
- Why Agile Works by Alistair Cockburn [53:03]
- Implementing Programmer Anarchy by Fred George [54:55]
- Moving Past the Scaling Myth by Michael Feathers [52:02]
- It Is Not About Software Anymore by Mary Poppendieck [01:06:38]
- 7 minutes, 26 seconds, and the Fundamental Theorem of Agile Software Development by JB Rainsberger [00:07:42]
- Explaining Team Flow by Michel Grootjans [14:30]

#### Computer History

- A Brief History of Graphics by Stuart Brown [46:00]
- The Charming Genius of the Apollo Guidance Computer by Brian Troutwine [48:36]
- The History (and the Future) of Software by Grady Booch [01:09:27]
- The Future of Programming by Robert C. Martin [01:18:20]
- 1968 by Kevlin Henney [56:44]
- DOOM’s Development: A Year of Madness by John Romero [44:12]

#### Databases

- Deconstructing the Database by Rich Hickey [1:06:23]
- Things Every Developer Absolutely, Positively Needs To Know About Database Indexing by Kai Sassnowski [41:49]

#### Security

- Why Do Keynote Speakers Keep Suggesting That Improving Security Is Possible? by James Mickens [51:21]

#### Testing

- Acceptance Testing For Continuous Delivery by Dave Farley [01:02:34]

#### Cognitive Development

- A Lecture on Creativity by John Cleese [36:59]
- The Meaning of Life by Derek Sivers [18:54]
- Becoming an Outlier: Career Reboot for the Developer Mind by Cory House [59:12]
- Surviving the Framework Hype Cycle by Brandon Hays [35:26]
- Stop Treading Water - Learning to Learn by Edward Kmett [40:58]
- The Last Lecture: Achieving Your Childhood Dreams by Randy Pausch [1:16:26]
- Steve Jobs’ 2005 Stanford Commencement Address by Steve Jobs [15:04]
- Hammock Driven Development by Rich Hickey [39:48]
- Drive - The Surprising Truth About What Motivates Us by RSA Animate [10:47]
- Ideology by Gary Bernhardt [21:22]

## License