jQuery the Right Way
jQuery has changed the way we write Javascript by abstracting out much of the painful cross-browser implementation details that used to plague developers, but to use it correctly still requires a little knowledge about what’s going on under the hood. In this post we’ll take a good look at jQuery’s selectors and how to use… Read more
Agile, test-driven development in… MATLAB?
I recently decided to take a leave of absence from kaChing to work with the Covert Systems Biology Lab at Stanford on building the world’s first “whole-cell” computational model. The team (size: 3) is extremely talented and packed with domain knowledge and experience, but they’ve never worked on a piece of software this large before. When I accepted the… Read more
Lean Startup for Geeks at kaChing with Eric Ries
UPDATE: We will be broadcasting the event live. On Monday, October 25, 6:30 PM we will have the second meetup of kaChing’s Lean Startup series, following the successful TGIF we had last month. This session we’ll have Eric Ries talking about lean startup. Eric coined the term “Lean Startup” and is the founding father of… Read more
Practical Scala/Java interoperability by small examples
If you try to combine Java code with Scala in your application, everything seems to go fine until you bump into big differences between Java collections and Scala collections. A Scala Traversable is not Java Iterable and vice versa; maps are different, etc. So, in practice, you have to do conversion. Fortunately, there are pretty… Read more
When Garbage Collection is Failure
For systems that absolutely require a constant responsiveness Java is generally not an option because of the pauses associated with the garbage collector. Even the alternative collectors, such as parallel and concurrent-mark-sweep, have a pause associated with them for major and minor collections. This problem can be avoided, though, by making sure the garbage collector… Read more
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