When Garbage Collection is Failure

September 14, 2010

For systems that absolutely require a constant responsiveness Java is generally not an option because of the pauses associated with the garbage collector. Even the alternative collectors, such as parallel and concurrent-mark-sweep, have a pause associated with them for major and minor collections. This problem can be avoided, though, by making sure the garbage collector… Read more

Parallelizing JUnit test runs

February 20, 2010

Test runs should be as fast as possible in order to allow a lean development cycle. One of the applications is a Continuous Deployment (see Lean Startup). Using strong multi-core machines to run tests is not enough since most unit tests are using a single thread per test. Apart of reducing IO to minimum, having… Read more

Voldemort in the Wild

February 02, 2010

At kaChing, we’ve tried to embraced as much of the lean startup methodology as possible. In keeping with the spirit, we’ve worked to scale our infrastructure smartly, using data to drive our decisions and discarding speculation. As part of our infrastructure, we’ve embraced Project Voldemort as a highly performant and reliable data store. One experiment… Read more

Speeding up with Voldemort and Protobuf

October 12, 2009

In order to supply some of the analytics behind kaChing we have a some nice number crunching processes working over piles of financial data. The end results are displayed on the site (e.g. the find investors page). The post is about one of such services which for the sake of this post we’ll refer to… Read more