Just wanted to say that this was just one of many great presentations at the Clojure/conj!
* Christophe Grand's gave a fantastic presentation called
(not= DSL macros) http://vrac.cgrand.net/DSL.pdf (PDF).
* Zachary Tellman's lightning talk on Aleph was eye-opening
(evented programming using sequence abstractions!).
* Alex Miller's preso on extending zipper functionality to records,
http://tech.puredanger.com/2010/10/22/zippers-with-records-in-clojure/
* Chris Houser's finger trees adds a useful new persistent data structure
to Clojure's arsenal http://github.com/Chouser/talk-finger-tree/tree/
Rich Hickey gave a particularly provoking talk that directly attacks our programming culture that focuses too much on rapid iteration, immediate tactics, and testing. He argues strongly for considered design, deep contemplation, thorough research, and most importantly working without a computer (preferably lying in a hammock :)
re: working away from a computer: fundamentally important to do. Even for small code modules, I like to sit someplace comfortable with a pad and pen and make short notes that I use while coding.
This look pretty neat (although you have to fast-forward the "animations"...), but two things are not clear to me: 1) I see some fine-grained data decompositions, but what about coarse tasks when the overhead is high? 2) I've never looked into Clojure so far (sorry :) but how does this compare to OpenMP(I)? Or even with Python's parallel processing capacities, how much performance difference would be between, e.g., a C oMP and Clojure parallel processing implementation have? Or to Python's multiprocessing.JoinableQueue and Manager? Would it be worth the switch?