My Favorite Casual Games for Wasting Time



 Winterbells (by Orisinal / Ferry Hamln)is an amazing combination of graphics, amazing music, and gameplay.  The short summary is you make the bunny jump and when it touches one of the bells it’s jump is extended. So you keep going up and up. Don’t worry if you miss, the bunny gently floats to the snow unharmed and you start a new game.





One Button Bob (by Armor Games) -  is retro-style game. Think Activision Pitfall! but there’s only one thing you have to do – press the left mouse button. What makes it cool is that the button does different things depending on which “room” you are in. Half the fun is trying to figure out how the button works in each context. Plus it has a rocking soundtrack.






Canabalt  (by Adam Atomic and Danny B). Your character is always running, your job is just to press X to jump. You can time the length of your jumps by holding the key down longer. This game is fun, but regrettably it’s a little too fast paced for me to play it well. 




You're a mean one Mr. NINCH – the NINCH State in User interfaces (with Screencast)

The NINCH state/behavior and its motivation are things with which you should be familiar if you are designing UX. This blog post will explain it in detail.

To get started, NINCH stands for “no input, no change”. Of course, once you see it in action, only then does this mean anything.






Let’s begin. Take a look at the File Property  dialog in Windows 7 – this is shown below for a single text file.





Here’s a simple question. What happens when select two (or more) files and try to see the properties?


Clearly something different:



Let’s compare …

image image

And then we shall consider this for a a few moments:

  • Notice that the the UI’s look a little different
  • Some fields appear on both versions, some are unique to their case
  • In the case of multiple files, notice that the dialog in general tries to do something meaningful with what it shows:
    • The name in the title of the window on the right is given as “B.txt, …” indicating that multiple files are involved
    • The filename are not given, not editable, but instead it says there are two of them
    • the sizes are added together
    • And now notice the Read-only checkbox. It is unchecked.

The Read-only check box is where we will begin our exploration into NINCH.

It isn’t checked. The implication is that both files have this value set to unchecked. If we check it and press OK, then both files will have the read-only bit set. Makes sense so far. The key point to remember is that once we modify the dialog and press OK, any changes in the dialog will be committed to the files.

But what if when I had opened the dialog, file A was set to read-only, but file B was not? What would the dialog show?


This is interesting. The Read-only checkbox is NOT set to checked it is not set to unchecked, it is set to some third value. To make this more obvious, I’ll show the three states below.

image Unchecked

image Checked

image Neither checked not unchecked

The first thing this enables the UI to do is to represent the fact that the files have different values. Note that it doesn’t indicate which file has which value only that “there’s a mix”.

What should you expect if you hit OK without changing the read-only field? Well, you didn’t make a change so none of the files will be altered. And this is in essence the what the NINCH state is about “no input, no change”.

Now at this point you may be wondering why we need a NINCH state. After all, I could have hit Cancel and no change would have taken place. First, not all UI is cancellable. Second, sometimes you need to make a change in something else and are forced to hit OK.

Let’s demonstrate this latter case. Suppose I have multiple files and I want to set them all to hidden but I don’t want to alter their read-only settings.

Per the screenshot below, I would open the properties dialog, ignore the read-only checkbox, and check hidden and then click OK. Then all the files will be hidden but their read-only values will be left alone.




The NINCH state is one of this tiny little UI behaviors that people tend to forget about, but is quite useful when you understand the scenario in which it applies.

The NINCH behavior clearly comes from a UI design background, but the same conceptual thinking can be applied to code. One may, for example, thing of using Nullable types in C# as a way of expressing a not a specific value but in addition – the meaningful lack of one.


Picking a USB Microphone for My Screencasts - A Comparison Chart

I am shopping for a new USB microphone for recording audio for my screencasts. This year I expect I’ll record at 100 screencasts so I wanted one that delivered good quality and was suitable for that task.

I compared these models:

  • Rode Podcaster USB
  • Shure PG42-USB Vocal Micrphone
  • Samson C01U USB Studio Condenser Microphone (the one I use now)
  • Blue Yeti USB Microphone (I have this one but don’t often use it)
  • Blue Yeti Pro USB Microphone

Here is my comparison chart. Click on it to get to the PDF.


Or click on the Icon below to get the PDF.




  • Monitoring the line – I was introduced to this feature through my Blue Yeti. It surprised me how useful it is. I get a much better sense of how I am sounding. Also, because the connection to the computer is USB, the sound comes through the headphones attached much more clearly than when connected directly to the PC – this means I sometimes just listen to music via my Microphone
  • Control the Gain – somewhat useful for me.I have to record my screencasts in rooms that have a lot of ambient noise. For example my office at work has 4 workstations in it and then we have the sounds of the building AC.
  • Mountability – I use a HeilPL2T Boom mount because with the equipment I have on my desk, it would make it awkward to have the mike on a small stand next to my keyboard.



The Shure PG42-USB. It has three key things I am looking for. (1) Ability to be used on a shock mount, can monitor the audio with a headphone (surprisingly useful feature), and based on the reviews I’ve read excellent sound quality.

That being said, I have to say that want to be clear that I am completely satisfied with the sound quality of the least expensive one on the list: the Samson C01U (which I own and have used for almost all my screencasts so far).

Also, I am very happy with the quality of the Blue Yeti and its many extra features – but because it can only sit on a desk and cannot be mounted to my Heil PL2T boom – which given my workspace setup is a very important – I can’t go with it as a choice.



It’s good to evaluate some of the reviews on YouTube to get some extra insight. You’ll get a sense of the audio quality.


Interactively Scripting HTML5 Canvas Elements

Neat little screencast (Requires Chrome, Firefox, or Opera to view) from robcee – using FireFox he interactively manipulates a an HTML5 canvas element.



Direct link to the video (again it requires Chrome, Firefox, or Opera). Below is a screenshot showing the Scratchpad on the left that contains the code that manipulates the Canvas on the right.




(found via HackerNews)


Screencast: Using Format Painter in Visio

One of my favorite time-saving tools now explained via screencast. You’ll save a lot of time learning about this feature.


The screencast shows you how to copy formatting from one shape …

  • To another shape with one click
  • To multiple shapes via grouping
  • To multiple shapes via drag-select (does not use groups)
  • To multiple shapes one-at-a-time by double-clicking the Format Paint Icon