November 2007

30 articles; try also the whole year and December

Closing out November

30 Nov 2007

It’s been a long month. It’s been a very long month. I’ve had my ups and downs, but over all, it’s been a good time. I stuck it out to the end, and I’m proud of that.

Django Projects

29 Nov 2007

A while back, Jacob posted a list of Django projects he found outstanding. I’ve now had some time to work with several projects myself, and I’d like to take the opportunity to recommend a few of them.

Preparing for the Sprint

28 Nov 2007

The sprint’s coming up fast now, and I’m finding myself a bit overwhelmed with everything I need to do before I go. What it amounts to, unfortunately, is that I won’t be able to have my own, Django-powered blog up and running before I leave for Kansas tomorrow. It’s definitely unfortunate, given how close I am, but I just can’t spare enough time to finish it off.

Upcoming Sprint

27 Nov 2007

I’m finally able to make a sprint this time. I missed the last one (though I did have my own shortly beforehand), but I’m all set to make this one, live and in Lawrence. I’m incredibly excited to be meeting everybody in person, I expect it’ll be a great time. It’s especially great that I’m one of those weird people who love nothing more than coding in my spare time.

Making friends and influencing people

26 Nov 2007

I don’t have any links to back this up, but I remember reading a few different articles suggesting that the “power” or influence of a blog is primarily based on its readership. This certainly seems to fit with the many reader-stats tools that are available these days, but I’ve never really subscribed to that view. While I do agree that a blog is nothing without its readers, I don’t believe readership alone is a good indicator of the influence of a blog.

Month-to-date

25 Nov 2007

Most of you should know that I’m participating in National Blog Posting Month, with the goal of posting at least once every day for the entire month of November. So far, I’ve held up much better than I thought I would, but it’s taken its toll on me.

Python Descriptors, Part 2 of 2

24 Nov 2007

Yesterday, I gave a basic overview of descriptors and what they can do, including a simple example to demonstrate one in action. That’s all well and good, but today I’ll explain how this can be genuinely useful in your apps, particularly when used in models.

Python Descriptors, Part 1 of 2

23 Nov 2007

I rather enjoyed writing about a relatively underused feature yesterday, so today is more of the same. Of course, continuing with a focus on Django, today’s Python feature is also commonly used throughout a number of Django’s internals: descriptors. Python’s documentation on descriptors is rather sparse, though there’s a great writeup on it already. I won’t try to reinvent the wheel in its entirety here, I’ll just write up some basic details and how it can be used for Django.

Dynamic Functions

22 Nov 2007

Python supports a neat little trick that I had never heard of before I delved into the Django source. I doubt its usage is really all that rare, but I started Python because of Django, so that was naturally my first exposure to it. In a nutshell, Python allows you to define and call functions using any number of arguments, and it does in a very clear, concise way. Unfortunately, if you’re not familiar, it only looks concise. It isn’t immediately clear just by looking at the code without documentation.

Except the Unexpected

21 Nov 2007

No, that title isn’t a typo. Predictably, yesterday’s post drew out an opposing view, and I’m very glad for it. While I haven’t changed my mind on the subject, Cedric did raises some reasonable points that I neglected in my original post. Maybe it’s just that I’m growing tired of posting every day, but I didn’t adequately explain my views, and for that I apologize. Only for not explaining, though, not for the views themselves. Today, I’ll try to be more detailed in my thoughts on the subject, and offer more recommendations than just “don’t return None” and “embrace exceptions”.

Returning None is Evil

20 Nov 2007

Yes, that headline was written for dramatic effect. No, I don’t think that None itself is evil. Yes, I realize there are many cases where None is an appropriate return value. No, this post isn’t about those cases.

Understanding Middleware

19 Nov 2007

While it’s not news, I believe the fact that Django supports custom middleware deserves a good bit of attention. Unfortunately, I’m starting this post too late to do it real justice, but I’ll cover the protocol in a basic overview. The main point I want to cover is what types of things can be done with middleware. I won’t pretend to list everything that can be done, but just a few ideas that should give you somewhere to run with it.

Working on Visual Design

18 Nov 2007

It’s no secret that I’ve been very involved with Django, which requires a lot of design with regard to programming, but it doesn’t really deal with the visual aspect. Instead, that’s (rightfully!) left to graphic designers. Unfortunately, this only works at its best when you have access to a designer. When building my own site, I’m constantly reminded that I don’t have design skills, nor can I hire a designer. In fact, that’s one of the biggest reasons I’m on Blogger at the moment; I just can’t manage to get a personal site that looks good.

