All posts by Michael Badger

Author.

Problem Solving 101

I just finished Problem Solving 101 by Ken Wantabe and found it a delightfully simple look at how to solve problems. Ken frames problem solving in this way:

Problem solving isn’t a talent some people have and others don’t. It’s a habit. By developing the right skills and adopting the right attitude, anyone can become a problem-solving kid.

Ken identifies four aspects of problem solving:

  1. Understand the current situation.
  2. Identify the root cause of the problem.
  3. develop an effective action plan.
  4. Execute until the problem is solved.

That’s a simple and accurate view of problem solving. Sounds a lot like Scratch programming or any computer programming, doesn’t it?

Ken originally wrote the book as a guide for Japanese schoolchildren, but it has gained an international business audience. It’s easy to see why.

Check it out for yourself. Purchase via Amazon affiliate link.

Anyone Can a Make Game – Even You

Do  you think creating games takes a magical touch of brilliance and creativity?

Andrew Woodbridge challenges your notion the click me challenge. [Thanks to David Barnes for the tip].

Andrew says:

One of the things I mentioned was to create a very simple game, as quickly as possible, to get that out of your system. You CAN make games. You can take all those half-created demos and random collection of code that you’ve amassed like a giant Tinker-Toy set and you can make that into a game. I flippantly mentioned something like “Click Me to Get Points” as a lame game that you wouldn’t share with your best friend, but that could help you realize that “yes” it’s easy and fun to make games.

This concept dovetails well with Scratch. Scratch makes it easy to create games that can start simple, engage the creator, and grow into something more complex and interesting as your skills grow.

If you’ve read Scratch 1.4 Beginner’s Guide, then you know that I’m not exactly the most creative game developer to ever write a computer programming tutorial. However, the projects cumulatively add programming concepts and complexity. I had fun writing it, and there’s lots of room for your own customizations.

I happen to believe the dirty secret with Andrew’s post is that it applies to other creative activities, such as writing. Start simple, move quickly, and iterate.

How about you? Do you wish you had what it takes to learn how to create games?

Connect a PicoBoard on Linux

PicoBoard Recently, I came across a forum post somewhere that mentioned the PicoBoard (formerly called a Scratch Board) worked in Linux. So, I set off to see just how easy it would be to get my PicoBoard working on Ubuntu 9.10.

Picoboards provide external sensors that feed input from the real-world into Scratch. The sensors are light, sound, resistance, button clicks, and slide control. And they’re a blast to use. I highly recommend them.

First stop, the PicoBoard driver download page. First the good news. There must be people requesting Linux drivers because the page supplies the ftdi_sio Serial to USB kernel driver as a download.

No Driver Download Required

The driver file on the download page is actually the FTDI USB Single Port Serial Converter. And if you visit the Sourceforge page for the project, you’ll find this advice from the previous project maintainer, Bill Ryder:

Use the most up to date linux kernel. This means 2.6.x or at least 2.4.30. The driver is included. I only ever use 2.6.x kernels so if you are using 2.4.x you are on your own. The driver is marked experimental at the moment. But I’m going to change that because it isn’t experimental any more.

Still, Scratch wasn’t detecting my PicoBoard. Though Linux was detecting the PicoBoard when I plugged it in the USB Port.

Load the Module

The ftdi_sio module is included with the kernel, but it wasn’t loaded for me. Here’s the command to load it:

sudo modprobe ftdi_sio

Now make sure the PicoBoard is plugged in and restart Scratch. The dmesg command is your friend here. It will give you feedback about how Linux is seeing the board. Here’s the last few lines of my dmesg output:

[451394.964027] usb 4-1: new full speed USB device using uhci_hcd and address 5
[451395.140265] usb 4-1: configuration #1 chosen from 1 choice
[451395.144909] pl2303 4-1:1.0: pl2303 converter detected
[451395.164947] usb 4-1: pl2303 converter now attached to ttyUSB0
[451470.917714] USB Serial support registered for FTDI USB Serial Device
[451470.917840] usbcore: registered new interface driver ftdi_sio
[451470.917843] ftdi_sio: v1.5.0:USB FTDI Serial Converters Driver

The first four lines is the kernel detecting the device. Then remaining lines appeared when I loaded the ftdi_sio module.

A sample script

Here’s a quick script to test out the PicoBoard. Cameron is going to love this, especially when we combine it with the webcam support.

If you run into problems, I can’t say that I will have the answer, but I’ll definitely try. Feel free to ask for support.