Rubber Duck Debugging
Image by Nick Holland on Flickr
Ducks, dolls, and other stuff make great programmers. Here's how it works.
Got an impossible coding error to figure out, no matter how many times you read your code, line after line? How do you solve an unsolvable problem?
Talk to a duck. Or a teddy bear. Or your Star Wars Pop! Vinyl doll (or American Girl doll). While it’s called Rubber Duck debugging, any inanimate object works.
If you sit your duck down next to your computer and carefully explain what your code is designed to do, then explain line by line how your code does what it’s supposed to do, at some point you will find a solution to your problem. You will find the bug. Or find an idea or two how to fix the problem.
While it’s fun to think of inanimate objects as master coders, when humans explain code in detail often they see things they don’t notice when simply reading code. The difference between what we think happens and what actually happens becomes clear.
So keep a duck or other favorite object by your computer when you code. While they might be happy to stand around all day, they also can help when you get stuck coding.
Learn More
Rubber duck debugging
https://en.wikipedia.org/wiki/Rubber_duck_debugging
https://rubberduckdebugging.com/
Why Rubber Duck Debugging is the best way to debug your code
https://www.zenhub.com/blog/why-rubber-duck-debugging-is-the-best-way-to-debug-your-code/
http://lists.ethernal.org/oldarchives/cantlug-0211/msg00174.html
The Rubber Duck Story
https://www.youtube.com/watch?v=huOPVqztPdc
Rubber Duck Problem Solving
https://blog.codinghorror.com/rubber-duck-problem-solving/
Ask the Duck
http://hwrnmnbsol.livejournal.com/148664.html
How a Rubber Duck Taught Me to Be a Better Programmer
https://blog.wsol.com/how-a-rubber-duck-taught-me-to-be-a-better-programmer
Also In The December 2017 Issue

Learn some nifty coding tricks while creating a Formula EV3 Race Car.

With binary search, you don’t have to be a mind reader to beat this simple coding activity.

Controllers have come a long way in 50 years. Let’s appreciate the bulky, awkward ancestors that led us here!

Take your Scratch games to the next level by adding multiple modes with multiple sprites.

Let the CSS Zen Gardens wow you with variety and elegance. Making a pretty website isn’t so complicated after all!

An introduction to a hip new alternative to Java. It’s all the rage in android development!

Create illuminating art with micro:bit

Ducks, dolls, and other stuff make great programmers. Here's how it works.

Resources to transform you into a web virtuoso, from messaging apps to testers to code converters.

New treasures and new enemies await in two unique, dangerous realms.

Learn how Twine can be used to make interactive games and stories.

A simple zigzag pattern can scramble your messages beyond recognition.

Create your own 3D digital museum and learn how you can help preserve cultural artifacts.

Interesting stories about computer science, software programming, and technology for December 2017.

Add data types to your new programming language in this third installment of the series.

Links from the bottom of all the December 2017 articles, collected in one place for you to print, share, or bookmark.