Keeping the trunk stable
Since the very beginning, kaChing has been trunk stable. In other words, everybody develops on the trunk and the software is stable at every point in time. Our trunk is being continuously built and tested and we cannot deploy a revision to production unless the revision has been successfully built and all the tests are… Read more
DevOps Cafe on Continuous Deployment and Operations Dashboards at kaChing
Open Mic is a new video series where John and Damon visit high performing IT operations and record an insider’s tour of the tools and processes these companies are using to solve their DevOps problems. In this episode, we visited disruptive financial services upstart, kaChing, in Palo Alto, California. David Fortunato, Pascal Perez, and Eishay… Read more
Models, they make everything look good
One of the most common best practices in Rails is to keep the controller light weight. This helps maintain the code’s readability maintainability, and refactorability (just like coding, I make stuff up). This is often done by pushing as much of the business logic as you can (where it still makes sense) down into a… Read more
Type inference puzzler
Does this compile? public class Puzzle { static Object one() { return 1; } static <T> T safeOne() { return (T) one(); } public static void main(String[] args) { int one = safeOne(); System.out.println(one); } } Take a look at it carefully and think before answering. Why or why not? Once you’ve thought it through,… Read more
Creating TypeLiterals in Scala
In case anyone wondered, here is how one can easily create instances of Google Guice’s TypeLiteral in Scala. Type literals are used for reifying types. def typeLiteralOf[T](implicit m: scala.reflect.Manifest[T]): TypeLiteral[T] = (m match { case m: ClassManifest[T] if m.typeArguments.isEmpty => TypeLiteral.get(m.erasure) case m: ClassManifest[T] => TypeLiteral.get(new ParameterizedTypeImpl(m.erasure, m.typeArguments.map { case n: ClassManifest[_] => typeLiteralOf(n).getType }.toArray))… Read more
Had a great Lean Startup TGIF at kaChing
Last Friday we had some great time at the kaChing “Lean Startup TGIF”. Engineers and entrepreneurs came over from all over the Bay area as far as San Francisco and Berkeley. We chatted about Lean Startups, Continuous Deployment, Test Driven Development/Deployment, Monitoring, seeking talent and geeking around about the next big thing. There was lots… Read more