Categories
Design Java Linux Scalability

Results of Scalability Improvements for Project Voldemort

For the past several weeks I’ve been working on and off on an NIO implementation of Project Voldemort‘s socket server. Voldemort is a distributed hash table used at LinkedIn in order to scale certain workloads. Up until now, Voldemort used a blocking I/O (BIO), thread-per-socket model for its binary protocol. My implementation moved to supporting […]

Categories
Design Groovy

A Quick Catch-all Comparator Closure for Groovy

I don’t come from a functional programming background. As a result, the concepts of closures, currying, and so forth that are present in Groovy are taking some getting used to. But that’s half the fun 😉 And without even trying, I was able to come up with a practical use for both: a generic, catch-all […]

Categories
Design Java

Introducing the Java Concurrency APIs

I recently had the privilege of helping one of my clients conduct technical interviews for a Senior Java Developer position. I enjoy interviewing candidates in part because it gives me a chance to learn something. While conducting the interviews I did learn a few things, so I’m happy 🙂 However, one unfortunate thing I learned […]

Categories
Design Java

The Dangers of Escapism

I’m the kind of guy that has a ‘word of the day’ calendar and will use odd words during a conversation in an attempt to use the word sometime during the day. I especially enjoy when I learn a new word (or a new meaning of a word) that succinctly describes a concept or thought […]