Friday 26 April 2013

"Give up; don't even try to understand this"

Trying something different here on the blog: shorter, unresearched posts that are too long to do justice to on Twitter.  This will hopefully inspire me to start turning the many draft posts into completed output and post far more frequently despite paper deadlines trying to persuade me not to waste any time researching a blog post.


Here is a deeply troubling meme/joke used by a lot of writers in the gaming enthusiast press from time to time, this time as written by Adam Smith (emphasis mine):
The post about how the AI for individual settlers function is a great insight as well, even if it does contain actual lines of code and therefore frightens my simple mind.
"Oh no, computer code! Too much for my brain to read!"  I've bumped into exactly the same sentiment when people are linking to very basic proofs that use the standard mathematical terminology (sometimes nothing more than a few ∀ and ∃).  I've even had some lectures where maths was being spoken to people outside of the discipline but still subject adjacent (Computer Science for example) to the depth that full proofs were being provided but were being written out in plain English rather than with symbols, presumably to provide a wider base; but this was a class being taught advanced concepts that would require outside reading which is full of the standard symbols.  It is always better to explain on the first use if you feel you need to ease people into something potentially new rather than try to step around standard form to try and broaden a highly technical talk.

The code in the article Smith links to requires the understanding of objects with dot methods and parameters, methods outside of this calling convention, and if/else clauses.  I would hope a rigorous secondary school syllabus that prepares students for the world would contain a lot more programming knowledge than this but even if people came through before CompSci was taught then this is not rocket science.  In fact this is really good stuff to be able to parse as a technical writing style.  I start one of my talks by saying that to get to higher tiers of education you have to have been able to deal with English, so you already know how to work within the constraints of a grammar far more complicated than any programming language I'm going to show you, and you have to have made it through mathematics, so you had to work out manually applying algorithms to generate results with things like long division and I'm not expecting anyone to manually iterate over any of my code in exact detail to keep up.  So I am not expecting anyone to reach beyond skills they would expect someone who is in their early teens to command.  If you don't tune out then we can look at some cool code together and if you get confused then just ask me and we'll make sure you're following.  It's not a perfect open, but at least it tries to cut through this 'turn off at the first sign of technical' dismissal of things the audience hasn't already seen.  The entire point of spreading ideas is that not everyone in the audience has seen everything already, if you have the you probably don't need to be there.

Going back to the post about AI linked to, the surrounding text even does a fine job of making the code less daunting to someone who has no idea of anything outside prose English.  The main hurdles to understanding the piece are in fact the technical terms used in that very text, not the code blocks.  State machines, FIFO... you don't need to know the terms to read it but calling out the use of some very simple (pseudo)code is missing the actual challenge of passing on that message to someone unfamiliar with computing.  A bit of Google/Wikipedia will hopefully catch people up or send them on a deep dive into learning about some potentially fascinating topics but the same can be said of occasionally reaching for the dictionary when reading anything and this nicely wraps into a (less than usually) rickety analogy (my favourite tool when grumpy about something):

Imagine if writers linked to an article but warned you away in such a jokey, 'this is above you and you shouldn't even try to understand it' way because it is full of long words you might possibly need to look up due to an overenthusiastic use of an English degree or dictionary reading obsession.  I'm sure we all have favourite authors and journalists who may have a bit too much love of the flowery language or straight up arcane word use in places.  Maybe they just like to mix it up or maybe they do want the precise meaning their unusual choice describes but you don't often see people prefacing links with a warning that a quick online dictionary check may be required and that said author doing the linking was to simple to possible manage with comprehending the text.


You may have noticed that even when I try to avoid writing for more than a few minutes, my keyboard loves the abuse.  This post has not been edited to the same standards as before so I apologise for any lost meaning from a dyslexic slip here and there into an incorrect word use.