Here’s a collection of talks or articles that I really enjoy.
Joe Duffy describes the error model in an experimental programming language that he worked on. Starts off by describing different ways that programming languages give programmers to express and deal with errors. He discusses the pros and cons of each strategy, and then goes on to describe how they designed around those problems to create something truly unique.
A concept talk where the presenter pretends to be giving a talk in 1973 about exciting things that are happening in programming. The twist is that most of the things he is discussing never really came to fruition and he expresses his frustration that they were never fully adopted.
Weaveworks describes how they designed their infrastructure to store everything as source code. THIS IS EXACTLY WHAT I WANT TO BUILD. I hate hate hate how irreproducable most of infrastructure is. I would love to have a system like this where everything is stored as source code.
Guy Steele gives a talk where he is not allowed to use a word until he has defined it in terms of words he is already allowed to use. He does this parallel how programmers have to build large structures out of small pieces, but by structuring them properly can make the job easier.
A talk on how to design for unexpected bugs and conditions. Given in the context of the Erlang/OTP ecosystem, includes a very detailed section on a thought experiment to do with each project. Draw out the dependencies of each part of your service, and ask “How do I want the system to behave if each fails?” This seems obvious, but thinking of things in the context of OTP supervision trees and how they respawn processes might be a big benefit even to projects that don’t use OTP.
Rich Hickey (creator of Clojure) describes the difference between ‘simple’ and ’easy’ and explains how developers should strive to make things simple, even if that isn’t the easy way to do things.
A talk on how Erlang’s design choices can make it easier to design resilient systems, once you grasp the actor model and the “Let It Crash” philosophy. I’ve never used Erlang, but this talk makes me really want to.