Archive for February 2011

New Mike Homepage

So I have a new homepage at I’ve been thinking for a while that I ought to have a page with my various research, teaching, and programming stuff that I would be comfortable pointing folks to, so I’ve upgraded the old buffaloblog into your one-stop Mike info-porium.

One of the consequences of this is a new url for my blog ( for the blog and for the RSS)…but if you’re reading this through your feed reader then all the redirecting worked as I intended it. One thing I did discover in this process is that WordPress supports category specific feeds – so if you’d rather never again hear me wax philosophical about my attempt teach P/NP to cats you can find the right feed for you.

I’ve had a lot of fun playing with WordPress in the past few days; WP strikes a nice balance between giving you the configuration features you need and letting you have at the code when that needs to be done. The plugins I ended up using are:

Anyways, feel free to check out the new homepage and let me know what you think.

My Super Campy Bluetooth Keyboard Video

So I was digging through my archives as I revamp the venerable buffaloblog to serve as my main homepage. I found a video we had to produce as part of the 2007 Ubiquitous Computing course where my group designed a bluetooth keyboard device. And it is so bad.

I’ve heard that Thad shows this video (or perhaps a later, slightly revised version of it) to current students as an example of a good project. Scary.

Video About the BlueTwiddler BlueTooth Chording Keyboard from Michael Hewner on Vimeo.

What Game Programmers Look For: Atlanta High School Edition

So today I gave a presentation in a high school technology class. Ostensibly, I’m here to give a talk about Video Game Programming Careers. This should be easy right? For one thing, I know quite a bit about what video game companies look for and even what students think about as they consider CS as a major. But honestly as I prepped for this class I would have have much rather been teaching the Cook-Levin theorm, issues of explaining the entirely of a Theory of Computation course in one lecture notwithstanding.

Part of this was history: I wasn’t happy with the first version of my talk. That talk felt like I was doing a lot of talking at students, who, by their body language would rather be just about be anyplace than listening to me.

The new version of the class, I added some question-and-response and a few funny visuals (CS job themed superheros: cheezy? absolutely…but I’m happy to be silly in the service of getting students to remember what they need to). And it even worked, sort of. Students seemed more engaged, actually answered my questions correctly, and by the end of things 50% of the seemed to be paying attention. Which is much worse than I usually do, but better than I did. But I still felt overall unhappy.

A student response resonated with me…I was talking about math, and I (somehow) mentioned that CS uses discrete math which is different than what you usually study. I got a bunch of student comments about that, trying to understand what the difference was (self note: I need a cool way to explain the difference!). That sort of summed up the talk: telling the students that CS was cool without actually showing them cool things about CS. I should have gone through one of Mark’s Media Computation examples, or come up with my own that illustrated and showed them a little programming, or algorithms, or something.

Anyways, live and learn. It was an OK talk and I think if I had to do it again it could actually be a pretty good talk.