Hello dear, this got stuck in drafts, but I'm happy to finish it finally :-)
As I said, I've got a number of different thoughts I'd love to have in the mix. Do with them what you want, I hope they are useful.
I love the thought of the gnomes and making IT tangible through liberal anthropomorphizing. I think you know of Scandinavia and The World comic and maybe Hetalia, that could provide some inspiration.
ComputerCraft EDU v2 (version 2 has the simplified GUI) is very cute. Combining programming with Minecraft is a pretty promising environment to learn programming: http://youtu.be/ADTb6ifxWxw
When I searched for Curly Bracket ( http://curlybracket.se/ ) I found a pretty fun series from Swedish Radio P1: http://sverigesradio.se/sida/avsnitt?programid=4741
Currently I am reading Kevin Kelly's "What technology wants", and while it is true all technology and science is "building on the shoulders of giants" it becomes devastatingly clear it is the case with code. Increasingly, the features, the size of your lego blocks so to say, grow. Especially since the rise of github, pastebin and stackoverflow (each of these merit their own essays you may read if you want to, here's a tweet: https://twitter.com/haoel/status/695490584325152768 ), public collaboration is always too big to ignore. Incidentally, intense communication through tools like Slack is also essential. Unless you're one of the best coders in the world, writing any substantial amount of code yourself is usually the wrong solution.
Anyway, I've thought about tech development a lot, combined with the nature of work. Most colleagues study outside of work hours to be able to do the work. I have some productivity addiction, which gets weird when it's some sort of knowledge you're producing, not chairs or whatever. If I could just replicate work I've done over and over, or even teach it, it would be so efficient. But I'm forced to learn new things to keep up with development, reaching higher and higher levels of abstraction. Because this discrepancy, doing dishes will always take effort, teaching a team git gets easier but learning new always take great mental effort, I've sketched a way of thinking of effort using different currencies, like time, money cost, experience required and mental effort (mana). So I'm a pretty high level IT wizard who can do a lot at even no cost, but it will cost time and mana. Also I get a specialization penalty for low mana tasks.
One concept important to systems and software development is the ability to assemble (and to take apart again). Many systems are like dolls, ready assembled and you won't open or change them. Open software however at most comes partially assembled (legs, hands, whatever, parts always being reused for other models) but you will have the sourcecode available and there are distributions that are made to be automatically assembled only on your computer. Back around 2000 getting a Linux system to work could take several days or weeks, but now I spawn new computers several times per day. It has led to the expression "treat your servers like cattle, not pets", because if one misbehave you should be able to put it down and reproduce it from source. This beautiful process of bootstrapping never seize to amaze me and tools like autoconf, automake, gcc and yum make it happen.
Finally, I feel like I have studied too much. The accreditation of a masters degree ( https://www.dropbox.com/s/2gkmeerhiq9rtds/Official_transcript_of_records-CJ_Sveningsson.pdf?dl=0 ) is a terribly inefficient way to weed out who is fit for the job, especially since there are now MOOC trainings for most thinkable subjects, not rarely for free. I believe that while excellent in parts, for many jobs, the significance of university education will diminish in favor of more efficient qualifiers. However, while I have all this knowledge and experience, I have a passion to make the best use of it and enable others. Any way you can think of to take part in that would be pretty awesome.
Good night, hugs CJ
Sent from my iPad