Menu

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

Mimicking Abstract Classes with Objective-C

by Hugh
July 03, 2010

Objective-C doesn’t have the abstract class construct. The common approach to mimic it is to use NSObject’s doesNotRecognizeSelector: @interface ShapeBase : NSObject {} – (void)draw { [self doesNotRecognizeSelector:_cmd]; } @end @interface Circle : ShapeBase {} // missing draw method @end This forces subclasses to override, otherwise you get a runtime exception. There’s also another approach… Read more

Happy 30,000 Commits, kaChing

June 28, 2010

Vlad made our 30,000th commit this afternoon! I’m thinking there has to be a dancing bear e-card for this somewhere on the internet. Congrats!

Iterate Like a Whirling Dervish

June 25, 2010

Many thanks to the Lean Startup Circle SF for having me talk about continuous deployment. Slides will come momentarily. Continuous Deployment at LSC w/ KaChing from David Binetti on Vimeo. Update: and here are the slides. View more presentations from Pascal-Louis Perez.

Scala on Eclipse without the plugin

June 20, 2010

The Scala supported IDE is one of the few pain points of developers who want to start using Scala in their Java project. On existing long term project developed by a team its hard to step in and introduce a new language that is not supported by the existing IDE. On way to go about… Read more

Guice tricks for better testability, part one

June 16, 2010

I thought I’d enumerate some of the small Guice tricks we use for making our code more testable. Today: Logical Clocks. You never want to use System.currentTimeMillis() in your code. Rather, you want a logical clock that you can replace in your tests in order to control the flow of time. In Guice, not only… Read more