Kinect Minilogs: Explaining the Kinect to the layman


The Kinect device has remarkable physical capabilities. It can scan the room using its infra-red sensors, listen for sounds with its array of multiple microphones, record video from its *web cam* like camera, and move/tilt its head up and down from -27 degrees to + 27 degrees.

However when ever I tell people that I am developing applications for the Kinect, there is a pause, blank stare and then a question that is usually uttered… “Oh so you’re developing games for the Xbox now…?”

The quick and short answer is this: “No, (however if anyone is interested, that is a possibility…) I am creating designs and enterprise/business applications that can take advantage of these physical capabilities.”

InfraRed Capabilities


Just stop and think for the moment. If you have an infra-red camera, and projector,which the Kinect has, you have the basis for a “See in the Dark” functionality. Which means you have a potential for guiding persons with an aid to see obstacles in the dark. From a security standpoint, you can be notified when an intruder has invaded your space in complete darkness similar to passive infrared motion detector (PIR). Now on top of this, envision the software that can be developed and run on the multitude of devices. Visualize a cloud based mobile device such as a cellphone, or tablet that can easily notify you of any impeding danger, where the Kinect is mounted. Danger such as that annoying toy car with its sticky points innocently resting on the floor which you’re about to step on in the middle of the night as you make your midnight refrigerator raid. Imagine steps before you reach this painful moment in time, a cellphone rings, or even better, a speaker embedded in the house walls yields a quick chime or sound to warn you to look down.

Microphone Capabilities


The Kinect also has the ability to be trained through software to listen for sounds, speech, and other audible things. Imagine the ability to listen for when your new born starts crying in the middle of the night, where you can immediately monitor the crib, for an empty bottle, and possibly have a lullaby play through speakers in your house. What about voice recognition? This ability is also possible with a Kinect. Envision a security device which needs three factory authentication, such as a password, a security key card, and some form of biometrics: (voice, fingerprint, retina or facial scanning) to prove identity. The Kinect device can can provide the voice, facial, and password requirements by listening through its microphone, recognizing a person’s face, and using speech recognition through software to decipher words.

Camera Capabilities

Lastly, the Kinect device can record video and take pictures with its VGA camera. Imagine software which can identify clothes, purses, shoes along with their styles, fabric and makers from a video or picture. With a Kinect device inside a clothing or department store, discounts, offers, advertisements can be given to a customer when the walk past the device or even queue up to purchase an item. Let’s say because I’m wearing the latest Nike Air Jordans, the Nike jumpsuit I’m about to purchase will automatically be discounted 10% due to my patronage; along with an offer to purchase a Nike Spandex body fit exercise shirt… nice!!!

So do you get it now???

In summary, Kinect development means working with the Kinect Device for its capabilities, and developing software which can propel humanity into the future, or as I like to say, bring us up to speed with the ancient cultures that existed before us πŸ™‚

If you want to see some more ideas on the Kinect device visit Kinect Hacks.

Azure + Node.js on Linux (Gentoo flavored)

Steps for getting Azure Node Module through source code.

If you’re curious about how to use Node.js with Windows Azure on Linux, there’s some good documentation on the web site here:

Clicking on the Linux Download, gives you with Azure Source code, where you can compile, and install the NPM module for Azure for Node.js

The steps for the most part are simple:
1. Install Node.js from
You can emerge it if you’re running Gentoo
or use any package manager for you flavor of Linux

2. Install Azure for Node.js
Compile, and then install from the source code downloaded earlier.

As I made my way through these steps, I was presented with a small issue. Azure for Node.js requires Node.js version greater than 0.6.15.

The error I kept getting was:
‘Node version needs to be higher than 0.6.15’

Originally I had an older version of Node.js installed, and uninstalling it, and re-installing the new version didn’t seem to fix the issue. I also refreshed my environment vars, with env-update command, and created a symbolic link to node version 0.8.3 from the downloaded source tarball. All to no avail. It still didn’t work for me.

So I put my developer cap on and decided to look at the “configure” script that you run when getting prepare to run “make” to compile the Azure source code tarball. Low and behold it’s a python script that’s checking for the version of Node.js, and it appears to be incorrect, or at least the values are not correct. Thus I just commented the check out with a ‘#’ mark, and re-ran the command:
sudo ./configure

Next I ran the command:
sudo make

sudo make install

And now I can run Azure commands to monitor, and provision all things with Azure from my Gentoo Linux Laptop…