Django progress

As of yesterday, Django has changed its model syntax. So code that formerly looked like this:

class Comment(meta.Model): 
    fields = (
        meta.TextField('comment', 'comment', maxlength=3000), 
        meta.CharField('headline', 'headline', maxlength=255, blank=True)
    )

will now look like this:

class Comment(meta.Model): 
    comment = meta.TextField(maxlength=3000) 
    headline = meta.CharField(maxlength=255, blank=True) 

Sweet. This brings Django more in line with the Rails philosophy that syntax matters. Making things easier for the developer to type, remember, and read can only bring good things.

Mac troubleshooting tips + bonus rant

DoctorMac Direct, a remote tech support service for Mac users, has a very handy Quick Checks and Fixes page that walks through a lot of good standard “try this first” troubleshooting techniques. If you’re an experienced Mac admin or power user you know most of this stuff already, but bookmark the page for the next time you get asked for advice. We all have succumbed to the temptation to try short-circuiting the troubleshooting process, but often we just end up discovering the disconnected cable twenty minutes later that way.

NetGrowler

Last fall I posted a blog entry titled “Serving Notice” about the inadequacies of OS X notifications compared to their OS <=9 predecessors, and about my hope that Apple would look to cool projects like Growl for interface ideas. Well, Apple is holding out on me, but good work on Growl continues and the list of applications using it is growing.

netgrowler

One of my favorites is the unassuming NetGrowler, a faceless app which uses Growl to display information about changes in your network connection. If you’re a laptop user like me, often changing networks many times a day, it’s nice to know the exact moment at which you’ve received your new IP; and if you deal with flaky wireless connections it’s good to know whether that IP is real or “self-assigned” (i.e. non-functioning).