The best teacher I had in graduate school spent the whole semester destroying any beliefs we had about computing. He was a real iconoclast. He happened to be a genius, so we took it. At the end of the course, we were free because we didn’t believe in anything. We had to learn everything, but then he destroyed it. He wanted us to understand what had been done, but he didn’t want us to believe in it.

Alan Kay

Here are some talks which have given me new insight into programming, and in particular what good programming is and isn’t.

Mike Acton: Data-orientated Design

Setting the record straight on three big lies:

Jonathan Blow: How to program independent games

One of the most important metrics to optimize for is hours of your life spent programming something. You have a finite amount of hours in your life after all, which you’d surely like to spend on other things too.

Eskil Steenberg: How I program in C

In the beginning all you want is results, in the end, all you want is control

Rich Hickey: Hammock Driven Development

Your most powerful problem solver is your subconscious mind.

Rich Hickey: Simple Made Easy

Simple is not the same as easy. Don’t confuse them.

Rich Hickey: The Value of Values

The value of values

Brian Will: Why OOP is Bad

Almost everything that’s interesting in a non-trivial program are ‘cross-cutting’ concerns. When faced with the reality of real word programs, promises of encapsulation tend to be broken, and object graphs quickly become tangled webs.

Abner Coimbre: What Programming is Never About

The emphasis of programming should be on solving problems, and not on the code itself.

Scott Meyers - CPU Caches and Why You Care

Iterating over a two dimensional array by row is much faster than by column.

Jeff and Casey Show: The Evils of Non-native Programming

We always hear arguments for Garbage Collection, and Virtual Machines, but what about the counter arguments?

Jeff and Casey’s Guide to Becoming a Bigger Programmer

A strong emphasis on being a critical thinker, and making sure that the code practices that you adopt actually benefit you.

Hadi Hariri: The Silver Bullet Syndrome

A depressing tour of the software industry, and it’s quest for the silver bullet.

Papers and Articles

Fred Brooks: No Silver Bullet - Essence and Accident in Software Engineering

The timeless classic. Also in HTML