Joe Armstrong, one of the inventors of Erlang, discusses the current state of computers and programming languages, and the challenges that we face in trying to use, maintain, and extend them — while making them scalable and fault tolerant. He mentions Erlang, but most of his talk is spent describing the issues facing modern software engineers, with a strong emphasis on the amazing complexity that arises from putting modern computing power on people’s desks.