├── README.md
└── scripts
├── add_years.py
└── add_youtube_durations.py
/README.md:
--------------------------------------------------------------------------------
1 | # Programming Talks
2 |
3 | I watch a lot of talks that I love to share with my friends, fellows and coworkers.
4 | As I consider all GitHubbers my friends (oh yeah!), I decided it's time to share the
5 | list.
6 |
7 | There are talks on programming language specifics as well as a more general section I call "theory".
8 | But don't expect to always get theoretical computer science for every talk there;
9 | most of them are on the architecture and design of software.
10 |
11 | I welcome every contribution to the list; for guidelines look [below](#contributing).
12 |
13 | **Disclaimer:** I did not give any of the talks on the list and am responsible neither
14 | for their content nor for their presentation. All links below will direct you to
15 | external sites (mostly YouTube, really), be aware of that. If you are one of the people
16 | responsible for the talks or the platform presenting it and want it removed,
17 | tell me and I'll sort it out with you.
18 |
19 | **[A]** after a talk name denotes a talk that *someone* thought could be listened to as audio, without needing the video. This may not reflect your experience with the talk, but you can make a pull request to change it.
20 |
21 | ### Names to look out for
22 |
23 | To make choosing the right speakers a tad easier, let me give you a quick overview
24 | over my favourite speakers in no particular order:
25 |
26 | * **Scott Meyers** (C++): Scott Meyers is one of the most entertaining and knowledgeable
27 | speaker when it comes to all things C++. His talks cover a variety of topics, from type
28 | inference to API design and cache lines.
29 | * **Rich Hickey** (Clojure): I am not a Clojure programmer, but I like reasoning about
30 | and building programming languages. Even if you don't, Rich Hickeys talks are inspiring
31 | and thought-provoking. Whenever he talks about the fundamentals of programming and reasoning,
32 | you are sure to learn a ton. Oh, and if you program in Clojure, you have no excuse for
33 | not watching this guy speak.
34 | * **Reginald Braithwaite** (JavaScript): one of my favourite JavaScript speakers. He
35 | also has a variety of talks on my list, but is more true to his realm (JavaScript) than
36 | most of the other speakers on my list.
37 | * **David Nolen** (Clojure/Clojurescript): The core maintainer of Clojurescript. His talks
38 | mostly focus on immutability and share a bit of their structure. He doesn't get boring, though,
39 | and is another very smart person with deep insights in such fields as immutability.
40 | * **David Beazley** (Python): The person who singlehandedly made me a Pythonista. Need I say
41 | more? He has a lot of low-level knowledge about Python and makes poking at the Python interpreter
42 | seem more fun than it actually is.
43 | * **Joe Armstrong** (Erlang): One of the few people I actually had the chance to see live already.
44 | He is a funny, witty and smart guy and if you want to learn about Erlang, watch his talks. Most
45 | of his talks are also very beginner-friendly.
46 | * **Brandon Rhodes** (Python): Yet another Pythonista. His talks are enjoyable, enlightening
47 | and his way of talking is *just enjoyable* - you might think that is secondary, but it is really
48 | important. His talk on Tolkien is one of the most enjoyable diversions on this list (and a bit off-topic,
49 | mind you).
50 | * **Aaron Patterson** (Ruby): Probably the most entertaining speaker on the list. As a core
51 | developer of both Ruby and Rails, he works close to the heart of the Ruby community.
52 | * **Philip Wadler** (Haskell, Theory, ...): Incredibly knowledgeable gentleman. If you use generics
53 | in Java, you owe that to him. If you use Haskell and/or monads, you probably already know him,
54 | but in case you do not, try to change that fact. He makes theoretical computer science more
55 | approachable than it actually is, and that is a good thing.
56 | * **Zach Tellman** (Clojure, Theory): Another person in the Clojure landscape
57 | with interesting, important insights that do not only apply to Clojure. His
58 | talks on theory should inspire you to think more deeply about what you are
59 | doing, which is probably the most important thing to take away from anything
60 | ever.
61 |
62 | ### Contents
63 |
64 | * [On Programming Languages](#on-programming-languages)
65 | * [Alpaca](#alpaca)
66 | * [APL](#apl)
67 | * [Assembly](#assembly)
68 | * [Bash](#bash)
69 | * [C](#c)
70 | * [Clojure](#clojure)
71 | * [C++](#c-1)
72 | * [Crystal](#crystal)
73 | * [CSS](#css)
74 | * [D](#d)
75 | * [Elixir](#elixir)
76 | * [Elm](#elm)
77 | * [Erlang](#erlang)
78 | * [F#](#f)
79 | * [Factor](#factor)
80 | * [Frege](#frege)
81 | * [Go](#go)
82 | * [Hackett](#hackett)
83 | * [Haskell](#haskell)
84 | * [Idris](#idris)
85 | * [Java & Android](#java--android)
86 | * [JavaScript](#javascript)
87 | * [Julia](#julia)
88 | * [Lisp](#lisp)
89 | * [Objective C](#objective-c)
90 | * [OCaml](#ocaml)
91 | * [Prolog](#prolog)
92 | * [PureScript](#purescript)
93 | * [Python](#python)
94 | * [Racket](#racket)
95 | * [Ruby](#ruby)
96 | * [Rust](#rust)
97 | * [Scala](#scala)
98 | * [Scheme](#scheme)
99 | * [Smalltalk](#smalltalk)
100 | * [Swift](#swift)
101 | * [Unison](#unison)
102 | * [VimL](#viml)
103 | * [Wolfram Language](#wolfram-language)
104 | * [On theory](#on-theory)
105 | * [Compilers/Interpreters](#compilersinterpreters)
106 | * [Computer Graphics and Vision](#computer-graphics-and-vision)
107 | * [Creative Technology](#creative-technology)
108 | * [Databases](#databases)
109 | * [Data Science](#data-science)
110 | * [Data Structures & Algorithms](#data-structures--algorithms)
111 | * [Debugging](#debugging)
112 | * [DevOps](#devops)
113 | * [Distributed Systems](#distributed-systems)
114 | * [Entrepreneurship](#entrepreneurship)
115 | * [Functional Programming](#functional-programming)
116 | * [Game Development](#game-development)
117 | * [Hardware](#hardware)
118 | * [Logic Programming](#logic-programming)
119 | * [Machine Learning](#machine-learning)
120 | * [Mathematics](#mathematics)
121 | * [On Languages](#on-languages)
122 | * [On the Industry/Community](#on-the-industrycommunity)
123 | * [Operating Systems](#operating-systems)
124 | * [Performance Engineering](#performance-engineering)
125 | * [Programming Language Design](#programming-language-design)
126 | * [Program Synthesis](#program-synthesis)
127 | * [Research](#research)
128 | * [Robotics](#robotics)
129 | * [Security](#security)
130 | * [Software Development](#software-development)
131 | * [System Architecture](#system-architecture)
132 | * [Testing](#testing)
133 | * [Theoretical Computer Science](#theoretical-computer-science)
134 | * [Type Theory](#type-theory)
135 | * [UX/UI](#uxui)
136 | * [Web Development](#web-development)
137 | * [Miscellaneous](#miscellaneous)
138 | * [Contributing](#contributing)
139 |
140 | ### On Programming Languages
141 |
142 | #### Alpaca
143 | * [Alpaca: Static Typing on the BEAM](https://www.youtube.com/watch?v=cljFpz_cv2E) [00:45:34] by **Jeremy Pierre** (2017)
144 |
145 | #### APL
146 | * [Lessons for the Masses from the Trenches of Co-dfns](https://www.youtube.com/watch?v=FrTk3Y-EOeU) by **Aaron Hsu** (2019)
147 | * [Tacit Techniques with Dyalog version 18.0 Operators](https://www.youtube.com/watch?v=czWC4tjwzOQ) by **Marshall Lochbaum** (2019)
148 | * [Patterns and Anti-patterns in APL: Escaping the Beginner's Plateau](https://www.youtube.com/watch?v=9xCJ3BCIudI) [00:59:02] by **Aaron Hsu** (2017)
149 | * [50 Years of APL Datatypes: From Booleans to Hypercomplex Numbers](https://www.youtube.com/watch?v=l3QdKqskcBM) [00:39:21] by **Bob Smith** (2016)
150 |
151 | #### Assembly
152 | * [Enough x86 Assembly to Be Dangerous](https://www.youtube.com/watch?v=IfUPkUAEwrk) [00:30:58] by **Charles Bailey** (2017)
153 | * [The Teensy ELF Executable](https://www.muppetlabs.com/~breadbox/software/tiny/techtalk.html) [00:49:03] by **Brian Raiter** (2014)
154 |
155 | #### Bash
156 | * [The Functional Tao of Bash](https://www.youtube.com/watch?v=yD2ekOEP9sU) [00:48:12] by **Garrett Smith** (2015)
157 |
158 | #### C
159 | * [Advanced C Coding For Fun!](https://www.youtube.com/watch?v=BEQ3sRakIs0) [00:46:53] by **Rusty Russell** (2014)
160 | * [Writing application fault handlers](https://bootlin.com/pub/video/2008/ols/ols2008-gilad-ben-yossef-fault-handlers.ogg) [00:49:03] by **Gilad Ben-Yossef** (2008)
161 |
162 | #### Clojure
163 | * [Expeditious Code via Inference](https://www.youtube.com/watch?v=tPnCtXrwvIw) [00:45:36] by **Mike Fikes** (2019)
164 | * [fn and Games with Arcadia](https://www.youtube.com/watch?v=LbS45w_aSCU) [00:53:49] by **Ramsey Nasser** (2019)
165 | * [Rethinking Identity with Clojure](https://www.youtube.com/watch?v=77b47P8EpfA) [00:41:53] by **David Nolen** (2019)
166 | * [Solving Problems the Clojure Way](https://www.youtube.com/watch?v=vK1DazRK_a0) [01:02:55] by **Rafal Dittwald** (2019)
167 |
168 |
169 | * [Every Clojure Talk Ever](https://www.youtube.com/watch?v=jlPaby7suOc) [00:27:36] by **Alex Engelberg & Derek Slager** (2018)
170 | * [Functional Programming in Anger](https://www.youtube.com/watch?v=8o01g6C7jWg) [00:42:05] by **David Nolen** (2018)
171 | * [Java Made (Somewhat) Simple](https://www.youtube.com/watch?v=-zszF8bbXM0) [00:40:45] by **Ghadi Shayban** (2018) [A]
172 | * [REBL](https://www.youtube.com/watch?v=c52QhiXsmyI) [00:33:05] by **Stuart Halloway** (2018)
173 |
174 |
175 | * [Core.Async in Use](https://www.youtube.com/watch?v=096pIlA3GDo) [00:34:04] by **Timothy Baldridge** (2017)
176 | * [Symbolic Assembly: Using Clojure to Meta-program Bytecode](https://www.youtube.com/watch?v=eDad1pvwX34) [00:39:42] by **Ramsey Nasser** (2017)
177 | * [Bare Metal Clojure with clojure.spec](https://www.youtube.com/watch?v=yGko70hIEwk) [00:36:07] by **Michael Reitzenstein** (2016)
178 | * [Clarifying Rules Engines with Clara Rules](https://www.youtube.com/watch?v=Q_k5MkZmd-o) [00:37:07] by **Mike Rodriguez** (2016)
179 | * [Clojure at DataStax: The Long Road From Python to Clojure](https://www.youtube.com/watch?v=wfrajaEyNX0) [00:29:28] by **Nick Bailey** (2016)
180 | * [Composing music with clojure.spec](https://www.youtube.com/watch?v=404UXttr8kw) [00:46:30] by **Wojciech Franke** (2016)
181 | * [Creating DSLs - A tale of spec tacular success and failure](https://www.youtube.com/watch?v=cO67QNn9hPY) [00:39:46] by **Claire Alvis** (2016)
182 | * [Full stack FP in Datomic, Clojure, and ClojureScript](https://www.youtube.com/watch?v=FjUKmTIHyXo) [00:51:30] by **Priyatam Mudivarti** (2016)
183 | * [Live-Coding Mathematics Your First Clojure Proof](https://www.youtube.com/watch?v=5YTCY7wm0Nw) [00:41:54] by **Frederic Peschanski** (2016)
184 | * [Managing One of the World's Largest Clojure Code Bases](https://www.youtube.com/watch?v=iUC7noGU1mQ) [00:41:05] by **Donevan Dolby** (2016)
185 | * [Parallel Programming, Fork Join, and Reducers](https://www.youtube.com/watch?v=eRq5UBx6cbA) [00:40:53] by **Daniel Higginbotham** (2016)
186 | * [Proto REPL, a New Clojure Development and Visualization Tool](https://www.youtube.com/watch?v=buPPGxOnBnk) [00:30:10] by **Jason Gilman** (2016)
187 | * [Spec-ulation](https://www.youtube.com/watch?v=oyLBGkS5ICk) [01:16:23] by **Rich Hickey** (2016)
188 | * [The Next Five Years of ClojureScript](https://www.youtube.com/watch?v=mty0RwkPmE8) [01:00:57] by **David Nolen** (2016)
189 | * [Using Clojure with C APIs for crypto and more](https://www.youtube.com/watch?v=Lf-M1ZH6KME) [00:41:07] by **lvh** (2016)
190 |
191 |
192 | * [Bottom Up vs Top Down Design in Clojure](https://www.youtube.com/watch?v=Tb823aqgX_0) [00:36:41] by **Mark Bastian** (2015)
193 | * [Building a Bicycle for the Mind](https://www.youtube.com/watch?v=nKyHvVIotBo) [00:26:39] by **David Nolen** (2015)
194 | * [Clojure, Made Simple](https://web.archive.org/web/20151118133926id_/https://r20---sn-o097znl6.googlevideo.com/videoplayback?nh=IgpwcjAxLnNqYzA3KgkxMjcuMC4wLjE&key=yt6&source=youtube&mime=video%2Fmp4&pl=21&ratebypass=yes&signature=B1D2C1853132D09B459709147062F8A6EB038D10.9FEDF7D7D79EE5EA7C7241DD8F6717269876F7D2&itag=22&sparams=dur%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cnh%2Cpl%2Cratebypass%2Crequiressl%2Csource%2Cupn%2Cexpire&fexp=9405349%2C9408710%2C9413280%2C9414764%2C9416126%2C9417353%2C9417683%2C9418400%2C9419966%2C9420453%2C9421410%2C9421710%2C9422596%2C9422618%2C9422967%2C9422991%2C9423486%2C9423510%2C9423662%2C9423665%2C9423707%2C9424135%2C9424509&initcwndbps=13635000&mm=31&ipbits=0&mn=sn-o097znl6&id=o-AOGNQ8t_Nn-49gjVQdaOlN5n04XeLq8Oij1BREck5zlw&mt=1447853767&dur=3643.443&mv=m&ms=au&ip=207.241.237.140&requiressl=yes&lmt=1438402926954087&upn=qdXLqzMsHfc&expire=1447875529&sver=3&signature=) [01:00:43] by **Rich Hickey** (2015)
195 | * [ClojureScript + React.js: How I learned to stop worrying and love the browser](https://www.youtube.com/watch?v=ey7Ms2ub7wY) [00:52:24] by **Norbert Wójtowicz** (2015)
196 | * [ClojureScript for Skeptics](https://www.youtube.com/watch?v=gsffg5xxFQI) [00:41:08] by **Derek Slager** (2015)
197 | * [Condition Systems in an Exceptional Language](https://www.youtube.com/watch?v=zp0OEDcAro0) [00:33:31] by **Chris Houser** (2015)
198 | * [Data Science in Clojure](https://www.youtube.com/watch?v=omSTAwSjYc8) [00:44:03] by **Soren Macbeth** (2015)
199 | * [Developing ClojureScript With Figwheel](https://www.youtube.com/watch?v=j-kj2qwJa_E) [00:45:30] by **Bruce Hauman** (2015)
200 | * [Domain Specific Type Systems](https://www.youtube.com/watch?v=gY0H0KVc_h0) [00:40:05] by **Nathan Sorenson** (2015)
201 | * [From REST to CQRS with Clojure, Kafka, & Datomic](https://www.youtube.com/watch?v=qDNPQo9UmJA) [00:44:24] by **Bobby Calderwood** (2015)
202 | * [Game Development Development](https://www.youtube.com/watch?v=ajX09xQ_UEg) [00:35:09] by **Michael Nygard & Ragnar Svensson** (2015)
203 | * [Genetic Programming in Clojure](https://www.youtube.com/watch?v=HWMJdO4klIE) [00:40:07] by **Lee Spector** (2015)
204 | * [Hoplon and Javelin, WebDev Alternative Reality](https://www.youtube.com/watch?v=UoZyyo2Bwr8) [00:22:07] by **Micha Niskin** (2015)
205 | * [Om Next](https://www.youtube.com/watch?v=MDZpSIngwm4) [00:39:22] by **David Nolen** (2015)
206 | * [Purely Random](https://www.youtube.com/watch?v=u0t-6lUvXHo) [00:38:04] by **Gary Fredericks** (2015)
207 | * [Pattern Matching in Clojure](https://www.youtube.com/watch?v=n7aE6k8o_BU) [00:47:02] by **Sean Johnson** (2015)
208 | * [Simplicity in Practice](https://www.youtube.com/watch?v=2YmmfS5YTQ0) [00:30:47] by **Luke VanderHart** (2015)
209 | * [Solving Problems with Automata](https://www.youtube.com/watch?v=AEhULv4ruL4) [00:38:03] by **Mark Engelberg & Alex Engelberg** (2015)
210 | * [Specter: overcome your fear of nested Clojure data](https://www.youtube.com/watch?v=mXZxkpX5nt8) [00:41:50] by **Nathan Marz** (2015)
211 | * [The ReactJS Landscape](https://www.youtube.com/watch?v=oRmj3IUkRVk) [00:41:03] by **Luke VanderHart** (2015)
212 | * [The Relevance of ClojureScript](https://www.youtube.com/watch?v=pX6tUpgktxo) [00:36:16] by **Jearvon Dharrie** (2015)
213 |
214 |
215 | * [Always Be Composing](https://www.youtube.com/watch?v=3oQTSP4FngY) [00:35:11] by **Zach Tellman** (2014)
216 | * [ClojureScript: Lisp's Revenge](https://www.youtube.com/watch?v=MTawgp3SKy8) [00:32:03] by **David Nolen** (2014)
217 | * [Enter the Matrix](https://www.youtube.com/watch?v=_h9TLJtjSJo) [00:40:00] by **Mike Anderson** (2014)
218 | * [How Clojure Works: Understanding the Clojure Runtime](https://www.youtube.com/watch?v=8NUI07y1SlQ) [00:30:07] by **Daniel Solano Gomez** (2014)
219 | * [Making Games at Runtime with Clojure](https://www.youtube.com/watch?v=0GzzFeS5cMc) [00:37:34] by **Zach Oakes** (He's a very funny guy!) (2014)
220 | * [Predictably Fast Clojure](https://www.youtube.com/watch?v=iQwQXVM6oiY) [00:34:01] by **Zach Tellman** (2014)
221 | * [Typed Clojure in Practice](https://www.youtube.com/watch?v=a0gT0syAXsY) [00:41:57] by **Ambrose Bonnaire Sergeant** (2014)
222 | * [Variants are Not Unions](https://www.youtube.com/watch?v=ZQkIWWTygio) [00:37:53] by **Jeanine Adkisson** (2014)
223 |
224 |
225 | * [Clojure core.async](https://www.infoq.com/presentations/clojure-core-async/) [00:44:25] by **Rich Hickey** (2013)
226 | * [Clojure Data Science](https://www.youtube.com/watch?v=RVmY2lQ4DHE) [00:32:40] by **Edmund Jackson** (2013)
227 | * [Clojure Enemy of the State](https://www.youtube.com/watch?v=qe60zwUAOqE) [01:06:31] by **Alex Miller** (2013)
228 | * [Clojure in 10 Big Ideas](https://www.youtube.com/watch?v=noiGVQoyYHw) [00:30:48] by **Stu Halloway** (2013)
229 | * [Clojure Library Core.async for Asynchronous Programming](https://www.youtube.com/watch?v=AhxcGGeh5ho) [00:55:32] by **David Nolen** (2013)
230 | * [Core.Async](https://www.youtube.com/watch?v=enwIIGzhahw) [00:39:45] by **Timothy Baldridge** (2013)
231 | * [Design, Composition and Performance](https://www.infoq.com/presentations/Design-Composition-Performance/) [00:51:10] by **Rich Hickey** (2013)
232 | * [Expert to Expert - Inside Clojure](https://www.youtube.com/watch?v=wASCH_gPnDw) [00:53:56] by **Rich Hickey & Brian Beckman** (it's not so much a talk as a conversation; awesome for beginners) (2013)
233 | * [Jelly stains. Thoughts on JavaScript, LISP & Play](https://www.youtube.com/watch?v=AnzMEdC2FDk) [00:19:12] by **David Nolen** (2013)
234 | * [Machine Learning Live](https://www.youtube.com/watch?v=QJ1qgCr09j8) [00:27:38] by **Mike Anderson** (2013)
235 | * [Make Your Own Lisp](https://www.youtube.com/watch?v=DHubfS8E--o) [00:53:52] by **Bodil Stokke** (2013)
236 | * [Playing Go with Clojure](https://www.youtube.com/watch?v=v5dYE0CMmHQ) [00:35:53] by **Zach Tellman** (2013)
237 | * [Predicate Dispatch](https://www.youtube.com/watch?v=iCl9rB1tyxo) [00:28:58] by **David Nolen** (2013)
238 | * [The Macronomicon](https://www.youtube.com/watch?v=0JXhJyTo5V8) [00:42:02] by **Michael Fogus** (2013)
239 |
240 |
241 | * [Clojure Concurrency](https://www.youtube.com/watch?v=dGVqrGmwOAw) [02:32:39] by **Rich Hickey** (2012)
242 | * [Why Is A Monad Like A Writing Desk?](https://www.infoq.com/presentations/Why-is-a-Monad-Like-a-Writing-Desk/) [00:30:38] by **Carin Meier** (2012)
243 | * [Clojure for Schemers](https://vimeo.com/22675078) [01:17:27] by **David Nolen** (2011)
244 | * [Persistent Data Structures and Managed References](https://www.infoq.com/presentations/Value-Identity-State-Rich-Hickey/) [00:55:53] by **Rich Hickey** (2009)
245 |
246 | #### C++
247 | * [C++ Exceptions for Smaller Firmware](https://www.youtube.com/watch?v=bY2FlayomlE) [01:24:35] by **Khalil Estell** (2024)
248 | * [C++ - The Newest Old Language](https://www.youtube.com/watch?v=HAFrggEDr5U) [00:43:36] by **Matt Godbolt** (2018)
249 | * [Memory Latency Troubles You? Nano-coroutines to the Rescue! (Using Coroutines TS, of Course)](https://www.youtube.com/watch?v=j9tlJAqMV7U) [01:04:25] by **Gor Nishanov** (2018)
250 | * [Modern C++ in Embedded Systems](https://www.youtube.com/watch?v=c9Xt6Me3mJ4) [01:30:39] by **Michael Caisse** (2018)
251 | * [-Os matters](https://www.youtube.com/watch?v=vGV5u1nxqd8) [00:44:12] by **Mark Zeren** (2018)
252 |
253 |
254 | * [10 Core Guidelines You Need to Start Using Now](https://www.youtube.com/watch?v=XkDEzfpdcSg) [01:02:32] by **Kate Gregory** (2017)
255 | * [Curiously Recurring C++ Bugs at Facebook](https://www.youtube.com/watch?v=lkgszkPnV8g) [00:52:00] by **Louis Brandy** (2017)
256 | * [Fantastic Algorithms and Where To Find Them](https://www.youtube.com/watch?v=YA-nB2wjVcI) [00:46:57] by **Nicholas Ormrod** (2017)
257 | * [Meta: Thoughts on generative C++](https://www.youtube.com/watch?v=4AfRAVcThyA) [01:47:44] by **Herb Sutter** (2017)
258 | * [Postmodern C++](https://www.youtube.com/watch?v=GPP64opjy_Y) [01:27:46] by **Tony Van Eerd** (2017)
259 | * [Rethinking Strings](https://www.youtube.com/watch?v=OMbwbXZWtDM) [01:26:53] by **Mark Zeren** (2017)
260 | * [Rethinking Exceptions](https://www.youtube.com/watch?v=OkgvqjJzH_Y) [01:23:17] by **Jason Turner** (2017)
261 | * [The Last Thing D Needs](https://www.youtube.com/watch?v=KAWA1DuvCnQ) [00:54:55] by **Scott Meyers** (2017)
262 | * [The Nightmare of Move Semantics for Trivial Classes](https://www.youtube.com/watch?v=PNRju6_yn3o) [00:57:15] by **Nicolai Josuttis** (2017)
263 | * **Undefined Behavior in 2017**: This talk has two parts.
264 | * [Undefined Behavior in 2017, Part I](https://www.youtube.com/watch?v=v1COuU2vU_w) [00:49:22] by **John Regehr** (2017)
265 | * [Undefined Behavior in 2017, Part II](https://www.youtube.com/watch?v=TPyLrJED0zQ) [00:49:22] by **John Regehr** (2017)
266 |
267 |
268 | * [A <chrono> Tutorial](https://www.youtube.com/watch?v=P32hvk8b13M) [01:00:31] by **Howard Hinnant** (2016)
269 | * [Better Code](https://www.youtube.com/watch?v=cK_kftBNgBc) [01:20:00] by **Sean Parent** (2016)
270 | * [C++17, is it great or just OK?](https://www.youtube.com/watch?v=we0HUrXMC5s) [01:11:06] by **Michael Wong** (2016)
271 | * [Design Patterns in Modern C++](https://www.youtube.com/watch?v=sJnoIF4_Ug8) [01:07:04] by **Dmitri Nesteruk** (2016)
272 | * [Fastware](https://www.youtube.com/watch?v=AxnotgLql0k) [01:02:16] by **Andrei Alexandrescu** (2016)
273 | * **Making C++ easier, faster and safer**: This talk has two parts.
274 | * [Making C++ easier, faster and safer, Part I](https://www.youtube.com/watch?v=cX_GhJ6BuWI) [01:18:28] by **Chandler Carruth** (2016)
275 | * [Making C++ easier, faster and safer, Part II](https://www.youtube.com/watch?v=E36BUcTWo50) [01:16:00] by **Chandler Carruth** (2016)
276 | * [STL Algorithms - How To Use Them and How to Write Your Own](https://www.youtube.com/watch?v=3nXLxMYXgWs) [01:30:36] by **Marshall Clow** (2016)
277 | * [Thinking outside the synchronisation quadrant](https://www.youtube.com/watch?v=yl25p91flLY) [01:32:50] by **Kevlin Henney** (2016)
278 |
279 |
280 | * [Better Code: Data Structures](https://www.youtube.com/watch?v=sWgDk-o-6ZE) [01:03:59] by **Sean Parent** (2015)
281 | * [Support for Embedded Programming in C++11 and C++14](https://www.youtube.com/watch?v=J-tA17slViE) [01:12:52] by **Scott Meyers** (2015)
282 | * [Tuning C++: Benchmarks, and CPUs, and Compilers! Oh My!](https://www.youtube.com/watch?v=nXaxk27zwlk) [01:29:53] by **Chandler Carruth** (2015)
283 | * [Transducers: from Clojure to C++](https://www.youtube.com/watch?v=vohGJjGxtJQ) [01:00:03] by **Juan Pedro Bolívar** (2015)
284 | * [Writing Good C++14... By Default](https://www.youtube.com/watch?v=hEx5DNLWGgA) [01:29:05] by **Herb Sutter** (2015)
285 |
286 |
287 | * [Back to the Basics! Essentials of Modern C++ Style](https://www.youtube.com/watch?v=xnqTKD8uD64) [01:40:27] by **Herb Sutter** (2014)
288 | * [C++ on Mars: Incorporating C++ into Mars Rover Flight Software](https://www.youtube.com/watch?v=3SdSKZFoUa8) [01:26:18] by **Mark Maimone** (2014)
289 | * [C++17: I See A Monad In Your Future](https://www.youtube.com/watch?v=BFnhhPehpKw) [01:20:59] by **Bartosz Milewski** (2014)
290 | * [Efficiency with Algorithms, Performance with Data](https://www.youtube.com/watch?v=fHNmRkzxHWs) [01:13:41] by **Chandler Carruth** (2014)
291 | * **Lock-Free Programming (or, Juggling Razor Blades)**: This talk has two parts. I recommend taking a short break after watching the first part.
292 | * [Lock-Free Programming (or, Juggling Razor Blades), Part I](https://www.youtube.com/watch?v=c1gO9aB9nbs) [01:24:00] by **Herb Sutter** (2014)
293 | * [Lock-Free Programming (or, Juggling Razor Blades), Part II](https://www.youtube.com/watch?v=CmxkPChOcvw) [01:11:19] by **Herb Sutter** (2014)
294 | * [Making C++ Code Beautiful](https://www.youtube.com/watch?v=BiYliKliFvs) [00:56:23] by **James McNellis & Kate Gregory** (2014)
295 | * [Optimization Tips - Mo' Hustle Mo' Problems](https://www.youtube.com/watch?v=Qq_WaiwzOtI) [00:58:19] by **Andrei Alexandrescu** (2014)
296 | * [Plain Threads are the GOTO of todays computing](https://www.youtube.com/watch?v=4OCUEgSNIAY) [01:27:36] by **Hartmut Kaiser** (2014)
297 | * [Pragmatic Type Erasure: Solving OOP Problems with Elegant Design Pattern](https://www.youtube.com/watch?v=0I0FD3N5cgM) [00:43:47] by **Zach Laine** (2014)
298 | * [Type Deduction and Why You Care](https://www.youtube.com/watch?v=wQxj20X-tIU) [01:09:34] by **Scott Meyers** (2014)
299 |
300 |
301 | * [C++ Seasoning](https://channel9.msdn.com/Events/GoingNative/2013/Cpp-Seasoning) [01:17:12] by **Sean Parent** (2013)
302 | * [Don't Help the Compiler](https://www.youtube.com/watch?v=AKtHxKJRwp4) [01:17:00] by **Stephan Lavavej** (2013)
303 | * [Optimizing the Emergent Structures of C++](https://www.youtube.com/watch?v=eR34r7HOU14) [01:33:02] by **Chandler Carruth** (somewhat annoyingly bad quality) (2013)
304 | * [Scaling with C++11](https://www.youtube.com/watch?v=Zrq9Mxllk74) [01:18:27] by **Edouard Alligand** (2013)
305 | * [The Effective C++11/14 Sampler](https://channel9.msdn.com/Events/GoingNative/2013/An-Effective-Cpp11-14-Sampler) [01:15:45] by **Scott Meyers** (2013)
306 | * [Writing Quick Code in C++, Quickly](https://www.youtube.com/watch?v=ea5DiCg8HOY) [01:11:37] by **Andrei Alexandrescu** (2013)
307 |
308 |
309 | * [C++11 Style - A Touch of Class](https://www.youtube.com/watch?v=0iWb_qi2-uI) [01:29:48] by **Bjarne Stroustrup** (2012)
310 | * [On Static If, C++11 in 2012, Modern Libraries, and Metaprogramming](https://channel9.msdn.com/Shows/Going+Deep/Alexandrescu-Meyers-Sutter-On-Static-If-C11-in-2012-Modern-Libraries-and-Metaprogramming) [00:53:15] by **Andrei Alexandrescu, Scott Meyers & Herb Sutter** (2012)
311 | * [Using C++11 to speed up your Qt 5 programs](https://www.youtube.com/watch?v=sajBj_eiH10) [00:46:47] by **Marc Mutz** (2012)
312 |
313 | #### Crystal
314 | * [Introducing the Crystal Programming Language](https://www.youtube.com/watch?v=5QjvGuL4Opo) [00:29:53] by **Will Leinweber** (2016)
315 | * [Writing CLI applications in Crystal](https://www.youtube.com/watch?v=Tpw1vcxw290) [00:26:20] by **Mark Ranallo** (2016)
316 |
317 | #### CSS
318 | *(yeah, I know, stylesheets are not traditionally programming)*
319 | * [Stuff About Cascading Style Sheets](https://www.youtube.com/watch?v=R_py8gCTTAc) [00:20:52] by **Mark Otto & Connor Sears** (2015)
320 | * [Your Very Own Component Library](https://www.youtube.com/watch?v=zSYo7m5kGHQ) [00:20:04] by **Alex Sexton** (2015)
321 | * [CSS Performance Tooling](https://www.youtube.com/watch?v=FEs2jgZBaQA) [00:46:28] by **Addy Osmani** (2014)
322 | * [CSS Levels Up](https://www.youtube.com/watch?v=UpVj5azI-iI) [00:31:39] by **Angelina Fabbro** (2013)
323 | * [Your CSS is a Mess](https://www.youtube.com/watch?v=C4z_9F6nfS8) [00:51:26] by **Jonathan Snook** (2013)
324 |
325 | #### D
326 | * [High Performance Code Using D](https://archive.org/details/dconf2014-day03-talk01) [01:03:24] by **Walter Bright** (2014)
327 | * [Refactoring JIT Compilation](https://www.youtube.com/watch?v=FGgFMZhnXvU) [00:43:57] by **Maxime Chevalier-Boisvert** (2014)
328 | * [SDC, a D Compiler as a Library](https://www.youtube.com/watch?v=AhR4PSExnqk) [00:48:37] by **Amaury Sechet** (2014)
329 |
330 | #### Elixir
331 | * [The Soul of Erlang and Elixir](https://www.youtube.com/watch?v=JvBT4XBdoUE) [00:42:02] by **Saša Juric** (2019)
332 |
333 |
334 | * [GenStage and Flow](https://www.youtube.com/watch?v=XPlXNUXmcgE) [00:53:32] by **José Valim** (2017)
335 | * [Solid Ground](https://www.youtube.com/watch?v=5SbWapbXhKo) [00:31:30] by **Saša Juric** (2017)
336 | * [Transforming Programming](https://www.youtube.com/watch?v=A76hM3MpEKo) [00:46:45] by **Dave Thomas** (2017)
337 |
338 |
339 | * [Building Multiplayer Games with Phoenix and Phaser](https://www.youtube.com/watch?v=I5L9_cXwBcU) [00:34:47] by **Keith Salisbury** (2016)
340 | * [Build Your Own Elixir](https://www.youtube.com/watch?v=IONWi9hayEA) [00:45:37] by **Louis Pilfold** (2016)
341 | * [Code Generation in Elixir](https://www.youtube.com/watch?v=-mgwW3RVI50) [00:43:54] by **Bryan Weber** (2016)
342 | * [Dialyzer: Optimistic Type Checking for Erlang and Elixir](https://www.youtube.com/watch?v=JT0ECYZ9FaQ) [00:48:57] by **Jason Voegele** (2016)
343 | * [Enhanced Embedded Systems with Nerves](https://www.youtube.com/watch?v=118-g0ODfgg) [00:56:11] by **Justin Schneck** (2016)
344 | * [Elixir in Elixir](https://www.youtube.com/watch?v=p8MGNw045AE) [00:46:12] by **Jay Hayes** (2016)
345 | * [Explicit Elixir](https://www.youtube.com/watch?v=sr5I5ncg0kU) [00:27:50] by **Paul Lamb** (2016)
346 | * [Learn Elixir: Building a Neural Network from Scratch](https://www.youtube.com/watch?v=YE0h9DURSOo) [00:32:26] by **Karmen Blake** (2016)
347 | * [New Heights](https://www.youtube.com/watch?v=E6RTBlO9TZQ) [00:48:42] by **Chris McCord** (2016)
348 | * [Real World Elixir Deployment](https://www.youtube.com/watch?v=H686MDn4Lo8) [00:40:35] by **Pete Gamache** (2016)
349 | * [Securing Elixir Applications](https://www.youtube.com/watch?v=r0DuAse9tK8) [00:42:52] by **Bram Verburg** (2016)
350 | * [The Climb: Experiencing the Rise of Elixir from the Inside](https://www.youtube.com/watch?v=fklep3sUSWo) [00:43:22] by **Bruce Tate & Dave Thomas** (2016)
351 |
352 |
353 | * [Elixir Should Take Over the World](https://www.youtube.com/watch?v=X25xOhntr6s) [00:58:30] by **Jessica Kerr** (not only interesting for Elixir devs! But I wasn't sure where else to put it) (2015)
354 | * [Phoenix - Productive. Reliable. Fast.](https://youtu.be/STO-uN0xHDQ) [00:45:19] by **Chris McCord** (2015)
355 |
356 |
357 | * [elixir Conf 2014 Keynote](https://www.youtube.com/watch?v=aZXc11eOEpI) [00:59:32] by **Jose Valim** (2014)
358 | * [Elixir: The Power of Erlang, the Joy of Ruby](https://www.youtube.com/watch?v=lww1aZ-ldz0) [00:49:42] by **Dave Thomas** (2014)
359 | * [Think Different](http://www.confreaks.com/videos/4119-elixirconf2014-opening-keynote-think-different) [00:55:47] by **Dave Thomas** (2014)
360 |
361 | #### Elm
362 | * [Demystifying Parsers](https://www.youtube.com/watch?v=M9ulswr1z0E) [00:22:12] by **Tereza Sokol** (2018)
363 | * [If Coco Chanel Reviewed Elm](https://www.youtube.com/watch?v=Wiw3YcwGwrU) [00:17:30] by **Tereza Sokol** (2017)
364 | * [The life of a file](https://www.youtube.com/watch?v=XpDsk374LDE) by **Evan Czaplicki** (2017)
365 | * [Controlling Time and Space: understanding the many formulations of FRP](https://www.youtube.com/watch?v=Agu6jipKfYw) [00:40:55] by **Evan Czaplicki** (2014)
366 |
367 | #### Erlang
368 | * [Operable Erlang and Elixir](https://www.youtube.com/watch?v=OR2Gc6_Le2U) [00:35:29] by **Fred Hebert** (2019)
369 | * [Getting to the BEAM, without going through Erlang](https://www.youtube.com/watch?v=BcXQ2qaEzNI) [00:24:32] by **Kofi Gumbs** (2018)
370 |
371 |
372 | * [A Peek Inside Erlang's OTP](https://www.youtube.com/watch?v=PkHZPTn1brc) [00:50:19] by **Steve Vinovski** (2016)
373 | * [Distributed Jamming with Sonic Pi and Erlang](https://www.youtube.com/watch?v=4SUdnOUKGmo) [00:54:16] by **Sam Aaron & Joe Armstrong** (2016)
374 | * [Erlang and Deep Learning](https://www.youtube.com/watch?v=iMhBEVCgPdg) [00:47:15] by **Garrett Smith** (2016)
375 | * [Pilgrim's Progress to the Promised Land](https://www.youtube.com/watch?v=84UI5mRXU7g) [00:52:24] by **Robert Virding** (2016)
376 | * [Scaling Distributed Erlang](https://www.youtube.com/watch?v=usEs3GPnZDg) [00:47:23] by **Zandra Norman** (2016)
377 |
378 |
379 | * [Erlang: Evolution](https://www.youtube.com/watch?v=od6CfA8xEcM) [00:37:24] by **Robert Virding** (2015)
380 | * [How To Ship New Code Without Taking Your System Down](https://www.youtube.com/watch?v=NfCLCmRi4_Y) [00:32:47] by **Martin Rehfeld** (2015)
381 | * [Implementing Languages on the BEAM](https://www.youtube.com/watch?v=qm0mbQbc9Kc) [01:47:47] by **Robert Virding** (2015)
382 | * [OTP Has Done It](https://www.youtube.com/watch?v=yBReonQlfL4) [00:36:04] by **Nick DeMonner** (2015)
383 |
384 |
385 | * [Designing a Real Time Game Engine in Erlang](https://www.youtube.com/watch?v=sla-t0ZNlMU) [00:38:32] by **Mark Allen** (2014)
386 | * [Optimizing Native Code for Erlang](https://www.youtube.com/watch?v=57AkoJfojK8) [00:26:46] by **Steve Vinoski** (2014)
387 | * [Using Logic Programming Tools to Drive Property-based Testing](https://www.youtube.com/watch?v=fSCIfsUcY4Y) [00:34:45] by **Zachary Kessin** (2014)
388 | * [Why The Cool Kids Don't Use Erlang](https://www.youtube.com/watch?v=3MvKLOecT1I) [00:51:55] by **Garrett Smith** (2014)
389 | * [Writing Quality Code in Erlang](https://www.youtube.com/watch?v=CQyt9Vlkbis) [00:40:47] by **Garrett Smith** (2014)
390 |
391 |
392 | * [26 years with Erlang or How I got my grey hairs](https://www.youtube.com/watch?v=HCwRGHj5jOE) [01:20:00] by **Joe Armstrong** (2013)
393 | * [A Few Improvements to Erlang](http://www.erlang-factory.com/conference/ErlangUserConference2012/speakers/joearmstrong) [00:43:30] by **Joe Armstrong** (2013)
394 | * [Chicago Boss: A Web Framework Built for Comfort (and Speed)](https://www.youtube.com/watch?v=LGGo6bIuj8w) [00:45:59] by **Evan Miller** (2013)
395 | * [Over a Century of Programming](https://www.youtube.com/watch?v=y5Y_JFIsg6s) [01:00:10] by **Mike Williams, Joe Armstrong & Robert Virding** (2013)
396 | * [Erlang in production: I wish I'd known that when I started](https://www.youtube.com/watch?v=G0eBDWigORY) [00:42:43] by **Bernard Duggan** (2012)
397 |
398 | #### F#
399 | * [F# for Trading](https://www.youtube.com/watch?v=OonLCmLeQUQ) [00:50:43] by **Phillip Trelford** (2014)
400 |
401 | #### Factor
402 | * [Factor: an extensible interactive language](https://www.youtube.com/watch?v=f_0QlhYlS8g) [01:36:39] by **Slava Pestov** (2008)
403 |
404 | #### Frege
405 | * [Frege, a Haskell for the JVM](https://www.youtube.com/watch?v=1P1-HXNfFPc) [01:00:12] by **Dierk König** (2015)
406 |
407 | #### Go
408 | * [SQLite and Go](https://www.youtube.com/watch?v=RqubKSF3wig) [00:32:02] by **David Crawshaw** (2018)
409 | * [Things in Go I Never Use](https://www.youtube.com/watch?v=5DVV36uqQ4E) [00:24:52] by **Mat Ryer** (2018)
410 |
411 |
412 | * [cgo - Safely Taming the Beast](https://www.youtube.com/watch?v=lhMhApWQp2E) [00:48:20] by **Filippo Valsorda** (2016)
413 | * [Communicating Sequential Goroutines](https://www.youtube.com/watch?v=gO1qF19y6KQ) [00:50:15] by **Adrian Cockcroft** (2016)
414 | * [Crypto for Go Developers](https://www.youtube.com/watch?v=2r_KMzXB74w) [00:31:14] by **George Tankersley** (title of Youtube video wrong) (2016)
415 | * [Do not fear first class functions](https://www.youtube.com/watch?v=5buaPyJ0XeQ) [00:18:54] by **Dave Cheney** (2016)
416 | * ["go test -race" Under the Hood](https://www.youtube.com/watch?v=5erqWdlhQLA) [00:44:13] by **Kavya Joshi** (2016)
417 | * [Idiomatic Go Tricks](https://www.youtube.com/watch?v=yeetIgNeIkc) [00:27:56] by **Mat Ryer** (2016)
418 | * [Inside the Map Implementation](https://www.youtube.com/watch?v=Tl7mi9QmLns) [00:26:49] by **Keith Randall** (2016)
419 | * [Packet Capture, Analysis, and Injection with Go](https://www.youtube.com/watch?v=APDnbmTKjgM) [00:37:14] by **John Leon** (2016)
420 | * [Program your next server in Go](https://www.youtube.com/watch?v=5bYO60-qYOI) [01:02:05] by **Sameer Ajmani** (2016)
421 | * [The Design of the Go Assembler](https://www.youtube.com/watch?v=KINIAgRpkDA) [00:23:56] by **Rob Pike** (2016)
422 | * [The Hidden Power of Humble Interfaces](https://www.youtube.com/watch?v=s4e-cFhT620) [00:23:47] by **Aditya Mukerjee** (2016)
423 |
424 |
425 | * [7 common mistakes in Go and when to avoid them](https://www.youtube.com/watch?v=29LLRKIL_TI) [00:27:57] by **Steve Francia** (2015)
426 | * [Communicating Sequential Processes](https://www.youtube.com/watch?v=3gXWA6WEvOM) [00:43:21] by **Eric Shull** (2015)
427 | * [Go](https://www.youtube.com/watch?v=PTZqkyivnHk) [00:38:18] by **Rob Pike** (2015)
428 | * [Golang: The good, the bad, & the ugly](https://www.youtube.com/watch?v=cMYhGNofHA4) [00:48:31] by **Vincent Batts** (2015)
429 | * [gRPC: Google's high-performance, open-source RPC framework](https://www.youtube.com/watch?v=sZx3oZt7LVg) [00:29:22] by **Sameer Ajmani** (2015)
430 | * [Stupid Gopher Tricks](https://www.youtube.com/watch?v=UECh7X07m6E) [00:53:10] by **Andrew Gerrand** (2015)
431 | * [The move from C to Go in the toolchain](https://www.youtube.com/watch?v=cF1zJYkBW4A) [00:32:52] by **Rob Pike** (2015)
432 |
433 |
434 | * [High Performance Systems in Go](https://www.youtube.com/watch?v=ylRKac5kSOk) [00:29:39] by **Derek Collison** (2014)
435 | * [Three fallacies of dependencies](https://www.youtube.com/watch?v=yi5A3cK1LNA) [00:20:38] by **Blake Mizerany** (2014)
436 |
437 |
438 | * [Advanced Go Concurrency Patterns](https://www.youtube.com/watch?v=QDDwwePbDtw) [00:34:11] by **Sameer Ajmani** (2013)
439 | * [Go for Pythonistas](https://www.youtube.com/watch?v=elu0VpLzJL8) [00:51:17] by **Francesc Campoy Flores** (2013)
440 |
441 |
442 | * [Concurrency Is Not Parallelism](https://www.youtube.com/watch?v=oV9rvDllKEg) [00:31:22] by **Rob Pike** (2012)
443 | * [Go Concurrency Patterns](https://www.youtube.com/watch?v=f6kdp27TYZs) [00:51:27] by **Rob Pike** (2012)
444 | * [Practical Go Programming](https://www.youtube.com/watch?v=2-pPAvqyluI) [00:59:20] by **Andrew Gerrand** (2011)
445 |
446 | #### Hackett
447 | * [Hackett: a metaprogrammable Haskell](https://www.youtube.com/watch?v=5QQdI3P7MdY) [00:33:39] by **Alexis King** (2018)
448 |
449 | #### Haskell
450 | * [Laws!](https://www.youtube.com/watch?v=VzNGF4V937o) [00:28:03] by **George Wilson** (2018)
451 | * [Linear Haskell: practical linearity in a higher-order polymorphic language](https://www.youtube.com/watch?v=t0mhvd3-60Y) [01:03:33] by **Simon Peyton Jones** (2018)
452 | * [Suggesting Valid Substitutions For Typed Holes](https://www.youtube.com/watch?v=pDgshr-oc14) [00:41:36] by **Matthías Páll Gissurarson** (2018)
453 |
454 |
455 | * [Dependent Types in Haskell](https://www.youtube.com/watch?v=wNa3MMbhwS4) [00:38:41] by **Stephanie Weirich** (2017)
456 | * [Escape from the ivory tower: the Haskell journey](https://www.youtube.com/watch?v=re96UgMk6GQ) [01:04:15] by **Simon Peyton-Jones** (2017)
457 | * [Point-Free or Die: Tacit Programming in Haskell and Beyond](https://www.youtube.com/watch?v=seVSlKazsNk) [00:36:12] by **Amar Shah** (2016)
458 | * [What are Types for, or are they only Against?](https://www.youtube.com/watch?v=3U3lV5VPmOU) [01:03:37] by **Conor McBride** (2016)
459 |
460 |
461 | * [Enigmatic Haskell, Haskellish Enigma](https://www.youtube.com/watch?v=9-u2n4GgcVw) [00:59:41] by **Rishiyur S. Nikhil** (2015)
462 | * [Framing the Discussion with EDSLs](https://www.youtube.com/watch?v=_KioQRICpmo) [01:41:41] by **Anthony Cowley** (There is a repository containing the slides and code [here](https://github.com/acowley/BostonHaskell2015)) (2015)
463 | * [Next Level MTL](https://www.youtube.com/watch?v=GZPup5Iuaqw) [00:44:36] by **George Wilson** (2015)
464 | * [Pure Type Systems](https://www.youtube.com/watch?v=ZGqKsalJi4s) [01:17:01] by **Cody Roux** (2015)
465 | * [The Road to Running Haskell at Facebook Scale](https://www.youtube.com/watch?v=sl2zo7tzrO8) [00:43:36] by **Jon Coens** (2015)
466 |
467 |
468 | * [Demystifying Haskell](https://www.youtube.com/watch?v=apBWkBDVlow) [00:26:11] by **Andrew Rademacher** (for Beginners) (2014)
469 | * [Getting a Quick Fix on Comonads](https://www.youtube.com/watch?v=F7F-BzOB670) [00:58:33] by **Kenneth Foner** (for best watching experience, watch it after the optimization talk by dan doel) (2014)
470 | * [Haste: Full-Stack Haskell for Non-PhD Candidates](https://www.youtube.com/watch?v=3v03NFcyvzc) [00:40:50] 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) (2014)
471 | * [How Haskell is Changing my Brain](https://vimeo.com/96639840) [00:48:32] by **Alissa Pajer** (2014)
472 | * [Introduction to Low Level Haskell Optimization](https://www.youtube.com/watch?v=McFNkLPTOSY) [01:09:40] by **Dan Doel** (2014)
473 | * [Safe Zero-Cost Coercions for Haskell](https://www.youtube.com/watch?v=xFy_8n_HdI4) [00:26:01] by **Richard A. Eisenberg** (2014)
474 | * [Writing a game in Haskell](https://www.youtube.com/watch?v=1MNTerD8IuI) [00:29:37] by **Elise Huard** (2014)
475 |
476 |
477 | * [Lenses, Folds, and Traversals](https://www.youtube.com/watch?v=cefnmjtAolY) [01:54:46] by **Edward Kmett** (2012)
478 | * [The Algebra In Algebraic Data Types](https://www.youtube.com/watch?v=YScIPA8RbVE) [01:04:35] by **Chris Taylor** (2012)
479 | * [Haskell Amuse-Bouche](https://www.youtube.com/watch?v=b9FagOVqxmI) [00:57:13] by **Mark Lentczner** (the audio quality is scarily bad) (2011)
480 | * [Data Parallel Haskell](https://www.youtube.com/watch?v=NWSZ4c9yqW8) [01:19:56] by **Simon Peyton Jones** (2010)
481 | * [A History of Haskell: being lazy with class](https://www.youtube.com/watch?v=06x8Wf2r2Mc) [00:56:46] by **Simon Peyton Jones** (2007)
482 |
483 | #### Idris
484 | * [Type-driven Development of Communicating Systems in Idris](https://www.youtube.com/watch?v=IQO9N0Y8tcM) [00:40:37] by **Edwin Brady** (2016)
485 | * [Coding for Types: The Universe Patern in Idris](https://www.youtube.com/watch?v=AWeT_G04a0A) [00:48:04] by **David Christiansen** (2015)
486 | * [Type-Driven Development in Idris](https://www.youtube.com/watch?v=X36ye-1x_HQ) [00:46:35] by **Edwin Brady** (2015)
487 |
488 |
494 |
495 | * [Dependently Typed Functional Programming with Idris](https://www.idris-lang.org/dependently-typed-functional-programming-with-idris-course-videos-and-slides/) by **Edwin Brady**: This lecture series has four parts ([playlist](https://www.youtube.com/playlist?list=PLZxlmw4K3ICJw6FAml2yw95B0I--iKQZ_)):
496 | * [Part 1: Introduction](https://vimeo.com/61576198) [[mirror]](https://youtu.be/S3oSwATZ5r4) [01:11:18] by **Edwin Brady** (2013) [A]
497 | * [Part 2: Embedded DSLs](https://vimeo.com/61663317) [[mirror]](https://youtu.be/uz_4WRN1ODg) [01:06:53] by **Edwin Brady** (2013) [A]
498 | * [Part 3: Effect management](https://vimeo.com/62037963) [[mirror]](https://youtu.be/rFItGEsmJr8) [00:59:22] by **Edwin Brady** (2013) [A]
499 | * [Part 4: Implementing Idris](https://vimeo.com/62059837) [[mirror]](https://youtu.be/QPoKDJZbDmY) [01:11:29] by **Edwin Brady** (2013) [A]
500 |
501 | #### Java & Android
502 | * [Java in 2018: Change is the Only Constant](https://www.youtube.com/watch?v=wHoRBvt3U6o) [00:27:08] by **Mark Reinhold** (2018)
503 | * [Modules in One Lesson](https://www.youtube.com/watch?v=rFhhLXcOBsk) [00:51:17] by **Mark Reinhold** (2017)
504 | * [g ∘ f patterns](https://www.youtube.com/watch?v=lZG74WbnhoE) [00:50:44] by **Mario Fusco** (2017)
505 | * [Parallel and Asynchronous Programming with Streams and CompletableFuture](https://www.youtube.com/watch?v=IwJ-SCfXoAU) [02:34:29] by **Venkat Subramaniam** (2017)
506 | * [A JVM does that???](https://www.youtube.com/watch?v=-vizTDSz8NU) [00:51:58] by **Cliff Click** (2016)
507 | * [Optional - The Mother of All Bikesheds](https://www.youtube.com/watch?v=Ej0sss6cq14) [00:58:42] by **Stuart Marks** (2016)
508 |
509 |
510 | * [4 JVM Web Frameworks in 40 Minutes](https://www.youtube.com/watch?v=nyz0AVIOTkI) [00:58:38] by **Joe Kutner** (this is actually for a few JVM languages, not only Java) (2015)
511 | * [A Few Ok Libraries](https://www.youtube.com/watch?v=WvyScM_S88c) [01:09:20] by **Jake Wharton** (2015)
512 | * [Fast as C: How to write really terrible Java](https://vimeo.com/131394615) [00:51:42] by **Charles Oliver Nutter** (2015)
513 | * [New Concurrency Models on the JVM: Fibres, Verticles, Agents and Actors](https://www.youtube.com/watch?v=EMv_8dxSqdE) [01:03:01] by **Lutz Hühnken** (2015)
514 |
515 |
516 | * [Common crypto mistakes in Android](https://vimeo.com/115219591) [00:48:44] by **Isaax Potoczny-Jones** (2014)
517 | * [Functional Reactive Programming with RxJava](https://www.youtube.com/watch?v=_t06LRX0DV0) [00:49:27] by **Ben Christensen** (2014)
518 | * [Java 8 Lambda Expressions & Streams](https://www.youtube.com/watch?v=8pDm_kH4YKY) [01:43:53] by **Adib Saikali** (2014)
519 | * [Java 8 Language Capabilities, What's in it for you?](https://www.youtube.com/watch?v=j9nj5dTo54Q) [01:25:28] by **Venkat Subramaniam** (2014)
520 | * [Living in the Matrix with Bytecode Manipulation](https://www.youtube.com/watch?v=39kdr1mNZ_s) [00:55:01] by **Ashley Puls** (2014)
521 | * [Ludicrous Speed: Designing For Performance on the JVM](https://www.youtube.com/watch?v=X1rWgshr3PY) [00:39:54] by **Cliff Moon** (2014)
522 | * [Nashorn: implementing a dynamic language runtime on JVM in 2014](https://www.youtube.com/watch?v=KKaHkkpdHxg) [00::44:32] by **Attila Szegedi** (2014)
523 | * [Recursion Schemes](https://www.youtube.com/watch?v=Zw9KeP3OzpU) [01:50:29] by **Tim Williams** (2014)
524 |
525 |
526 | * [JVM Bytecode for Dummies (and the Rest of Us Too](https://www.youtube.com/watch?v=rPyqB1l4gko) [00:50:34] by **Charles O.o Nutter** (2013)
527 | * [Java - The Good, Bad and Ugly Parts](https://www.youtube.com/watch?v=hcY8cYfAEwU) [00:14:34] by **Josh Bloch** (2011)
528 | * [Effective Java; Still Effective After All These Years](https://www.youtube.com/watch?v=V1vQf4qyMXg) [01:13:59] by **Joshua Bloch** (2009)
529 |
530 | #### JavaScript
531 | (There is a good list of talks about JS to be found [here](https://github.com/bolshchikov/js-must-watch))
532 |
533 | * [A Cartoon Intro to WebAssembly](https://www.youtube.com/watch?v=HktWin_LPf4) [00:29:40] by **Lin Clark** (2017)
534 | * [How to effortlessly integrate Three.js into your projects](https://www.youtube.com/watch?v=748A2ohUMEg) [00:22:00] by **Jason Farrell** (not as technical as the other \*GL talks) (2016)
535 | * [Learning Functional Programming with JavaScript](https://www.youtube.com/watch?v=e-5obm1G_FY) [00:29:56] by **Anjana Vakil** (2016)
536 |
537 |
538 | * [Angular + React = Speed](https://www.youtube.com/watch?v=XQM0K6YG18s) [00:19:27] by **Dave Smith** (2015)
539 | * [Benchmarking JavaScript](https://www.youtube.com/watch?v=g0ek4vV7nEA) [00:40:54] by **Vyacheslav Egorov** (2015)
540 | * [ECMAScript 6 & Web Components](https://www.youtube.com/watch?v=2w4sRkTnhPM) [00:36:11] by **Brian LeRoux** (2015)
541 | * [Ember 2.0](https://www.youtube.com/watch?v=U1HEzVWseng) [00:40:21] by **Erik Bryn** (2015)
542 | * [If you wish to learn ES6/2015 from scratch, you must first invent the universe](https://www.youtube.com/watch?v=DN4yLZB1vUQ) [00:25:49] by **Ashley Williams** (2015)
543 | * [Immutable Data and React](https://www.youtube.com/watch?v=I7IdS-PbEgI) [00:31:10] by **Lee Byron** (2015)
544 | * [Improving Your Workflow With Code Transformation](https://www.youtube.com/watch?v=OFuDvqZmUrE) [00:30:18] by **Sebastian McKenzie** (2015)
545 | * [j2me.js - a multi-threaded Java VM in JavaScript](https://www.youtube.com/watch?v=I7hZ8I9G5KA) [00:44:10] by **Andreas Gal** (2015)
546 |
547 |
548 | * [10 Angular JS Patterns](https://www.youtube.com/watch?v=UlvCbnKAH3g) [01:01:27] by **John Papa** (2014)
549 | * [Async JavaScript with Reactive Extensions](https://www.youtube.com/watch?v=FAZJsxcykPs) [00:28:39] by **Jafar Husain** (2014)
550 | * [Build Production Ready Javascript Apps With Grunt](https://www.youtube.com/watch?v=BpMKxF-HUqA) [00:40:51] by **Shai Reznik** (2014)
551 | * [ES6 and 7, the future of JS](https://vimeo.com/113913703) [01:07:12] by **Brendan Eich** (2014)
552 | * [Functional programming patterns for the non-mathematician](https://www.youtube.com/watch?v=AvgwKjTPMmM) [00:29:58] by **Brian Lonsdorf** (beware; the pace is somewhat high) (2014)
553 | * [Immutability, interactivity & JavaScript](https://www.youtube.com/watch?v=mS264h8KGwk) [00:26:20] by **David Nolen** (2014)
554 | * [Javascript Combinators](https://vimeo.com/97408202) [00:54:55] by **Reginald Braithwaite** (2014)
555 | * [Large Scale JavaScript Application Architecture](https://www.youtube.com/watch?v=kNrnRG1YgAQ) [00:50:40] by **Dan Lynch** (2014)
556 | * [Node.js in 20 Minutes](https://www.youtube.com/watch?v=mq6uCM4ynpc) [00:23:08] by **Edmond Meinfelder** (2014)
557 | * [Raw WebGL](https://www.youtube.com/watch?v=H4c8t6myAWU) [00:55:21] by **Nick Desaulniers** (2014)
558 | * [Reactive Game Development For The Discerning Hipster](https://www.youtube.com/watch?v=x8mmAu7ZR9Y) [00:31:06] by **Bodil Stokke** (2014)
559 | * [The Art of the Javascript Metaobject Protocol](https://vimeo.com/97415345) [00:58:06] by **Reginald Braithwaite** (2014)
560 | * [The Art of the JavaScript Metaobject Protocol: Duck Typing, Compatibility, and the Adaptor Pattern](http://lanyrd.com/2014/nordicjs/sddfwy/#link-zdxq) [00:26:29] by **Reginald Braithwaite** (2014)
561 | * [Version 7: The Evolution of JavaScript](https://www.youtube.com/watch?v=DqMFX91ToLw) [01:11:54] by **Jafar Husain** (2014)
562 | * [What the heck is the event loop anyway?](https://www.youtube.com/watch?v=8aGhZQkoFbQ) [00:26:53] by **Philip Roberts** (2014)
563 |
564 |
565 | * [Bringing Angular Apps to Life with Animation](https://www.youtube.com/watch?v=cF_JsA9KsDM) [00:42:38] by **Miško Hevery** (2013)
566 | * [Classical Inheritance is Obsolete - How to Think in Prototypal OO](https://vimeo.com/69255635) [00:43:18] by **Eric Elliott** (2013)
567 | * [Constraint programming in the browser](https://www.youtube.com/watch?v=72sWgwaAoyk) [00:28:15] by **Adam Solove** (2013)
568 | * [Creating A Scalable JavaScript Application Architecture](https://www.youtube.com/watch?v=b5pFv9NB9fs) [00:41:54] by **Nicholas Zakas** (2013)
569 | * [Design Decisions in AngularJS](https://www.youtube.com/watch?v=HCR7i5F5L8c) [00:40:00] by **Brad Green & Miško Hevery** (2013)
570 | * [Dissecting WebGL](https://livestream.com/hugeinc/events/2192947) [01:11:04] by **Justin Windle** (2013)
571 | * (you might want to take a look at [the slides](https://github.com/hugeinc/doctype-meetup/tree/master/dissecting-webgl), you cannot really see them well)
572 | * [Is Node.js Better](https://www.youtube.com/watch?v=C5fa1LZYodQ) [00:41:43] by **Brian Ford** (2013)
573 | * [Monads and Gonads](https://www.youtube.com/watch?v=b0EF0VTs9Dc) [00:49:48] by **Douglas Crockford** (2013)
574 | * [Really. JavaScript.](https://www.youtube.com/watch?v=lTWGoL1N-Kc) [00:46:10] by **Douglas Crockford** (2013)
575 | * [Redemption from Callback Hell](https://www.youtube.com/watch?v=hf1T_AONQJU) [00:50:25] by **Michael Jackson & Domenic Denicola** (2013)
576 | * [Snappy Performance Apps with Ember.js](https://www.youtube.com/watch?v=9a0OP4in-ac) [00:28:39] by **Anthony Bull** (2013)
577 | * [Solving the real callback hell](https://www.youtube.com/watch?v=Wu9n7Ry0PWw) [00:21:54] by **Tim Ruffles** (2013)
578 |
579 |
580 | * [The first ever presentation on Node.js](https://www.youtube.com/watch?v=ztspvPYybIY) [00:48:31] by **Ryan Dahl** (2012)
581 | * [Crockford on JavaScript](https://www.youtube.com/playlist?list=PL7664379246A246CB) by **Douglas Crockford** (2011) (it's 10 hours long!)
582 | * [Introduction to Node.js](https://yuiblog.com/blog/2010/05/20/video-dahl/) [00:58:18] by **Ryan Dahl** (2010)
583 |
584 | #### Julia
585 |
586 | * [What's Bad About Julia](https://www.youtube.com/watch?v=TPuJsgyu87U) [00:30:39] by **Jeff Bezanson** (2019)
587 | * [The Unreasonable Effectiveness of Multiple Dispatch](https://www.youtube.com/watch?v=kc9HwsxE1OY) [00:35:23] by **Stefan Karpinski** (2019)
588 |
589 |
590 | * [Julia as a platform for language development](https://www.youtube.com/watch?v=BBUrQId0HhQ) [00:28:20] by **Jamie Brandon** (2018)
591 |
592 |
593 | * [Introduction to Writing High Performance Julia (Workshop)](https://www.youtube.com/watch?v=szE4txAD8mk) [02:48:30] by **Arch D. Robison** (2016)
594 | * [Julia 1.0](https://www.youtube.com/watch?v=5gXMpbY1kJY) [00:29:46] by **Stefan Karpinski** (2016)
595 | * [Machine Code](https://www.youtube.com/watch?v=ErGi9sNgUjw) [00:38:11] by **Jameson Nash** (2016)
596 | * [The Two Cultures of Programming](https://www.youtube.com/watch?v=C3iR_PknlFc) [00:29:40] by **Joshua Ballanco** (2016)
597 |
598 |
599 | * [Convex Optimization in Julia](https://www.youtube.com/watch?v=SoI0lEaUvTs) [00:40:12] by **Madeleine Udell** (2014)
600 | * [Crossing Language Barriers with Julia, SciPy,IPython](https://www.youtube.com/watch?v=jhlVHoeB05A) [01:11:18] by **Stephen G. Johnson** (2014)
601 | * [Python and Julia. Why do we need another language?](https://www.youtube.com/watch?v=6Q1OiMsik5g) [00:26:19] by **Dwight J. Browne** (2014)
602 |
603 | #### Lisp
604 | * [The Most Beautiful Program Ever Written](https://www.youtube.com/watch?v=OyfBQmvr2Hc) [01:31:05] by **William Byrd** (2017)
605 | * [Lisp](https://www.youtube.com/watch?v=FRaNUsiD_BA) [00:56:00] by **Igor Wiedler** (2014)
606 | * [Practical Common Lisp](https://www.youtube.com/watch?v=4NO83wZVT0A) [01:12:04] by **Peter Seibel** (2012)
607 |
608 | #### Objective C
609 | * [Object-Oriented Programming in Objective-C](https://www.youtube.com/watch?v=_BbGxpiYFDg) [00:31:10] by **Graham Lee** (2015)
610 | * [RACify Non-Reactive Code](https://www.youtube.com/watch?v=sek0ohbboNU) [00:24:23] by **Dave Lee** (2014)
611 |
612 | #### OCaml
613 | * [Jane and the Compiler](https://www.youtube.com/watch?v=gXdMFxGdako) [01:03:45] by **Yaron Minsky** (2018) [A]
614 | * [Why OCaml](https://www.youtube.com/watch?v=v1CmGbOGb2I) [01::06:39] by **Yaron Minsky** (2016)
615 | * [Caml Trading](https://www.youtube.com/watch?v=hKcOkWzj0_s) [01:12:43] by **Yaron Minsky** (2012)
616 |
617 | #### Prolog
618 | * [Production Prolog](https://www.youtube.com/watch?v=G_eYTctGZw8) [00:39:57] by **Michael Hendricks** (2014)
619 | * [A Taste of Prolog](https://www.youtube.com/watch?v=hEOVcLAPRG8) [00:33:48] by **Aja Hammerly** (2012)
620 |
621 | #### PureScript
622 | * [PureScript (Maybe This Time We Get JavaScript Right)](https://www.youtube.com/watch?v=yIlDBPiMb0o) [00:44:31] by **Bodil Stokke** (2014)
623 |
624 | #### Python
625 | (There is a good list of talks about Python to be found [here](https://github.com/s16h/py-must-watch))
626 |
627 | * [A Talk near the Future of Python?](https://www.youtube.com/watch?v=VUT386_GKI8) [01:01:11] by **David Beazley** (2019)
628 | * [Understanding Python Bytecode](https://www.youtube.com/watch?v=_w3a1ledmVE) [00:29:44] by **James Bennett** (2018)
629 |
630 |
631 | * [Grok the GIL - Write Fast And Thread Safe Python](https://www.youtube.com/watch?v=7SSYhuk5hmc) [00:41:29] by **A. Jesse Jiryu Davis** (2017)
632 | * [The Dictionary Even Mightier](https://www.youtube.com/watch?v=66P5FMkWoVU) [00:47:21] by **Brandon Rhodes** (2017)
633 | * [The Python Visualization Landscape](https://www.youtube.com/watch?v=FytuB8nFHPQ) [00:33:30] by **Jake VanderPlas** (2017)
634 | * [What Does It Take To Be An Expert At Python?](https://www.youtube.com/watch?v=7lmCu8wz8ro) [01:52:02] by **James Powell** (2017)
635 |
636 |
637 | * [Builtin Super Heroes](https://www.youtube.com/watch?v=lyDLAutA88s) [00:42:13] by **David Beazley** (2016)
638 | * [Finding closures with closures](https://www.youtube.com/watch?v=E9wS6LdXM8Y) [00:31:05] by **Thomas Ballinger** (2016)
639 | * [Flask for Fun and Profit](https://www.youtube.com/watch?v=1ByQhAM5c1I) [01:01:23] by **Armin Ronacher** (2016)
640 | * [Machete-mode debugging: Hacking your way out of a tight spot](https://www.youtube.com/watch?v=bAcfPzxB3dk) [00:35:13] by **Ned Batchelder** (2016)
641 | * [Python and Johnny Cash](https://www.youtube.com/watch?v=L3j2qw9XZCc) [00:43:15] by **James Powell** (2016)
642 | * [Removing Python's GIL: The Gilectomy](https://www.youtube.com/watch?v=P3AyI_u66Bw) [00:32:06] by **Larry Hastings** (2016)
643 | * [Statistics for Hackers](https://www.youtube.com/watch?v=Iq9DzN6mvYA) [00:40:44] by **Jake Vanderplas** (2016)
644 |
645 |
646 | * [Advanced Data Storage](https://www.youtube.com/watch?v=AXlp7qxqu8E) [01:19:39] by **Thomas Pfaff** (2015)
647 | * [Beyond PEP 8 - Best practices for beautiful intelligible code](https://www.youtube.com/watch?v=wf-BqAjZb8M) [00:52:05] by **Raymond Hettinger** (2015)
648 | * [Bytes in the Machine: Inside the CPython interpreter](https://www.youtube.com/watch?v=HVUTjQzESeo) [00:34:33] by **Allison Kaptur** (2015)
649 | * [Facts and Myths about Python names and values](https://www.youtube.com/watch?v=_AEJHKGk9ns) [00:25:20] by **Ned Batchelder** (2015)
650 | * [How to Be More Effective with Functions](https://www.youtube.com/watch?v=WjJUPxKB164) [00:29:39] by **Brett Slatkin** (2015)
651 | * [How to build a brain with Python](https://www.youtube.com/watch?v=7hvpoLKJHOw) [00:35:22] by **Trevor Bekolay** (2015)
652 | * [Investigating Python Wats](https://www.youtube.com/watch?v=sH4XF6pKKmk) [00:24:09] by **Amy Hanlon** (2015)
653 | * [Is Your REST API RESTful?](https://www.youtube.com/watch?v=pZYRC8IbCwk) [00:45:31] by **Miguel Grinberg** (2015)
654 | * [Keynote at PyCon Brasil 2015](https://www.youtube.com/watch?v=lYe8W04ERnY) [00:56:29] by **David Beazley** (about asyncio) (2015)
655 | * [Losing your Loops Fast Numerical Computing with NumPy](https://www.youtube.com/watch?v=EEUXKG97YRw) [00:30:31] by **Jake VanderPlas** (2015)
656 | * [Modules and Packages: Live and Let Die!](https://www.youtube.com/watch?v=0oTh1CXRaQ0) [03:02:34] by **David Beazley** (2015)
657 | * [My Python's a little Rust-y](https://www.youtube.com/watch?v=3CwJ0MH-4MA) [00:29:18] by **Dan Callahan** (2015)
658 | * [Oh, Come On Who Needs Bytearrays](https://www.youtube.com/watch?v=z9Hmys8ojno) [00:44:24] by **Brandon Rhodes** (2015)
659 | * [Porting Python to run without an OS](https://www.youtube.com/watch?v=bYQ_lq5dcvM) [00:32:57] by **Josh Triplett** (2015)
660 | * [PyPy.js: What? How? Why?](https://www.youtube.com/watch?v=PiBfOFqDIAI) [00:30:13] by **Rian Kelly** (2015 version) (2015)
661 | * [Python Concurrency From the Ground Up: LIVE!](https://www.youtube.com/watch?v=MCs5OvhV9S4) [00:46:50] by **David Beazley** (2015)
662 | * [Serialization formats are not toys](https://www.youtube.com/watch?v=kjZHjvrAS74) [00:29:54] by **Tom Eastman** (2015)
663 | * [Side Effects are a Public API](https://www.youtube.com/watch?v=D37dc9EoFus) [00:38:26] by **Christopher Armstrong** (2015)
664 | * [Super considered super!](https://www.youtube.com/watch?v=EiOglTERPEo) [00:46:52] by **Raymond Hettinger** (2015)
665 | * [Terminal whispering](https://www.youtube.com/watch?v=WAitSilLDUA) [00:28:07] by **Thomas Ballinger** (2015)
666 | * [Type Hints](https://www.youtube.com/watch?v=2wDvzy6Hgxg) [00:49:26] by **Guido van Rossum** (2015)
667 |
668 |
669 | * [All Your Ducks In A Row: Data Structures in the Std Lib and Beyond](https://www.youtube.com/watch?v=fYlnfvKVDoM) [00:37:40] by **Brandon Rhodes** (2014)
670 | * [Decorators: A Powerful Weapon in your Python Arsenal](https://www.youtube.com/watch?v=9oyr0mocZTg) [00:31:31] by **Colton Myers** (only about function decorators) (2014)
671 | * [Discovering Python](https://www.youtube.com/watch?v=RZ4Sn-Y7AP8) [00:47:50] by **David Beazley** (2014)
672 | * [Fast Python, Slow Python](https://www.youtube.com/watch?v=7eeEf_rAJds) [00:36:11] by **Alex Gaynor** (2014)
673 | * [Flask by Example](https://www.youtube.com/watch?v=FGrIyBDQLPg) [03:40:29] by **Miguel Grinberg** (2014)
674 | * [Generators: The Final Frontier](https://www.youtube.com/watch?v=D1twn9kLmYg) [03:50:55] by **David Beazley** (2014)
675 | * [Getting Hy on Python: How to implement a Lisp front-end to Python](https://www.youtube.com/watch?v=AmMaN1AokTI) [00:47:09] by **Paul Tagliamonte** (2014)
676 | * [Outlier Detection in Time Series Signals](https://www.youtube.com/watch?v=t4zEeujVht8) [00:36:30] by **Bugra Akyildiz** (2014)
677 | * [PyPy.js: What? How? Why?](https://www.youtube.com/watch?v=8C9q94F6Uqo) [00:25:38] by **Ryan Kelly** (2014 version) (2014)
678 | * [The Cython Compiler for Python](https://www.youtube.com/watch?v=ZHpkLX2VFMU) [00:48:01] by **Dr. Stefan Behnel** (2014)
679 | * [Up and Down the Python Data and Web Visualization Stack](https://www.youtube.com/watch?v=kmy-sfm3cC8) [00:39:18] by **Rob Story** (2014)
680 |
681 |
682 | * [Does your stuff scale?](https://www.youtube.com/watch?v=LguTqd6CtOw) [00:24:31] by **Steven Holmes** (2013)
683 | * [Introduction to SQLAlchemy](https://youtu.be/woKYyhLCcnU) [02:48:48] by **Mike Bayer** (2013)
684 | * [Learn Python Through Public Data Hacking](https://www.youtube.com/watch?v=RrPZza_vZ3w) [02:38:22] by **David Beazley** (2013)
685 | * [Loop like a native: while, for, iterators, generators](https://www.youtube.com/watch?v=EnSu9hHGq5o) [00:29:15] by **Ned Batchelder** (2013)
686 | * [Python 3 Metaprogramming](https://www.youtube.com/watch?v=sPiWg5jSoZI) [03:24:00] by **David Beazley** (2013)
687 | * [Super Advanced Python](https://www.youtube.com/watch?v=u2KZJzoz-qI) [01:38:56] by **Raymond Chandler** (2013)
688 | * [Transforming Code into Beautiful, Idiomatic Python](https://www.youtube.com/watch?v=OSGv2VnC0go) [00:48:51] by **Raymond Hettinger** (2013)
689 |
690 |
691 | * [A Python Æsthetic: Beauty and Why I Python](https://www.youtube.com/watch?v=x-kB2o8sd5c) [00:46:56] by **Brandon Rhodes** (2012)
692 | * [Inside the Python GIL](https://www.youtube.com/watch?v=ph374fJqFPE) [01:01:03] by **David Beazley** (2012)
693 | * [pandas: Powerful data analysis tools for Python](https://www.youtube.com/watch?v=qbYYamU42Sw) [00:34:38] by **Wes McKinney** (2012)
694 | * [Python Epiphanies](https://www.youtube.com/watch?v=Pi9NpxAvYSs) [02:21:44] by **Stuart Williams** (PDF version/code can be found [here](http://swilliams.ca/Python-Epiphanies.pdf)) (2012)
695 | * [Python Metaprogramming for Mad Scientists and Evil Geniuses](https://www.youtube.com/watch?v=Adr_QuDZxuM) [00:37:13] by **Walker Hale** (2012)
696 | * [Stop Writing Classes](https://pyvideo.org/pycon-us-2012/stop-writing-classes.html) [00:27:29] by **Jack Diederich** (2012)
697 | * [Understanding the Python GIL](https://www.youtube.com/watch?v=Obt-vMVdM8s) [00:46:10] by **David Beazley** (2012)
698 |
699 |
700 | * [pyREtic: Reversing Obfuscated Python Bytecode Live Python Objects](https://www.youtube.com/playlist?list=PLD9pG_bivfcZs5VwdnSF40lxH44eInxUk) [01:00:24] by **Rich Smith** (2010)
701 | * [Slightly Advanced Python: Some Python Internals](https://www.youtube.com/watch?v=23s9Wc3aWGY) [00:59:36] by **Alex Martelli** (2008)
702 |
703 | #### Racket
704 | * [Generic Collections: One Interface to Rule Them All](https://www.youtube.com/watch?v=JUD_JwG0alg) [00:18:26] by **Alexis King** (2015)
705 | * [Generic Syntax Expanders and Extensible Macros](https://www.youtube.com/watch?v=PoHGvY4RZ9U) [00:16:26] by **Jack Firth** (2015)
706 | * [Racket: A Programming-Language Programming Language](https://www.youtube.com/watch?v=hFlIl0Zo234) [00:51:42] by **Robby Findler** (2015)
707 | * [The Racket Manifesto](https://www.youtube.com/watch?v=JnczIyPXGfc) [00:52:42] by **Matthias Felleisen** (2015)
708 | * [Purely Functional 3D in Typed Racket](https://www.youtube.com/watch?v=t3xdv4UP9-U) [00:22:15] by **Neil Toronto** (2014)
709 |
710 | #### Ruby
711 | * [What Killed Smalltalk Could Kill Ruby, Too](https://www.youtube.com/watch?v=YX3iRjKj7C0) [01:00:55] by **Robert Martin** (2009)
712 | * [Writing Ruby Like it’s 2018](https://www.youtube.com/watch?v=nVbMhLKvDF0) [00:11:53] by **Joe Leo III** (2018)
713 |
714 |
715 | * [Composition](https://www.youtube.com/watch?v=zwo7ZTHS8Wg) [00:47:55] by **James Dabbs** (2016)
716 | * [Halve Your Memory Usage With These 12 Weird Tricks](https://www.youtube.com/watch?v=kZcqyuPeDao) [00:45:30] by **Nate Berkopec** (2016)
717 | * [How Are Method Calls Formed?](https://www.youtube.com/watch?v=6Dkjus07d9Y) [00:52:16] by **Aaron Patterson** (2016)
718 | * [Metaprogramming? Not good enough!](https://www.youtube.com/watch?v=JOvBmhukWI0) [00:36:09] by **Justin Weiss** (2016)
719 | * [Methods of Memory Management in MRI](https://www.youtube.com/watch?v=r0UjXixkBV8) [00:48:48] by **Aaron Patterson** (2016)
720 |
721 |
722 | * [Building a binary protocol client in Ruby: A magical journey!](https://www.youtube.com/watch?v=JLoOAGEAAjo) [00:30:27] by **Trevor Rosen and egypt (James Lee)** (2015)
723 | * [Fun with the Lambda Calculus](https://www.youtube.com/watch?v=QPqoFCHpLF4) [00:48:48] by **Corey Haines** (2015)
724 | * [How to Performance](https://www.youtube.com/watch?v=obyrJ_aJU6A) [00:30:03] by **Eileen Uchitelle** (2015)
725 | * [Inside Ruby's VM: The TMI Edition](https://www.youtube.com/watch?v=CT8JSJkymZM) [00:39:10] by **Aaron Patterson** (2015)
726 | * [Nothing is Something](https://www.youtube.com/watch?v=OMPfEXIlTVE) [00:35:52] by **Sandi Metz** (2015)
727 | * [Softly, softly typing](https://www.youtube.com/watch?v=XGLYHQ1BLfM) [00:44:33] by **John Cinnamond** (2015)
728 |
729 |
730 | * [Refactoring Ruby with Monads](https://www.youtube.com/watch?v=J1jYlPtkrqQ) [00:30:04] by **Tom Stuart** (2014)
731 | * [Speed up Rails, Speed up Your Code](https://www.youtube.com/watch?v=NKs1PjkheQY) [00:41:04] by **Aaron Patterson** (2014)
732 |
733 |
734 | * [A Rubyist in Clojure-land](https://www.youtube.com/watch?v=PbeCeM344z8) [00:37:50] by **David Chelimsky** (2013)
735 | * [Pry - The Good Parts!](https://www.youtube.com/watch?v=jDXsEzOHb2M) [00:33:33] by **Conrad Irwin** (2013)
736 | * [REPL driven development with Pry](https://www.youtube.com/watch?v=D9j_Mf91M0I) [00:39:26] by **Conrad Irwin** (2013)
737 | * [Ruby, threads, events ... and Flying Robots!](https://www.youtube.com/watch?v=YidL5j10jiU) [01:12:54] by **Jim Weirich** (2013)
738 | * [That's Not Very Ruby of You](https://www.youtube.com/watch?v=OB-xFC8AN_s) [00:36:57] by **Ernie Miller** (2013)
739 | * [You Gotta Try This](https://www.youtube.com/watch?v=ZhINjILA5yw) [00:45:12] by **Avdi Grimm** (2013)
740 |
741 |
742 | * [Confident Code](https://www.youtube.com/watch?v=T8J0j2xJFgQ) [00:31:24] by **Avdi Grimm** (2012)
743 | * [Make awesome command line apps with Ruby](https://www.youtube.com/watch?v=1ILEw6Qca3U) [00:28:57] by **Dave Copeland** (2012)
744 | * [MiniTest: Write Awesome Tests](https://www.youtube.com/watch?v=6hBghQ-Ic_o) [00:32:27] by **Michael J.I. Jackson** (2012)
745 | * [Programming With Nothing](https://www.youtube.com/watch?v=VUhlNx_-wYk) [00:40:50] by **Tom Stuart** (2012)
746 | * [Y Not - Adventures in Functional Programming](http://www.confreaks.com/videos/1287-rubyconf2012-y-not-adventures-in-functional-programming) [00:53:22] by **Jim Weirich** (2012)
747 |
748 | #### Rust
749 | * [Rust at speed - building a fast concurrent database](https://www.youtube.com/watch?v=s19G6n0UjsM) [00:52:53] by **Jon Gjengset** (2018)
750 | * [Using Rust For Game Development](https://www.youtube.com/watch?v=aKLntZcp27M) [00:42:29] by **Catherine West** (2018)
751 |
752 |
753 | * [Building Rocket](https://www.youtube.com/watch?v=t_FUZ34ahBE) [00:33:15] by **Sergio Benitez** (2017)
754 | * [How I Convinced the World's Largest Package Manager to Use Rust, and So Can You!](https://www.youtube.com/watch?v=GCsxYAxw3JQ) [00:37:33] by **Ashley Williams** (2017)
755 | * [Shipping a Solid Rust Crate](https://www.youtube.com/watch?v=JpkjOkiu-fA) [00:22:08] by **Michael Gattozzi** (2017)
756 |
757 |
758 | * [Back to the Futures](https://www.youtube.com/watch?v=bcrzfivXpc4) [00:29:53] by **Alex Crichton** (2016)
759 | * [In Rust We Trust](https://www.youtube.com/watch?v=-dxqbhLIgdM) [00:45:01] by **Alex Burkhardt** (2016)
760 | * [RFC: In Order to Form a More Perfect \`union\`](https://www.youtube.com/watch?v=U8Gl3RTXf88) [00:28:21] by **Josh Triplet** (2016)
761 | * [Rusty Runtimes](https://www.youtube.com/watch?v=U3upi-y2pCk) [00:35:30] by **Aditya Siram** (2016)
762 | * [Rust: Safe and Scalable Systems Programming](https://www.youtube.com/watch?v=GbWECt0M3CI) [01:00:09] by **Alex Crichton** (2016)
763 | * [The History of Rust](https://www.youtube.com/watch?v=79PSagCD_AY) [00:58:41] by **Steve Klabnik** (2016)
764 | * [The /r/playrust Classifier](https://www.youtube.com/watch?v=lY10kTcM8ek) [00:30:34] by **Suchin Gururangan & Colin O'Brien** (2016)
765 | * [Using Generics Effectively](https://www.youtube.com/watch?v=erJdCIti_O8) [00:23:42] by **Without Boats** (2016)
766 |
767 |
768 | * [What Rust can teach us about Ruby](https://www.youtube.com/watch?v=Jbfyhx8t-F8) [00:34:07] by **Steve Klabnik** (2015)
769 | * [Cap'n Proto and Rust: Type Systems for Sharing](https://www.youtube.com/watch?v=A65w-qoyTYg) [00:40:47] by **David Renshaw** (2014)
770 | * [Concurrency in Rust](https://www.youtube.com/watch?v=oAZ7F7bqT-o) [00:31:24] by **Alex Crichton** (2014)
771 |
772 | #### Scala
773 | * [Move Over Free Monads: Make Way for Free Applicatives!](https://www.youtube.com/watch?v=H28QqxO7Ihc) [00:45:29] by **John de Goes** (2016)
774 | * [The Dialectics of Type-Level Programming](https://www.youtube.com/watch?v=0wxGrf8toWk) [00:41:04] by **Aaron Levin** (2016)
775 |
776 |
777 | * [Lawful Asynchronous Programming](https://www.youtube.com/watch?v=B0L91sW3XHw) [01:04:31] by **Daniel Spiewak** (2015)
778 | * [Minimizing the Slippery Surface of Failure](https://www.youtube.com/watch?v=26UHdZUsKkE) [00:59:26] by **Jon Pretty** (2015)
779 | * [Principles for Modular, Functional, Approachable Libraries](https://www.youtube.com/watch?v=iKyIKozv8a8) [01:32:44] by **Erik Osheim** (2015)
780 | * [Run free with the monads: Free Monads for fun and profit](https://www.youtube.com/watch?v=fU8eKoakd6o) [00:22:11] by **Ken Scrambler** (2015)
781 | * [Simplifying Scala Collections](https://www.youtube.com/watch?v=UBjzbkhvYTU) [00:46:52] by **Bill Venners** (2015)
782 |
783 |
784 | * [How types can turn a SQL interpreter into a SQL compiler](https://www.youtube.com/watch?v=NTAJNYcsAEE) [00:40:31] by **Tiark Rompf** (2014)
785 | * [Scala Collections: Why Not?](https://www.youtube.com/watch?v=uiJycy6dFSQ) [00:45:42] by **Paul Phillips** (beware: not very optimistic!) (2014)
786 | * [Concurrency Anti-Patterns in Scala](https://www.youtube.com/watch?v=dCEZDlH1ygo) [00:29:53] by **Blake Matheny** (2013)
787 | * [Scala Monads: Declutter Your Code With Monadic Design](https://www.youtube.com/watch?v=Mw_Jnn_Y5iA) [00:31:22] by **Dan Rosen** (2012)
788 | * [Scala Versus Java](https://www.youtube.com/watch?v=PKc5IwHG68k) [01:32:35] by **Dan Rosen** (2012)
789 | * [What's Next for Scala](https://www.youtube.com/watch?v=qqQNqIy5LdM) [01:15:06] by **Martin Odersky** (2011)
790 |
791 | #### Scheme
792 | * [The Nanopass Framework as a Nanopass Compiler](https://www.youtube.com/watch?v=lqVN1fGNpZw) [00:52:10] by **Andrew Keep** (2020)
793 | * [miniKanren](https://www.youtube.com/watch?v=5Q9x16uIsKA) [00:46:23] by **Dan Friedman & William Byrd** (2013)
794 | * [Dan Friedman - Cool Ideas](https://www.youtube.com/watch?v=IHP7P_HlcBk) [00:57:00] by **Guy Steele** (2011)
795 |
796 | #### Smalltalk
797 | * [But Really, You Should Learn Smalltalk](https://www.youtube.com/watch?v=eGaKZBr0ga4) [00:28:05] by **Noel Rappin** (2014)
798 |
799 | #### Swift
800 | * [Implementing Swift Generics](https://www.youtube.com/watch?v=ctS8FzqcRug) [00:44:37] by **Slava Pestov** (2017)
801 | * [Controlling Complexity in Swift — or — Making Friends with Value Types](https://realm.io/news/andy-matuschak-controlling-complexity/) [00:57:45] by **Andy Matuschak** (2015)
802 | * [Swift's High-Level IR: A Case Study...](https://www.youtube.com/watch?v=Ntj8ab-5cvE) [00:55:37] by **Joe Groff & Chris Lattner** (2015) [A]
803 | * [Swift Programming Language for JavaScript Developers](https://www.youtube.com/watch?v=nvHFin89pXY) [00:41:19] by **J.P. Simard** (2014)
804 | * [Thinking in Swift](https://vimeo.com/105440181) [00:24:23] by **Abizer Nasir** (2014)
805 |
806 | #### Unison
807 | * [Unison: An Introduction](https://www.youtube.com/watch?v=yicXcdLI2YA) [01:53:49] by **Rúnar Bjarnason** (2020)
808 | * [Introduction to the Unison programming language](https://www.youtube.com/watch?v=rp_Eild1aq8) [00:40:58] by **Rúnar Bjarnason** (2018)
809 | * [The Unison Language and its Scala-based Runtime](https://www.youtube.com/watch?v=knqlWboqf_U) by **Paul Chiusano** (2017)
810 | * [How to write a search engine in 15 lines of code](https://www.youtube.com/watch?v=f6yA3t0dO-k) [00:36:04] by **Paul Chiusano** (2016)
811 |
812 | #### VimL
813 | * [Going mouseless with Vim, Tmux, and Hotkeys](https://www.youtube.com/watch?v=E-ZbrtoSuzw) [00:57:27] by **Leeren Chang** (2018)
814 | * [More Instantly Better Vim](https://www.youtube.com/watch?v=aHm36-na4-4) [00:38:51] by **Damian Conway** (2013)
815 | * [Vim - I Wish I Knew How To :q You](https://www.youtube.com/watch?v=X7lZ8MVGl4A) [00:41:08] by **Chris Maiden** (not really about VimL, more of a general introduction into vim) (2013)
816 | * [Write code faster: expert-level vim](https://www.youtube.com/watch?v=SkdrYWhh-8s) [00:41:09] by **Ben Orenstein** (not really expert level) (2012)
817 |
818 | #### Wolfram Language
819 | * [Inside the Wolfram Language](https://www.youtube.com/watch?v=EjCWdsrVcBM) [01:08:53] by **Stephen Wolfram** (2014)
820 |
821 | #### Zig
822 | * [Zig – a programming language designed for robustness, optimality, and clarity](https://www.recurse.com/events/localhost-andrew-kelley) [00:54:13] by **Andrew Kelley** (2018)
823 |
824 | ### On theory
825 |
826 | #### Compilers/Interpreters
827 | * [Towards a Verified Range Analysis for JavaScript JITs](https://www.youtube.com/watch?v=5tRK5_GPdpM) by **Fraser Brown** (2020) (Paper by Brown et al.)
828 | * [The Z Garbage Collector](https://www.youtube.com/watch?v=7cWiwu7kYkE) [00:37:13] by **Erik Österlund** (2018)
829 | * [Datafun: a functional query language](https://www.youtube.com/watch?v=gC295d3V9gE) [00:42:30] by **Michael Arntzenius** (2017)
830 | * [What Has My Compiler Done for Me Lately? Unbolting the Compiler's Lid](https://www.youtube.com/watch?v=bSkpMdDe4g4) [01:15:45] by **Matt Godbolt** (2017)
831 | * [The Unison Language and its Scala-based Runtime](https://www.youtube.com/watch?v=knqlWboqf_U) [00:45:49] by **Paul Chiusano** (2017)
832 | * [Datafun: A Functional Datalog](https://www.youtube.com/watch?v=p_26-yTUlCU) [00:24:38] by **Michael Arntzenius** (2016)
833 | * [What I learned from LuaJIT](https://www.youtube.com/watch?v=EaLboOUG9VQ) [01:15:42] by **Vyacheslav Egorov** (2016)
834 | * [Bringing Clang and C++ to GPUs: An Open-Source, CUDA-Compatible GPU C++ Compiler](https://www.youtube.com/watch?v=KHa-OSrZPGo) [00:59:33] by **Justin Lebar** (2016)
835 | * [An Introduction to Combinator Compilers and Graph Reduction Machines](https://www.youtube.com/watch?v=GawiQQCn3bk) [00:39:30] by **David Graunke** (2016)
836 | * [Ruby and OMR: Experiments in utilizing OMR technologies in MRI](http://bofh.nikhef.nl/events/FOSDEM/2016/h2213/ruby-and-omr.mp4) [00:45:38] by **Charlie Gracie** (2016)
837 | * [So you want to write an interpreter?](https://www.youtube.com/watch?v=LCslqgM48D4) [00:40:38] by **Alex Gaynor** (2015)
838 | * [The movfuscator](https://youtu.be/2VF_wPkiBJY) [00:49:14] by **Christopher Domas** (2015)
839 | * [Understanding Compiler Optimizations](https://www.youtube.com/watch?v=FnGCDLhaxKU) [01:50:14] by **Chandler Carruth** (2015)
840 | * [Hello Om Next!](https://www.youtube.com/watch?v=xz389Ek2eS8) [01:20:25] by **David Nolen** (2015)
841 | * [Write your own compiler in 24 hours](https://www.youtube.com/watch?v=-E2tu3MqR24) [01:04:07] by **Phil Trelford** (2015)
842 | * [Bits of advice for VM writers](https://www.youtube.com/watch?v=vzzABBxo44g) [00:43:59] by **Cliff Click** (2015)
843 | * [VM Design Choices](https://www.youtube.com/watch?v=BdjcPgIUbnA) [01:01:38] by **Cliff Click** (2015)
844 | * [A VM is a VM is a VM: The Secret Path to High Performance Multi-Language Runtimes](https://www.youtube.com/watch?v=kOnyJurioyw) [00:47:07] by **Mark Stoodley** (2015)
845 | * [Compilers are Databases](https://www.youtube.com/watch?v=WxyyJyB_Ssc) [01:08:51] by **Martin Odersky** (2015)
846 | * [Rise of the Transpilers](https://www.youtube.com/watch?v=DspYurD75Ns) [00:44:00] by **Jeremy Ashkenas** (2015)
847 | * [Instaparse](https://www.youtube.com/watch?v=b2AUW6psVcE) [00:38:38] by **Mark Engelberg** (2014)
848 | * [Superoptimizing LLVM](https://www.youtube.com/watch?v=Ux0YnVEaI6A) [00:49:07] by **John Regehr** (2014)
849 | * [Writing a Nanopass Compiler](https://www.youtube.com/watch?v=Os7FE3J-U5Q) [00:40:48] by **Andy Keep** (2014)
850 | * [Let's Write an Interpreter](https://www.youtube.com/watch?v=RPxvx9OkNic) [00:28:34] by **Ryan Davis** (2013)
851 | * [The Java Virtual Machine is Over - The Polyglot VM is here](https://www.youtube.com/watch?v=OKJgMwTLmEY) [00:51:02] by **Marcus Lagergren** (2013)
852 | * [Implementing Domain Specific Languages with LLVM](https://www.youtube.com/watch?v=1Hwnagof1Wo) [00:50:59] by **David Chisnall** (2013)
853 | * [The Clang AST](https://www.youtube.com/watch?v=VqCkCDFLSsc) [00:44:53] by **Manuel Klimek** (2013)
854 | * [How the PyPy JIT works](https://www.youtube.com/watch?v=NIcijUt-HlE) [00:29:05] by **Benjamin Peterson** (2012)
855 | * [Intel OpenCL SDK Vectorizer](https://www.youtube.com/watch?v=QsoLyvvhRuc) [00:35:45] by **Natav Rotem** (2011)
856 | * [PTX Back-End: GPU Programming With LLVM](https://www.youtube.com/watch?v=Ux3F5MKuPjI) [00:39:34] by **Justin Holewinski** (2011)
857 | * [Parsing with Derivatives](https://www.youtube.com/watch?v=ZzsK8Am6dKU) [01:13:10] by **Matthew Might** (2011)
858 |
859 | #### Computer Graphics and Vision
860 | * [The Glitching Hour](https://www.youtube.com/watch?v=2HoMsbxY9zA) [00:22:17] by **Amy Wibowo** (2018)
861 | * [Simit: A Language for Computing on Sparse Systems when Performance Matters](https://www.youtube.com/watch?v=raPkxhHy5ro) [00:58:37] by **Fredrik Kjolstad** (2016)
862 | * [Making things with maths](https://www.youtube.com/watch?v=Zkx1aKv2z8o) [00:53:45] by **Steven Wittens** (2013)
863 | * [Making WebGL Dance](https://www.youtube.com/watch?v=GNO_CYUjMK8) [00:30:55] by **Steven Wittens** (2013)
864 | * [Principles of Lighting and Rendering](https://www.youtube.com/watch?v=IyUgHPs86XM) [01:31:00] by **John Carmack** (2013)
865 | * [OpenCV and High-Performance Vision on GPU](https://www.youtube.com/watch?v=0CNSCpcKiQ4) [02:24:59] by **Victor Eruhimov** (2012)
866 |
867 | #### Creative Technology
868 | * [The Art of Code](https://www.youtube.com/watch?v=6avJHaC3C2U) [01:00:48] by **Dylan Beattie** (2020)
869 | * [Creative Computation](https://www.youtube.com/watch?v=TeXCvh5X5w0) [00:21:00] by **Jack Rusher** (2019)
870 | * [Mapping Imaginary Cities](https://www.youtube.com/watch?v=Ic_5gRVTQ_k) [00:40:56] by **Mouse Reeve** (2018)
871 | * [Making Games for 1920s Hardware](https://www.youtube.com/watch?v=G9Ho6-01mek) [00:32:21] by **Em Lazer-Walker** (2018)
872 | * [Picasso, Geometry, Jupyter](https://www.youtube.com/watch?v=GYJ77F_8kq0) [00:30:48] by **Ryan Herr** (2018)
873 | * [How to Hack a Painting](https://www.youtube.com/watch?v=5R9eywArFTE) [00:44:58] by **Tyler Hobbs** (2017)
874 | * [The Symmetries of Things](https://www.youtube.com/watch?v=EcjyZAe8irU) [00:26:02] by **Tom Hall** (2017)
875 | * [Programming In Time - Live Coding for Creative Performances](https://www.youtube.com/watch?v=Sg2BjFQnr9s) [00:47:03] by **Andrew Sorensen** (2014)
876 | * [Stop Drawing Dead Fish](https://vimeo.com/64895205) [00:53:32] by **Bret Victor** (2013)
877 |
878 | #### Databases
879 | * [Jepsen 7: Anna Concurrenina](https://www.youtube.com/watch?v=eSaFVX4izsQ) [00:53:06] by **Kyle Kingsbury** (2017)
880 | * [To NoSQL or Not to NoSQL, That Is the Question](https://vimeo.com/132194546) [01:00:48] by **David Ostrovsky** (2015)
881 | * [Transactions: myths, surprises and opportunities](https://www.youtube.com/watch?v=5ZjhNTM8XU8) [00:41:07] by **Martin Kleppmann** (2015)
882 | * [Consistency without consensus in production systems](https://www.youtube.com/watch?v=em9zLzM8O7c) [00:41:09] by **Peter Bourgon** (2014)
883 | * [Cassandra and Go Doubleheader](https://www.youtube.com/watch?v=oEFqxi_n1vU) [00:58:23] by **Kyle Kingsbury & Al Tobey** (this video features two distinct talks, only the first one deals with databases) (2014)
884 | * [Jepsen II: Linearizable Boogaloo](https://www.youtube.com/watch?v=QdkS6ZjeR7Q) [00:44:46] by **Kyle Kingsbury** (2014)
885 | * [An Ode to 17 Databases in 33 Minutes](https://www.youtube.com/watch?v=lzwAJxIESNU) [00:38:12] by **Toby Hede** (2014)
886 | * [Sharding and Scaling Your Database](http://web.archive.org/web/20171024050158/https://www.youtube.com/watch?v=p3ytSdUQZzA) [00:42:53] by **Neha Narula** (2014)
887 | * [Postgres Performance for Humans](https://www.youtube.com/watch?v=MpH8W5hce9I) [00:33:49] by **Craig Kerstiens** (2014)
888 | * [Introduction to NoSQL](https://www.youtube.com/watch?v=qI_g07C_Q5I) [00:54:52] by **Martin Fowler** (2013)
889 | * [The Impedance Mismatch is Our Fault](https://www.infoq.com/presentations/Impedance-Mismatch/) [00:58:31] by **Stuart D. Halloway** (2012)
890 | * [Deconstructing the Database](https://www.youtube.com/watch?v=Cym4TZwTCNU) [01:06:24] by **Rich Hickey** (2012)
891 |
892 | #### Data Science
893 | * [You can't do data science in a GUI](https://www.youtube.com/watch?v=cpbtcsGE0OA) [01:15:18] by **Hadley Wickham** (2018)
894 | * [Expressing complex data aggregations with Histogrammar](https://www.youtube.com/watch?v=mB4Chl0ly-g) [00:35:02] by **Jim Pivarski** (2016)
895 | * [Data as Software as Data](https://www.youtube.com/watch?v=LOMk8TD6l5k) [00:40:27] by **Andrea Burbank** (2016)
896 | * [Sonification: a Battle on Two Fronts](https://www.youtube.com/watch?v=QV9xrr-AlL8) by **Martin Keary** (2018)
897 | * [How a File Format Led to a Crossword Scandal](https://www.youtube.com/watch?v=9aHfK8EUIzg) by **Saul Pwanson** (2019)
898 |
899 | #### Data Structures & Algorithms
900 | * [A CRDT Primer: Defanging Order Theory](https://www.youtube.com/watch?v=OOlnp2bZVRs) [00:37:00] by **John Mumm** (2018)
901 | * [Tree-sitter - a new parsing system for programming tools](https://www.youtube.com/watch?v=Jes3bD6P0To) [00:38:37] by **Max Brunsfeld** (2018)
902 | * [Meetings With Remarkable Trees](https://www.youtube.com/watch?v=cUx2b_FO8EQ) [00:53:29] by **Bodil Stokke** (2018)
903 | * [The simple essence of automatic differentiation](https://www.youtube.com/watch?v=Shl3MtWGu18) [01:01:41] by **Conal Elliott** (2018)
904 | * [Designing a Fast, Efficient, Cache-friendly Hash Table, Step by Step](https://www.youtube.com/watch?v=ncHmEUmJZf4) by **Matt Kulukundis** (2017)
905 | * [Reasoning about performance (in the context of search)](https://www.youtube.com/watch?v=80LKF2qph6I) [00:29:28] by **Dan Luu** (2016)
906 | * [Parsing Text with a Virtual Machine](https://www.youtube.com/watch?v=9Q--oX5muxw) [00:43:53] by **Ghadi Shayban** (2016)
907 | * [Exotic Functional Data Structures: Hitchhiker Trees](https://www.youtube.com/watch?v=jdn617M3-P4) [00:40:32] by **David Greenberg** (2016)
908 | * [Probabilistic Data Structures](https://www.youtube.com/watch?v=F7EhDBfsTA8) [00:38:47] by **James Stanier** (2016)
909 | * [An Overview of Probabilistic Programming](https://www.youtube.com/watch?v=-8QMqSWU76Q) [01:02:54] by **Vikash K. Mansinghka** (I am unsure where to put this) (2015)
910 | * [Hash Functions and You: Partners in Freedom](https://www.youtube.com/watch?v=IGwNQfjLTp0) [00:27:06] by **Curtis Lassam** (2015)
911 | * [Practical Fractals in Space](https://www.youtube.com/watch?v=uEBzS9tpmTo) [00:38:27] by **Michelle Brush** (2014)
912 | * [Persistent Data Structures for Special Occasions](https://www.youtube.com/watch?v=Z_iLjL0mc4I) [00:44:44] by **Michał Marczyk** (2014)
913 | * [Visualizing Persistent Data Structures](https://www.youtube.com/watch?v=2XH_q494U3U) [00:37:24] by **Dann Toliver** (2014)
914 | * [Generic sorting and partitioning in linear time and fully abstractly](https://www.youtube.com/watch?v=sz9ZlZIRDAg) by **Fritz Henglein** (2012)
915 |
916 | #### Debugging
917 | * [The Hurricane's Butterfly: Debugging Pathologically Performing Systems](https://www.youtube.com/watch?v=7AO4wz6gI3Q) by **Bryan Cantrill** (2018)
918 | * [Tackling Concurrency Bugs with TLA+](https://www.youtube.com/watch?v=_9B__0S21y8) [00:30:05] by **Hillel Wayne** (2017)
919 | * [Debugging with the Scientific Method](https://www.youtube.com/watch?v=FihU5JxmnBg) [00:49:08] by **Stuart Halloway** (2015)
920 |
921 | #### DevOps
922 | * [What's Next for DevOps?](https://www.youtube.com/watch?v=_Zydz0__KA8) [00:29:34] by **Emily Freeman** (2021) [A]
923 | * [Pragmatic Automation](https://www.youtube.com/watch?v=oDcjAcFTFC0) [00:24:33] by **Max Luebbe** (2019) [A]
924 | * [The Future Of DevOps](https://www.youtube.com/watch?v=DxirUn56zqc) [00:47:49] by **Adrian Cockcroft** (2016)
925 | * [How Netflix Thinks About DevOps](https://www.youtube.com/watch?v=HmM4V33ReCw) [00:31:10] by **Dave Hahn** (2016)
926 | * [I got 10 trillion problems, but logging ain't one](https://www.youtube.com/watch?v=LA-gNoxSLCE) [00:25:17] by **John Graham-Cumming** (2015)
927 | * [Your infrastructure is not a unique snowflake, and that's ok!](https://www.youtube.com/watch?v=x-zwxuIb1lY) [00:37:39] by **Jeremy Edberg** (2015)
928 | * [Demistifying SNMP](https://www.youtube.com/watch?v=SQlz_Zd6enU) [00:49:19] by **Douglas Mauro** (2015)
929 | * [Salting things up in the sysadmin's world](https://www.youtube.com/watch?v=w1zcUNMwac0) [00:37:21] by **Juan Manuel Santos** (2015)
930 | * [Chef Style DevOps Kungfu](https://www.youtube.com/watch?v=_DEToXsgrPc) [01:16:08] by **Adam Jacob** (2015)
931 |
932 | #### Distributed Systems
933 | * [~~Everything about distributed systems is terrible~~Designing Distributed Systems with TLA+](https://www.youtube.com/watch?v=tfnldxWlOhM) [00:38:25] by **Hillel Wayne** (2018)
934 | * [Send me your Echolocation](https://www.deconstructconf.com/2018/vicky-nguyen-send-me-your-echolocation) [00:26:06] by **Vicky Nguyen** (2018)
935 | * [Load Balancing is Impossible](https://www.youtube.com/watch?v=gas2v1emubU) [00:36:43] by **Tyler McMullen** (2016)
936 | * [Scaling Instagram](https://www.youtube.com/watch?v=oNA2C1vC8FQ) [00:27:13] by **Mike Krieger** (2015)
937 | * [Coordination-Free Computations](https://www.youtube.com/watch?v=AF8fpDzfUOc) [00:46:15] by **Cristopher Meiklejohn** (really fast talker) (2015)
938 | * [Everything Will Flow](https://www.youtube.com/watch?v=1bNOO3xxMc0) by **Zach Tellman** (2015) [A]
939 | * [Jepsen IV: Hope Springs Eternal](https://www.youtube.com/watch?v=dE3KT7hHkKY) [00:54:33] by **Kyle Kingsbury** (2015)
940 | * [Distributed Eventually Consistent Computations](https://www.youtube.com/watch?v=uwpakTIg9r8) [00:49:37] by **Christopher Meiklejohn** (2015)
941 | * [Distributed Systems 101](https://www.youtube.com/watch?v=YAFGQurdJ3U) [00:45:25] by **lvh** (2015)
942 | * [K things I know about building Resilient Reactive Systems](https://www.youtube.com/watch?v=rQIE22e0cW8) [01:00:02] by **Joe Armstrong** (2014)
943 | * [The How and Why of Fitting Things Together](https://www.youtube.com/watch?v=ed7A7r6DBsM) [00:46:39] by **Joe Armstrong** (2013)
944 |
945 | #### Entrepreneurship
946 | * [Improving Yesterday](https://www.youtube.com/watch?v=2mGl66xHIuw) [00:37:57] by **Eric Fode** (2019)
947 | * [How and Why to Start A Startup](https://www.startupschool.org/videos/1) [00:44:42] by **Sam Altman & Dustin Moskovitz** (2017)
948 | * [How to Build a Product (Part IV)](https://www.youtube.com/watch?v=s1Rd4UShDxQ) [00:51:24] by **Jan Koum** (2017)
949 | * [Barely succeed! It’s easier!](https://www.youtube.com/watch?v=5Vt8zqhHe_c) [00:39:22] by **Maciej Cegłowski** (2013)
950 | * [Time Management](https://www.youtube.com/watch?v=oTugjssqOT0) [01:16:21] by **Randy Pausch** (2007)
951 |
952 | #### Functional Programming
953 | * [Why Isn't Functional Programming the Norm?](https://www.youtube.com/watch?v=QyJZzq0v7Z4) [00:46:08] by **Richard Feldman** (2019) [A]
954 | * [What FP can learn from Smalltalk](https://www.youtube.com/watch?v=baxtyeFVn3w) [00:43:36] by **Aditya Siram** (2018)
955 | * [Profunctor Optics: The Categorical Approach](https://www.youtube.com/watch?v=l1FCXUi6Vlw) [00:45:33] by **Bartosz Milewki** (2017)
956 | * [Peeling the Banana: Recursion Schemes from First Principles](https://www.youtube.com/watch?v=XZ9nPZbaYfE) [00:34:21] by **Zainab Ali** (2017)
957 | * [Evolving Functional Programming Languages](https://www.youtube.com/watch?v=sBXF8SG_XNw) by **Erik Osheim** (2017)
958 | * [Functional architecture - The pits of success](https://vimeo.com/180287057) [01:00:10] by **Mark Seemann** (2016)
959 | * [Why Functional Programming Matters](https://www.youtube.com/watch?v=XrNdvWqxBvA) [00:56:09] by **John Hughes** (2016)
960 | * [Denotational Design: From Meanings To Programs](https://www.youtube.com/watch?v=bmKYiUOEo2A) [02:20:35] by **Conal Elliott** (2015)
961 | * [A More Elegant Specification for FRP](https://www.youtube.com/watch?v=teRC_Lf61Gw) [00:29:54] by **Conal Elliott** (2015)
962 | * [The Essence and Origins of Functional Reactive Programming](https://www.youtube.com/watch?v=j3Q32brCUAI) [00:59:24] by **Conal Elliott** (2015)
963 | * [Unconventional Programming with Chemical Computing](https://www.youtube.com/watch?v=cHoYNStQOEc) [00:36:00] by **Carin Meier** (2015)
964 | * [Functional Programming Design Patterns](https://www.youtube.com/watch?v=E8I19uA-wGY) [01:05:43] by **Scott Wlaschin** (2015)
965 | * [Papers We Love: Composable and Compilable Macros](https://www.youtube.com/watch?v=pK2E63mhRxI) [00:54:49] by **Sam Tobin-Hochstadt** (2015)
966 | * [Railway oriented programming: Error handling in functional languages](https://vimeo.com/113707214) by **Scott Wlaschin** (2014)
967 | * [The Functional Final Frontier](https://www.youtube.com/watch?v=DMtwq3QtddY) [00:27:02] by **David Nolen** (2014)
968 | * [Functional Programming; What? Why? When? How?](https://www.youtube.com/watch?v=7Zlp9rKHGD4) [00:58:27] by **Robert C Martin** (2014)
969 | * [Living in a Post-Functional World](https://www.infoq.com/presentations/post-functional-scala-clojure-haskell/) [00:45:46] by **Daniel Spiewak** (2013)
970 | * [Deconstructing Functional Programming](https://www.infoq.com/presentations/functional-pros-cons/) [00:48:33] by **Gilad Bracha** (2013)
971 | * [Functional Principles for Object Oriented Development](https://www.youtube.com/watch?v=pMGY9ViIGNU) [00:51:13] by **Jessica Kerr** (2013)
972 | * [Don't fear the Monad](https://www.youtube.com/watch?v=ZhuHCtR3xq8) [01:07:11] by **Dr. Brian Beckman** (2012)
973 | * [Faith, Evolution, and Programming Languages](https://www.youtube.com/watch?v=8frGknO8rIg) [01:06:54] by **Phillip Wadler** (2012)
974 | * [Adventures in Functional Programming](https://vimeo.com/45140590) [00:50:34] by **Jim Weirich** (2012)
975 | * [Tangible Functional Programming](https://www.youtube.com/watch?v=faJ8N0giqzw) [00:56:25] by **Conal Elliott** (2007)
976 |
977 | #### Game Development
978 | * [Is There More to Game Architecture than ECS?](https://www.youtube.com/watch?v=JxI3Eu5DPwE) [00:23:05] by **Bob Nystrom** (2018)
979 |
980 | #### Hardware
981 | * [A Taste of GPU Compute](https://www.youtube.com/watch?v=eqkAaplKBc4) [01:05:06] by **Raph Levien** (2020)
982 | * [Mill vs. Spectre: Performance and Security](https://www.youtube.com/watch?v=8E4qs2irmpc) [00:46:42] by **Ivan Godard** (2018)
983 | * [eMMC hacking, or: how I fixed long-dead Galaxy S3 phones](https://www.youtube.com/watch?v=OY7OlY0OW2Q) [00:56:07] by **Oran Avraham** (2018)
984 | * [A Crash Course in Modern Hardware](https://www.youtube.com/watch?v=OFgxAFdxYAQ) [00:59:20] by **Cliff Click** (2016)
985 | * [The Future of Microprocessors](https://www.youtube.com/watch?v=_9mzmvhwMqw) [00:46:35] by **Sophie Wilson** (2016)
986 | * [Let's Build a Computer!](https://www.youtube.com/watch?v=uZsiMG7N_B8) [00:29:03] by **Ryan Davis** (2014)
987 |
988 | #### Logic Programming
989 | * [Constraint Logic Propagation Conflict Spreadsheets](https://www.youtube.com/watch?v=voG5-15aDu4) [00:33:50] by **William Taysom** (2015)
990 | * [Web Testing with Logic Programming](https://www.youtube.com/watch?v=ZW2Pl0bIN5U) [00:39:10] by **Daniel Gregoire** (2015)
991 | * [Challenges for Logic Programming](https://www.youtube.com/watch?v=y6WKr9j76kw) [00:40:45] by **Steve Miner** (2013)
992 |
993 | #### Machine Learning
994 | * [Building the Software 2.0 Stack](https://vimeo.com/272696002) [00:30:08] by **Andrej Karpathy** (2018)
995 | * [Machine learning is not the future](https://www.youtube.com/watch?v=3dXQxSI3XDY) [00:38:59] by **Rajat Monga** (2016)
996 | * [Neural Nets for Newbies](https://www.youtube.com/watch?v=g-BJSl4zV_g) [00:30:57] by **Melanie Warrick** (2015)
997 | * [From the Lab to the Factory: Building a Production Machine Learning Infrastructure](https://www.youtube.com/watch?v=v-91JycaKjc) [01:04:27] by **Josh Wills** (2014)
998 | * [The Unreasonable Effectiveness of Deep Learning](https://www.youtube.com/watch?v=sc-KbuZqGkI) [01:07:24] by **Yann LeCun** (2014)
999 | * [The Unreasonable Effectiveness of Data](https://www.youtube.com/watch?v=yvDCzhbjYWs) [01:02:56] by **Peter Norvig** (2011)
1000 | * [Automatic Algorithm Invention with a GPU](https://youtu.be/tQvFZVlM2Gk) [01:02:04] by **Wesley Faler** (2011)
1001 |
1002 | #### Mathematics
1003 | *Those are not necessarily programming-related and possibly very advanced mathematics.*
1004 | * [The Continuum Hypothesis and the search for Mathematical Infinity](https://youtu.be/nVF4N1Ix5WI) [00:55:18] by **W. Hugh Woodin** (2015)
1005 | * [Field of Rationality and Category Theory](https://www.youtube.com/watch?v=jjfE2jTAQrE) [00:44:07] by **Michał Heller** (2015)
1006 | * [Category Theory](https://www.youtube.com/watch?v=o6L6XeNdd_k) [01:36:54] by **Tom LaGatta** (2014)
1007 | * [Constructive Type Theory and Homotopy](https://www.youtube.com/watch?v=4CghfgqnOGQ) by **Steve Awodey** (2010)
1008 |
1009 | #### On Languages
1010 | * [Homoiconicity It Is What It Is](https://www.youtube.com/watch?v=o7zyGMcav3c) [00:30:39] by **Stuart Sierra** (2017)
1011 | * [On Storytelling](https://www.deconstructconf.com/2017/evan-czaplicki-on-storytelling) [00:20:00] by **Evan Czaplicki** (2017)
1012 | * [How we program multicores](https://www.youtube.com/watch?v=bo5WL5IQAd0) [00:58:52] **Joe Armstrong** (2016)
1013 | * [Ideology](https://www.destroyallsoftware.com/talks/ideology) [00:21:23] by **Gary Bernhardt** (2015)
1014 | * [Simplicity is Complicated](https://www.youtube.com/watch?v=rFejpH_tAHM) [00:23:11] by **Rob Pike** (2015)
1015 | * [Programming should eat itself](https://www.youtube.com/watch?v=SrKj4hYic5A) [00:47:40] by **Nada Amin** (2014)
1016 | * [Make Simple Tasks Simple!](https://www.youtube.com/watch?v=nesCaocNjtQ) [01:37:36] by **Bjarne Stroustrup** (2014)
1017 | * [Why C++ Sails When the Vasa Sank](https://www.youtube.com/watch?v=ltCgzYcpFUI) [01:07:03] by **Scott Meyers** (2014)
1018 | * [Running a startup on Haskell](https://www.youtube.com/watch?v=ZR3Jirqk6W8) [00:50:23] by **Bryan O'Sullivan** (2013)
1019 | * [Scaling Yourself](https://www.youtube.com/watch?v=FS1mnISoG7U) [00:28:51] by **Scott Hanselman** (2012)
1020 |
1021 | #### On the Industry/Community
1022 | * [Stop Writing Dead Programs](https://www.youtube.com/watch?v=8Ab3ArE8W3s) [00:43:03] by Jack Rusher (2022)
1023 | * [Dealing with unanticipated needs](https://www.youtube.com/watch?v=xYqWREPb3Lc) [00:47:43] by **Dave Snowden** (2019)
1024 | * [How to be a Happy Developer. Now!](https://www.youtube.com/watch?v=uNq2aFhqOAA) [00:39:32] by **Christian Robert** (2019)
1025 | * [Stewardship Made Practical](https://www.youtube.com/watch?v=GXgbV7jB_Bc) [00:50:35] by **Stuart Halloway**
1026 | * [Shaping our children's education in computing](https://www.youtube.com/watch?v=y-xgWLYQc4g) [00:51:08] by **Simon Peyton Jones** (2018)
1027 | * [Computing, Climate Change, and All of our Relationships](https://www.deconstructconf.com/2018/nabil-hassein-computing-climate-change-and-all-our-relationships) [00:40:33] by **Nabil Hassein** (2018)
1028 | * [The Hard Parts of Open Source](https://www.youtube.com/watch?v=o_4EX4dPppA) [00:47:15] by **Evan Czaplicki** (2018)
1029 | * [Jolly JS Journeys](https://www.youtube.com/watch?v=iGPzwotXgfk) [00:23:02] by **Tim Holman** (2018)
1030 | * [Winning the War on Error: Solving Halting Problem, Curing Cancer](https://www.youtube.com/watch?v=EVkHgKCqAcI) [01:09:38] by **Matt Might** (2017) [A]
1031 | * [Invited Talk](https://www.youtube.com/watch?v=dCuZkaaou0Q) [01:07:21] by **Guy Steele** (2017) (on notation) [A]
1032 | * [Patterns Failed. Why? Should We Care?](https://www.deconstructconf.com/2017/brian-marick-patterns-failed-why-should-we-care) [00:26:40] by **Brian Marick** (2017)
1033 | * [Code Review, Forwards and Back](https://www.youtube.com/watch?v=9qYR0NqsDcA) [00:22:33] by **Sumana Harihareswara & Jason Owen** (2017)
1034 | * [On Abstraction](https://www.youtube.com/watch?v=x9pxbnFC4aQ) [01:00:02] by **Zach Tellman** (2017)
1035 | * [Crossing the River by Feeling the Stones](https://www.youtube.com/watch?v=ek0aWj_rWYs) [00:55:30] by **Simon Wardley** (2017)
1036 | * [Idée Fixe](https://www.youtube.com/watch?v=lzXHMy4ewtM) [00:39:36] by **David Nolen** (2017)
1037 | * [Forget Velocity, Let's Talk Acceleration](https://www.youtube.com/watch?v=Lbcyyu8XB_Y) [00:54:46] by **Jessica Kerr** (2017)
1038 | * [Don’t demo facts. Demo stories!](https://vimeo.com/131632605) [00:57:22] by **Tudor Gîrba** (2016)
1039 | * [Humanizing among coders](https://www.youtube.com/watch?v=npyB5Oz-v-I) [00:41:15] by **Ana Balica** (2016)
1040 | * [extern c: Talking to C Programmers about C++](https://www.youtube.com/watch?v=D7Sd8A6_fYU) [01:36:26] by **Dan Saks** (2016)
1041 | * [“Am I Senior Yet?” Grow Your Career by Teaching Your Peers](https://www.youtube.com/watch?v=jcTmoOHhG9A) [00:37:57] by **Katlyn Parvin** (2016) [A]
1042 | * [It's Simple](https://www.youtube.com/watch?v=a8Re9Cvv6nU) [00:37:35] by **Adrian Cockcroft** (2016)
1043 | * [Software, Faster](https://www.youtube.com/watch?v=USc-yLHXNUg) [00:54:19] by **Dan North** (2016)
1044 | * [How to become a Data Scientist in 6 months - A hacker’s approach to career planning](https://www.youtube.com/watch?v=rIofV14c0tc) [00:56:24] by **Tetiana Ivanova** (2016) [A]
1045 | * [Common pitfalls of junior developers](https://www.youtube.com/watch?v=tYOx8mA5p2c) [00:09:37] by **Rachel Warbelow** (2015) [A]
1046 | * [What can programmers learn from pilots?](https://www.youtube.com/watch?v=we4G_X91e5w) [00:31:07] by **Andrew Godwin** (2015) [A]
1047 | * [PyCon 2015 Keynote](https://www.youtube.com/watch?v=hIJdFxYlEKE) [00:35:51] by **Jacob Kaplan-Moss** (2015)
1048 | * [You are Not an Impostor](https://www.youtube.com/watch?v=l_Vqp1dPuPo) [00:33:02] by **Nickolas Means** (2014) [A]
1049 | * [Being Human](https://www.youtube.com/watch?v=LlO2_GecWo8) [00:19:45] by **Brian J. Brennan** (not technical, but very important) (2014) [A]
1050 | * [Career Advice for Programmers](https://www.youtube.com/watch?v=LlAn452X4Lc) [00:54:18] by **Trisha Gee** (2013)
1051 | * [Patterns in Architecture](https://www.youtube.com/watch?v=98LdFA-_zfA) [01:03:35] by **Christopher Alexander** (2013)
1052 | * [Normal Considered Harmful](https://www.youtube.com/watch?v=FvmTSpJU-Xc) [01:07:26] by **Alan Kay** (2012)
1053 | * [We Really Don't Know How To Compute!](https://www.infoq.com/presentations/We-Really-Dont-Know-How-To-Compute) [01:04:20] by **Gerald Jay Sussman** (2011)
1054 |
1055 | #### Operating Systems
1056 | * [Extended BPF: A new software type](https://www.youtube.com/watch?v=7pmXdG8-7WU) [00:31:03] by **Brendan Gregg** (2019)
1057 | * [Learning the Linux Kernel with tracing](https://www.youtube.com/watch?v=JRyrhsx-L5Y) [01:07:24] by **Steven Rostedt** (2018)
1058 | * [You can be a kernel hacker!](https://www.youtube.com/watch?v=0IQlpFWTFbM) [00:33:31] by **Julia Evans** (2014)
1059 | * [Python, Linkers, and Virtual Memory](https://www.youtube.com/watch?v=twQKAoq2OPE) [00:31:15] by **Brandon Rhodes** (2012)
1060 | * [The Origins of Linux](https://www.youtube.com/watch?v=WVTWCPoUt8w) [1:25:12] by **Linus Torvalds** (2001) [A]
1061 |
1062 | #### Performance Engineering
1063 | * [Performance Matters](https://www.youtube.com/watch?v=r-TLSBdHe1A) [00:42:14] by **Emery Berger** (2019)
1064 | * [Software Performance: A Shape Not a Number](https://www.youtube.com/watch?v=f7HCeE377-0) [00:31:59] by **Kay Ousterhout** (2018)
1065 | * [Xi: an editor for the next 20 years](https://www.recurse.com/events/localhost-raph-levien) [00:53:20] by **Raph Levien** (2018)
1066 | * [Designing for Performance](https://www.youtube.com/watch?v=fDGWWpHlzvw) [00:50:17] by **Martin Thompson** (2015)
1067 |
1068 | #### Programming Language Design
1069 | * [On the Expressive Power of Programming Languages](https://www.youtube.com/watch?v=43XaZEn2aLc) [00:59:03] by **Shriram Krishnamurthi** (2019)
1070 | * [Stuck macros: deterministically interleaving macro-expansion and typechecking](https://www.youtube.com/watch?v=nUvKoG_V_U0) [00:41:55] by **Samuel Gélineau** (2019)
1071 | * [Three Things I Wish I Knew When I Started Designing Languages](https://www.infoq.com/presentations/language-design-process/) [00:44:28] by **Peter Alvaro** (2019)
1072 | * [A Little Taste of Dependent Types](https://www.youtube.com/watch?v=VxINoKFm-S4) [00:38:35] by **David Christiansen** (2018)
1073 | * [A Tale of Two Asyncs: Open Source Language Design in Rust and Node.js](https://www.youtube.com/watch?v=aGJTXdXQN2o) [00:47:24] by **Ashley Williams** (2018)
1074 | * [Four Languages from Forty Years Ago](https://www.youtube.com/watch?v=0fpDlAEQio4) [01:01:45] by **Scott Wlaschin** (2018)
1075 | * [Gradual typing of Ruby at Scale](https://www.youtube.com/watch?v=uFFJyp8vXQI) [00:38:45] by **Dmytro Petrashko & Paul Tarjan** (2018)
1076 | * [Proof Theory Impressionism: Blurring the Curry-Howard Line](https://www.youtube.com/watch?v=jrVPB-Ad5Gc) [00:35:07] by **Dan Pittman** (2018)
1077 | * [Running With Scissors: Live Coding With Data](https://www.youtube.com/watch?v=Qx0-pViyIDU) [00:39:35] by **Stuart Halloway** (2018)
1078 | * [Rust and Other Interesting Things](https://www.youtube.com/watch?v=2wZ1pCpJUIM) [00:37:06] by **Bryan Cantrill** (2018)
1079 | * [Types, and why you should care](https://www.recurse.com/events/localhost-ron-minsky) [01:04:05] by **Ron Minsky** (2017)
1080 | * [Into the Core - Squeezing Haskell into Nine Constructors](https://www.youtube.com/watch?v=uR_VzYxvbxg) [01:07:48] by **Simon Peyton Jones** (2016)
1081 | * [Let's Build a Hygienic Macro Expander](https://www.youtube.com/watch?v=Or_yKiI3Ha4) [00:40:04] by **Matthew Flatt** (2016)
1082 | * [Sketch-n-Sketch: Interactive SVG Programming with Direct Manipulation](https://www.youtube.com/watch?v=YuGVC8VqXz0) [00:40:17] by **Ravi Chugh** (2016)
1083 | * [Make Your Own Programming Language!](https://www.youtube.com/watch?v=DE18fHyZ0GI) [00:26:07] by **Nick Heiner** (2016)
1084 | * [I See What You Mean](https://www.youtube.com/watch?v=R2Aa4PivG0g) [00:52:28] by **Peter Alvaro** (2015)
1085 | * [Everything old is new again: Quoted Domain-Specific Languages](https://www.youtube.com/watch?v=FiflFiZ6pPI) [00:39:06] by **Philip Wadler** (2015)
1086 | * [Syntaxation](https://www.youtube.com/watch?v=Nlqv6NtBXcA) [00:49:39] by **Douglas Crockford** (2015)
1087 | * [Pixie - A Lightweight Lisp with 'Magical' Powers](https://www.youtube.com/watch?v=1AjhFZVfB9c) [00:33:12] by **Timothy Baldridge** (a good intro on tracing JITs) (2015)
1088 | * [Let's be mainstream! User focused design in Elm](https://www.youtube.com/watch?v=oYk8CKH7OhE) [00:58:23] by **Evan Czaplicki** (2015)
1089 | * [Propositions as Types](https://www.youtube.com/watch?v=IOiZatlZtGU) [00:42:42] by **Philip Wadler** (2015)
1090 | * [Eve](https://www.youtube.com/watch?v=5V1ynVyud4M) [00:46:03] by **Chris Granger** (2015)
1091 | * [Papers We Love: Fundamental Concepts in Programming Languages](https://www.youtube.com/watch?v=cO41uoi5cZs) [01:16:39] by **John Myles White** (2015)
1092 | * [The Worst Programming Language Ever](https://www.infoq.com/presentations/worst-programming-language/) [00:43:46] by **Mark Rendle** (there is a bit of static humming in the background and the sound quality is not all that great, but it's worth it) (2015)
1093 | * [Implement an Esoteric Programming Language for Fun](https://www.youtube.com/watch?v=oCPT3L33848) [00:22:16] by **Arne Martin Aurlien** (2014)
1094 | * [The Sociology of Programming Languages](https://www.youtube.com/watch?v=M4Gsl8sVgdQ) [00:42:11] by **Leo Meyerovich** (2014)
1095 | * [Transducers](https://www.youtube.com/watch?v=6mTbuzafcII) [00:45:00] by **Rich Hickey** (2014)
1096 | * [A Dinosaur's Thoughts on Programming Language Evolution](https://www.youtube.com/watch?v=Z9OYc1YYLT4) [00:48:47] by **Matthew Flatt** (2013)
1097 | * [No Ifs, Ands, or Buts: Uncovering the Simplicity of Conditionals](https://vimeo.com/140738254) [00:38:20] by **Jonathan Edwards** (2007)
1098 |
1099 | #### Program Synthesis
1100 | * [Liquid resource types for verification and synthesis](https://www.youtube.com/watch?v=BW3ZDtjD_Yw) [01:05:13] by **Nadia Polikarpova** (2020)
1101 | * [Type-Driven Program Synthesis](https://www.youtube.com/watch?v=HnOix9TFy1A) [00:39:39] by **Nadia Polikarpova** (2018)
1102 | * [Barliman: trying the halting problem backwards, blindfolded](https://www.youtube.com/watch?v=er_lLvkklsk) [00:36:13] by **William Byrd & Greg Rosenblatt** (2016)
1103 |
1104 | #### Research
1105 | * [How to Give a Great Research Talk](https://www.youtube.com/watch?v=sT_-owjKIbA) [00:58:41] by **Simon Peyton Jones** (2016)
1106 |
1107 | #### Robotics
1108 | * [No, Really... Robots and JavaScript?!](https://www.youtube.com/watch?v=3v75aX5-gSA) [00:36:26] by **Raquel Vélez** (2015)
1109 | * [Robots: You're Still Doing It Wrong](https://www.youtube.com/watch?v=gFW0schumkE) [00:49:51] by **Katy Levinson** (not very formal, DefCon) (2012)
1110 |
1111 | #### Security
1112 | * [Lessons From Two Years of Crypto Audits](https://www.youtube.com/watch?v=zNOfXu0n2pg) [00:45:49] by **Jean-Philippe Aumasson** (2020)
1113 | * [DNS, SNI, TLS, HTTPS: Modern DNS & Privacy](https://www.youtube.com/watch?v=pjin3nv8jAo) [00:43:17] by **Bert Hubert** (2019)
1114 | * [No source, no problem! High speed binary fuzzing](https://media.ccc.de/v/36c3-10880-no_source_no_problem_high_speed_binary_fuzzing) by **Nspace & gannimo** (2019)
1115 | * [WebAssembly: A New World of Native Exploits on the Browser](https://www.youtube.com/watch?v=DFPD9yI-C70) [00:45:20] by **Justin Engler & Tyler Lukasiewicz** (2018)
1116 | * [You're Probably Not Red Teaming... And Usually I’m Not, Either](https://www.youtube.com/watch?v=mj2iSdBw4-0) [00:43:43] by **Deviant Ollam** (2018)
1117 | * [GOD MODE UNLOCKED - Hardware Backdoors in x86 CPUs](https://www.youtube.com/watch?v=_eSAF_qT_FY) [00:50:59] by **Christopher Domas** (2018)
1118 | * [Q: Why Do Keynote Speakers Keep Suggesting That Improving Security Is Possible? A: Because Keynote Speakers Make Bad Life Decisions and Are Poor Role Models](https://www.youtube.com/watch?v=ajGX7odA87k) [00:51:21] by **James Mickens** (2018)
1119 | * [Breaking The x86 Instruction Set](https://www.youtube.com/watch?v=KrksBdWcZgQ) [00:44:28] by **Christoper Domas** (2017)
1120 | * [Exploit Kit Cornucopia](https://www.youtube.com/watch?v=s6_faEjf4AQ) [00:45:08] by **Brad Antoniewicz & Matt Foley** (2017)
1121 | * [Ichthyology: Phishing as a Science](https://www.youtube.com/watch?v=Z20XNp-luNA) by **Karla Burnett** (2017) [A]
1122 | * [The Search for the Perfect Door](https://www.youtube.com/watch?v=4YYvBLAF4T8) [00:50:49] by **Deviant Ollam** (2016)
1123 | * [Boot strapping slightly more secure systems](https://media.ccc.de/v/33c3-8314-bootstraping_a_slightly_more_secure_laptop/oembed) [00:47:43] by **Trammell Hudson** (2016)
1124 | * [Repsych: Psychological Warfare in Reverse Engineering](https://www.youtube.com/watch?v=HlUe0TUHOIc) [00:38:48] by **Chris Domas** (2015)
1125 | * [Pulling Back the Curtain on Airport Security: Can a Weapon Get Past TSA](https://www.youtube.com/watch?v=hbqVNlwfjxo) [00:31:52] by **Billy Rios** (2014)
1126 | * [28c3: The Science of Insecurity](https://www.youtube.com/watch?v=3kEfedtQVOY) [00:59:22] by **Meredith L. Patterson, Sergey** (2011)
1127 |
1128 | #### Software Development
1129 | * [Is Software Engineering Real Engineering?](https://www.youtube.com/watch?v=6pO7jT794uc) by **Hillel Wayne** (2023)
1130 | * [Design in Practice](https://www.youtube.com/watch?v=fTtnx1AAJ-c) by **Rich Hickey** (2023)
1131 | * [Intro to Empirical Software Engineering: What We Know We Don't Know](https://www.youtube.com/watch?v=WELBnE33dpY) [00:37:42] by **Hillel Wayne** [A] (2019)
1132 | * [Moldable development](https://www.youtube.com/watch?v=Pot9GnHFOVU) [00:37:48] by **Tudor Gîrba** (2019)
1133 | * [Say What You Mean - Exploring Declarative Computation in Art](https://www.youtube.com/watch?v=HalZfFdWuP4) [00:43:12] by **David Schmudde** (2019)
1134 | * [Sherlock Holmes, Consulting Developer](https://www.youtube.com/watch?v=OUZZKtypink) [00:33:28] by **Stuart Halloway** (2019)
1135 | * [A Philosophy of Software Design](https://www.youtube.com/watch?v=bmSAYlu0NcY) [01:01:39] by **John Ousterhout** (2018)
1136 | * [OOP Is Dead, Long Live Data-oriented Design](https://www.youtube.com/watch?v=yy8jQgmhbAU) [01:00:45] by **Stoyan Nikolov** (2018)
1137 | * [Old Is the New New](https://www.youtube.com/watch?v=AbgsfeGvg3E) [00:50:22] by **Kevlin Henney** (2018)
1138 | * [Polly want a Message](https://www.deconstructconf.com/2018/sandi-metz-polly-want-a-message) [00:40:00] by **Sandi Metz** (2018)
1139 | * [Programming Across Paradigms](https://www.youtube.com/watch?v=Pg3UeB-5FdA) [00:49:07] by **Anjana Vakil** (2017)
1140 | * [TDD, Where Did It All Go Wrong](https://www.youtube.com/watch?v=EZ05e7EMOLM) [01:03:53] by **Ian Cooper** (2017)
1141 | * [You're Insufficiently Persuasive](https://www.youtube.com/watch?v=VzWLGMtXflg) [00:35:37] by **Sandi Metz** (2017)
1142 | * [The Post JavaScript Apocalypse](https://www.youtube.com/watch?v=99Zacm7SsWQ) [00:54:12] by **Douglas Crockford** (2017)
1143 | * [Requests Under The Hood](https://www.youtube.com/watch?v=ptbCIvve6-k) [00:31:37] by **Cory Benfield** (2017)
1144 | * [Things that Matter](https://www.youtube.com/watch?v=3WBaY61c9sE) [01:06:36] by **Scott Meyers** (2017)
1145 | * [The programmer](https://www.youtube.com/watch?v=sVTs4_1ts_c) [01:03:10] by **Kevlin Henney** (2016)
1146 | * [Small Is Beautiful](https://www.youtube.com/watch?v=B3b4tremI5o) [01:07:02] by **Kevlin Henney** (2016)
1147 | * [The Error of Our Ways](https://www.youtube.com/watch?v=IiGXq3yY70o) [00:49:44] by **Kevlin Henney** (2016)
1148 | * [Get a Whiff of This](https://www.youtube.com/watch?v=PJjHfa5yxlU) [00:38:14] by **Sandi Metz** (2016)
1149 | * [Boundaries](https://youtu.be/eOYal8elnZk) [00:30:19] by **Gary Bernhardt** (2015)
1150 | * [Scalable is Awesome, Literally!](https://www.youtube.com/watch?v=iquZl-CUR_U) [00:43:48] by **Garrett Smith** (2015)
1151 | * [Conceptualizing Large Software Systems](https://www.youtube.com/watch?v=2T6Prj82adg) [00:17:17] by **Alan Shreve** (2015)
1152 | * [Microservices @ Spotify](https://www.youtube.com/watch?v=7LGPeBgNFuU) [00:49:07] by **Kevin Goldsmith** (2015)
1153 | * [Apparatus: A Hybrid Graphics Editor / Programming Environment](https://www.youtube.com/watch?v=i3Xack9ufYk) [00:37:56] by **Toby Schachman** (2015)
1154 | * [One Hacker Way](https://www.youtube.com/watch?v=FvMuPtuvP5w) [00:55:36] by **Erik Meijer** (2015)
1155 | * [Big Code: Developer Infrastructure at Facebook's Scale](https://www.youtube.com/watch?v=X0VH78ye4yY) [00:46:21] by **Bryan O'Sullivan, Christian Legnitto & Katie Coons** (2015)
1156 | * [Demystifying Docker](https://www.youtube.com/watch?v=GVVtR_hrdKI) [00:29:53] by **Andrew T. Baker** (2015)
1157 | * [All the Little Things](https://www.youtube.com/watch?v=8bZh5LMaSmE) [00:38:46] by **Sandi Metz** (2014)
1158 | * [Kicking the Complexity Habit](https://www.youtube.com/watch?v=XqgwHXsQA1g) [00:55:30] by **Dan North** (2014)
1159 | * [What does it mean to be Reactive?](https://www.youtube.com/watch?v=sTSQlYX5DU0) [00:46:39] by **Erik Meijer** (2014)
1160 | * [The S.O.L.I.D. Principles of Agile OO Design](https://www.youtube.com/watch?v=QHnLmvDxGTY) [01:23:35] by **Robert C. Martin** (way more interesting than it sounds) (2014)
1161 | * [The Future Doesn't Have to Be Incremental](https://www.youtube.com/watch?v=gTAghAJcO1o) [00:43:50] by **Alan Kay** (2014)
1162 | * [Thinking Above the Code](https://www.youtube.com/watch?v=-4Yp3j_jk8Q) [00:59:51] by **Leslie Lamport** (2014)
1163 | * [CPU Caches and Why You care](https://vimeo.com/97337258) [01:01:55] by **Scott Meyers** (written in C++, reasonable for almost every software developer) (2014)
1164 | * [The Most Important Design Guideline](https://www.youtube.com/watch?v=5tg1ONG18H8) [00:58:42] by **Scott Meyers** (2014)
1165 | * [The Mess We're In](https://www.youtube.com/watch?v=lKXe3HUG2l4) [00:45:50] by **Joe Armstrong** (2014)
1166 | * [Whence Complexity?](https://www.youtube.com/watch?v=l_tULSeO9yg) [00:55:32] by **Michael Nygard** (2013)
1167 | * [The Not-So-Big Software Design](https://www.youtube.com/watch?v=arsK-CN5YDg) [00:47:31] by **Reginald Braithwaite** (2013)
1168 | * [I have a good feeling about this. Why tooling is poised to make the jump to hyperspace](https://www.youtube.com/watch?v=Re2SKhaK73I) [00:43:14] by **Reginald Braithwaite** (2013)
1169 | * [The Future of Programming](https://www.youtube.com/watch?v=8pTEmbeENF4) [00:32:56] by **Bret Victor** (2013)
1170 | * [The Language of the System](https://www.youtube.com/watch?v=ROor6_NGIWU) [01:02:50] by **Rich Hickey** (2013)
1171 | * [Programming is terrible - Lessons learned from a life wasted](https://www.youtube.com/watch?v=csyL9EC0S0c) [01:06:44] by **Thomas Figg** (2013)
1172 | * [A Whole New World](https://www.destroyallsoftware.com/talks/a-whole-new-world) [00:21:20] by **Gary Bernhardt** (2012)
1173 | * [Inventing on Principle](https://vimeo.com/36579366) [00:54:20] by **Bret Victor** (2012)
1174 | * [The Value Of Values](https://www.infoq.com/presentations/Value-Values/) [00:58:53] by **Rich Hickey** (2012)
1175 | * [Hammock Driven Development](https://www.youtube.com/watch?v=f84n5oFoZBc) [00:39:49] by **Rich Hickey** (2012)
1176 | * [Simplicity Matters](https://www.youtube.com/watch?v=rI8tNMsozo0) [00:36:54] by **Rich Hickey** (Simple Made Easy revisited) (2012)
1177 | * [Growing a Language](https://www.youtube.com/watch?v=_ahvzDzKdB0) [00:53:31] by **Guy Steele** (2012)
1178 | * [Architecture the Lost Years](https://www.youtube.com/watch?v=WpkDN78P884) [01:06:38] by **Robert C. Martin** (2011)
1179 | * [Simple Made Easy](https://www.infoq.com/presentations/Simple-Made-Easy/) [01:01:26] by **Rich Hickey** (2011)
1180 | * [Real Software Engineering](https://www.youtube.com/watch?v=NP9AIUT9nos) [00:51:56] by **Glenn Vanderburg** (2010)
1181 | * [Are We There Yet?](https://www.infoq.com/presentations/Are-We-There-Yet-Rich-Hickey/) [01:10:04] by **Rich Hickey** (2009)
1182 | * [SOLID Object-Oriented Design](https://www.youtube.com/watch?v=v-2yFMzxqwU) [00:47:11] by **Sandi Metz** (2009)
1183 |
1184 | #### System Architecture
1185 | * [The Salami Method for Cross Platform Development](https://www.youtube.com/watch?v=ZSpGNiUvXVI) [01:00:16] by **Adi Shavit** (2018)
1186 | * [Four Distributed Systems Architectural Patterns](https://www.youtube.com/watch?v=tpspO9K28PM) [00:50:00] by **Tim Berglund** (2017)
1187 | * [Mastering Chaos - A Netflix Guide to Microservice](https://www.youtube.com/watch?v=CZ3wIuvmHeM) [00:53:13] by **Josh Evans** (2017)
1188 | * [12-Factor Apps and the HashiStack](https://www.youtube.com/watch?v=NVl9cIiPF80) [00:30:39] by **Kelsey Hightower** (2016)
1189 | * [Kill "Microservices" before its too late](https://www.youtube.com/watch?v=-UKEPd2ipEk) [00:39:41] by **Chad Fowler** (2016)
1190 | * [Runtime scheduling: theory and reality](https://www.youtube.com/watch?v=8g9fG7cApbc) [00:42:11] by **Eben Freeman** (2016)
1191 | * [The Power Of UNIX](https://www.youtube.com/watch?v=7uwW20odwEk) [00:30:03] by **Dan North** (2015)
1192 | * [Speed & Scale: How to get there](https://www.youtube.com/watch?v=BeNrVl2_nyI) [01:04:51] by **Adrian Cockcroft** (2014)
1193 | * [Keeping a System Running Forever](https://www.youtube.com/watch?v=cQohRGGqevo) [00:28:06] by **Fred Hebert** (2014)
1194 | * [Narcissistic Design](https://www.youtube.com/watch?v=LEZv-kQUSi4) [00:37:14] by **Stuart Halloway** (2013)
1195 | * [Scalability at YouTube](https://youtu.be/G-lGCC4KKok?t=9m12s) [00:38:43] by **Mike Solomon** (long intro; starts at 9:12 minutes in) (2012)
1196 |
1197 | #### Testing
1198 | * [Backtracking Generators for Random Testing](https://www.youtube.com/watch?v=dfZ94N0hS4I) [01:03:30] by **Benjamin Pierce** (2020) [A]
1199 | * [How to Stop Hating Your Tests](https://www.youtube.com/watch?v=jmPcVTHmdVo) [00:43:38] by **Justin Searls** (2015)
1200 | * [Testing the Hard Stuff and Staying Sane](https://www.youtube.com/watch?v=zi0rHwfiX1Q) [00:47:16] by **John Hughes** (2014)
1201 |
1202 | #### Theoretical Computer Science
1203 | * [Category Theory for the Working Hacker](https://www.youtube.com/watch?v=V10hzjgoklA) [00:50:51] by **Philip Wadler** (2016)
1204 | * [Impossible Programs](https://www.youtube.com/watch?v=hN63FOa_Gp4) [00:50:06] by **Tom Stuart** (2015)
1205 | * [A Lever for the Mind](https://www.youtube.com/watch?v=tJkoHFjoMuk) [00:38:54] by **Tom Stuart** (2015)
1206 | * [Papers We Love: An Axiomatic Basis for Computer Programming](https://www.youtube.com/watch?v=GQi-6-d5ooQ) [01:04:32] by **Jean Yang** (2014)
1207 | * [Lambda Calculus Then and Now](https://www.youtube.com/watch?v=SphBW9ILVPU) [00:30:08] by **Dana S. Scott** (2013)
1208 | * [Turing and the Riemann zeta function](https://www.youtube.com/watch?v=pQS7X_8iTCA) [01:06:54] by **Andrew Odlyzko** (2012)
1209 | * [Programming the Turing Machine](https://www.youtube.com/watch?v=ibRar7sWulM) [01:06:10] by **Barbara Liskov** (2012)
1210 | * [Church's Coincidences](https://www.youtube.com/watch?v=2PJ_DbKGFUA) [01:03:41] by **Philip Wadler** (2012)
1211 |
1212 | #### Type Theory
1213 | * [Type Theory and its Meaning Explanations](https://www.youtube.com/watch?v=xMAqniX2Paw) [00:52:23] by **Jon Sterling** (2015)
1214 | * [Papers We Love: On the Meanings of the Logical Constants and the Justifications of the Logical Laws](https://www.youtube.com/watch?v=xRUPr322COQ) [01:24:37] by **Joseph Abrahamson** (2014)
1215 | * [Papers We Love: The Derivative of a Regular Type is its Type of One-Hole Contexts](https://www.youtube.com/watch?v=K7tQsKxC2I8) [01:06:25] by **Erik Hinton** (2014)
1216 |
1217 | #### UX/UI
1218 | * [Designing GNOME Mobile Apps](https://guadec.ubicast.tv/permalink/v125d0af53a1fipzbiat/) [00:35:48] by **Tobias Bernard** (2019) [[slides](https://github.com/bertob/guadec2019-slides/blob/master/guadec-2019-gnome-mobile-apps.pdf)]
1219 | * [Data Driven UIs, Incrementally](https://www.youtube.com/watch?v=R3xX37RGJKE) [00:36:17] by **Yaron Minsky** (2018)
1220 | * [Choosing Features](https://www.deconstructconf.com/2017/kevin-lynagh-choosing-features) [00:23:52] by **Kevin Lynagh** (2017)
1221 | * [Practical UI physics](https://www.youtube.com/watch?v=90oMnMFozEE) [00:34:12] by **David DeSandro** (2015)
1222 | * [We Will All Be Game Programmers](https://www.youtube.com/watch?v=avwDj3KRuLc) [00:29:34] by **Hunter Loftis** (2015)
1223 | * [User Interface (UX) Techniques](https://www.youtube.com/watch?v=7OSkB4BCx00) [00:51:20] by **Janne Jul Jensen** (2013)
1224 |
1225 | #### Web Development
1226 | * [Accessibility Myths & Solutions](https://www.deconstructconf.com/2018/tea-ho-accessibility-myths-solutions) [00:28:53] by **Tea Ho** (2018)
1227 | * [Implementing and Using GraphQL at GitHub](https://www.youtube.com/watch?v=wPPFhcqGcvk) [00:38:55] by **Kyle Daigle & Dan Schafer** (2016)
1228 | * [The Website Obesity Crisis](https://www.youtube.com/watch?v=iYpl0QVCr6U) [00:53:19] by **Maciej Ceglowski** (2015)
1229 | * [Upgrading the Web](https://www.youtube.com/watch?v=6UTWAEJlhww) [00:41:19] by **Douglas Crockford** (2015)
1230 | * [How NOT to Measure Latency](https://www.youtube.com/watch?v=lJ8ydIuPFeU) [00:42:59] by **Gil Tene** (2015)
1231 | * [How I learned to Code by Making 180 websites in 180 days](https://www.youtube.com/watch?v=QaSbL4sRff8) [00:22:03] by **Jennifer De Walt** (2015)
1232 | * [Immutability: Putting The Dream Machine To Work](https://www.youtube.com/watch?v=SiFwRtCnxv4) [00:22:06] by **David Nolen** (2014)
1233 | * [Hacker Way: Rethinking Web App Development at Facebook](https://www.youtube.com/watch?v=nYkdrAPrdcw) [00:44:36] by **Tom Occhino, Jing Chen & Pete Hunt** (it starts pretty slow and marketingy, but gets much better over time) (2014)
1234 | * [React: RESTful UI Rendering](https://www.youtube.com/watch?v=IVvHPPcl2TM) [00:36:15] by **Pete Hunt** (2014)
1235 | * [Unlock the next era of UI development with Polymer](https://www.youtube.com/watch?v=HKrYfrAzqFA) [00:41:31] by **Rob Dodson** (2014)
1236 | * [Parallax Performance](https://www.youtube.com/watch?v=R6TXuXV1bbY) [00:32:01] by **Paul Irish** (2014)
1237 | * [Delivering the goods](https://www.youtube.com/watch?v=R8W_6xWphtw) [00:23:25] by **Paul Irish** (2014)
1238 | * [Virtual Machines, JavaScript and Assembler](https://www.youtube.com/watch?v=UzyoT4DziQ4) [00:25:57] by **Scott Hanselman** (2014)
1239 | * [Life is Terrible: Let's Talk About the Web](https://vimeo.com/111122950) [00:32:07] by **James Mickens** (2014)
1240 | * [The Birth & Death of JavaScript](https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript) [00:28:44] by **Gary Bernhardt** (2014)
1241 | * [C10M - Defending The Internet At Scale](https://youtu.be/73XNtI0w7jA) [00:47:53] by **Robert Graham** (2013)
1242 | * [React: Rethinking best practices](https://www.youtube.com/watch?v=x7cQ3mrcKaY) [00:29:32] by **Pete Hunt** (2013)
1243 | * [An End to Negativity](https://www.youtube.com/watch?v=17rkSdkc5TI) [00:27:26] by **Chris Williams** (2013)
1244 | * [Community.js](https://www.youtube.com/watch?v=23Yxji-tEfc) [00:21:40] by **Chris Williams** (2013)
1245 | * [Hey Underscore, You're Doing It Wrong!](https://www.youtube.com/watch?v=m3svKOdZijA) [00:36:31] by **Brian Lonsdorf** (2013)
1246 | * [Go To There and Back Again](https://vimeo.com/78893726) [00:49:06] by **Douglas Crockford** (2013)
1247 | * [HTML5 Boilerplate](https://www.youtube.com/watch?v=qyM37XKkmKQ) [01:04:20] by **Paul Irish** (2011)
1248 |
1249 | ### Miscellaneous
1250 | * [Preventing the Collapse of Civilization](https://www.youtube.com/watch?v=ZSRHeXYDLko) [01:02:41] by **Jonathan Blow** (2019)
1251 | * [Start With Just a Few Things](https://www.youtube.com/watch?v=eF_Z0A86oQk) [00:09:54] by **Max Hallinan** (2019)
1252 | * [Improper Hierarchy](https://www.deconstructconf.com/2018/tom-murphy-vii-improper-hierarchy) [00:34:26] by **Tom Murphy VII.** (2018)
1253 | * [It’s super effective! Solving Pokemon Blue with a single, huge regular expression](https://www.youtube.com/watch?v=n-HTvjIueX0) [00:13:57] by **Alex Clemmer** (2018)
1254 | * [Let’s Program a Banjo Grammar](https://www.deconstructconf.com/2018/ryan-herr-lets-program-a-banjo-grammar) [00:35:54] by **Ryan Herr** (2018)
1255 | * [Soul from Scratch: Designing a More Portable Organ](https://www.youtube.com/watch?v=wqS93Cgjvyw) [00:37:59] by **Peter Teichman** (2018)
1256 | * [I Don’t Have Time For This](https://www.deconstructconf.com/2017/aaron-patterson-i-dont-have-time-for-this) [00:31:22] by **Aaron Patterson** (2017)
1257 | * [RailsConf 2017: Keynote](https://www.youtube.com/watch?v=GnCJO8Ax1qg) [00:50:31] by **Aaron Patterson** (2017)
1258 | * [Mob Programming A Whole Team Approach](https://vimeo.com/241193517) [00:37:25] by **Woody Zuill** (2017)
1259 | * [LIGO: The Dawn of Gravitational Wave Astronomy](https://www.youtube.com/watch?v=qSlwRwFsUOI) [00:56:17] by **Jameson Rollins** (2016)
1260 | * [Juggling Patterns and Programs](https://www.youtube.com/watch?v=TqG176T69VM) [00:48:50] by **Steve Miner** (2016)
1261 | * [African Polyphony & Polyrhythm](https://www.youtube.com/watch?v=EK4qctJOMaU) [00:41:49] by **Chris Ford** (2016)
1262 | * [A Brief History of Time](https://www.youtube.com/watch?v=WoUn2XQvGDw) [00:45:17] by **Fred Hebert** (2016)
1263 | * [Complexity and the Art of the Left Turn](https://www.youtube.com/watch?v=bSfe5M_zG2s) [00:52:05] by **K Lars Lohn** (2016)
1264 | * [A Programmer’s Guide To Western Music](https://www.youtube.com/watch?v=xpSYWd_aIiI) [00:42:13] by **Andrew Sorensen** (2015)
1265 | * [Kolmogorov music](https://www.youtube.com/watch?v=Qg3XOfioapI) [00:42:05] by **Cristopher Ford** (2015)
1266 | * [Well I Wouldn't Want To Make a \*Dys\*functional Game](https://www.youtube.com/watch?v=TDDJsKLUh1Y) [00:18:17] by **Morgan Mullaney** (2015) [A]
1267 | * [You Suck at Excel](https://www.youtube.com/watch?v=0nbkaYsR94c) [00:54:00] by **Joel Spolsky** (2015)
1268 | * [Stop Treading Water: Learning to Learn](https://www.youtube.com/watch?v=j0XmixCsWjs) [00:40:58] by **Edward Kmett** (2014)
1269 | * [Madam Sandi Tells Your Future](https://www.youtube.com/watch?v=JOM5_V5jLAs) [00:38:13] by **Sandi Metz** (2014)
1270 | * [Software Development Lessons from the Apollo Program](https://www.youtube.com/watch?v=hrsT9wmPVoo) [00:29:59] by **Julian Simioni** (2014)
1271 | * [States and Nomads: Handling Software Complexity](https://www.youtube.com/watch?v=KGaFcI2UNrI) [00:29:54] by **Zach Tellman** (2015)
1272 | * [Clojure: Programming with Hand Tools](https://www.youtube.com/watch?v=ShEez0JkOFw) [00:58:38] by **Tim Ewald** (2014)
1273 | * [How To Shut Down Tolkien](https://www.youtube.com/watch?v=qVlqBxpCG24) [00:42:41] by **Brandon Rhodes** (2014)
1274 | * [Linux Sucks - 2014](https://www.youtube.com/watch?v=5pOxlazS3zs) [00:44:59] by **Bryan Lunduke** (2014) [A]
1275 | * [To the Moon!](https://www.youtube.com/watch?v=4Sso4HtvJsw) [00:52:43] by **Russ Olsen** (2013)
1276 | * [DjangoCon EU 2013 Keynote](https://www.youtube.com/watch?v=yvMWUGx7Fx8) [00:31:10] by **Brandon Rhodes** (2013)
1277 | * [It's not what you read, it's what you ignore](https://www.youtube.com/watch?v=IWPgUn8tL8s) [01:01:52] by **Scott Hanselman** (2012)
1278 | * [WAT](https://www.destroyallsoftware.com/talks/wat) [00:04:17] by **Gary Bernhardt** (2012)
1279 | * [Linus Torvalds on git](https://www.youtube.com/watch?v=4XpnKHJAok8) [01:10:15] by **Linus Torvalds** (2007) [A]
1280 |
1281 | ## Contributing
1282 |
1283 | Generally, a lot of talks are welcome on this list. The topic does not matter too much - it
1284 | should be linked to Computer Science - but the format does. Talks are welcome if
1285 | * they were recorded at a conference or meetup (i.e. no screencasts or vlogging)
1286 | * they are awesome™!
1287 |
1288 | I hope that is straightforward, understandable and makes sense.
1289 |
1290 | When adding a new section/subsection or entry, please try to ensure it's sorted accordingly:
1291 |
1292 | * The two top-level sections (Languages and Theory) have their subsection headings organised alphabetically (`APL` > `VimL`).
1293 |
1294 | * The Languages subsections are sorted ascending by year (last field), then alphabetically by title. For example, an entry with `(2012)` should be below one with `(2017)` regardless of title; entries from the same year are then alphabetised within each year-group.
1295 | * Groups of years are separated from one another by `
\n` (`
` followed by an empty line), except if a group would contain only a few (<= 3) talks and it is near another small group, in which case small adjacent year-groups are consolidated. An entry or two might also be included in an adjacent larger year-group iff the entries have different years.
1296 |
1297 | * The Theory subsections are sorted only ascendingly by year, with no attention to title, and no grouping by year.
1298 | * It doesn't matter where in a group of same-year-talks a specific (added) talk goes.
1299 |
--------------------------------------------------------------------------------
/scripts/add_years.py:
--------------------------------------------------------------------------------
1 | """
2 | A script for generating upload date years for videos by scraping
3 | metadata with youtube-dl.
4 |
5 | You must have 'youtube-dl' available and installed.
6 |
7 | Written by Casey Link (https://github.com/ramblurr)
8 | based on duration script by Bruno Thalmann (https://github.com/thalmann).
9 | """
10 | import requests
11 | import re
12 | import optparse
13 | from subprocess import check_output
14 | from urllib.parse import parse_qs
15 |
16 |
17 | def get_number_of_lines(file_name):
18 | with open(file_name, 'r') as f:
19 | # no really, this is somehow faster than sum()
20 | return len([l for l in f])
21 |
22 |
23 | def has_youtubedl():
24 | try:
25 | check_output(['youtube-dl', '--help'])
26 | return True
27 | except FileNotFoundError:
28 | return False
29 |
30 |
31 | def get_release_year(link):
32 | try:
33 | response = check_output(['youtube-dl',
34 | link,
35 | '--skip-download',
36 | '--get-filename',
37 | '-o "%(release_date)s|%(upload_date)s"']
38 | ).decode('utf-8').strip()
39 | release, upload = response.split("|")
40 | if release != '"NA':
41 | return release[:4]
42 | if upload != 'NA"':
43 | return upload[:4]
44 | except Exception as e:
45 | return None
46 |
47 |
48 | def print_year(year):
49 | return ' (%s)' % (year.strip())
50 |
51 |
52 | def handle_log(log):
53 | print('Done!')
54 | if not log:
55 | print('Everything went well!')
56 | else:
57 | print('\n'.join(log))
58 |
59 |
60 | def main():
61 | parser = optparse.OptionParser('usage%prog -f ')
62 | parser.add_option('-f', dest='input_file', type='string',
63 | help='specify input file')
64 |
65 | (options, args) = parser.parse_args()
66 | input_file = options.input_file
67 |
68 | if not has_youtubedl():
69 | print('error: you do not have youtube-dl available')
70 | return
71 |
72 | log = []
73 |
74 | number_of_lines = get_number_of_lines(input_file)
75 | with open(input_file, 'r+') as f:
76 | data = f.read()
77 | new_data = []
78 | for i, line in enumerate(data.split('\n'), 1):
79 | print('Parsing line: ' + str(i) + ' of ' + str(number_of_lines))
80 | has_been_added_earlier = re.findall('\(\d\d\d\d\)', line)
81 | if has_been_added_earlier:
82 | new_data.append(line)
83 | print(line)
84 | else:
85 | url_match = re.findall('(http[s]?://\S+)\)', line)
86 | if url_match:
87 | link = url_match[0]
88 | year = get_release_year(link)
89 | if year:
90 | new_line = line
91 | new_line += print_year(year)
92 | new_data.append(''.join(new_line))
93 | print(''.join(new_line))
94 | else:
95 | new_data.append(line)
96 | log.append('Failed: to get year for ' + link)
97 | else:
98 | new_data.append(line)
99 | f.seek(0) # set file cursor to start of file
100 | f.write('\n'.join(new_data))
101 | handle_log(log)
102 |
103 |
104 | if __name__ == '__main__':
105 | main()
106 |
107 |
--------------------------------------------------------------------------------
/scripts/add_youtube_durations.py:
--------------------------------------------------------------------------------
1 | """
2 | A script for generating durations for Youtube videos.
3 |
4 | Written by Bruno Thalmann (https://github.com/thalmann).
5 | """
6 | import requests
7 | import re
8 | import optparse
9 |
10 | from urllib.parse import parse_qs
11 |
12 | def load_youtube_api_key():
13 | try:
14 | return open('youtube_api_key.txt', 'r').read().strip()
15 | except:
16 | print('Add a file called youtube_api.txt and insert a youtube API key.')
17 | print('A youtube API key can be obtained at: https://console.developers.google.com.')
18 | exit(1)
19 |
20 | def get_number_of_lines(file_name):
21 | with open(file_name, 'r') as f:
22 | # no really, this is somehow faster than sum()
23 | return len([l for l in f])
24 |
25 | def get_duration(json_video):
26 | hours = 0
27 | minutes = 0
28 | seconds = 0
29 | s = json_video['items'][0]['contentDetails']['duration']
30 | match = re.match(r'PT([0-5]?[\d])M([0-5]?[\d]?)S?', s)
31 | if match:
32 | items = match.groups()
33 | minutes = items[0]
34 | seconds = items[1]
35 | else:
36 | match_with_hours = re.match(r'PT([\d]?[\d])H([0-5]?[\d]?)M?([0-5]?[\d]?)S?', s)
37 | if match_with_hours:
38 | items = match_with_hours.groups()
39 | hours = items[0]
40 | minutes = items[1]
41 | seconds = items[2]
42 |
43 | return hours, minutes, seconds
44 |
45 | def print_duration(duration):
46 | hours = duration[0] or 0
47 | minutes = duration[1] or 0
48 | seconds = duration[2] or 0
49 | return ' [%02d:%02d:%02d]' % (hours, minutes, seconds)
50 |
51 | def handle_log(log):
52 | print('Done!')
53 | if not log:
54 | print('Everything went well!')
55 | else:
56 | print('\n'.join(log))
57 |
58 | def main():
59 | youtube_api_key = load_youtube_api_key()
60 |
61 | parser = optparse.OptionParser('usage%prog -f ')
62 | parser.add_option('-f', dest='input_file', type='string', help='specify input file')
63 | (options, args) = parser.parse_args()
64 | input_file = options.input_file
65 |
66 | log = []
67 |
68 | number_of_lines = get_number_of_lines(input_file)
69 | with open(input_file, 'r+') as f:
70 | data = f.read()
71 | new_data = []
72 | for i, line in enumerate(data.split('\n'), 1):
73 | print('Parsing line: ' + str(i) + ' of ' + str(number_of_lines))
74 | # FIXME: Assumes that no two videos have the exact same length
75 | has_been_added_earlier = re.findall('\[\d\d:\d\d:\d\d\]', line)
76 | if has_been_added_earlier:
77 | new_data.append(line)
78 | else:
79 | youtube_match = re.findall('http[s]?://www.youtube.com/watch\?v\=[a-zA-Z0-9_-]+', line)
80 | if youtube_match:
81 | link = youtube_match[0]
82 | video_id = parse_qs(link.split('?')[1]).get('v')
83 | try:
84 | r = requests.get('https://www.googleapis.com/youtube/v3/videos?key=' + youtube_api_key + '&part=contentDetails&id=' + video_id)
85 | except:
86 | log.append('The request to the youtube API went wrong. Video id: ' + video_id + '. Youtube api key: ' + youtube_api_key + '.')
87 | duration = get_duration(r.json())
88 | new_line = re.split('(\))', line)
89 | new_line[1] += print_duration(duration)
90 | new_data.append(''.join(new_line))
91 | print(''.join(new_line))
92 | else:
93 | new_data.append(line)
94 | f.seek(0) # set file cursor to start of file
95 | f.write('\n'.join(new_data))
96 | handle_log(log)
97 |
98 | if __name__ == '__main__':
99 | main()
100 |
--------------------------------------------------------------------------------