Tag Archives: Linux

Benchmarking Node.js, Express, Hapi and Koa

As a software engineer for a company that generates analytics for advertisements, one technology that we leverage heavily is Node.js, which serves as a collection service for incoming status events when a user is watching a video. We had initially written the code that is doing this task a few years ago, when the newest stable version of Node.js was 0.10.18, and the “Express” module was in the 3.x branch. I’ve been looking to update our code to newer modules, and newer binaries, but updating doesn’t always mean a performance boost. I’ve read a lot about benchmarks comparing 0.10 and 0.12, and had seen people find 0.10 beating out the newer binaries, which fuels my caution about upgrading blindly into Node.js 4.1.0. Additionally, I have also been considering trying other web service modules, besides Express. Koa and Hapi have been getting attention, and I’ve seen benchmarking between all three, but I have yet to see a cross comparison with different versions of Node.js. I wanted to find out what branch of Node.js works the best with each module. Being that we have hundreds of Node.js processes behind load balancers, together handling 100s of million events per day, any minor change in performance could make a huge difference. If I’m going to make a change, I really want to be sure that it is a well informed one. Read more »

Configure git to ignore a range of code

I had been asked to recompile a VPAID ActionScript SWF with a minor change to the code, but I had a lot of stuff lingering in my build I would like to temporarily disable, by commenting out, then only commit the minor change asked by using prune, ie: git add -p file.as. There was a lot of things that had changed, and it was becoming difficult to spot the changes, with all of the commented out code everywhere.

A few Google searches later, I stumbled upon a neat solution which meets my particular needs. I can mark ranges of code, and have git commit / diff ignore them. Then I can mark things that are commented out, and/or not meant for commit, and they will not be in my way. Read more »


Hatebotx is an aol instant messaging bot (aim-bot). It uses flatfiled volcabulary lists to attempt to find suitable replys to text recieved. All conversations are logged into yet more flatfiles. It’s a big ugly mess, but it worked well at the time.There had been similar bots on AIM such as SmarterChild, who were helpful and polite; but they were not HateBotX. This bot did not utilize the Elisa engine, and had very little intelligence. However, it would still get a lot of laughs despite it’s simplicity.

Read more »