Latest entries

Micro.

Published April 29, 2008

As a general rule, the things I write fall into two categories: long-form (for the medium of blogging, that is; the book is “long” in a very different sense), in-depth pieces which tend to be either tutorials on various aspects of working with Django or op-ed bits on web development and the Web in general, and short-form tidbits which mostly consist of a thought or two. Typically I never post the latter, because it always feels like a waste: if I could give it a more thorough treatment, I’ll hold it until I have the time to do so ...

Read full entry and comments

Minty fresh

Published April 19, 2008

For a while now I’ve been really disappointed with the state of web stats.

When I moved over to my shiny new server back in September of last year, I ditched Mint because it requires PHP and MySQL, neither of which will ever, under any circumstances, be allowed on my box. So I started fishing around for something else; most other host-it-yourself stats packages were, frankly, crap either in terms of what they tracked or the interface they presented it in, which led me to look for a hosted solution.

I tried Google Analytics for a while, because it ...

Read full entry and comments

I don’t normally do memes

Published April 10, 2008

But this one was geeky and interesting enough to be worth it:

$ history|awk '{a[$2]++} END{for(i in a){printf "%5d\t%s\n",a[i],i}}'|sort -rn|head
   75   cd
   64   ls
   34   ssh
   29   python
   21   rm
   21   hg
   20   svn
   18   man
   18   less
   17   screen

Read full entry and comments

Batteries sold separately

Published April 8, 2008

At first glance, Google’s App Engine looks like a great way to build the next big web application; you get access to a massively scalable infrastructure, you get access to a huge existing authentication system, you get baked-in stats, you get all sorts of cool goodies.

Oh, and you get Python, which is a great language for writing web applications, and I’d be remiss if I didn’t take some pleasure in Django being available out of the box.

Personally I don’t really care one way or another about hosting code with Google, or letting a data ...

Read full entry and comments

More slides

Published March 16, 2008

I gave a quick talk at the Django open session last night, and I’ll be giving it again here in a few minutes as a proper lightning talk, briefly walking through the process of some of the database-backed journalism projects we do at the Journal-World (specifically this feature on crime reports at the local university campus).

Slides are already online. If you’re at PyCon and want to hear the talk, come to the ballroom.

Read full entry and comments

Slides

Published March 15, 2008

I just finished my talk, which apparently included a bonus live transcript on IRC by Justin Lilly, and I think it went pretty well considering how much ground it had to cover and how nervous I was up until the moment when I started talking.

If you aren’t at PyCon, or if you are but didn’t come to the talk, or if you just want to download them and mash them up, my slides are online:

Since it includes several CC-licensed photos, and since I’m a fan of open access anyway, the slide deck ...

Read full entry and comments

Where to find me at PyCon

Published March 12, 2008

My flight arrived in Chicago a while ago, and despite an attempt by the hotel to screw it up, I’m currently sitting in my room enjoying a beer before bed. Here’s my plan for the next few days:

  • Thursday: Working on slides and stuff morning/afternoon, doing the code lab tutorial in the evening.
  • Friday: Definitely hitting up both Django-related talks.
  • Saturday: Hear me speak!
  • Sunday: Probably going to the “What Zope did wrong” talk.

Outside of these predictable time slots, I’ll probably be all over the place; I haven’t yet made up my mind which ...

Read full entry and comments

Advertising and me

Published March 11, 2008

Recently I received an email from a company that’s in the online advertising business; they run a network that places targeted ads on a collection of sites, and wanted to know if I’d be interested in running them here. I just finished writing a reply and, since I’ve gotten a couple such offers in the recent past, I figured it’s probably time to make a public statement of my policy toward ads on sites that I personally manage. It’s very simple:

I don’t run ads, and don’t plan to.

I don’t personally ...

Read full entry and comments

Victory for the web

Published March 3, 2008

Standards” means “standards”. Thank you for listening.

Now. Anybody out there who’s relying on version-specific quirks, get off your ass and fix your sites. It’s 2008, for crying out loud.

Read full entry and comments

Dependencies.

Published March 3, 2008

Once upon a time, I was doing a server setup at work, installing all the various prerequisites and utilities to support the things we use. One part of that involves installing Jing, which we use for XML validation; Jing is written in Java, and so we use gcj (the GNU Java compiler) to compile it for use, ending up with a nice little binary we can call from anywhere.

Now, we’ve standardized on Ubuntu for our servers, so installing gcj should be as simple as apt-get install gcj (or, more often, aptitude install gcj, since aptitude is a bit ...

Read full entry and comments

Managers versus class methods

Published February 25, 2008

In the triumphant return of “James answers questions from the django-users list”, today I’d like to take a few moments to talk something that’s recently become something of a hot topic, spawning not one but two threads, as well as a couple off-list email discussions: what, exactly, is appropriate to put into a method on a custom manager as opposed to, say, a class method, and when and how can you tell?

This is a somewhat tricky question to answer, since there’s a substantial grey area where personal preference will be the deciding factor, but I’d ...

Read full entry and comments

X-UA-8-Ball

Published February 19, 2008

Once again, with apologies to John Gruber…

Q: Do standards-based developers have to use X-UA-Compatible if they care about progressive enhancement for future browsers?

A: As I see it, yes.

Q: Doesn’t Internet Explorer already offer a fine-grained way to target specific versions?

A: Yes, definitely.

Q: So if there was a problem with the IE6 to IE7 transition, doesn’t that mean people weren’t properly using an existing tool which could have future-proofed their sites?

A: You may rely on it.

Q: Given that, is it likely that people will properly use a new tool that could ...

Read full entry and comments

X-No-Really

Published February 19, 2008

It’s sad to reach the point where “epic fail” is the most apt term I can come up with to describe an article by Zeldman, but that’s where I am today. His article “Version Targeting: Threat or Menace?” in today’s ALA is so far off the mark that, honestly, I can’t come up with any other description.

No, Microsoft is not relevant anymore.

No, the default behavior is not correct.

No, the switch does not solve the problems the IE team claims to be fighting.

No, it is not and never will be my responsibility to ...

Read full entry and comments

On “conceptual integrity”

Published February 11, 2008

Mark Ramm has a nice post this morning talking about Adam Gomaa’s discussion of “conceptual integrity” in Python web frameworks; I think it’s worth a read.

The key point Mark touches on is good documentation: ensuring that people see and understand the overarching structure of the framework is, ultimately, the key to helping people understand how it can help them get their work done. In the case of Django there is an official “overview” document, but it’s really not as good as it could be; it’s basically a whirlwind tour of components, and really has to ...

Read full entry and comments

Miscellany

Published February 10, 2008

Between normal work, working on the book, working on my upcoming PyCon talk and working on a couple little things on the side, I haven’t had much time for blogging lately, especially about Django. But I’ve built up a collection of little things that need to get posted, so I’m just going to start dumping them out here and then get back to not having any free time :)

A django-registration update

I’ve bumped django-registration up to version 0.4p2; the new package doesn’t add any new features, but it does have a few documentation fixes ...

Read full entry and comments