Blinking at the Tipping Point

One of my colleagues at WWF has mentioned Malcolm Gladwell’s “The Tipping Point” a couple of times. Listening to this podcast on the weekend I had a “duh!” moment and finally put two and two together to realise that this was the same Gladwell who wrote Blink, which has been mentioned on numerous weblogs over the past few months.

Anyway, I thoroughly recommend the podcast, and I’m getting my hands on both books soon to check them out. Really interesting stuff, very thought provoking, and I suspect very useful in my line of work…

New Design

Started work on a new weblog design yesterday. Still a bit to go, but nice to be on the way to a new look…

RSS and news aggregators

Ang was asking me on the weekend about how I can keep across so many weblogs (120+ last time I checked). The answer is RSS and news aggregators.

I could write a piece on weblogs and syndication, but Diego Doval has already written one: an introduction to weblogs, part two: syndication, so I’ll save my breath 😉 Suffice to say that most weblog software outputs a file called an RSS feed (or Atom feed) that a piece of software called a news aggregator can read to “deliver” the latest updates from weblogs and news sites to your computer without having to go to every single site.

However, I will mention what I use (note that I use Mac OS X – you’ll have to use Google to find PC variations). For news aggregation I use Ranchero’s most excellent NetNewsWire (NNW). I have been using this software since I first got my Mac laptop, and boy has it grown. I personally love the power and immense flexibility of the program, but it may be overkill for many people.

On my Powerbook (with it’s ultra-portable 12″ screen) I especially love the combined view, which is reminiscent of the aggregator provided by Radio Userland (although more powerful IMO). However, at work (where I have a fair bit more screen real estate) the “widescreen view” is proving pretty useful too.

However, with all the bells and whistles, it may be a bit confusing for some people to get started, so I checked out NewsFire again (I haven’t looked at it in some time), and it’s come a long way too. It’s also half the price of NNW (in fairness I must say that NNW is definitely worth the extra $$ if you need the features).

Both NNW and NewsFire support external weblog editors, which allow you to easily post an item from your aggregator to your weblog using software on your Mac, rather than the web-based interfaces on many blog tools (like Blogger and Movable Type). Again, Ranchero have a top little application called MarsEdit that comes with NNW (although you can buy it separately as well) to do the job. Ecto is an alternative.

Digressing for a quick tip, Blogger sites (which are hosted at don’t automatically list the Atom feed in the default templates. If you come across a site, try appending /atom.xml at the end of the homepage address to get the Atom feed – i.e. the Atom feed for is

Anyways, I hope that helps someone on the Mac get their weblog fix a bit easier in future.

No shit sherlock

SMH: Lawyer: why arrest them in Bali?: “Political undertones may have been at play when nine Australians were arrested in Bali on drug trafficking charges, a prominent criminal lawyer said today.”

Doesn’t take a prominent criminal lawyer to work that one out. I’m still a bit too angry about this whole affair to comment, but it’s nice to see MSM at least point it out. Now watch the government attempt to discredit the individual and not directly address the claims made, except through flippant “it’s absurd” comments.

Back up

Innergeek is back up and running – 5 minutes tonight identified the most obvious of problems. Images are still not there – but they’ll be up first thing tomorrow 🙂

No reader is an island

Scott Rosenberg on the challenges facing journalism: No reader is an island.

Until recently, each reader who saw the holes in the occasional story he knew well was, in essence, an island; and most of those readers rested in some confidence that, even though that occasional story was problematic, the rest of the paper was, really, pretty good. Only now, the Net — and in particular the explosion of blogs, with their outpouring of expertise in so many fields — has connected those islands, bringing into view entire continents of inadequate, hole-ridden coverage. The lawyer blogs are poking holes in the legal coverage, while the tech blogs are poking holes in the tech coverage, the librarian blogs are poking holes in the library coverage — and the political blogs, of course, are ripping apart the political coverage in a grand tug of war from the left and the right. Within a very short time we’ve gone from seeing the newspaper as a product that occasionally fails to live up to its own standards to viewing it as one that has a structural inability to get most things right.

Fear of Girls

Got this via email today on the BBK list:

… we thought you should know that ‘Fear of
Girls’ our long out of print second album is available for the first time
this century. Up til now it’s been impossible to find except via pay
through the nose e-bay. The only way you can order it is through your
record store. It’s not being put on a new release sheet so if you want it
you will need to order it in it’s catalogue number is MATTCD037 and it’s
through EDC distribution. … It’s not available via any internet traders.

This is great news – I’ve wanted to buy this for a while, eventually I found it by nefarious means – now I can get it for real 🙂

Unit testing filtered lists

I grok the idea of unit testing and why it’s important. I’ve got my head around NUnit and I now develop with tests from the outset.

However, after using this process for over 12 months now I still haven’t seen a decent tutorial or explanation about how to handle one common situation: how do you test filtered lists of data returned from a data source?

The issue is simple: in order to test that the correct data is returned you need known data in the database. To set this up I see two methods – one is to run an SQL script to create the data before the test is run (which needless to say is tedious to and error prone).

The second is to use coded methods for adding data to the database – which presents significant dependencies on the code to run the tests (but dependencies that we can reasonably assume are supported). You still need a clean database for this second approach to work, but a clean db is (usually) fairly simple to set up.

Neither method is particularly attractive, and I’d love to know how other developers handle this situation.

P.S. I’ve decided to stop using innergeek for a while – partly coz I don’t have time to work out what broke in the server change, but partly because mostly what I used to post to it were just links. I use for this now, so I have far less use for it. I will get it up and running for posterity, but it may take a little while.