Elsewhere: Next Generation Java Programming Style

July 21, 2010

Vlad sent around a very good article on good Java coding style, which we all liked. Most of the suggestions are exactly what we do here, with a heavy functional influence on our Java code. A sample: Final is your new love: More and more Java developers in the teams I’ve worked with, started to… Read more

Murder Your Darlings

July 07, 2010

Lately I’ve been working on connectivity with NASDAQ. The protocols involve parsing fixed-offset messages of various types. We’re not doing high frequency trading so we are optimizing for programmer efficiency — that is, the API I expose to the rest of the system should make sense, so I’m representing the different types of messages, trading… Read more

Just-in-time Providers for Guice

May 31, 2010

Guice is widely recognised as the best dependency injection framework for the JVM world and specifically for Java. It has brought together ideas from numerous projects, including Spring and PicoContainer, and popularised type driven development. Dependency injection is one of the principal enablers for test driven development, and as such central to our software practices… Read more

Extreme Testing at kaChing

May 21, 2010

A few months ago, I was invited to give a tech talk at Google about our testing practices. I finally got around to posting the slides, see below! During the talk, I presented how we achieved our extreme iteration cycle of 5 minutes commit-to-production cycle. Starting at a high level, we looked the two fundamental… Read more

Instantiators, a Data Driven IoC

May 10, 2010

We’re working on a new library which will be part of kawala and wanted to share our initial thoughts. The full design doc is available on the wiki. Below, you can watch our design review session. An instantiator is meant to instantiate objects from string representation of its constructor arguments. In addition, instantiators can produce… Read more

A Better Option for Java

May 04, 2010

If you are somewhat familiar with Scala or Haskell, you are probably used to Option[T] or Maybe a, the neat way to pass around “partial values” – values that may be missing. Maybe a in Haskell represents either Nothing or Just x for some x of type a. In Scala Option[T] is either Nothing or… Read more