Circular dependencies between entities

November 29, 2010

One question I am often asked is how to handle circular dependencies between Hibernate entities. Interestingly enough, the answer that people are usually looking for ends up being to a slightly different question; namely, how to handle circular dependencies between entities. Let’s have a look at an example. Consider two entities, Customer and Account, with… Read more

Arrhythmia.js, a new take on rhythm validation

November 22, 2010

…just as regular use of time provides rhythm in music, so regular use of space provides rhythm in typography, and without rhythm the listener, or the reader, becomes disorientated and lost. —Richard Rutter, Compose to a Vertical Rhythm Arrhythmia.js is a tool for validating the vertical rhythm of your page. Its goal is to do… Read more

dev2ops Video Q&A: Continuous Deployment requires great testing

November 17, 2010

Thanks to Damon Edwards for the great questions during our interview at Yahoo! Large Scale Production Engineering Meetup.

Continuous Deployment talk at Yahoo! Large Scale Production Engineering (LPSE)

Last night I gave a talk at the Yahoo! Large Scale Production Engineering (LPSE) meetup. They said I had about 20 minutes to talk about continuous deployment at Wealthfront so I went fast, but there were at least another 20 minutes of questions so I was happy to oblige! Thanks to Chris Westin of Yahoo!… Read more

GUI Testing, Without The Gooey Parts

November 16, 2010

Alright, so I know that Java on the desktop has never reached the level of popularity that it enjoys on the server side, but regardless of popularity, there are cases where the requirements favor or maybe even necessitate a desktop solution. Testing a user interface can get kinda sticky, but with the right abstractions, you’ll… Read more

Monitoring Long Running MySQL Queries with Nagios

November 15, 2010

We’ve been using Nagios as part of our monitoring infrastructure from some time now and it has been very useful to monitor our databases. To look at long running queries (those whose running time is measured in seconds) we use the show processlist command. Here is what the output looks like on an empty machine…. Read more