How can you take advantage of today’s multicore systems? Write concurrent programs, of course. But that requires all sorts of tricks and cleverness, such as locking and mutexes. In this talk, two well-known computer scientists (Simon Peyton-Jones and Tim Harris) outline “software transactional memory” — the idea that as with databases, programs can offer transactional access to data. STM is used in Clojure and Haskell to avoid concurrency problems, and its proponents say that it solves many of the problems associated with traditional threading and locking.