Friday, 1 January 2010

The rise of unit testing in open source software

I'm spotting a trend. A trend for unit testing.

We've always known we should unit test, but not many of us have done it wholeheartedly.

Only now are we starting to see the advantages.

With the rise of distributed version control, sites like github and improved merge tools, we're starting to see the real power of open-source software - but it comes at a price. We seem to have entered a phase of software development where, for some projects, the philosophy is "let 1000 branches bloom". The only way to allow this explosion of user generated functionality, while preserving quality, is via automated regression tests.

As a Python guy, I'm thinking of projects like Django and Twisted, but that could apply equally to projects in C, like redis, or any other language for that matter. Perhaps this means that languages with easy access to unit testing functionality will really start to prosper in this new era.

Within a large open-source project, no individual contributor can hope to be a master of all of the functionality - therefore the only way to ensure that people can contribute new functionality without having an adverse effect on the bulk of the legacy code is via automated regression tests. In this day and age, its not realistic to develop a system with a large number of contributors without having a means to allow those contributors to add to the codebase in confidence that they're not going to break a piece of critical functionality.

Unit testing is "a good thing", and we're starting to see the real benefits.

Saturday, 22 August 2009

Open Source in Alice Park

Open Source in Alice Park, Bath - the great taste of freedom.

Open source in Alice Park on Twitpic

Thursday, 21 August 2008

Dell XPS M1330 delivery woes are over

My new XPS M1330 finally arrived today - earlier than predicted, and I must admit it's lovely.

The only difference between the original order and the second order was the Bluetooth module, so it seems Dell has a problem with the Bluetooth module under Ubuntu.

Which leaves me with two questions:
1. Why does the Bluetooth module option exist on their website when I select Ubuntu?
2. Why couldn't they get in touch with me when they found they'd got a problem with the Bluetooth module on my original order, rather than just cancelling the order?

Wednesday, 13 August 2008

Posting twitter messages from Python

I've been doing a quick test, trying to post twitter messages using Python, with the Twyt library.

Suppose you've got a piece of equipment, that you want to get a Twitter message from if some event occurs....

Here's a small piece of sample code to show how its done, based on Tony Gambone's Twitmon code:


#!/usr/bin/python
import twyt.twitter as twitter

username = "your_username"
password = "your_password"
if __name__ == "__main__":
t = twitter.Twitter()
try:
t.setauth(username, password)
except AttributeError:
t.set_auth(username, password)

text = "this is a test message"

try:
t.status_update(text)
except twitter.TwitterException, e:
print "Error! " + e


Monday, 11 August 2008

Dell XPS M1330 delivery woes - an update

I've decided to give Dell another chance, more out of interest than hope. I've re-ordered the XPS M1330 with the bluetooth option deselected (but with more RAM than I'd previously chosen).

My order has been confirmed, and the projected delivery date is 26th August.

Lets see what happens....

Sunday, 10 August 2008

Dell XPS M1330 delivery woes

I recently ordered a new Dell XPS M1330 laptop for my day-job, to replace my well-used Rock Pegasus TI, which has been a great servant and taken a hell of a beating.

I thought I'd plan ahead, and order my new workhorse before the old one died on me.

I also thought I'd take the plunge, to avoid Vista and go for Dell's Ubuntu Linux option (Hardy Heron 8.04) - which I'm already running on my old laptop (an aged Acer that lives under the sofa), and on my desktop machine.

I'm really keen to support Dell's efforts in the open-source arena, so I decided that I'd show my support and order it from them with Ubuntu pre-installed, rather than order it with Vista and then install Ubuntu myself.

Today was the projected delivery date, and I'm waiting patiently in the house, and I receive an email telling me the delivery has been cancelled (due to "a problem with the combination of components"). How cryptic is that? I'm really disappointed with Dell's customer service.

I suspect the problem may be due to the optional Bluetooth module that I'd specified. There seem to have been issues with Ubuntu's support for some Bluetooth hardware. If that was the issue, why couldn't they get in touch and ask me if I'd like to drop it?

Was I foolish to try to order the M1330? If I google around for "dell m1330 cancelled", there are loads of stories about tales of woe about terrible customer service and piss-poor communications from Dell.

I used to think that Dell were the easy choice for middle of the road equipment, but perhaps I'm wrong. Are they starting to get evil? Are they a company that hates its customers?

Tuesday, 22 July 2008

Getting the Three Huawei E169G 3g modem working under Ubuntu

I've managed to get my new Huawei E169G 3g modem working fine under Ubuntu Hardy.

I cheated and downloaded the Vodafone 3g driver from
http://betavine.net/bvportal/web/linux_drivers.

The settings I used are as follows:
number: *99#
chap
username: three
password: three
APN: 3internet

Manual DNS settings (I always use openDNS - its safer and quicker):
208.67.222.222
208.67.220.220

I highly recommend the 3g stick - its working beautifully - if only the 3g coverage were better in the UK....