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

Prefetching Web Content: Trials and Tribulations

Stoyan is totally right and I’m totally wrong (see his comment below, which reads “The thing about google maps you load is that it’s an html page. When you load html page in object tag it’s as if you put it in an iframe. It includes all markup and extra css/js/img resources.”) My test was… Read More

ESI and Caching Trickery in Varnish

Varnish is a high performance, flexible, open source HTTP accelerator. We started using Varnish at Redfin in our last major release, a few weeks ago. It’s pretty much invisible to our end users, but we’re so happy with it that we wanted to give the folks who made Varnish their props in public. It has… Read More

Laziness (in proxies) is a virtue

In Hibernate, when you indicate that a domain object should not support lazy proxies, you make it hard for DAO writers to get their code to perform well. Worse, you disable a capability that they may be counting on, and they may not notice until there are major performance problems. Unless you have a good reason to, use “@Proxy(lazy = true)” on your domain objects. Read More

How to search Redfin directly from IE and Firefox

I recently heard that some loyal Redfin customers were using Google to do address searches. That’s a shame, since Redfin does a pretty decent job of searching for addresses, MLS IDs, cities, etc. I wanted to see if I could help those power users get to Redfin search results with fewer clicks. Naturally, I wanted… Read More

Getting the Time Zone from a Web Browser

Writing rich date/time features in a web app can be a pain. Apps (such as schedulers) that do math on times (e.g. ordering times) should pay attention to time zones for those times, but it’s difficult to know which time zone should be used to display the times to the user. Asking the user to… Read More