Directory Information

I had a bit of an epiphany over the weekend. Luckily I managed to clean up afterwards. Actually, it was whilst I was cleaning up that I had the thought. As I removed the plastic wrapper from the latest set of phone books, dutifully placed it in the bin and then took the books themselves and put them straight into the recycling I realised that I haven't used a phone book in nearly ten years. I don't need phone books any more. I have White Pages, and Yellow Pages. In this country both of these web sites are provided by Sensis, who also publish the paper books that land on my doorstep only to be put straight in the bin. But then I realised that I don't use those sites either. If I want the number for a business I Google them and look for a number on their web site. Because these days everybody has a web site, right? If they don't have a web site they generally don't get my business. Which is harsh, but who wants to open up a big book and find a business, or even worse figure out what category to look up and find an advert for an appropriate business on one of several pages in a directory. For people my approach is just as simple. If I want to call someone I generally have their mobile number. Failing that I'll have their email address and I'll send them an email asking for their number. Thinking about it I rarely ring more than a handful of people on their home or other fixed line phones. There are people that I've known for years who's home telephone numbers are a complete mystery to me. It would seem that I am not alone in this either. There was a big story in the Fairfax press only a day after I had chucked my phone books away - Millions set to disconnect their fixed-line phones - and even the Telegraph in the UK had this issue as number 8 in their list of 50 things that are being killed by the internet. As I think about this I struggle to think of any reason why I would need a printed phone directory ever again. Is there a way to tell Sensis not to send me them any more?

You can have your delimiter in any character, as long as it is comma

On a recent project a number of interface files were defined as "ASCII encoded DOS files with CRLF (ASCII code 13 and 10 respectively) end of line markers and the field delimiter is | (Pipe character - ASCII code 124)" or in plain language, pipe separated values files. Now the casual observer would think that these are the same as CSV files, but with a different delimiter. And you would almost be correct -as long as you aren't relying on popular desktop productivity software to produce your files. The reasons for this exact format are lost in the mists of time but these files are supposed to be easy to produce by anyone with a computer. The assumption was that most of the people producing these files would be running Microsoft Windows and Office. This leads to the assumption that you can enter your tabulated data into Excel and save as a pipe delimited CSV right? Wrong. It is next to impossible to do this in Excel unless you change some system wide settings. To which my first response was WTF? Luckily, Python came to my rescue and all I needed to do was this:


>>> import csv

>>> old_file = csv.reader(open('blah.csv'), dialect='excel')

>>> new_file = csv.writer(open('ANDY.csv', 'w'), delimiter='|')

>>> for record in old_file:

...     new_file.writerow(record)

Of course, this doesn't help the average person in the street who doesn't have my l33t Python skills. So I'll be changing the interface format as soon as I get a chance.

Gerald release 0.2.6

I have packaged and released version 0.2.6 of gerald. This is an update that doesn't change any functionality but has involved a major re-factoring of the module unit tests. Rather than wait I have released the package in it's current form to give a base for some major changes coming in release 0.3 Gerald is being considered for use in the SQLPython toolkit. For them to get full value I will need to make a number of changes to the code. Luckily for all of us these were on the development roadmap anyway, so I've just moved them up the priority list. As other people have shown an interest in the tool I have also invested in a little infrastructure and have fired up Trac for the sourceforge project. Gerald now has a wiki and, more importantly, a ticketing system for bug reports and feature requests. I've put the changes coming for release 0.3 in a number of tickets and you can track progress for the release using the version 0.3 roadmap.

Gerald release 0.2.5

I have packaged and released version 0.2.5 of gerald. This is another minor release with a couple of bugs fixes and one important administration update. You can find all of the details in the CHANGELOG.txt file that comes with the source distribution (or view it here) but in a nutshell the changes from the last release are;

  • Fixed a bug in some connections to PostgreSQL
  • Removed references to database links without passwords in Oracle
  • Converted the package to use setuptools and from this release onward it is installable using easy_install
The last change was at the request of the SQLPython project, if you haven't taken a look at that wonderful utility yet, please do. To support them it is likely that the next release of Gerald will support SQLite. Please download, install and enjoy. Bug reports. tumultuous praise or cash bribes to the usual address please.

Out of Office

I sent an email to a colleague earlier today. I just read the out of office auto reply that I received in response: "Note: I will be on a holiday until 5th January 2009. Please resend your important emails after my return date as I will delete all email sent before that date. Perhaps put a calendar entry in your diary. See you all when I come back." Who said customer service was a dead concept?

Web Design Guidelines and Standards

Dear Lazyweb, what should I put in a website style and branding guide?

When I'm developing software applications I am used to producing a number of guidelines that should be followed during development. These usually cover:

  • Architecture - these are the parts of the system and how they interact
  • Tools - these are the things you will use to build the system
  • Coding standards - these are the practices you should adopt with the tools we are using
  • Design - this is how the application will look and interact with people

I'm currently building a web site and struggling to find good examples of the last part. We have graphic designers engaged on the project but they don't have any templates to work from so we need to come up with our own. I don't want to re-invent the wheel so can anybody recommend a good template for a web site style guide?

I have found a couple of examples on the web, from Monash and Penn State Universities but would be interested in looking at any more that anyone can suggest.

Comment Bait

I've just added a couple of plugins to this here blog, in preference to writing something useful, can you do me a favour and leave me a comment. In it you can tell me if the funky new preview functionality works for you or not. And if you are using Internet Explorer 6 you should be seeing a yellow bar at the top of the page. Shame on you and let me know, because then I will know that the plugin is working and I can remove you from my address book. Double bubble.

Web 2.0 - better late than never

Just to prove that I am doing things even when I'm not posting here I am leaving my mark on the internet at these other places as well;

  • My tumblog - is that even what they are called?
  • Twitter - of course
  • Plurk - although these messages may be suspiciously similar to my tweets
  • Facebook - just to keep up with the juvenile party photos of people I went to university with
  • Flickr - although most of the photos are restricted, if you want to see them drop me an email.
And you never know, I may actually post something technical here in the near future.

Gerald release 0.2.4

I have packaged and released version 0.2.4 of gerald. This is a minor release with a couple of little features and some documentation and admin updates. You can find all of the details in the CHANGELOG.txt file that comes with the source distribution (or view it here) but in a nutshell the changes from the last release are;

  • Added support for comments on columns in Oracle
  • Added support for comments on tables in Oracle
  • Changed the stylesheet used for documentation
  • Added more information to the README file and converted it to reStructured Text format
Please download, install and enjoy. Bug reports or tumultuous praise to the usual address please.