« home

DataGen Workers Optimisation

I released DataGen v0.0.9 during lunch break yesterday. This version includes the support to limit how many workers can run concurrently, which is something that I’ve always wanted to add since day one. I finally got the time to do it last weekend, and it turned out to be an easy task thanks to Rod Vagg’s worker-farm module. Why is this necessary? The problem with previous versions of DataGen was that when you want to generate 20 data files, then 20 worker processes will be created and run concurrently.…

more »

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.…

more »

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: sapi .query('restaurants') .location('Melbourne') .search(function (err, result) { ...…

more »

DataGen: Generate Large Test Data Files - Like A Boss

A couple of months ago I was doing some volume and performance testing against an application that was expecting a 500% data growth, which meant I had to generate lots and lots of dummy data to test whether the storage would hold up and whether the application itself would still perform well. I quickly came up with a script that loops through N times, generates dummy data, and creates an XML file.…

more »

Publishing Node.js Module To Ivy Repository

Let me guess what you’re going to say in 3… 2… 1… **WTF??? Why would anyone want to do that?** Right? Some of us don’t have the luxury of a local NPM repository, while some others have their delivery pipeline tightly integrated to an Ivy repository. So, for those few who are stuck with the unholy union of Node.js and Apache Ivy, you can publish your Node.js module to an Ivy repository using Bob.…

more »

Australia According To NodeUp

I’m a fan of NodeUp, a podcast of all things Node.js-related, and a great source of thoughts/opinions from the who’s who in Node.js community. Putting the serious stuff aside, the show has a running joke where the hosts put on their best effort to prop up Bislr, one of the show’s sponsors, by saying hilarious things about Australia. And it actually worked, us Australians (at least myself and those I know) love it, and I sure won’t forget the name Bislr for at least the next couple of years.…

more »

Nestor - A Faster And Simpler CLI For Jenkins

It all started because at one point I was using a rather resource-challenged machine running Windows and an Ubuntu VM at the same time, and Firefox froze every so often, rendering Jenkins BuildMonitor and Jenkins web interface useless most of the time. So I looked for an alternative and gave Jenkins CLI a go. Like most Java applications, Jenkins built-in CLI also suffers from slow start up time (flame suit: ON) due to core Java libraries loading (Kohsuke later told me on #jenkins that there’s also a handshaking process involved).…

more »

Node.js Presentations

I gave two Node.js-related talks within the past week. The first one was titled “From Java To Node.js”, at Shine Technologies’ developers meeting on August 5th, 2011. The second one was titled “JavaScript Everywhere From Nose To Tail”, at Melbourne JavaScript usergroup on August 10th, 2011, with Carl Husselbee from Sensis. Happy with the positive feedback from the audience of both talks, thanks folks, much appreciated! Update (08/09/2011): And here’s…

more »

Using Node.js To Discover Jenkins On The Network

I’ve just added a new feature to Nestor to discover Jenkins on the network, and as it turned out, it’s pretty simple to do thanks to Node.js Datagram sockets API (hat tip Paul Querna). Jenkins has a discovery feature as part of its remote access API where it listens on UDP port 33848, and whenever it receives a message, Jenkins will respond with an XML containing the instance’s URL, version number, and slave port information.…

more »

Couchtato Introduction

Last Thursday I put up a post at Shine Technologies blog titled Couchtato - A CouchDB Document Utility Tool Written In Node.js. It’s a short introduction to Couchtato, a little hobby project I worked on over several evenings and lunch breaks. Do check it out if you are a CouchDB and NodeJS user.…

more »