Keep Taking Steps Forward

In the last couple of posts I’ve talked about a programmer’s greatest enemy: getting stuck. I talked about the various levels of how stuck you can get, from getting stuck while trudging through documentation to getting stuck because you don’t have the resources—passwords, files—that you need to perform a task.

This leads me to my ultimate advice for how to avoid getting stuck and how to get unstuck.

The secret to getting and staying unstuck is to keeping taking steps forward. Simple as that sounds, it is more difficult than it seems, and many programmers never master it.

Continue reading “Keep Taking Steps Forward”

Four Kinds of Stuck

A programmer’s worst enemy is getting stuck. Getting stuck on a problem hurts your productivity. Worse than that, it hurts your joy, your confidence, and your soul. Therefore learning how to avoid getting stuck, how to recognize when you’re stuck, and how to get unstuck is a key skill in the quest of becoming a great programmer.

One of the things that helps me both to avoid getting stuck and to get out of being stuck is understanding the different kinds of stuck.

Continue reading “Four Kinds of Stuck”

A Programmer’s Greatest Enemy

A programmer’s greatest enemy is getting stuck. A crucial skill in programming—and one that many of my beginning game programming students lack—is the ability to recognize when they’re stuck, to get out of being stuck, and to avoid getting stuck in the first place.

Indeed, it’s a skill I’m still learning myself, although the contexts in which I still get stuck are shrinking with time, study, and experience.

Continue reading “A Programmer’s Greatest Enemy”

How Siri Works

Once again someone has offered us incredible artificial intelligence, and once again we are bracing for disappointment. It happened with handwriting recognition on the Newton, which proved to be slow and clumsy. It happened with the not-as-smart-as-they-first-appeared creatures of Lionhead’s Black and White. And remember the Kinect debut video showing a kid interacting with an on-screen villain effortlessly, the AI character perfectly intoning the kid’s name? Kinect brought some of the innovations promised in that early teaser, but clearly the video implied a level of sophistication and polish that turned to vapor in the end.

But it’s Apple this time, with Siri on the iPhone 4S. And although Apple has screwed up before—witness the aforementioned Newton—if anyone has the motivation, the resources, and the smarts to get AI right, the iPhone dev team is it.

Continue reading “How Siri Works”