Voice-Controlled Lamp Using Ninja Blocks + MacBook

Here’s a video of my latest quick weekend hack, using voice to switch a lamp on and off: Ok, so it’s actually a combination of Watts Clever + Ninja Blocks + Node.js + Automator + Speakable Items. Speakable Items takes the voice commands via MacBook’s internal microphone, then calls the Automator applications, which then runs a Node.js script (which output gets spoken by Automator applications), which then tells Ninja Blocks to actuate Watts Clever power socket.

Read more

Share Comments

Jenkins Build Status On Ninja Blocks RGB LED

Nestor v0.1.2 is out and one of its new features is nestor ninja for monitoring Jenkins and displaying the latest build status on Ninja Blocks RGB LED device (if you have a block, it’s the ninja’s eyes). Here’s a usage example: export JENKINS_URL=<url> export NINJABLOCKS_TOKEN=<token_from_https://a.ninja.is/hacking> nestor ninja Red for build failure, green for build success, yellow for build warning, and white for unknown status. The yellow light looks quite similar to green, and the white one does look blue-ish.

Read more

Share Comments

Akio Morita On Management

For the past few weeks, I’ve been reading Made In Japan, a story about Akio Morita’s life and the first three decades since the founding of Sony Corporation. I haven’t finished this book, but the last chapter titled ‘On Management’ was very interesting and it struck a chord with me. I’ve seen enough management decisions that were short sighted and proven to be wrong in the long run, throughout the 12 years I’ve been in the industry, and some of them could’ve been avoided or at least improved had the people behind them had better insights.

Read more

Share Comments

Private NPM Registry Replicator Document

For my future reference and to help others trying to set up a private NPM registry which sits behind a [corporate] proxy and requires authenticated CouchDB admin access, here’s the replicator document that I ended up using: { "_id": "registry", "source": "http://isaacs.iriscouch.com/registry/", "target": "registry", "user_ctx": { "name": "myadmin_username", "roles": ["_admin"] }, "continuous": true, "owner": "myadmin_username", "proxy": "http://proxy:8080" } For those who are not familiar with CouchDB, the above is a document that needs to be created in _replicator database, so that the replication rule from public NPM registry to your private NPM registry can be persisted and runs continuously.

Read more

Share Comments

The Difference Between Dev And Ops

You can tell whether someone is an ops or a dev from the way he/she stops a program…

Read more

Share Comments

Home Studio v0.3

This favourite corner of mine in the living room is the latest revision of my home studio. My main computer for the past couple of years has been an 11” MacBook Air, codename: kakashi. The study desk had been disassembled and now rests in the garage.

Read more

Share Comments

Roomba Twist Fix Attempt

A few months ago my awesome Roomba vacuum cleaner started dancing instead of cleaning the carpet like it’s supposed to. It reversed, then rotated to the right, left, right, left, all the time. I call it ‘doing the Twist’ (Chubby Checker’s). The closest explanation I could find on the Internet regarding this problem was something that’s commonly known as Roomba Circle Dance. The problem is that there are a number of solutions which various people claimed to have fixed the problem and I didn’t know which one was applicable to my case.

Read more

Share Comments

100 Kiva Loans Later

Today I made my 100th micro loan on Kiva.org . I joined Kiva in July 2007 and today I have $275 across 15 active loans, so I’m one of those people with a minimal fund who re-loan as soon as there’s enough repayment. Here are some stats from my portfolio: The interesting numbers here are the 1.62% delinquency rate and 0.68% default rate. Yep, default happens in microfinance world. Portfolio distribution:

Read more

Share Comments

DevOps Collaboration Patterns

The good, the bad, and the ugly.

Read more

Share Comments

Sapi, A Node.js Client For Sensis API

We had a hack day at Sensis a couple of days ago where I ended up writing Sapi, a Node.js client for Sensis API. This module is now available on NPM. The latest version (v0.0.5) was tested against Sensis API open beta version ob-20110511. I think I’ve got all of its documented features covered. Let me know if I missed anything. Sapi module provides a chainable interface to construct the endpoint parameters, here’s an example:

Read more

Share Comments