Thirty one years ago I typed tic tac toe code, found at the back of a computer magazine, into my VIC 20. I didn’t understand the code but I felt wizardly when the game popped up on the living room TV. Thirteen years later I would code my own tic tac toe game for the first time while learning to build Microsoft Access apps during my coding internship at MTS. I added the game as an easter egg to the time tracking app I built for the MTS Solutions Group.
All were written as code kata in the name of learning through experimentation. Sketching with code.
“This kind of coding as thinking out loud is known in the Agile methodology as a spike. It is meant to be as informal as possible. It’s the equivalent of whiteboarding. And just as whiteboarding sometimes leads to a formal solution, sometimes it’s benefit is in quickly and simply framing a problem. Coding allows us to whiteboard directly with data.”
Sam’s talk is embedded below. Worth the watch if you’re into such things as digital literacy in libraries, agency through computational thinking, formalism vs hermeneutics, amateurism, openness and pedagogy. ლ(´ڡ`ლ)
Sam’s talk got me thinking about how I learned to program computers. It also got me thinking about the privilege of having spent three decades thinking in code. I was fortunate to have access to a computer from a young age, with leisure time for computational tinkering, encouraging parents, friends, teachers and mentors. The gender, race and class issues present in the tech world have not been working against me.
Sketching with code. As an IT educator I’ve tried to balance the strict formalism required by technology with an informal exploratory approach to learning.
Sketching with empathy. To better serve all my students a recognition of privilege must also inform my teaching practice.
* * *
I read fifteen books this past year. Ten less than 2014, four less than in 2013, three less than in 2012, and one less than in 2011. All fifteen books were read in deadtree format. Fourteen of them were fiction. One was non-fiction.
As you’ll see at the end of this post, my drop in book consumption can be attributed to my new found love of podcasts.
Books Read in 2015
- On Beauty - Zadie Smith
- Howards End - E. M. Forster
- Dune - Frank Herbert
- The Mandala of Sherlock Holmes - Jamyang Norbu
- East of Eden - John Steinbeck
- The Player of Games - Iain M. Banks
- Death of an Expert Witness - P.D. James
- Idlewild - Nick Sagan
- Never Let Me Go - Kazuo Ishiguro
- Dune Messiah - Frank Herbert
- Geek Sublime - Vikram Chandra
- Power and the Glory - Graham Greene
- Harry Potter and the Goblet of Fire - J. K. Rowling
- NW - Zadie Smith
- The Valkyries - Paulo Coelho
Read in that order. No incompletes this year. The majority of these books were really great.
Top Three Books in 2015
“I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. And when it has gone past I will turn the inner eye to see its path. Where the fear has gone there will be nothing. Only I will remain.”
Publish 50 years ago, this sci-fi novel set 21,000 years in the future, has aged incredibly well.
Politics, religion, ecology, philosophy… Dune has it all. Forget top books of 2015, I’d say this would be one of my favourite books of all time. If forced to find fault, I’d point to sexism: The Bene Gesserit, a matriarchal order, develop a breeding program to produce the Kwisatz Haderach, a male Bene Gesserit who, being male, can do what they cannot do, can see what they cannot see.
“The American Standard translation orders men to triumph over sin, and you can call sin ignorance. The King James translation makes a promise in ‘Thou shalt,’ meaning that men will surely triumph over sin. But the Hebrew word, the word timshel —'Thou mayest'— that gives a choice. It might be the most important word in the world. That says the way is open. That throws it right back on a man. For if 'Thou mayest’ — it is also true that 'Thou mayest not.’”
This book came highly recommend by Sam and it did not disappoint. The characters (even the minor ones) felt so real, their struggles so familiar.
Oh, the things we do for love (or the lack of).
“All children have to be deceived if they are to grow up without trauma.”
What would you do to preserve the innocence of a group of children shuned by the rest of society? A melancholy story about purpose, love and mortality. Like Ishiguro’s The Remains of the Day (one of my top three from 2014) it’s also about memory and denial.
This book left me feeling sad and protective. Protective of my children but also of the entire human race. And that’s a weird feeling.
I don’t want to say much more, because spoilers, but I really enjoyed how well the author captured the way children see and interpret the adult world.
Podcasts in 2015
2015 was the year I discovered podcasts, which is why I read far fewer books this year. I listened to hundreds of hours worth of podcasts throughout the year. The podcasts I’ve been listening to, in alphabetical order, split into non-techical and coding categories:
General Interest Podcasts
- Invisibilia - The invisible forces that control human behavior – ideas, beliefs, assumptions and emotions.
- The Longest Shortest Time - The parenting show for for everyone.
- Media Nerds / Starwards Nerds - Fellow RRC instructors Kenton and Dan talk media and Star Wars.
- Mystery Show - A podcast where Starlee Kine solves mysteries.
- Philosophy Bites - Top philosophers interviewed on bite-sized topics.
- Public Philosopher - Harvard political philosopher Michael Sandel examines the thinking behind a current controversy.
- Radiolab - A show about curiosity.
- Reply All - A show about the internet.
- Song Exploder - Musicians take apart their songs, and piece by piece, tell the story of how they were made.
- Start Up - what it’s really like to get a business off the ground.
- Think Again - Surprising the smartest people you know with ideas they’re not prepared to discuss.
- This American Life - Themed story-driven journalism.
Programming Related Podcasts
- Giant Robots Smashing into other Giant Robots - Another thoughtbot podcast, this one is being less technical and lately more about product management / product marketing.
- Ruby Rogues - My favourite programming podcast. Panel discussions and interviews about coding in Ruby and beyond.
- This Developer’s Life - What’s it like to be a developer? This is the podcast that got me into podcasts!
Top Three Podcast Episodes
The story of a blind man who says expectations have helped him see. Literally, see.
A young boy finds an enchanting object in the street.
Reply All - #36 Today’s The Day.
PJ and Alex go outside. I highly recommend listening to episodes 1 through 35 first for context.
Audio Lectures and Audio Book in 2015
I only completed one set of audio lectures in 2015, but it was a doozy, a 42 hour review of Western philosophy. I also listend to the ebook version of Thinking, Fast and Slow, which was an amazing look at how we othen place too much faith in human intuition.
Coding is hard because it’s two things:
- Expressing ideas in the rigid syntax & grammar of a formal language.
- Problem solving.
While learning to code we often focus too much on the first. This is also true while teaching others to code.
This fall I’m going to highlight problem solving while teaching my intro programming courses. Below you will find some of the problem solving strategies I may adapt for my students.
Solving Problems in Five Acts
- Define the Problem
- Let it Simmer
- Plan a Solution
- Carry out the Plan
FOWL Problem Solving
Figure out What You’re Being Asked
Organize the Presented Data
Work out the Problem
Look Over Your Answer
George Pólya’s Problem Solving Techniques
- Understand the Problem
- Devise a Plan
- Carry out the Plan
- Look Back
How do you solve problems?
On reviewing this post Sam suggested emphasising hypothesis and testing when teaching these strategies. I agree that formulating a hypothesis during planning makes room for false starts, while testing adds rigure to the self-assesment of the “Look Back”/Reflect phases. The wonderful part about making these two steps explicit is that we now have something akin to the scientific method:
- Statement of the problem.
- Hypotheses as to the cause of the problem.
- Experiments designed to test each hypothesis.
- Predicted results of the experiments.
- Observed results of the experiments
- Conclusions from the results of the experiments.
Language geek note: The word solve comes from the Latin solvo, to loose an object bound, to release, set free, disengage, dissolve, take apart.
Related Posts on StungEye:
- A Scientific Approach to Debugging - March 2013
- Self-Assessment While Learning to Code - February 2013
- Coding Challenges in the Classroom - May 2011
I read twenty-five books this past year. Six more than 2013, seven more than in 2012, and nine more than in 2011. Only one of the books was read on my Kobo, the rest were deadtree. Nine of them were non-fiction and sixteen of them were fiction.
Fiction Read in 2014
- Heart of Darkness - Joseph Conrad
- Good Omens - Terry Pratchett and Neil Gaiman
- An Instance of the Fingerpost - Iain Pears
- System of the World - Neal Stephenson
- Saturday - Ian McEwan
- The Tesseract - Alex Garland
- Harry Potter and the Philosophers Stone - J. K. Rowling
- The Remains of the Day - Kazuo Ishiguro
- Name of the Wind - Patrick Rothfuss
- Colour of Magic - Terry Pratchett
- The Samurai’s Garden - Gail Tsukiyama
- The Circle - Dave Eggers
- Steppenwolf - Hermann Hesse
- Harry Potter and the Chamber of Secrets - J. K. Rowling
- A Prayer for Owen Meany - John Irving
- Story of Your Life and Others - Ted Chiang - Incredible “sci-fi” short stories. I’ve put sci-fi in quotes, ‘cause they are so much more than that.
Read in that order. No duds this year, although I’ve got two incompletes:
- The Difference Engine by Sterling & Gibson
- Friend, Follow, Text - Short stories about online culture.
I can normally savour a slow journey but Sterling & Gibson’s creation story for the Steampunk genre lost my interest. The stories in Friend, Follow, Text were harshing my mellow, so I’ve taken a break.
Top Three Fiction Reads
We are a story we tell ourselves, parts of which we try to forget. A gentleman butler of World Ward Two-era Britain remembers so much but admits so little.
This book was full of comments penciled in by a previous reader that shaped the way I interpreted the story.
A murder at Oxford in the 1660s told four times by four unreliable narrators. Each telling reveals more details and yet introduces more bias.
Shares many historical characters with Stephenson’s The System of the World (up next). It also shares this theme:
Early science is messy and pious. Early medical science more so.
I feel like I know Isaac Newton, Gottfried Leibniz, Caroline of Ansbach and the rest of them. I feel like I’ve witnessed the Great Plague, London’s Great Fire, the end of Britain’s Stuart Dynasty, and the birth of modern thinking in science, religion, politics, and business.
I know I shouldn’t trust these feeling but I do.
Some 300 years ago Newton discovered a new System of the World. The predictive power of his three laws of motion made credible the scientific method. The twin calculus methods of Newton and Leibniz gave the scientific revolution it’s analytic strength.
Non-Fiction Read in 2014
I fulfilled my goal of reading more non-fiction books. Many of these were inspired by a series of audio lectures on the Eastern intellectual tradition, others were inspired by parenthood as well as our work at Open Democracy Manitoba. They were read in this order:
- Existentialism and Human Emotions - Sartre
- No Death, No Fear - Thích Nhất Hạnh
- Practical Object-Oriented Design in Ruby - Sandi Metz - Oh, now I get it. Thanks Sandi for helping me understand OO after 15+ years.
- Feminism is for Everybody - Bell Hooks
- Yoga: Discipline of Freedom - Patanjali - Translated by Barbara Stoler Miller
- The Lost Painting - Jonathan Harr
- Electing Better Politicians: A Citizen’s Guide - Charles K. Bens - A must-read for accountable citizens!
- Good Citizens - Thích Nhất Hạnh
- Raising a Self-Reliant Child - Dr. Alanna Levine
Audio Lectures in 2014
Great Minds of the Eastern Intellectual Tradition - TGC - Grant Hardy - 17hrs - The best series of lectures I’ve listened to, ever. The content was mind expanding. The lecturing was enthralling.
Consciousness and It’s implications - TGC - Daniel N. Robinson - 6hrs - Difficult and at times even disturbing.
Headspace - Take 5 - A Guided Introduction to Meditation - I’ve been meditating on and off since 2000 (when I took a meditation course in the rain forest near Cape Tribulation, Australia). I’m 25 days into the program and I cannot recommend it enough. Try Take 10 on the Headspace app for free. It’s 10 days of 10 minute meditation sessions. You’ll thank me.
Currently Reading and Listening
- Howards End - E.M. Foster (After just finishing Zadie Smith’s homage.)
- Practicing Mindfulness: An Introduction to Meditation - TGC - Mark W. Muesse
- Great Minds of the Western Intellectual Tradition - TGC
Internet Bots for Fun & No Profit
My talk from last November’s BSides Winnipeg 2013 Security Conference.
To show how little code is required to create automated accounts on Twitter I demo’d a few other bots that I’ve written. Here’s one that Tweets out a random number every five minutes. A modern day Numbers Station.
require 'chatterbot/dsl' loop do tweet rand(1000000..99000000).to_s sleep 300 end
I closed with my motivations, the security/ethical implications of algorithmic social media accounts, and the possibility of a future where we are unable to determine who is real and who is a bot on the Internet.
UPDATE - Abotlafia’s response to my talk:
@stungeye “you’re in trouble? good.”— Abulafia (@abotlafia) November 25, 2014