#Programming Talks
I watch a lot of talks that I love to share with my friends, fellows and coworkers. As I consider all Githubbers my friends(oh yeah!), I decided it's time to share the list.
There are talks on programming languages specifics as well as a more general section I call "theory", but do not expect to always get Theoretical Computer Science for every talk there, most of them are on the Architecture and Design of Software.
I welcome every contribution to the list!
Disclaimer: I did not give any of the talks on the list and am responsible neither for their content nor for their presentation. All links below will direct you to external sites(mostly YouTube, really), be aware of that. If you are one of the people responsible for the talks or the platform presenting it and want it removed, tell me and I'll sort it out with you.
###On Programming Languages
####C
- Advanced C Coding For Fun! by Rusty Russell
- Writing application fault handlers by Gilad Ben-Yossef
####Clojure
- Clojure Concurrency by Rich Hickey
- Making Games at Runtime with Clojure by Zach Oakes (He's a very funny guy!)
- Clojure Data Science by Edmund Jackson
- Machine Learning Live by Mike Anderson
####C++
- C++17: I See A Monad In Your Future by Bartosz Milewski
- Using C++11 to speed up your Qt 5 programs by Marc Mutz
- Don't Help the Compiler by Stephan Lavavej
- The Effective C++11/14 Sampler by Scott Meyers
- The Last Thing D Needs by Scott Meyers
- Support for Embedded Programming in C++11 and C++14 by Scott Meyers
- C++ Seasoning by Sean Parent
- Efficiency with Algorithms, Performance with Data by Chandler Carruth
- Back to the Basics! Essentials of Modern C++ Style by Herb Sutter
- Writing Quick Code in C++, Quickly by Andrei Alexandrescu
- Optimizing the Emergent Structures of C++ by Chandler Carruth (somewhat annoyingly bad quality)
- Making C++ Code Beautiful by James McNellis & Kate Gregory
####CSS (yeah, I know, stylesheets are not traditionally programming)
- CSS Levels Up by Angelina Fabbro
- Your CSS is a Mess by Jonathan Snook
- CSS Performance Tooling by Addy Osmani
- Stuff About Cascading Style Sheets by Mark Otto & Connor Sears
####D
- High Performance Code Using D by Walter Bright
####Elixir
- Think Different by Dave Thomas
- Elixir: The Power of Erlang, the Joy of Ruby by Dave Thomas
- elixir Conf 2014 Keynote by Jose Valim
####Erlang
- Writing Quality Code in Erlang by Garreth Smith
- Erlang: Evolution by Robert Virding
- Implementing Languages on the BEAM by Robert Virding
- How To Ship New Code Without Taking Your System Down by Martin Rehfeld
- Why The Cool Kids Don't Use Erlang by Garreth Smith
- 26 years with Erlang or How I got my grey hairs by Joe Armstrong
- The How and Why of Fitting Things Together by Joe Armstrong
####Go
- Go Concurrency Patterns by Rob Pike
- Advanced Go Concurrency Patterns by Sameer Ajmani
- Parctical Go Programming by Andrew Gerrand
- Go for Pythonistas by Francesc Campoy Flores
- High Performance Systems in Go by Derek Collison
####Haskell
- Demystifying Haskell by Andrew Rademacher (for Beginners)
- The Algebra In Algebraic Data Types by Chris Taylor
- Writing a game in Haskell by Elise Huard
- Lenses, Folds, and Traversals by Edward Kmett
- Haskell Amuse-Bouche by Mark Lentczner (the audio quality is scarily bad)
- Enigmatic Haskell, Haskellish Enigma by Rishiyur S. Nikhil
- Pure Type Systems by Cody Roux
- Framing the Discussion with EDSLs by Anthony Cowley (There is a repository containing the slides and code here)
- Introduction to Low Level Haskell Optimization by Dan Doel
- Haste: Full-Stack Haskell for Non-PhD Candidates by Erin Swenson-Healey and James Cooper (the sound quality is really bad in the first 5:30 min or so, but it gets better, promise)
- Getting a Quick Fix on Comonads by Kenneth Foner (for best watching experience, watch it after the optimization talk by dan doel)
####Java & Android
- Common crypto mistakes in Android by Isaax Potoczny-Jones
- Java 8 Lambda Expressions & Streams by Adib Saikali
- Java 8 Language Capabilities, What's in it for you? by Venkat Subramaniam
- Living in the Matrix with Bytecode Manipulation by Ashley Puls
- JVM Bytecode for Dummies (and the Rest of Us Too) by Charles O. Nutter
####Javascript & Node.js (There is a good list of talks about JS to be found here)
- Node.js in 20 Minutes by Edmond Meinfelder
- Crockford on JavaScript by Douglas Crockford (it's 10 hours long!)
- Really. JavaScript. by Douglas Crockford
- Monads and Gonads by Douglas Crockford
- Introduction to Node.js by Ryan Dahl
- Is Node.js Better by Brian Ford
- Creating A Scalable JavaScript Application Architecture by Nicholas Zakas
- Large Scale JavaScript Application Architecture by Dan Lynch
- Dissecting WebGL by Justin Windle (you might want to take a look at the slides, you cannot really see them well)
- 10 Angular JS Patterns by John Papa
- Design Decisions in AngularJS by Brad Green & Miško Hevery
- Bringing Angular Apps to Life with Animation by Miško Hevery
- ES6 and 7, the future of JS by Brendan Eich
- What the heck is the event loop anyway? by Philip Roberts
- Build Production Ready Javascript Apps With Grunt by Shai Reznik
- Javascript Combinators by Reginald Braithwaite
- The Art of the Javascript Metaobject Protocol by Reginald Braithwaite
- The Art of the JavaScript Metaobject Protocol: Duck Typing, Compatibility, and the Adaptor Pattern by Reginald Braithwaite
- Functional programming patterns for the non-mathematician by Brian Lonsdorf (beware; the pace is somewhat high)
- Hey Underscore, You're Doing It Wrong! by Brian Lonsdorf
- Version 7: The Evolution of JavaScript by Jafar Husain
####Julia
- Python and Julia. Why do we need another language? by Dwight J. Browne
- Crossing Language Barriers with Julia, SciPy,IPython by Stephen G. Johnson
- Convex Optimization in Julia by Madeleine Udell
####Objective C
- RACify Non-Reactive Code by Dave Lee
####PureScript
- PureScript (Maybe This Time We Get JavaScript Right) by Bodil Stokke
####Python (There is a good list of talks about Python to be found here)
- Stop Writing Classes by Jack Diederich
- Super Advanced Python by Raymond Chandler
- Python 3 Metaprogramming by David Beazley
- Discovering Python by David Beazley
- Generators: The Final Frontier by David Beazley
- Understanding the Python GIL by David Beazley
- Inside the Python GIL by David Beazley
- Learn Python Through Public Data Hacking by David Beazley
- The Cython Compiler for Python by Dr. Stefan Behnel
- Python Metaprogramming for Mad Scientists and Evil Geniuses by Walker Hale
- pandas: Powerful data analysis tools for Python by Wes McKinney
- Loop like a native: while, for, iterators, generators by Ned Batchelder
- Decorators: A Powerful Weapon in your Python Arsenal by Colton Myers (only about function decorators)
- Transforming Code into Beautiful, Idiomatic Python by Raymond Hettlinger
- A Python Æsthetic: Beauty and Why I Python by Brandon Rhodes
- Python Epiphanies by Stuart Williams (PDF version/code can be found here)
- PyPy.js: What? How? Why? by Ryan Kelly (2014 version)
- PyPy.js: What? How? Why? by Rian Kelly (2015 version)
####Ruby
- Programming With Nothing by Tom Stuart
- Y Not - Adventures in Functional Programming by Jim Weirich
- Make awesome command line apps with Ruby by Dave Copeland
####Scala
- Scala Monads: Declutter Your Code With Monadic Design by Dan Rosen
- Scala Versus Java by Dan Rosen
- What's Next for Scala by Martin Odersky
- Scala Collections: Why Not? by Paul Phillips (beware: not very optimistic!)
- Concurrency Anti-Patterns in Scala by Blake Matheny
####Swift
- Swift Programming Language for JavaScript Developers by J.P. Simard
- Thinking in Swift by Abizer Nasir
####VimL
- More Instantly Better Vim by Damian Conway
####Miscellaneous
- WAT by Gary Bernhardt
- Linus Torvalds on git by Linus Torvalds
- Linux Sucks - 2014 by Bryan Lunduke
- You can be a kernel hacker! by Julia Evans
###On theory ####Thoughts on Languages
- Why C++ Sails When the Vasa Sank by Scott Meyers
- Make Simple Tasks Simple! by Bjarne Stroustrup
- Running a startup on Haskell by Bryan O'Sullivan
- Dan Friedman - Cool Ideas by Guy Steele
####Software Development
- Programming is terrible - Lessons learned from a life wasted by Thomas Figg
- Growing a Language by Guy Steele
- The Mess We're In by Joe Armstrong
- Are We There Yet? by Rich Hickey
- Simple Made Easy by Rich Hickey
- The Future of Programming by Bret Victor
- CPU Caches and Why You care by Scott Meyers (written in C++, reasonable for almost every software developer)
- Thinking Above the Code by Leslie Lamport
- I have a good feeling about this - Why tooling is poised to make the jump to hyperspace by Reginald Braithwaite
- The Not-So-Big Software Design by Reginald Braithwaite
####Compilers/Interpreters
- Parsing with Derivatives by Matthew Might
- The Clang AST by Manuel Klimek
- Writing a Nanopass Compiler by Andy Keep
- Superoptimizing LLVM by John Regehr
- Papers We Love: Fundamental Concepts in Programming Languages by John Myles White
- Implementing Domain Specific Languages with LLVM by David Chisnall
- PTX Back-End: GPU Programming With LLVM by Justin Holewinski
####Functional Programming
- Functional Principles for Object-Oriented Developers by Jessica Kerr
- Adventures in Functional Programming by Jim Weirich
- Deconstructing Functional Programming by Gilad Bracha
- Living in a Post-Functional World by Daniel Spiewak
- Tangible Functional Programming by Conal Elliott
- Faith, Evolution, and Programming Languages by Phillip Wadler
- Don't fear the Monad by Dr. Brian Beckman
- Papers We Love: Composable and Compilable Macros by Sam Tobin-Hochstadt
- Functional Programming; What? Why? When? How? by Robert C Martin
####Computer Graphics
- Principles of Lighting and Rendering by John Carmack
- Making WebGL Dance by Steven Wittens
- Making things with maths by Steven Wittens
####Computer Vision
- OpenCV and High-Performance Vision on GPU by Victor Eruhimov
####Robotics
- Robots: You're Still Doing It Wrong by Katy Levinson (not very formal, DefCon)
####Web Development
- Go To There and Back Again by Douglas Crockford
- The Birth & Death of JavaScript by Gary Bernhardt
- Hey Underscore, You're Doing It Wrong! by Brian Lonsdorf
- Community.js by Chris Williams
- An End to Negativity by Chris Williams
- Life is Terrible: Let's Talk About the Web by James Mickens
- Virtual Machines, JavaScript and Assembler by Scott Hanselmann
- Paul Irish on HTML5 Boilerplate by Paul Irish
- Unlock the next era of UI development with Polymer by Rob Dodson
- React: Rethinking best practices by Pete Hunt
####System Architecture
- Keeping a System Running Forever by Fred Hebert
- Scalability at YouTube by Mike Solomon (long intro; starts about 8 minutes in)
####Distributed Programming
- Distributed Eventually Consistent Computations by Christopher Meiklejohn
####Theoretical Computer Science
- Church's Coincidences by Philip Wadler
- Programming the Turing Machine by Barbara Liskov
- Turing and the Riemann zeta function by Andrew Odlyzko
- Lambda Calculus Then and Now by Dana S. Scott
- Papers We Love: An Axiomatic Basis for Computer Programming by Jean Yang
####Misc
- How To Shut Down Tolkien by Brandon Rhodes (for the fun)