Entries published in August 2006

12 entries published in this month. See also: all entries published in 2006, latest entries.

The Rules

So today I got to wade through the joyful experience of cancelling my account with a business which shall remain nameless (unless, of course, they didn’t actually cancel the account — in which case they shall be named and shamed and several other things as well).

The experience was less then pleasant both for me and the poor customer-service rep who had to take my call, so I’d like to suggest some general guidelines on how this could have gone better. If you want me to be a happy customer, even ...

Entry published August 29, 2006. Read full entry.

The best of all worlds

Every once in a while, someone will complain on the Django users mailing list that they feel our ORM doesn’t offer all the features they need, and it’s true that there are a few exotic and/or advanced things that it can’t handle. Usually the standard people compare to is SQLAlchemy which can be, unfortunately, extremely complex to learn and use. A related — and inaccurate — complaint is that it’s possible to use Django with SQLAlchemy, but that you’d lose the admin app (you wouldn’t; using the admin while ...

Entry published August 29, 2006. Read full entry.

A Web 2.0 service idea

One of these days, someone should start a socially-based translation service for blogs.

You see, it’s not uncommon, this being the World Wide Web, to get incoming links from articles written in languages you don’t necessarily speak; for example, my recent post about accessibility got attention from a German-language blog and, sadly, I don’t understand more than a few words of the language (I also got linked up by a French-language blog, but I can get by in French).

So a pretty cool service might work like this:

  1. You sign up, and list ...

Entry published August 28, 2006. Read full entry.

Let’s talk about accessibility

The other day, Jeff posted some thoughts about accessibility which were, for the most part, well-received. Some people apparently didn’t get the message, though, and went after him in the comments, so he had to post a follow-up clarifying that, no, he’s not an evil corporate monster who hates handicapped people.

Jeff’s first post was somewhat kicked off by Roger Johansson’s post on Monday, which had comments that got so bad he had to close them for a while, then re-open them with a note:

Comments are open again. You are free ...

Entry published August 25, 2006. Read full entry.

Trying something new

Following up on yesterday’s feed subscription housecleaning, today I noticed that, if you buy a NewsFire license before day’s end you’ll get a nice bonus: Inquisitor thrown in free of charge.

Well, hot damn!

Inquisitor is really the big win for me here; I’m trying to get into the habit of using Safari as my day-to-day browser, since I’m doing lots of JavaScript stuff and — though this is in no way a knock against Dave Hyatt and the WebKit team, or the KHTML team — I’ve always tried to have a ...

Entry published August 20, 2006. Read full entry.

A modest proposal

As a lifelong baseball fan somewhat dismayed with the currently-available coverage of the sport, I’d like to propose a change to the structure of the major leagues which might make things a bit more bearable, especially as we head into the waning days of the regular season: all it requires is adding a third league. I know this will be controversial, but bear with me.

The problem

In any given area of the country, your televised baseball viewing choices are generally limited to:

  1. The nearest major-league franchise. In my case, the Kansas City ...

Entry published August 19, 2006. Read full entry.

Some long-overdue cleaning

It had gotten out of hand and out of control. It was impossible to deal with, and impossible to do without. It was eating more and more of my time every day, and finally I just had to kick it to the curb.

That’s right, I’m talking about my feed subscription list.

The new world order

Screenshot of my subscription list in NetNewsWire Lite, showing nine folders of feeds

It took about half an hour, but I’ve successfully pruned and reorganized my subscription list; where before the subscriptions pane in NNW Lite was a sprawling single list of pretty much everything I’ve read over the past ...

Entry published August 19, 2006. Read full entry.

I’m going to predict this now

Assuming they’re both still on TV in 2008, Jon Stewart and Stephen Colbert will both run for President. In different parties.

Entry published August 18, 2006. Read full entry.

Django tips: using properties on models and managers

While working on a little side project this week, I ran into a couple of very common use cases that often result in a lot of extra typing:

  1. Defining a BooleanField, or an IntegerField or CharField with choices which will, logically, break up instances of the model into certain groups which need to be accessed often.
  2. Repeatedly wanting to calculate a value based on the values of several fields of a model.

Let’s look at how to handle these common cases, while reducing the extra typing and making them behave in an extremely ...

Entry published August 18, 2006. Read full entry.

Quick note for pydelicious users

If, as I do, you use pydelicious to handle automatically posting links to del.icio.us, you’ll want to take note of the fact that the switch of the del.icio.us API‘s location, previously announced, has happened.

It doesn’t look like pydelicious has updated (and given the spamfest that is their Trac, I wonder if it’s being maintained), so in the meantime here’s the quick fix:

Crack open pydelicious.py, and change lines 91 and 94 to reflect the new API locations; line 91 should become

DWS_HOSTNAME = 'https://api.del ...

Entry published August 15, 2006. Read full entry.

Let’s talk about frameworks, security edition

It’s been an exciting week, hasn’t it?

The Rails vulnerability touched off quite a firestorm of commentary on the security of web application frameworks (and, by extension, applications developed with them), so let’s bring back the frameworks series for one last hurrah and take a look at security.

What do we mean by “secure”?

This may sound like a strange question to ask, but it’s an important one. A common misconception is that an application is “secure” if it doesn’t have any “bugs”. Setting aside the fact that this just switches out one ...

Entry published August 13, 2006. Read full entry.

Django tips: A simple AJAX example, part 2

Last time around we looked at how to write a simple view which processes a form and either returns errors or returns success, and then tweaked it slightly so that the same view could handle either a “regular” form submission (in which case it operates normally), or an XMLHttpRequest (in which case it returns JSON).

Today we’ll look at writing the JavaScript side of it; for reference, here’s the live example we’re going to build. This will be a fairly long write-up, but that’s not an indication of the complexity ...

Entry published August 5, 2006. Read full entry.