Recent Photos (More)

Improving browser performance in Review Board

Tuesday, January 27th, 2009

This past Sunday, I landed a set of changes into Review Board that provide improved performance, such as aggressive browser-side caching of media and pages. It’s just a start, but has already significantly reduced page load times in all of my tests, in some case by several seconds. We implemented these methods for Review Board, [...]

Djblets and Review Board moving to jQuery

Thursday, September 18th, 2008

When we first began development of Review Board and its Django utility package Djblets almost two years ago, we needed to pick a JavaScript library to use. There were several good ones available at the time, and after evaluating several options we chose the Yahoo! UI Library (YUI) and YUI-Ext, an extension library to YUI. [...]

Django Development with Djblets: Dynamic Site Configuration

Tuesday, August 5th, 2008

Django’s a powerful toolkit and offers many things to ease the creation of websites and web applications. Features such as the automatically built Administration UI are just awesome and save developers from having to reinvent the wheel on every project. It does fall short in a few areas, however, and one of them is site [...]

Django Development with Djblets: Data Grids

Friday, July 25th, 2008

It’s been a while since my last post in this series, but this one’s a good one.
A common task in many web applications is to display a grid of data, such as rows from a database. Think the Inbox from GMail, the model lists from the Django administration interface, or the Dashboard from Review Board. [...]

Django Tips: PIL, ImageField and Unit Tests

Friday, July 25th, 2008

I recently spent a few days trying to track down a bug in Review Board with our unit tests. Basically, unit tests involving uploading a file to a models.ImageField would fail with a validation error specifying that the file wasn’t an image. This worked fine when actually using the application, just not during unit tests.
The [...]

Django Development with Djblets: Unrooting your URLs

Thursday, April 3rd, 2008

Typically, Django sites are designed with the assumption that they’ll have a domain or subdomain to themselves. Often times this is fine, but if you’re developing a web application designed for redistribution, sometimes you can’t make that assumption.
During development of Review Board, many of our users wanted the ability to install Review Board into a [...]

Django Development with Djblets: Custom Tag Helpers

Friday, February 29th, 2008

I’m planning to cover all of what Django can do, but for now, let’s start simple with something most Django developers spend way too much time creating: Custom tags.
Django’s nice enough to provide a @register.simple_tag decorator for creating very basic tags that don’t take a context but do take parameters. This is great, but what [...]

Django Development with Djblets

Friday, February 29th, 2008

Django is an awesome development platform for web applications. With such features as database abstraction, template/view/url separation, built-in authentication with interchangeable backends, it’s made web development much more enjoyable.
We use Django in Review Board with much success. Over time, as we’ve come to develop new features, we realized that much of our codebase was useful [...]