Code Coverage Games

May 7, 2012

You can easily game this. But not this.

4 comments Read the full article →

Protocols vs Styles

April 28, 2012

My RESTful Web Services Cookbook has been out for nearly 26 months. From Feb 2010 till the end of 2011, O’Reilly sold 13,052 copies (both print and eBook format combined, per the royalty statements received to date) of this book. Given that O’Reilly’s eBooks are DRM free, I would like to think that several thousands [...]

39 comments Read the full article →

Node.js – Cost of IPC

March 23, 2012

I ran a quick test to quantify the cost of IPC between workers and the master in a node.js cluster. The test code is below (which I borrowed from node’s docs). On receiving an HTTP request, each worker process sends a message to the master. I ran three variations – no messages, send one message, [...]

7 comments Read the full article →

My Gripes with Cloud Foundry

March 22, 2012

I tried setting up Cloud Foundry this week using Micro Cloud Foundry. See my post on ql.on Cloud Foundry for details. The setup and experience is not that hard – it took two late nights to figure out the details. But I’m not sure if it is ready for the prime time. Here are my [...]

9 comments Read the full article →

Async I/O and Fork-Join

March 13, 2012

Parallelizing network IO is a common problem as it can help reduce overall latency for user-facing tasks. But implementing an efficient and easy to use abstraction for fork/join for network I/O is hard. This often leads to frameworks to simplify task scheduling, joining on task completion, and synchronization. Most solutions for this include one of [...]

9 comments Read the full article →

ql.io is Looking for a Team Member

February 27, 2012

My team at eBay is looking for a team member to work on ql.io and related areas. This is an ideal job if you love to code like a startup pace with real customers have more than one programming language in your resume can code in JavaScript know about Linux internals and the protocol stack [...]

12 comments Read the full article →

AbstractHammerFactory

February 15, 2012

One of the trends from late 90s that stayed on is meaningless abstractions. It goes like this. Build or find the best hammer for the job, but then hide it under some abstraction. Ask why – the rationale follows. "Well this hammer looks good for the job, but I really don’t know … what if [...]

8 comments Read the full article →

ql.io at NodePDX

February 11, 2012

Here are the slides for my talk/demo at NodePDX in Portland today.

0 comments Read the full article →

Benchmarking Node.js 0.6.x or Later

February 9, 2012

Don’t use ab. ab sends HTTP/1.0 in HTTP requests. This causes node to close the connection after each request by sending a Connection: close in the response. Adding -k for keep-alive to ab does not help. If you use siege, make sure to set connection = keep-alive in your .siegerc file. If not, siege defaults [...]

5 comments Read the full article →

Architect – Overrated!

February 4, 2012

You always talk about the big picture. You think you know how the system ought to be built. You are unhappy that the team is not executing your ideas the way you want them. You don’t have a working build. You spend a lot of time on documents that are not code. You can prototype [...]

199 comments Read the full article →

ql.io: Consuming HTTP at Scale

January 24, 2012

Slides from my workshop on ql.io at the Node Summit.

4 comments Read the full article →

Idempotency Matters

January 16, 2012

Here is an example of how idempotency can save end users a precious second or so.

13 comments Read the full article →