Categories
Configuration Hive Java Scalability

How To Try Out Hive on Your Local Machine — And Not Upset Your Ops Team

According to the Hive web site: Hive is a data warehouse infrastructure built on top of Hadoop that provides tools to enable easy data summarization, adhoc querying and analysis of large datasets data stored in Hadoop files. Hive is built on top of various technologies, the most notable being Hadoop and HDFS. As a result, […]

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
Configuration Java

On the Trials of Using Websphere's JMS Provider

I was recently tasked with getting a stand-alone JMS-based client running using Websphere’s built-in JMS provider. I was confident that with just a bit of administration, a set of JAR files, and some jndi.properties values I could get something up and running in an hour or maybe two… After about twelve hours I finally finished […]

Categories
Java

Setting up Tomcat Development in Eclipse

In this post I’ll outline how to get the Tomcat source code up and running in Eclipse. This is the opposite of what most people want to do: debug web applications using Tomcat in Eclipse. This is about downloading the source code, building, and debugging Tomcat itself. We’ll be using Linux as the development environment, […]

Categories
Java

ByteBuffer.duplicate() Does Not Preserve Byte Order

I’ve just spent the last two hours pulling out my hair wondering why my ByteBuffer duplication code doesn’t work. I’m having fun with a side project to create a lightweight CIFS server in Java. Since the CIFS protocol is in little endian byte order, I have to explicitly specify the byte order via the order […]

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 […]