Tidy up your Windows PC with the excellent CCleaner

CCleaner is a free utility for Windows XP which will clean up your system and generally get your machine back in order. It can clean up Internet Explorer and Firefox histories, cookies and temporary files. It removes the temporary files and log files that Windows updates leave lying around and it also has an excellent registry cleaner built in. This is particularly good at getting rid of old problematic startup errors that occur after you've uninstalled certain applications.

I ran CCleaner for the first time on Thursday last week and it found 280MB of stuff that it wanted to delete! Most of that was internet cache files and Windows update rubbish, although I did have to uncheck it from deleting all my Firefox cookies. It also fixed about 90 issues with my registry. Just be careful to check all the settings prior to cleaning your system as it's pretty thorough ;)

CCleaner - Freeware Windows OptimizationIt's an excellent free tool and is now on my "must install" list!

Technorati Tags: , , ,

Monkey Patch - a Band-Aid for code?

Yesterday Chad Fowler made a post about the virtues of monkey patching. It mentioned that his code "monkey patches some of the Rails core classes" but does not provided a definition. It wasn't something that I had heard of before so I went in search for answers.

I found it within the documentation section of Plone.org (an open source content management system). Their definition is:

A monkey patch is a way to modify the behaviour of Zope or a Product without altering the original code. Useful for fixes that have to live alongside the original code for a while, like security hotfixes, behavioural changes, etc. The term "monkey patch" seems to have originated as follows: First it was "guerilla patch", referring to code that sneakily changes other code at runtime without any rules. In Zope 2, sometimes these patches engage in battle with each other. This term went around Zope Corporation for a while. People heard it as "gorilla patch", though, since the two words sound very much alike, and the word gorilla is heard more often. So, when someone created a guerilla patch very carefully and tried to avoid any battles, they tried to make it sound less forceful by calling it a monkey patch. The term stuck.
You learn something new each day don't you! So is that why GreaseMonkey is called what it is?

Technorati Tags: , ,

del.icio.us search to replace Google?

Well maybe I've blown the title up a bit to big but I wanted to share an interesting experience I had this afternoon with search.

A number of months ago I came across a website that helps you organise an event. You enter your name & email address and a title for the event. Then you add possible dates for that event along with a list of email addresses to send the invites to.

I used it a couple of times and then forgot about it, deleted it from my (del.icio.us) bookmarks and removed all trace of it from my memory. This afternoon I wanted to find that site again, so I turned to Google. No matter what keywords I typed in be it "event", "meeting", "invite" or "plan a party", it couldn't find it.

I turned to del.icio.us and entered 'event' in the search box, the second result from "Everyone's items" was the one I was looking for, a site called MeetWithApproval.com.

It's a very cool service and now that I've found a real need for it, I've got it safely tagged in del.icio.us.

Technorati Tags: , , , , ,

Mozilla's Thunderbird email client turns 1.5!

It's not the newest news in the world (it's been out a few days) but I wanted to share that Thunderbird, the free and rather excellent email client has been upgraded significant from 1.0.7 to 1.5. I've been using Thunderbird for quite a while now both on Windows XP and Ubuntu Linux and find it to be extremely stable and a pleasure to use.

Technorati Tags: , ,

Summary of January's AgileNorth Meetup

Update 19/01/06: Phran Ryder informs me that my unnamed pair is in fact Stephen Hutchison.



Monday night was the January meetup of the UK north-west AgileNorth group. It was again kindly hosted by Katie at computing department of the University of Central Lancashire, Preston. There were 11 attendees, and like last time it was run by Murray Tait (with laptop and software setup provided by David Draper).

We continued off from last time with more coding dojos, the first being a simple problem of reversing a sentence. Given "AgileNorth meets once a month" we had to produce "month a once meets AgileNorth" (maybe we could call this "Yoda-speak").


David Draper & Charles Weir took to the laptop to be the coding pair mainly responsible for typing in the code to implement the unit tests and referring to the JavaDoc where necessary. The rest of us were communicating to the 'customer' (Murray) and deciding what the next unit test should be (which was also noted down by Murray). This exercise ran from 7:00 till 8:00 and we managed to satisfy to the customer that we had provided a complete solution including what to do with symbols and numbers, double-spaced words, etc.

We had a quick coffee break and then dived into the next dojo that ran from 8:15 till 9:15. It was to write a 10-pin bowling scoring system and the customer was Isobel Nicholson, with Ant Grinyer making a note of the next unit tests. We did ok on this one, I was pairing at the laptop with ???? (sorry I have no idea of your name! please post it to the AgileNorth mailing list) Stephen Hutchison. At first I was running the unit tests for the previous dojo, and that got quite confusing! :(

We managed to get basic scoring working per frame (a frame was two balls), and managed to get 'spare' scoring working correctly. We were about to start moving onto strikes but ran out of time. We struggled with this one on how to start, it felt like we wanted to write a large object framework of balls, frames, game scores, tries, etc. without ever having a failing test. Even the initial failing test was tough to get started on. Once the first test was written and a very stupid "return 5;" implementation done we started to pick up speed - I really like writing that first immature implementation to get some working code out and a green bar to give me a boost.

From my point of view it was good to get through a couple of different dojos in the evening (admittedly we didn't finish the second one) as it mixed up the pair programmers, and mean that different people were leading different sections of the problem domain. I also enjoyed meeting quite a number of new faces, and coding Java with 10 other people watching my every keystroke on a projection screen is a very strange feeling!

Technorati Tags: , , , , , , , , ,

A list of annoying CVS habits

Rob Sanheim posted today with a humourous list of annoying CVS habits, my personal favourite is bullet point 3:

Or, commit sweeping changes to 45 files all with the same comment: “changed the foo baz system”.

I have a few more to add that I can think of at the moment:

* Create a tag for the current software release that bears no resemblance to any tags that have existed for previous releases.

* Commit any changed files but forget to add & commit any new files, then go on vacation, leaving your machine switched off with an unknown root password.

* Commit compiled Java class files so that when you run cvs diff you get a very colourful output.

Got anymore to add?

BTW, a small but incredibly useful book to have is O'Reilly's CVS Pocket Reference. It's cheap but full of detail which has saved me on a number of occasions when I'm asked to fix some obscure CVS issue.

Technorati Tags: , , ,