Evolve or die: Start-ups and “Dealing with Darwin”

November 04, 2010

It’s that time of the month again. Endless conversations about the product roadmap, planning, priorities and resources. “We’re accumulating too much technical debt,” says the CTO, “we badly need some time to work on magic-refactoring-XYZ.” The product guy nervously answers a bit too quickly: “Are you forgetting about those killer-features-of-the-year we’ve been putting off?” “What… Read more

A Fix-It Day with Cyclomatic Complexity

November 01, 2010

It is here that the stereotype of the programmer, sitting in a dim room growling from behind Coke cans, has its origins. The disorder of the desk, the floor; the yellow Post-It notes everywhere; the whiteboards covered with scrawl: all this is the outward manifestation of the messiness of human thought.   The messiness cannot… Read more

Stop wasting people’s time!

October 29, 2010

We enjoyed hosting Eric Ries, here at Wealthfront, for a great Lean Startup talk focusing on engineering. The event sold out pretty fast and was soon overbooked—we had lots of smart people coming in and talking about taking their engineering organization to the next step with methodologies like Continuous Deployment and looking into the real… Read more

Migrating a Hibernate Bag to a Hibernate List

October 27, 2010

We ran into an issue recently where we needed to move from a Hibernate bag to an explicitly ordered list. Our root entity is a TaskSchedule, which has many Task(s). We needed to add a list_index column to the Task table, populate the new column and then update our code to use it. Because Hibernate… Read more

Experience of serializing financial domain objects in database

October 25, 2010

I found myself often having to make serialization design choices to persist financial data in database. The kind of financial data I’m referring to are domain objects describing stocks, stock quotes, stock fundamentals, corporate actions and so on. For example, a typical stock object has about 20 ~ 30 fields describing its static information: country,… Read more

Relaxing visibilities using Javassist

I personally like to restrict the visibility of my classes and members as much as possible. However, package-private classes get quickly annoying when used in an interactive environment such as the Scala interpreter. When we encountered this problem with one of our internal tools, we decided to generate derived versions of our JAR files with… Read more