AJAX Performance Part 1: I Love Your Website, but it’s so Slow!
One of the main goals of our latest release was to improve the overall performance of the user interface, so we’re starting an intermittent series today on the dev blog talking about what we learned...
View ArticleElephant versus Dolphin: Which is Faster? Which is Smarter?
vs. Redfin recently switched some of our backend DB infrastructure from MySQL to Postgres, and we plan to wholly switch to Postgres in the near future. This wasn’t an easy decision; MySQL has a lot...
View ArticleCleaning Whitespace in Postgres
As part of our recent release, we added every survey submitted about our agents to our agent profiles. To prep for this, we needed to do a mail merge with each survey response, which we exported from a...
View ArticleLaziness (in proxies) is a virtue
We use Hibernate for object-relational mapping (ORM) and organize our code into domain objects and data access objects. Historically many of our domain objects have been marked with the “@Proxy(lazy =...
View ArticleESI 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...
View ArticleSynchronous/Asynchronous Switching with Varnish
When your webapp is serving up content that’s expensive to generate, you may want to serve it up asynchronously- via AJAX calls. This is particularly appealing when content is “below the fold.” However...
View ArticleService Oriented Architecture with Varnish and Edge Side Includes
As we talked about before, Redfin uses Varnish to implement Edge Side Includes (ESI.) This involved breaking a single big (and expensive) page into individual chunks; each chunk would be generated by...
View ArticleBoilerplate JDBC Wrapper
We use JDBC to connect to our database, but most of our code doesn’t connect directly to JDBC. Instead, we go through Hibernate, which is great for most purposes, but can make it difficult to do low...
View ArticleMusings 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...
View ArticleDojo Phased Javascript Loading
Here at Redfin, we undertook a rather large project to redesign one of our most visited pages: the details of a home. This was no easy task but one of the main choices we made early on in the redesign...
View ArticleLife with New Relic
Improving performance is awesome. As a web developer, there is a unique satisfaction knowing a page now loads in half the time, or spends less time accessing databases. However, improving a page takes...
View Article
More Pages to Explore .....