Facebook Explains the Basics of Artificial Intelligence

December 6, 2016

Artificial Intelligence is rapidly becoming one of the hottest buzzwords in tech spaces, and perhaps with good reason. The potential applications are huge. But for those who are not data scientists or computer engineering professionals, how do you grasp the reality behind these concepts in a way that demystifies the “magic?”

Facebook posted a few videos that, in my opinion, are a fairly accessible introduction to machine learning for the ordinary individual, featuring some nice examples and helpful visual aids. If you’re looking to grasp the basics of what AI/ML is all about, check these out:

LMFAO parody to explain jQuery?

January 7, 2015

As a colleague and I were providing some introductory web development training, one of our pupils asked some questions about how web content works that isn’t static, changing state either by positional movement or by appearing/disappearing. The web pages in question used jQuery, and it was during our explanation of some basic jQuery concepts that I found myself saying something that sounded a little too much like LMFAO’s “Sexy and I Know It.”  Parodies of that song abound, so I thought, “Why not a parody to explain jQuery?” And this emerged shortly afterward: Read the rest of this entry »

Explain/Teach Nearly Anything with this Hands-on Game

November 20, 2013


cloudBoard is a new project on Kickstarter that intrigues me as it uses a physical board with puzzle-like pieces and a digital computer game component to teach various concepts, primarily to kids. I think this learning approach is ingenious, as it blends kids’ natural desire to play with (and relate to) something physical (like a classic board/puzzle game) and yet leverages the ability to drive video games, providing a rich visual element kids love. And not just kids. The guys at Digital Dream Labs have play-tested their invention with kids and adults alike, often finding that it bridges the generation gap, engaging young and old alike. Early play-testing also revealed some encouraging results with autistic individuals.

How’s it work? Players place various tiles in the cloudBoard in specific positions or sequences, and that becomes a direct link to functionality and features enabled in the video game. Repetitive play — the key to learning — is easy, accomplished by simply swapping or rearranging the pieces in the board, allowing learners to tinker with various configurations.


3 things I love most about the cloudBoard project:

It bridges the physical and virtual. I’ve long been a believer in leveraging aspects of the physical world in explanation and teaching because people connect with physical things in a unique and memorable way. cloudBoard takes this to a whole new level, grabbing the best aspects of board and puzzle-piece games from our childhood while marrying them to what’s possible with modern digital computer technologies. And unlike the Skylanders concept, where the physical figure’s position or relationship to other figures is irrelevant, the physical cloudBoard pieces mean different things when they’re in different positions on the board.


It’s not just a single game. Multiple games can be supported. While the Cork The Volcano game — designed to teach trial-and-error concepts, key to understanding computer programming — is the first game to be released, the Digital Dream Labs dudes have multiple other concepts in the works, including a chemisty game, a music game, and a farming game. Virtually any game can be created with the right software and new tops to the puzzle pieces. And here’s where the real extensibility of the cloudBoard concept shines…

Developers can extend it themselves.  I spoke with Justin Sabo from Digital Dream Labs, and I think this is a point worth emphasizing about their project. The game APIs will be open to those who wish program their own video game to interface with the cloudBoard hardware. And unlike some other game systems, cloudBoard is designed to run the same across many platforms (tablet, PC, etc.), extending its usefulness.


The tops of the puzzle pieces can also be swapped with other tops, allowing the physical aspect to be ever-changable but using the original pieces. (You don’t necessarily need brand new pieces for every game; just change the toppers.) Change the pictures? Fine. Add fuzzy three-dimensional toppers? Go for it. 3D-print your own? Why not? This is part of the future vision that Justin shared with me — that what they’ve created is a platform others can easily expand upon. Who knows how many educational games could be created.

Here’s what I don’t like about the cloudBoard project:

It’s not fully funded yet.  So spread the word and head on over to the cloudBoard kickstarter page to help make it a reality.

APIs explained via a game show

November 12, 2012

Since I’m fond of analogies and metaphors for explanations, here’s the first thing I tell my learner to do when explaining to him/her what an API (Application Programming Interface) is. Watch the first half of this clip from the old game show Who Wants to be a Millionaire, where the contestant uses his “Phone a Friend” lifeline:

What’s “Phone a Friend?” When the contestant gets stuck, he/she can make a single phone call to any friend and ask the question at hand, hoping the friend’s response will be the correct answer (or help lead to the correct answer). Provided the call is made correctly, the question is asked correctly, and the friend is the right person to answer such a question, the response will greatly help the contestant/caller to do something he/she otherwise could not do alone. With that in mind….

What’s an API? It’s when computer code (or an entire program) makes a call to something else to do something it could not otherwise do alone, allowing it to be greater than it is by itself. The call must be made correctly, according to the rules the API specifies, so that the caller can ask correctly and the recipient can understand the request and respond appropriately. And unlike the game show contestants, computer programs aren’t limited to talking with just one API. Programmers/developers often leverage multiple existing APIs to accomplish greater holistic functionality rather than taking the time to develop all the desired functionality themselves. The chances are, most programs you use have been designed to tap some existing API to achieve some part of its functionality.

So, do computer programs do this a lot? You bet. Programs aren’t superheros*; they often just have a lot of friends to call.

* I’ll make an exception for Tron.

Variables vs. Arrays vs. Objects

August 16, 2012

Having recently worked with a couple of groups developing games, I’ve found myself explaining nuances of programming concepts. Here’s one such topic I find I must cover with new developers: when to use a variable vs. an array vs. an object. I whipped up this quick video to explain the difference, and since summer picnic season is upon us, I leveraged some related food and props appropriately…

Stay hungry, my programmers!