My spare cognitive capacity for the forseeable future will be on buffer overruns. I just saw a hunk of code which struck me as truly spectacular, in a number of ways, and it occurred to me that there is some kind of fundamental barrier here. I don’t think there’s been any time in the last fifteen years where I could possibly have made that mistake. I’m alert to this in some kind of structural way; that particular subclass of errors just leaps out at me.
So I’m messing with concepts about how to explain buffer overruns, data validation, and so on. Thing is, we have plenty of solid explanations of this. So the problem isn’t that these concepts aren’t understood; it’s that the understanding isn’t being presented in a way that lets newbies get it.
Currently leaning towards doing something with comic graphics, perhaps to do with our friend Mister Buffer, who ends every example with tire tracks on him.