Archive for the ‘Uncategorized’ Category

Visualizing our Deployment Pipeline

Cross posted also here: When large numbers start piling up, in order to make sense of them they need to be visualized. I still work as a consultant at outbrain about one day a week and most of the time I’m in charge of the deployment system last described here. The challenges encountered when developing the system are good challenges, [...]

The Three Axis of Software Management Complexity

The title sounds bombastic but hopefully the content is going to be trivial… For anyone who’s been doing software provisioning in a non trivial environment this post should only be calling names to things he may already know. Yesterday I was chatting with Nati Shalom and we were analyzing the difficulties of maintaining software for [...]

Creating a Minimum Viable Product start page with WordPress

Update: Cross posted here and at recipitor’s blog This post is a how-to for launching a simple Minimum Viable Product (or even less) web page for a new product I’m working on. If you want to read the story go ahead, otherwise skip right to The Point. The Story When I started working on my [...]

Continuous Deployment at outbrain

Warning: very long but interesting write-up It gives me great pleasure that the last project I’ve been working on at outbrain is one with the potential to speed up product development and is at the frontline of many web companies: Continuous Deployment. These are my last days at outbrain (I’ll share more about where I’m [...]

Hector API v2

Update: This post is now close for comments. If you have any questions please feel free to subscribe and ask at Update: The API was change a bit, it was mainly package renaming and interface extractions. To get a consistent snapshot of the api usage have a look at github on the release tag [...]

Understanding Cassandra Code Base

Lately I’ve been adding some random small features to cassandra so I took the time to have a closer look at the internal design of the system. While with some features added, such as an embedded service, I could have certainly get away without good understanding of the codebase and design, others, such as the [...]

JMX in Hector

Hector is a Java client for Cassandra I’ve implemented and have written about before (here and here). What I haven’t written about is its extensive JMX support, which makes it really unique, among other properties such as failover and really simple load balancing. JMX support in hector isn’t really new, but it’s the first time [...]

Load balancing and improved failover in Hector

I’ve added a very simple load balancing feature, as well as improved failover behavior to Hector. Hector is a Java Cassandra client, to read more about it please see my previous post Hector – a Java Cassandra client. In version 0.5.0-6 I added poor-man’s load balancing as well as improved failover behavior. The interface CassandraClientPool used to [...]

Hector – a Java Cassandra client

UPDATE 3: Comments are closed now and for the sake of information reuse, please post all your hector questions to the mailing list and please subscribe to it as well. UPDATE: I added a downloads section, so you may simply download the jar and sources if you’re not into git or maven. UPDATE 2: [...]

Running Cassandra as an embedded service

While developing an application at outbrain, using Cassandra I was looking for a good way to test my app. The application consists of a Cassandra Client package, some Data Access Objects (DAOs) and some bean object that represent the data entities in cassandra. I wanted to test them all. As unit test tradition goes, my [...]