In general, I was quite happy with the talks. I didn’t read any of the proceedings ahead of time and aside from a couple of talks, that didn’t hinder my ability to follow what was going on. Most of the presentations were enjoyable and there were only a few moments where my mind wandered into “please end this person’s presentation misery” territory.

One talk that stuck with me, in a good way, was Stefan Karpinski’s keynote on Julia. It addresses something that has always been a pebble in my programming language shoe: numbers. Do they have to be entirely intrinsic? No. I’ve seen this before, but it was great to see how Julia attacks it. I really like its approach.

The talk did reaffirm my love/hate relationship with live coding during a presentation. Although mostly canned, there were still those debugging moments and other small disorienting things. It came dangerously close to being a window into someone’s coding session instead of a demonstration.

Another idea that connected with me was James Anderson’s somewhat confrontational idea of inferring system descriptions (pdf). I’ve always appreciated attacks on sacred cows and he was unafraid to ask why we are writing system descriptions at all. Build systems and dependency management has always been a fascinating bugbear for me and I’d love to try a different approach. James’ idea of making the Lisp system spit out the dependencies seems like something worth trying.

The standout talk for me was Christian Schafmeister’s talk about CANDO, not only due to the technical content, but the infectious enthusiasm of the presentation itself. CANDO is a system for creating and working with molecules using Clasp, which is a version of Common Lisp on LLVM – the thing I’m working on these days – that makes interoperating with C++ seamless. Dr. Schafmeister has been working for a long time on this and it shows. This is a project I’d like to work on.