One of the curious little themes of this years conference was brains. What are they? How do they work? Can we monkey with them?
In my session on iterators, in amongst all the stuff about how badly most libraries are designed (if indeed they are designed) and blurred language/library boundaries, I talked explicitly about the Sapir-Whorf hypothesis. Basically, the Sapir-Whorf hypothesis says that the language you speak shapes your habitual thoughts. I was arguing that we shouldn't let the programming language and libraries we use blind us to alternative ways of expression. In the particular case of iterators, it was ok to write our own and we didn't have to rely solely on the standard library, because the standard library was actually holding us back. I should have laboured on that a bit more I think, because it's something that stands repeating.
Anyway, so I'd spent a bit of time talking about how our brains work. Phil Nash did a terrific session on a grab-bag of neuro-linguistic programming and cognitive psychology techniques. Identifying focus, how to trigger states of mind, speed reading, and so on. It was great, really enjoyable. In his endnote Dan Saks, one of C++'s bigger brains, talked about truthiness. Of course the term truthiness was coined as part of a satirical attack on Republicans in general and President Bush in particular, but it does capture quite an important idea - that people will prefer the to following their feeling about something over the objective reality. Saks illustrated this with examples from his congressional election campaign, and a discussion about the preferable placing of the C++ const keyword. He made an interesting and important point I think, and it's a shame the following discussion focussed rather tightly on const rather than on the significance of his argument on programming in the round.
Enthused by all this brain talk, I ordered the first two pop-sci cognitive psychology books I could think of; Mind Hacks and Mind Performance Hacks. The former is about how the brain works, while the latter is about using your own brain better. Mind Hacks is enjoyable and easy reading. I took over some code which was originally, I believe, co-written by one of the Mind Hacks co-authors. I like the book better :)