Mimicking Abstract Classes with Objective-C
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
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
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
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
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
Lean Startup Circle: Iterate Like a Whirling Dervish
Continuous deployment is a a process that allows companies to release software in minutes instead of days, weeks, or months. Pascal-Louis Perez, kaChing’s VP of Engineering and CTO, will talk at the Lean Startup Circle meetup on Jun 24. Pascal will describe how to use continuous deployment to iterate so fast that you run circles around… Read more