Fixing bugs or adding features?

17 Nov 2007

No, I’m not going to actually answer that question, as I expect it to be different for each person. This post is more about what I go through when trying to answer it for myself. With the upcoming sprint, it’s especially important to answer, at least it is for me.

Data Visualization in Django: A dream?

16 Nov 2007

Continiung a bit in the vein of yesterday’s post, one thing I go keep wishing I could do is easily generate graphs and charts of Django-managed data. I have so much other stuff going on that I can’t work on it now, but I’d love to do it sometime. I know things like matplotlib are already out there, and I’m not hoping to reinvent them.

Blog stats

15 Nov 2007

I was looking at my Google Analytics data today, and I noticed a few surprising things.

Slight update on django-modular

14 Nov 2007

I don’t have much to report tonight, but there’s been so much interest more that I thought there would be, so I’m trying to keep people in the loop.

What I mean by “modular”

13 Nov 2007

I’m putting my series on hold for a little while, as there’s been some recent chatter about a project I’ve been working on, django-modular, and I thought I’d try to write it up properly for the first time.

Using Declarative Syntax, Part 3

12 Nov 2007

Continuing where we left off yesterday, it’s time for some more sugary syntactic goodness.

Using Declarative Syntax, Part 2

11 Nov 2007

Today, continuing the series, get ready for some code. The first thing we’ll need to do is lay out some files to work with.

Using Declarative Syntax, Part 1

10 Nov 2007

A while back, I wrote a bit about my work on django-modular, and one of the comments pointed me to the Netvibes UWA. While that wasn’t the point of django-modular, it still looked like it would be reasonably easy to support in a way that would integrate well with a Django app.

A Django Analogy

9 Nov 2007

I was thinking recently about how I look at Django and my place in it, and I found a certain analogy to be very apt: it’s a lot like a kitchen. Bear with me here.

Ohloh’s KudoRank

8 Nov 2007

Jonathan Buchanan recently joined Ohloh and gave me a Kudo and I noticed something fascinating: my KudoRank jumped about 88% all at once. Needless to say, that struck me as a little … odd.

Customizing filenames without patching Django

7 Nov 2007

Recently, I’ve noticed a good bit of chatter on the mailing lists about how to override the filename of an uploaded file before saving it. Django currently provides options for customizing the location based on upload time, but nothing else. Often, projects find the need to store attachments in directories according to details of the object or a related object. I’m doing a good bit of work on FileField at the moment, but that’s still a way off and doesn’t yet address this issue anyway.

Ohloh

6 Nov 2007

I discovered Ohloh a while back, and I must say that I find the idea very intriguing. The notion of tracking who uses a particular framework is fine and dandy, but it’s great to be able to track real statistics about code size over time, commits over time, even approximately how much it would cost to be developed commercially.

Local Branches

5 Nov 2007

Okay, I officially despise National Blog Posting Month. It’s neat to try to think about how to populate the blog every day, and I really appreciate all the extra thought it’s made me put into it. But I just don’t think I can reasonably manage to do it. Here it is, five days in, and I’ve already resorted to a minor status update just to get my post in for the day. Sorry folks, you’re in for a long month.

Django in JavaScript

4 Nov 2007

Well, this post isn’t very substantial, because I don’t really have much code to back up my plans in this area, but it’s time for me to post again on what I’ve worked out for using Django with Google Gears. It’s turning out to be a bit trickier than I thought, bu I think it’s still something worth working toward.

Storing passages of time

3 Nov 2007

One thing I need for VGMix is the ability to store the length of a song in a Django model. There are date and time features, but nothing for just a length of time, unrelated to any particular point in time. I did a bit of searching and found a ticket to add an IntervalField to Django, but no patches were provided.

The future of dbsettings

2 Nov 2007

I took a look at Satchmo recently, and I noticed that its new configuration system (now in Satchmo 0.6) looked vaguely familiar. I had a brief conversation with Bruce about it, and it turns out he forked dbsettings! And I mean that in a good way.

Django Projects

1 Nov 2007

Thanks, James, for giving me a heads-up about National Blog Posting Month. It’s unfortunate that I heard about it with just one hour left on November 1, but I’ll give it a shot.