April 19, 2005
Well, frankly I'm shocked. Here is a cogent, well written comment posted to a Slashdot article. The original question was "what makes a good design document?" and this response says, in part, that it is;
- A statement of the problem - What are we trying to solve
- The solution to the problem - How we are going to solve the problem.
- A discussion of how the solution addresses the problem - Why we've done what we have done.
When I'm writing or reviewing documents that accompany a system I always focus on the What, How and Why of the solution. Especially important is the Why section, especially when a system is in maintenance or enhancement mode because often a first reaction when returning to work we've done previously is to ask "why was it done that way?". Except usually the language is more anglo-saxon in origin.
The other sage advice is to limit your How section to the publicly available parts. There's no need to list every line of code in a program and comment it, as I've seen done a few times. What should be included here is the information that helps you to understand the program, if you need to know exactly how it works look at the source code.
April 18, 2005
Ubuntu Better, Knoppix Best
Last week I had a chance to try out some more Live CDs. I needed to get some files of an old machine at home which was running Windows 98. Rather than get it talking to my network I contrived to boot it into Linux and transfer the files onto my USB flash disk.
This nicely coincided with the latest Ubuntu release the Hoary Hedgehog. So I downloaded and burnt the Live CD. The good news is that my experience was better than the last time. There is now a shut down option on the menu. The bad news is that it didn't recognise my USB flash drive, and even worse news is that it doesn't auto mount your Windows partition. So I couldn't read or write the files I needed.
So I turned to the old faithful Knoppix. Not only did it recognise my USB drive but it also automatically mounted the Windows partition, allowing me to complete the file transfer.
The one thing that Ubuntu (and Kubuntu) has going for it is look and feel. It's a lot more polished and pretty than Knoppix. I'm just puzzled why the Live CD doesn't automatically mount the Windows partition as standard.
Whilst booting into Linux from a CD is nice as a demonstration of the operating system for about five minutes you will want to actually do something sooner or later. Having your files available does help this immensely.
April 15, 2005
Following these instructions I had Firebird installed and a database created in no time. I then installed KinterbasDB quite easily and fired up my python interpreter.
>>> import kinterbasdb
>>> myDb = kinterbasdb(user='sysdba', password='masterkey', database='~data/firebird/firstdb.fdb')
ImportError: No module named mx
Hmm, that's a little surprising. On consulting the documentation it looks like you really need to use the mx.DateTime third party module. The alternative is quite hairy scary looking and frankly puts me off using the module. If I had Firebird databases I wished to connect to from Python then I'd probably persevere. But my thirty minutes were nearly up and I hadn't managed to connect to my database yet.
When I got to work, and in the interests of fair play, I did a bit more reading. According to this gem I found in the documentation you can rely on the standard datetime module, but to do that you need another third party module (fixedpoint). I gave up at that point as my time was well and truly up.
So my suggestion to the kinterbasdb team would be to provide a type_conv option which only relies on modules in the standard library, this way the casual dabbler who tries out your module will be able to use it.
April 13, 2005
The only group I'm currently involved with is the Sydney Python meetup group and something tells me that we aren't big enough to shoulder the charges that are being talked about. Luckily us Pythoneers are a technically savvy bunch and I'm sure we can come up with alternative ways of providing the services that Meetup.com currently does. For instance, there is a Python-au mailing list and the currently rather quiet Sydney Python Interest Group.
I'd have to agree with "Reynolds" at Random Acts of Reality that this seems a dumb way for meetup.com to make some money. I don't begrudge them that as we've all got eat. But surely with something like Google's AdSense targeted at the specific interests of their groups they could make some tidy sums without charging their users a monthly stipend. Or maybe not. In the end it is their business and their choice.
April 06, 2005
Rather Missing the Point
Most of the people talking about or commenting on the recent Open Source Database opinion piece published by the Register are making a rather brave assumption when they agree that the likes of MySQL and PostgreSQL aren't a danger to companies who charge for their RDBMS software.
They assume that for a software product to succeed in this day and age it needs to be "supported" by a company. The contention is that other commercial organisations won't use software that isn't guaranteed by a legal entity who they can sue if it all goes wrong. Not only is this missing the point of free and open source software (you can fix it yourself) but it also assumes that you actually can sue your software vendors.
Do me a favour and read the license terms that you agreed to when you bought Oracle database licenses (or DB2, or SQL Server). Then try and sue. I'll wait.
See, you can't. The fallacy of commercial software is that whilst the vendor may be responsible for their software you sign away the right to sue them when you buy your licenses.
In this way commercial software isn't any better or worse than open source software. I'm still using Oracle because it's a good product, not because I can sue the pants off Larry Ellison if my data gets corrupted.
It's a bit like assuming software vendor's support organisations purpose in life is to solve customer's problems. That may be a bi-product, but because they are measured by call completion rates they only focus on trying to close calls as quickly as possible.
April 01, 2005
A Slight Diversion
Oh look, nice pottery blog.
Posted by Andy Todd at 08:33 PM