CMSClassUnloadingEnabled at Redfin

tl;dr: If you’re using the CMS collector in Java 6 (-XX:+UseConcMarkSweepGC) server-side, then you should really consider -XX:+CMSClassUnloadingEnabled Today’s post starts out with a story. You might have heard a similar story before. It begins with a handful of servers in a datacenter that just…. pause sometimes. There doesn’t seem to be any rhyme or… Read More

Musings from debugging a production memory leak…

Much has been written on how to debug production memory leaks in Java, so rather than go into the nitty-gritty of how to comb through the heap, I thought I’d just highlight a couple of interesting points that came up as we were working on the issue… Note that this is based on an experience… Read More

What Senior Engineers Want (well, what I want…)

Senior software engineers are expensive, and good ones can be fantastically productive. With the right support and environment, a good engineer can do great things, and with a dysfunctional environment, even the best engineers fail. I’m not talking about beanbag chairs, espresso machines, and onsite massages. Great engineers love to make things, so 80% of… Read More

Power Search: If you build it, will they come?

Let’s talk about power search. Redfin currently offers over thirty ways to filter your search, but it seems that no matter how many options we provide, there will always be someone out there who wants more. Here’s a sampling of the kinds of emails we regularly receive in our Tech Support inbox: “I would like… Read More

When importData isn’t good enough: Retrieving CSV files behind basic auth with a Google Apps Script

(This post assumes you have some familiarity with Google Spreadsheets) For CSV files that are unprotected, Google Spreadsheets provides a really handy function: importData(url). There’s a short description of it in the list of Google Spreadsheet functions. If you just use this lovely function in cell A1 and pass it the URL of a CSV file, you’ll… Read More

Postgres Streaming Replication: Realizing the Dream

For many years, Redfin has used Postgres for storing all of the data that backs the main redfin.com site.  Until early this year, we were running on Postgres 8.4, but as the the Postgres folks continued to add exciting features to the 9.x line, we became more and more eager to make the jump. First,… Read More