Awesome & interesting talks about programming

Overview

Programming Talks

I watch a lot of talks that I love to share with my friends, fellows and coworkers. As I consider all GitHubbers my friends (oh yeah!), I decided it's time to share the list.

There are talks on programming language specifics as well as a more general section I call "theory". But don't expect to always get theoretical computer science for every talk there; most of them are on the architecture and design of software.

I welcome every contribution to the list; for guidelines look below.

Disclaimer: I did not give any of the talks on the list and am responsible neither for their content nor for their presentation. All links below will direct you to external sites (mostly YouTube, really), be aware of that. If you are one of the people responsible for the talks or the platform presenting it and want it removed, tell me and I'll sort it out with you.

[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.

Names to look out for

To make choosing the right speakers a tad easier, let me give you a quick overview over my favourite speakers in no particular order:

  • Scott Meyers (C++): Scott Meyers is one of the most entertaining and knowledgeable speaker when it comes to all things C++. His talks cover a variety of topics, from type inference to API design and cache lines.
  • Rich Hickey (Clojure): I am not a Clojure programmer, but I like reasoning about and building programming languages. Even if you don't, Rich Hickeys talks are inspiring and thought-provoking. Whenever he talks about the fundamentals of programming and reasoning, you are sure to learn a ton. Oh, and if you program in Clojure, you have no excuse for not watching this guy speak.
  • Reginald Braithwaite (JavaScript): one of my favourite JavaScript speakers. He also has a variety of talks on my list, but is more true to his realm (JavaScript) than most of the other speakers on my list.
  • David Nolen (Clojure/Clojurescript): The core maintainer of Clojurescript. His talks mostly focus on immutability and share a bit of their structure. He doesn't get boring, though, and is another very smart person with deep insights in such fields as immutability.
  • David Beazley (Python): The person who singlehandedly made me a Pythonista. Need I say more? He has a lot of low-level knowledge about Python and makes poking at the Python interpreter seem more fun than it actually is.
  • Joe Armstrong (Erlang): One of the few people I actually had the chance to see live already. He is a funny, witty and smart guy and if you want to learn about Erlang, watch his talks. Most of his talks are also very beginner-friendly.
  • Brandon Rhodes (Python): Yet another Pythonista. His talks are enjoyable, enlightening and his way of talking is just enjoyable - you might think that is secondary, but it is really important. His talk on Tolkien is one of the most enjoyable diversions on this list (and a bit off-topic, mind you).
  • Aaron Patterson (Ruby): Probably the most entertaining speaker on the list. As a core developer of both Ruby and Rails, he works close to the heart of the Ruby community.
  • Philip Wadler (Haskell, Theory, ...): Incredibly knowledgeable gentleman. If you use generics in Java, you owe that to him. If you use Haskell and/or monads, you probably already know him, but in case you do not, try to change that fact. He makes theoretical computer science more approachable than it actually is, and that is a good thing.
  • Zach Tellman (Clojure, Theory): Another person in the Clojure landscape with interesting, important insights that do not only apply to Clojure. His talks on theory should inspire you to think more deeply about what you are doing, which is probably the most important thing to take away from anything ever.

Contents

On Programming Languages

Alpaca

APL

Assembly

Bash

C

Clojure







C++







Crystal

CSS

(yeah, I know, stylesheets are not traditionally programming)

D

Elixir





Elm

Erlang





F#

Factor

Frege

Go






Hackett

Haskell





Idris

Java & Android




JavaScript

(There is a good list of talks about JS to be found here)





Julia




Lisp

Objective C

OCaml

Prolog

PureScript

Python

(There is a good list of talks about Python to be found here)








Racket

Ruby






Rust




Scala



Scheme

Smalltalk

Swift

Unison

VimL

Wolfram Language

Zig

On theory

Compilers/Interpreters

Computer Graphics and Vision

Creative Technology

Databases

Data Science

Data Structures & Algorithms

Debugging

DevOps

Distributed Systems

Entrepreneurship

Functional Programming

Game Development

Hardware

Logic Programming

Machine Learning

Mathematics

Those are not necessarily programming-related and possibly very advanced mathematics.

On Languages

On the Industry/Community

Operating Systems

Performance Engineering

Programming Language Design

Program Synthesis

Research

Robotics

Security

Software Development

System Architecture

Testing

Theoretical Computer Science

Type Theory

UX/UI

Web Development

Miscellaneous

Contributing

Generally, a lot of talks are welcome on this list. The topic does not matter too much - it should be linked to Computer Science - but the format does. Talks are welcome if

  • they were recorded at a conference or meetup (i.e. no screencasts or vlogging)
  • they are awesome™!

I hope that is straightforward, understandable and makes sense.

When adding a new section/subsection or entry, please try to ensure it's sorted accordingly:

  • The two top-level sections (Languages and Theory) have their subsection headings organised alphabetically (APL > VimL).

  • 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.

    • Groups of years are separated from one another by <br>\n (<br> 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.
  • The Theory subsections are sorted only ascendingly by year, with no attention to title, and no grouping by year.

    • It doesn't matter where in a group of same-year-talks a specific (added) talk goes.
Comments
  • [WIP] More deliberate sorting

    [WIP] More deliberate sorting

    2 main things are happening in this pull / branch:

    • Sorting each section by year
    • For groups of talks of the same year in a section, they're alphabetised

    the added whitespace within sections is to break up large year-groups, so a few talks from similar years won't get spaced apart but big blocks of years with many talks will get spaced.

    of course, feel free to say "no! stop!" to any (or all) of those things, but I think they are together an improvement to readability and find-ability.


    I am not adding any talks or removing dead links here, but I have removed one talk that was duplicated in the list, and adding years where talks are missing them

    • I am doing this by hand, to prevent myself spending time on a script or tool to help (for now)

    • That means there will be mistakes in the alphabetisation (grepping the years is easy, remembering the alphabet is hard ;) (deciding how symbols should sort vs letters without sort is also hard)

    • Because I am rewriting basically the entire file I will not merge upstream/master or add talks until the last commit, where I'll add all the talks upstream/master has added at once, but only those that are in master

    I might decide to note at the top of the file that the sorting should be preserved, but I don't know

    and of course, i've only done a few sections so far so it's far from ready but ready for discussion

    opened by catb0t 25
  • Mike Acton and other

    Mike Acton and other "Data-Oriented" talks

    A lot of the thought in the Clojure circles can be considered "Data-oriented", but that's usually from a very high-level perspective. Mike Acton gives a talk where explores similar ideas, but at the opposite extreme -- e.g. considering "how many bytes of this L1 cache read were actually useful?", etc. Really interesting!

    https://www.youtube.com/watch?v=rX0ItVEVjHc

    I then found an entire list of "Data-oriented" talks. Do you also include links to other "talks" lists?

    https://github.com/dbartolini/data-oriented-design

    opened by pepasflo 9
  • Dead links: Dependently typed functional programming in Idris

    Dead links: Dependently typed functional programming in Idris

    Here are the exercises / slides from David Christiansen but the same links are dead links. https://github.com/david-christiansen/IdrisAtGalois2015

    I think Galois' entire Vimeo channel was removed or made private, as it seems to no longer exist (or has only 5 videos on it, compared to dozens of talks they've hosted).

    It's very unfortunate and I wish I could keep a copy of all the videos on the list, but I haven't got the disk space.

    We could replace it with (mirrored) versions of Edwin Brady's 3 lectures on the same topic with a similar title, https://vimeo.com/61576198 (although I do like Christiansen)

    They are uploaded on his account and listed on the Idris website, https://www.idris-lang.org/dependently-typed-functional-programming-with-idris-course-videos-and-slides/

    So maybe they are less susceptible to disappearing.

    Any ideas?

    opened by catb0t 6
  • round-up of additions, re-organise a few things

    round-up of additions, re-organise a few things

    Round-up commit of talks I forgot I watched recently, but didn't add!

    • new programming language: Factor, with 1 talk by its founder Slava Pestov

    • 2 new Swift talks, from Apple engineers: Slava Pestov and another (former?) Factor maintainer Joe Groff

      • the other Swift talk had a time not in the format [00:00:00] so I fixed it
    • Teensy ELF Executable is real interesting and has a funny presenter, the talk is actually about making tiny ELF files and not so much about x86 assembly although it's in x86 assembly, it's mostly about messing with ELF files.

    • Torvalds' "Origins of Linux" is really informative about the early development (better than trying to understand from many mailing lists), maybe there should be an "Operating Systems" or "Linux" section?

    • Deviant Ollam's talks, both about security probably shouldn't be in Misc :P

    • final two on Glitching and Performance, from the same recent conference just recommended to me on YouTube

    opened by catb0t 6
  • Under which section should this talk go?

    Under which section should this talk go?

    I'm really enjoying (and still watching...) Breaking The x86 Instruction Set by Christoper Domas (https://www.youtube.com/watch?v=KrksBdWcZgQ). It was presented at Black Hat USA 2017, and it's 44:28 long.

    It's about hacking and messing with Intel's 8086 instruction set architecture (ISA) so it goes under hardware, but it's also about security, debugging, system architecture, etc.

    Which section do you think fits it best?

    opened by catb0t 6
  • HTTPS-ify a dozen, deduplicate 3, add 1

    HTTPS-ify a dozen, deduplicate 3, add 1

    My commit comments and diffs fully explain the changes. Feel free to approve/reject any subset.

    Thanks for your work in maintaining this collection of links to educational resources.

    opened by nayuki 5
  • Fixing inter-year-group spacing

    Fixing inter-year-group spacing

    closes #69

    New format noted in the contrib paragraph, and I changed <chrono> to &lt;chrono&gt; because GH Markdown sees it as a HTML tag when there is <br> in the file.

    Check the rich diff and you'll see what I mean.

    opened by catb0t 4
  • Date on videos

    Date on videos

    I could go through the videos and get the date for each of them. It usually helps to know how old a video/topic discussed is.

    The addition of new links should have a requirement of having the date in the title

    opened by pixelgrid 4
  • Dead Link

    Dead Link

    Reactive Programming Overview [00:09:18] by Jafar Husain (very concise and dense) (2014)

    The link for the above talk is dead. Is there another place it is hosted?

    opened by dcmoore 3
  • Report broken link

    Report broken link

    Concurrency Is Not Parallelism [00:31:22] by Rob Pike (2013) talk in Go language programming section is no longer accessible via the link provided in this repo. It would be best to update the link or remove the entry from list

    opened by tatticoder 3
  • Would this talk be welcome?

    Would this talk be welcome?

    I did this talk at a Rust meeting here in Austin, but it was not recorded there, so I repeated it on twitch the next day. Not sure if it adheres to the spirit of the rules. It is a talk on how to use SIMD intrinsics, with Rust, though applicable to C/C++ as well.

    https://www.youtube.com/watch?v=4Gs_CA_vm3o

    opened by jackmott 3
Owner
Veit Heller
o quam cito transit gloria mundi
Veit Heller
Lookup for interesting stuff in SMB shares

SMBSR - what is that? Well, SMBSR is a python script which given a CIDR/IP/IP_file/HOSTNAME(s) enumerates all the SMB services listening (445) among t

Vincenzo 112 Dec 15, 2022
Advent of Code is an Advent calendar of small programming puzzles for a variety of skill sets and skill levels that can be solved in any programming language you like.

Advent Of Code 2021 - Python English Advent of Code is an Advent calendar of small programming puzzles for a variety of skill sets and skill levels th

Coral Izquierdo Muñiz 2 Jan 9, 2022
🏆 A ranked list of awesome Python open-source libraries and tools. Updated weekly.

Best-of Python ?? A ranked list of awesome Python open-source libraries & tools. Updated weekly. This curated list contains 230 awesome open-source pr

Machine Learning Tooling 2.7k Jan 3, 2023
This repository is an archive of emails that are sent by the awesome Quincy Larson every week.

Awesome Quincy Larson Email Archive This repository is an archive of emails that are sent by the awesome Quincy Larson every week. If you fi

Sourabh Joshi 912 Jan 5, 2023
Participants of Bertelsmann Technology Scholarship created an awesome list of resources and they want to share it with the world, if you find illegal resources please report to us and we will remove.

Participants of Bertelsmann Technology Scholarship created an awesome list of resources and they want to share it with the world, if you find illegal

Wissem Marzouki 29 Nov 28, 2022
A curated list of awesome things related to Pydantic! 🌪️

Awesome Pydantic A curated list of awesome things related to Pydantic. These packages have not been vetted or approved by the pydantic team. Feel free

Marcelo Trylesinski 186 Jan 5, 2023
laTEX is awesome but we are lazy -> groff with markdown syntax and inline code execution

pyGroff A wrapper for groff using python to have a nicer syntax for groff documents DOCUMENTATION Very similar to markdown. So if you know what that i

Subhaditya Mukherjee 27 Jul 23, 2022
A Curated Collection of Awesome Python Scripts

A Curated Collection of Awesome Python Scripts that will make you go wow. This repository will help you in getting those green squares. Hop in and enjoy the journey of open source. ??

Prathima Kadari 248 Dec 31, 2022
An awesome script to convert the University Of Oviedo web calendar to Google or Outlook calendars.

autoUniCalendar Un script en Python para convertir el calendario de la intranet de la Universidad de Oviedo en un calendario de Outlook o Google Calen

Bimo99B9 14 Sep 28, 2022
Python with braces. Because Python is awesome, but whitespace is awful.

Bython Python with braces. Because Python is awesome, but whitespace is awful. Bython is a Python preprosessor which translates curly brackets into in

null 1 Nov 4, 2021
Awesome open-source alternatives to SaaS

Awesome-oss-alternatives - Awesome list of open-source startup alternatives to well-known SaaS products

Runa Capital 12.7k Jan 3, 2023
Integration between the awesome window manager and the firefox web browser.

Integration between the awesome window manager and the firefox web browser.

contribuewwt 3 Feb 2, 2022
Awesome Casino is simple offline casino made on python.

Awesome-Casino Awesome Casino is simple offline casino made on python. I found bug, what can i do? If you find any bug or want to suggest any idea, al

Herman 1 Feb 4, 2022
An awesome list of AI for art and design - resources, and popular datasets and how we may apply computer vision tasks to art and design.

Awesome AI for Art & Design An awesome list of AI for art and design - resources, and popular datasets and how we may apply computer vision tasks to a

Margaret Maynard-Reid 20 Dec 21, 2022
Short, introductory guide for the Python programming language

100 Page Python Intro This book is a short, introductory guide for the Python programming language.

Sundeep Agarwal 185 Dec 26, 2022
《practical python programming》的中文翻译

欢迎光临 大约 25 年前,当我第一次学习 Python 时,发现 Python 竟然可以被高效地应用到各种混乱的工作项目上,我立即被震惊了。15 年前,我自己也将这种乐趣教授给别人。教学的结果就是本课程——一门实用的学习 Python的课程。

编程人 125 Dec 17, 2022
Source code for Learn Programming: Python

This repository contains the source code of the game engine behind Learn Programming: Python. The two key files are game.py (the main source of the ga

Niema Moshiri 25 Apr 24, 2022
Rick Astley Language is a rick roll oriented, dynamic, strong, esoteric programming language.

Rick Roll Language / Rick Astley Language A rick roll oriented, dynamic, strong, esoteric programming language. Prolegomenon The reasons that I made t

Rick Roll Programming Language 658 Jan 9, 2023
sawa (ꦱꦮ) is an open source programming language, an interpreter to be precise, where you can write python code using javanese character.

ꦱꦮ sawa (ꦱꦮ) is an open source programming language, an interpreter to be precise, where you can write python code using javanese character. sawa iku

Rony Lantip 307 Jan 7, 2023