Thursday, November 20, 2008

T-SQL Mandelbrot

From The Daily WTF comes one of the most awesome and geeky things I've seen in a long time - the classic Mandelbrot set, generated in good ol' ASCII text using a single T-SQL select statement. Since it uses Common Table Expressions and the PIVOT command, it'll be for SQL Server 2005 and 2008 only.

The Mandelbrot set (not as ASCII art, though)

It's reassuring to know that somewhere out there are still some very interesting people with a lot of free time on their hands...

Monday, November 17, 2008

iSilo on the iPhone

One of the main reasons that I haven't bought an iPhone, apart from the hoops that you have to jump through to get it on the 3 network, is that it didn't support the iSilo document reader. Since iSilo is one of the main document formats for mobile devices (since the days of the Palm Pilot Professional - remember that?!), that would be a bit of a major pain, especially as most of the documents I read are in that format.

Fortunately after a lot of noise has been kicked up on the iSilo forums by iPhone/iPod Touch lovers, this application is now available from Apple's App Store.

One less reason now for me to get an iPhone!

UPDATE: oops, that last line should read, "One less reason now for me to not get an iPhone!".

Thursday, November 06, 2008

New blog

It's been a while since I posted, so just a quick passing comment - I've started a new blog, to track my progress reading through the New Testament over the next two years. If you're at all spiritually-minded, or just curious about what the Bible really says (because trust me, traditional Christianity is so often so wide of the mark), then please do drop by. I'll be updating once a week, God willing!

Tuesday, September 23, 2008

Amazon reviews

Today has been a little intense at work, so I found myself in need of something to take my mind off it. Talking with a work colleague about incredibly expensive high-end audio equipment reminded me about Denon's $500 ethernet cable, something which usually costs about $1/m. While Googling for a good reference to it, I came across Amazon's review page of the cable, and laughed until I cried.

based on the superb reviews, I am buying this fabled equipment as a gift for my wife, in time for our 4th anniversary. I think it would make for a beautiful necklace.

I bought this cable but it refused to plug into my Samsung and Pioneer equipment. When I forced it to connect with them anyway, it killed itself in shame. So I ordered a replacement, but instead of plugging it into inferior devices I plugged it into my Apple Powerbook. There was a brief shudder in the room and a wormhole formed where my bedroom wall had been.

I'm kicking myself for not buying on Amazon. I picked up this bad boy in a retail store for what I thought was a bargain closeout price of $749.99, but logging on here, I realize that stupid Radio Shack has ripped me off yet again.

I bought this cable for my new HiFi system because I heard that this is the same one that industry professionals rely on every day for their most complex sound patterns.

As a stress test, I used my stereo with this new cable to watch an Eddie Izzard standup routine I'd recorded on VHS. Let me tell you, the difference in sound was PHENOMENAL. With this new cable, I can suddenly understand every word he says as if he were speaking in a Midwestern American accent. Also, now the tape shows him dressed in men's clothes. For this, I give Denon ten stars.

However, there are some drawbacks to this wonderful new technology. My CDs still skip occasionally, although I probably just need to throw out my audio rack and invest in building a new one from scratch--I doubt the cable is at fault. Also, whenever I try to give it a bath, it refuses to let me remove its nylon covering, or allow me to be in the room when it is bare. However, I suppose this should be expected from a higher quality product. When I buy my companionship, the more expensive ones are a little more particular about nudity protocol.

Overall, an excellent investment for anyone who needs a friend.

Suddenly life doesn't seem so bad, although I do have a bit of a stitch from laughing.

Tuesday, September 02, 2008

Time to polish those crystal balls

In the summer of 2006, The Guardian announced:

Scientists know a lot about how events will unfold...which means that whatever we do, our climate destiny is fixed for the next few decades... Rainfall will decline in the summer and the increased deluges in winter will struggle to replenish thirsty reservoirs because much of the water will run off the baked ground.

Roll forward two years, and The Daily Telegraph has this to say:

The second wet summer in succession has left water levels in many reservoirs at the highest levels seen in recent memory... "It is really exceptional, I've never known it so full at the end of August," he said... Usually you would expect it to be 50 per cent down at this time of year."
In south west England Wimbleball and Burrator reservoirs in Dartmoor are at 100 per cent of their capacity, creating a dramatic waterfall effect as excess water flows over a weir in a storage area.

Sometimes I get the feeling that a Magic 8 ball would be more useful than reading what the mainstream media has to say about the climate's future.

While you're at it, have a read of Christopher Booker's article on the politics behind the IPCC and the "consensus" that climate change is caused by man's activities, particularly related to CO2. Our governments are planning on spending $45 trillion on fighting climate change, but the supporting evidence is being shown to be increasing unreliable, if not purely fictitious.

As an example, the infamous "hockey stick" graph, showing centuries of level temperatures until recent decades when temperatures swing upwards, is a complete fabrication:

When, with great difficulty, they eventually persuaded Mann to hand over his data, it turned out he had built into his programme an algorithm which would produce a hockey stick shape whatever data were fed into it. Even numbers from the phonebook would come out looking like a hockey stick.


As it was put by Roger Cohen, a senior US physicist formerly involved with the IPCC process, who long accepted its orthodoxy: "I was appalled at how flimsy the case is. I was also appalled at the behaviour of many of those who helped produce the IPCC reports and by many of those who promote it.


"In particular I am referring to the arrogance, the activities aimed at shutting down debate; the outright fabrications; the mindless defense of bogus science; and the politicisation of the IPCC process and the science process itself."

So next time that you hear how much the government wants to put up taxes to pay for climate change programs, ask yourself what basis they have for doing it.

Friday, August 29, 2008

Hug a developer today

Sometimes, every developer hurts; sometimes, every developer cries. And your client changing the requirements on you for the third time in a week is bound to do it to you every time...

Blogger's layout will probably mess the video up a bit, so here's the original.

Wednesday, August 27, 2008

When True does not equal True

One of my colleagues came across an interesting bug today. He was running this test:

   1:  [Test]
   2:  public void DoMXLookupWithValidDomainName()
   3:  {
   4:      MXLookupHelper mxHelper = new MXLookupHelper();
   5:      mxHelper.DomainName = "";
   6:      bool validDomain = mxHelper.hasMxRecord();
   7:      Assert.IsTrue(validDomain);
   8:  }

The test was failing with the rather unhelpful message:

Expected True, but was True.

It's not everyday that you see a boolean value of True not equalling True, so he called me over to have a look, we must have had half the office trying to figure that one out.

Our immediate solution was simple enough - modify the method hasMxRecord() so that the last line reads:

return foundRecord ? true : false;

which is something that sets afire every refactoring nerve in my body, so I had to add a huge comment to that line, to the effect that, "Yes I know it looks pointless, but you'll just have to trust me, it is there for a reason".

We were able to reproduce the effect on another colleague's machine, but of course when I tried it on my machine, the test worked as expected. The only difference that we could tell was the version of the .NET Framework that we were running, mine reporting 2.0.50727.3053, while theirs were reporting 2.0.50727.1433, so it may be a bug in the .NET Framework v2.0 which has been finally fixed with the release of .NET Framework v3.5 Service Pack 1, which I installed last week.

Of course, this incident just reminded of the frequent stories of people's flagrant abuse of simple boolean logic on The Daily WTF.

UPDATE: this appears to be part of a very old bug. Not bad, only taking three years to fix...

Thursday, August 14, 2008

Getting an iPhone in Australia with 3

Only a tribe of cave dwellers in the mountains of Papua New Guinea could have possibly missed the release of Apple's iPhone 3G last month, and even then only because they probably don't have 3G coverage in the vicinity.

Being a geek of the first order, you might expect that I would have got one by now, even if I didn't care to queue for 3-4 hours to get one on release day (the day after release, I was lucky enough to sit on the same aisle on a flight up to Brisbane as someone who had scored themselves one, so I got to play with it. What a great icebreaker an iPhone is. Just pity the poor woman who was stuck between the two of us!)

The reasons are:

  1. my network, 3, doesn't sell the iPhone. A bit obvious, but worth saying. The official reasons why are not widely known, but it's a bit strange, as 3's data plans are arguably the best available (and the less said about Telstra's data plans, the better);
  2. I'm less than a year into a new contract, so I would get hit with some pretty painful cancellation charges if I hopped to Optus or Vodaphone;
  3. most people that I'm likely to talk to on the phone are on 3 as well, and the free same-network calls would be much missed, on both ends of the conversation.

Fortunately, 3 are still working on the case. It is possible to get an iPhone on to the 3 network. The process is relatively simple:

  1. buy a pre-paid iPhone from Optus, and pay the $80 unlocking fee;
  2. go to 3, who will give you the appropriate SIM card and also refund you $300 of the purchase price of the phone.

The only downsides to the operation are:

  1. if you're outside 3's coverage, you'll be paying for Sol Trujilo's heavy mob at the rate of $1.65/Mb, which is enough to make your eyes water;
  2. the new contract will be for 24 months, but I guess if you're in my boat, then that shouldn't matter so much if everyone you also talk to is on the same network.

So now I only need spousal approval. Oh, and the timely arrival of my 35th birthday...

Tuesday, August 12, 2008

Caspar and the Jesus Paper

A fantastic title for a very eye-opening post by Bishop Hill, establishing just how corrupt science can be, especially in the field of climate study, where there is so much money to be made, usually provided by the government and environmental lobby concerns.

With this new, and pretty much entirely arbitrary hurdle in place, Wahl and Amman were able to reject several of the runs which stood between the hockey stick and what they saw as its rightful place as the gold standard for climate reconstructions. That the statistical foundations on which they had built this paleoclimate castle were a swamp of misrepresentation, deceit and malfeasance was, to Wahl and Amman, an irrelevance. For political and public consumption, the hockey stick still lived, ready to guide political decision-making for years to come.

Would you believe that Al Gore's woeful An Inconvenient Truth is being shown to school children in the UK as accepted fact, whereas nearly all its arguments have been shown to be junk science?

Something to think about next time the government tells you prices will have to shoot up in the next few years to pay for all those carbon trading schemes. I noticed the Sydney Morning Herald has been carrying a lot of articles about climate change, saying that it's all proven scientific fact, that the research has been meticulously peer-reviewed, that anyone who says anything contrary is in the pocket of the energy companies and going against the consensus. I think the above article should put paid to most of that.

What a shame that the mainstream press aren't interested in covering this sort of thing, preferring populist alarmism to "Sorry folks, it's all a sham".

Tuesday, July 29, 2008

Installing Vista on a Mac Mini

Having been bitten by the Mac bug earlier in the year, when I forsook 20 years of building and running Windows-based PCs for the shininess of a MacBook Pro, I've been looking at the possibility of using the diminutive Intel-base Mac Mini as a replacement for the smaller of my two Home Theatre PCs (the more powerful one has a Blu-Ray drive and runs the HD projector in the games room home theatre downstairs). The advantages of the Mini are:
  • size - it's about 20% of the size of the PC it's replacing;
  • noise - I went to a lot of trouble with designing the PC for low noise, but the Mini is silent;
  • power - the Mini mainly uses laptop components, and isn't readily expandable, so the power supply only goes up to 110W.
I've been running Windows XP Media Centre 2005 on the PC for the past three or so years, and thought it was time to upgrade to Vista Premium Media Centre, which is also running on the downstairs HTPC. So my challenge was to get Windows Vista on to a Mac Mini. The Mini came from Ebay with OS X 10.4 (Tiger) on it, and I expended a lot of effort trying to get Vista on, to no avail. It seems only OS X 10.5 (Leopard) had the wherewithals to make this work, so I borrowed the install disc that came with my MacBook Pro, and fired up the install routine. It promptly informed me that I couldn't use my MBP install disk on a Mini, which was OK, because what I really wanted was the Disk Utility program, accessible from the menu bar at the top of the screen. This allowed me to delete the existing OS X partition, and to set Master Boot Record (very important, if you want to boot a Windows OS), and then create a new partition. The utility doesn't allow you to create NTFS partitions, so FAT it was. I then rebooted, and held down the F12 key on my Windows keyboard to eject the OS X disc. I then inserted a full version of Windows Vista Premium (the general consensus on the web is that upgrade versions won't work), and hey presto, it detected the disc and launched the installation routine. Vista complained that it didn't want to be installed on to a FAT partition, but then gave me the option to format it as NTFS, so that was OK. So at this point in time, it's whirring away, extracting files in the hour long snooze-fest that is a Vista install. I'll let you know how it goes. btw: when I was looking for some help on Australian Media Centre Community, someone pointed me in the direction of Plex, which is a port of the XBox Media Centre project to OS X. It looks rather good running on my MacBook Pro, but I'm mindful of it's beta status (I got it to crash within five minutes of loading it). In fact, it looks incredibly pretty, and I would be interested to see it running on an HDTV. It currently only runs on OS X 10.5 (Leopard), but these days I'm not particularly married to any one operating system, so there's definitely a place for it in my home, if they can sort out the stability.

Wednesday, July 09, 2008

Flickr and iPhoto

While having a wander around iPhoto, I found a rather nice little feature - subscribing to photo feeds. iPhoto can subscribe to RSS feeds, such as those provided by Flickr, allowing you to see your friends' latest photos in one place. Just grab the RSS URL from near the bottom of a contact's site (this can be for the whole site, or just a set or collection), and in iPhoto, select File | Subscribe to Photo Feed, and paste in the URL. iPhoto will grab the most recent photos from their site (it looks like 20 is the default). The only problem that I can see is that double-clicking on a thumbnail doesn't take you to the hi-res version, instead magnifying the default lo-res version, so it's not perfect, but it's a good way of keeping an eye on what your friends have been up to.

Thursday, June 26, 2008

Implementing a .NET SortedKeyedCollection

I've been looking for a solution for this one for a while. The .NET Framework v2 provides a generic KeyedCollection<TKey, TItem>, that stores objects using a key which is a property on the object being stored, which is a fantastic concept. However, the objects are stored in a standard dictionary, in the order in which they were inserted, and there's no provision in the class for sorting the collection.

So I turned to the web for a solution - surely, someone somewhere must have tried to do the same thing as me. As it turns out, they had. This wasn't the only such example, but unfortunately, the advice given was always the same - add a Sort method, which is clunky, and forces the implementor to make an extra step to get their collection sorted; or use SortedList<TKey, TItem> or SortedDictionary<TKey, TItem>. These collections are full featured, containing all sorts of helpful methods and properties. I see similar arguments made when suggesting people use List<T> for pretty much any collection. All well and good for 90% of developers, but what do you do about the 10% who are API developers?

The reason why these classes are not so good for API developers is that these helpful classes are not easily extended - few, if any, of the methods or properties are virtual. Microsoft's own recommendation for API developers and developers of third-party libraries is that they use the Collection<T>, KeyedCollection<TKey, TItem>, and ReadOnlyCollection<T>, as these classes deliberately provide virtual methods which can be overridden to provide customisation.

So, here is my implementation of a SortedKeyedCollection<TKey, TItem>, which extends the KeyedCollection and sorts the objects at the point at which they are inserted. I'm adding this code to Google Code, more as a safe repository than to start an open source project - the project's just a shell at the moment, seeing as I can't get an SVN connection to it from work.

   1:  using System.Collections.Generic;
   2:  using System.Collections.ObjectModel;
   4:  public abstract class SortedKeyedCollection<TKey, TItem> : KeyedCollection<TKey, TItem>
   5:  {
   6:      protected virtual IComparer<TKey> KeyComparer
   7:      {
   8:          get 
   9:          {
  10:              return Comparer<TKey>.Default;
  11:          }
  12:      }
  14:      protected override void InsertItem(int index, TItem item)
  15:      {
  16:          int insertIndex = index;
  18:          for (int i = 0; i < Count; i++)
  19:          {
  20:              TItem retrievedItem = this[i];
  21:              if (KeyComparer.Compare(GetKeyForItem(item), GetKeyForItem(retrievedItem)) < 0)
  22:              {
  23:                  insertIndex = i;
  24:                  break;
  25:              }
  26:          }
  28:          base.InsertItem(insertIndex, item);
  29:      }
  30:  }

The InsertItem override does most of the work - if you're adding a new object, it intercepts that call, and works out the index that you should be inserting the object, based on its key. By default, it uses the Comparer<TKey>.Default, so string keys are compared using the default (case-insensitive) comparer, and other primitives such as ints and decimals are compared in a similar fashion. By providing a virtual property KeyComparer, I've allowed the user of the class to provide their own IComparer<TKey>, should they want to use a specific comparer, for instance if the key is a custom class.

Monday, June 23, 2008

Today's forecast - cold and sunny

No, not Sydney; and with a maximum temperature of -32 °C and a minimum of -80 °C, it's not even Canberra. Courtesy of the Canadian Space Agency, we can now get the daily forecast for Mars. Best wrap up warm.

Thursday, June 19, 2008

Tip - Documenting generics in .NET

If, like me, you're nuts about documenting all your classes, methods and properties so that NDoc or Sandcastle will generate nicely formatted API documentation for you, then you may have found that when it comes to documenting code that includes generics in its signature causes an error. This is because the angled brackets in the generics syntax gets confused with the angled brackets that are the nature of XML.

You can get around this by using the appropriate entity objects, but it's not particularly pretty to look at:

using System.Collections.Generic; public class MyProgram { /// <summary> /// Processes the contents of a <see cref="List&lt;T&gt;" />. /// </summary> /// <param name="parameters">The parameters.</param> public void MyMethod(List<int> parameters) { // Process the list } }

Fortunately, the .NET team thought this one through, and you can use curly brackets in the XML comments instead:

using System.Collections.Generic; public class MyProgram { /// <summary> /// Processes the contents of a <see cref="List{T}" />. /// </summary> /// <param name="parameters">The parameters.</param> public void MyMethod(List<int> parameters) { // Process the list } }

and they will be rendered as angled brackets when the documentation is created.

btw, if you're curious, the code samples were formatted using CarlosAg's Insert Colorized Code plug-in for the most excellent Windows Live Writer.

Microsoft beats Apple

Having made the switch after more than 20 years of PCs to Apple, with the purchase of a MacBook Pro at Heathrow Airport's tax-free shopping, I've slowly been shutting down activities on my recalcitrant LG laptop. I've already got the Mac versions of Microsoft Office, Adobe Lightroom and Photoshop CS3; however, one thing that OS X is really missing is a decent blog client. By far, the best blog client going is Windows Live Writer. It's probably one of the best pieces of software to come out of Redmond in the past decade.

Until OS X can come up with something equivalent, I'm going to be using either Fusion or Parallels to let me run it in a virtual machine, along with the handful of other Windows-only applications that I use for which there are definitely no equivalents. Either that, or blog from work, where I've co-opted my Windows Server 2003 desktop to run it. During my lunch break, of course.


Metablogging is essentially blogging about blogging, and probably a good sign that the author has really run out of things to say. Given that I haven't posted anything since heading off to England for a few weeks in the sun (ha!), it looks like I've reached that point already, so I hope that excuses me.

After a few abortive weeks of trying to catch up with the old Fairfax Digital team (aka Damana, Mei and Sanson), we finally managed to all be in the same place at roughly the same time (despite the best efforts of my local garage to make me miss an entire day by messing up the installation of a wheel bearing in my car, but that's besides the point).

While comparing the merits of our MacBook Pros and why using Safari instead of Camino is bad for your health, I mentioned some of the parental controls, which as the parent of an inquisitive nine year old girl, come as an absolute Godsend, and both Sanson and Damana were very impressed by it all (not that either are in a position to need parental controls on their MBPs yet), so Damana encouraged me to blog about it.

This is not that post.

Instead, it's more of a realisation that a lot of the time, I don't blog stuff because I don't think people will be interested, that it's so obvious to me that it's equally obvious to everyone else. There can be a really bad signal-to-noise ratio on the web, and I'd rather not be contributing to the noise side of the equation. However, the point was made over lunch that what is obvious to me may not be at all obvious to just one person out there, who is even now Googling for some help on the topic that you're not writing about.

So, hopefully in the next few months, I'll be picking up the slack a bit, and writing that post about OS X's parental controls. And I still have one holiday in Europe to blog about, now that I've just about finished with the photos.

Friday, May 09, 2008

Getting published

A couple of my Flickr photos are being used by Schmap, a map guide to the world's major cities:

Darling Harbour by night

Mount Ainslie from Canberra

It's nice to see that use of Flickr's groups and tags have added a bit of visibility to my photos. It also serves a useful reminder as to why people go to the effort of tagging photos - I took just over 600 hundred photos on my last visit to England, and tagging them is even more daunting a task than processing them, but no less important.

Thursday, April 10, 2008

Er, where are we going?

Just a quick post while we wait for our transfer on to London Heathrow. We're currently in Hong Kong, although when the pilot was doing his introductory speech, it was more like:
Welcome on board Virgin flight VS201 to... er, where are we going? Oh yes, Hong Kong.
He also announced our arrival with:
To make sure you don't arrive at the arrival pier before we do, please keep your seatbelts fastened...
Definitely a bit of a humourist. Anyway, it's late, the seats were pretty uncomfortable, and my laptop managed to turn itself on somewhere along the way so I have about 3 minutes charge left. Next stop London!

Friday, April 04, 2008

What a waste of effort

I got my latest FlyBuys statement in the post (or in my inbox at least), and was duly impressed to see that it had passed the 12000 mark. I registered for one almost as soon as I arrived in Australia, some 2.5 years ago. Apparently, with that 12000 points, I can redeem them all for a $100 gift card.

Well colour me excited.

A few months after arriving and with a job lined up, I was able to apply for a credit card, and in one of my more astute moves, I got a NAB VISA card which was linked to the Velocity reward program, and came with 20000 points out-of-the-box. Velocity is the reward system used by Virgin Blue and its friends, so when we went to Japan last year with Malaysian Airlines, I was able to convert all those miles into points, and with next week's trip to England with Virgin, I'll be able to convert all those miles to points; oh yes, and our car rentals during that holiday are with Europcar, and guess which reward scheme they subscribe to.

On top of that, all of the improvements that have been done to our house in the past year (flooring, solar heating, decking, new bedroom, laundry renovation) are all being paid for on the credit card, which adds yet more points to the pot. Those points just keep flooding in.

And these points can be traded in for something more useful then a lousy gift card - I've already used some for a rather nice Audi hire car while my Saab was in the garage, and a bunch more to send a group of church friends to a conference in Tasmania (although not to bring them back again, *grin*).

Just think how much marketing data FlyBuys is getting every time you swipe that card, and after two years of populating their datawarehouses, what do you get? One of the most pathetic rewards I've ever seen.

Tuesday, March 25, 2008

Easter weekend fun

Back in England, the Easter Bank Holiday is traditionally celebrated by spending hours in deep meditation, while stuck behind another caravan in a 10 mile traffic jam. The M25 is usually involved as well, and rain is usually a dead cert, definitely more so than a white Christmas these days.

So what else can an expat Brit do at this time of year, then head out of town in search of some sunshine, and instead find copious quantities of rain, and not a few traffic jams. Of course, not to be outdone, England instead had heavy snow. Tell me more about this global warming, it sounds fascinating.

Our first destination, apart from the take-a-break stop for those who had drunk too much tea at breakfast, was Fitzroy Falls, in the Southern Highlands, about 90 minutes drive south-west of Sydney.

Fitzroy Falls

(those are the falls in the bottom left corner - the foreground is rather underexposed, but it's not my photo anyway). That's what it's supposed to look like on a good day. This is what we saw:

Misty Falls

There's something very eerie about standing on the edge of a cliff and not being able to see more than 50 metres in any direction, due to the thick mist. Especially when you know it's 80m straight down...

Fortunately the cold and the rain eased off a little after Fitzroy Falls - Kangaroo Valley was quite pleasant, although my raspberry sorbet was a little suspicious. We did try keeping Lauren quiet with the age-old trick of applying gobstoppers, but we obviously didn't get one big enough, because it only kept her quiet for about 20 minutes. The rest of us availed ourselves of various refreshments...

Have A Coke

Back in the car again, and on to Seven Mile Beach, which proved to be incredibly windy, so we didn't stay there long. Emily had already swiped my jumper, so we didn't stay too long to admire the view, otherwise Unee would soon be turning blue to match her dress. It didn't stop some people from going surfing though.

Two Chilly Sisters

Our last stop of the day was Kiama and its famous blowhole. You need a good tide and a storm to really get it spouting, but it did its best to put on a show for the crowds.

Kiama Blowhole

I'm told it can be much more impressive than that. Personally, I found the waves breaking against the cliffs below to be more interesting, especially as below when a rather large rockpool was filled up.

Waves filling a rockpool

Lauren found her own rockpools, fortunately not the one above, and spent the remaining time filling her pockets with shells.


For her, this was probably the highlight of the day, and fun for me to, because I got to do some father-daughter stuff for once, helping her scrambling over the rocks.

External hard drives

In my last post, I mentioned that backing up to an external hard drive. Most hard drive manufacturers have already considered this, and sell out-of-the-box backup solutions. Some then take this one step further and add a network port, whether wired or wireless, so that the drive can then be shared between computers on the network.

Western Digital is one of those, but here's a word of warning - if you are a typical home user, do not buy their 1TB My Book World Edition - it very kindly refuses to share any music or video files. So if I wanted to, for example, use it to share the video I took of my sister-in-law's wedding, or of a friend's new-born baby; or if (God forbid!) that I got into podcasting - none of these files that I created could be shared by this device, even on my own private network between my own computers.

Welcome to the wonderful world of DRM.

Wednesday, March 19, 2008

No, I will not fix your computer

Being known within my circle of acquaintances as a geek tragic, I am usually the first port of call when something goes wrong. I think anyone who can tell one end of a SATA cable from the other knows exactly what I'm talking about - it means spending Sunday evening trying to sort out Uncle Bob's email problems when you could be watching Battlestar Galactica.

What strikes me every time is that I have yet to see anyone running backups on their computers when I fix them. At home, my laptop gets backed up twice, once to an external hard disk using Acronis True Image 11, and then again to my Windows Home Server, which also takes care of all the other computers in the home (currently two media centres and two other laptops). The former backup gets done when I feel like it, the latter gets done every night. Two backups may seem a little paranoid, but I take a lot of photos, and would not like to lose 10 years of data to a crashed hard disk.

It's not expensive - these days, a 500Gb hard drive with an external enclosure and the aforementioned Acronis software costs less than AU$200. Backup can be automated, and restoring is incredibly easy. They're also usually contain tools allowing you to upgrade hard drives and migrate to new computers.

So, I've just made a new resolution. People who call me out also get the benefit of a small lecture on the need to run backups. I might even prepare a little hand-out detailing just how to set it all up, and would probably do it all for them at cost.

If they ignore my advice though, the best they'll get from me is a shoulder to cry on. Friends, you've been warned.

Monday, March 17, 2008

Updates to SvnRevisionLabeller

It's a been a while since I uploaded my SvnRevisionLabeller code to the CruiseControl.NET community site. If you don't know what it does, it allows you to label your Continuous Integration builds with the Subversion revision that they were built from. If you still don't know what it does, I suggest you stop reading now...

I wrote this plugin because it was useful for me, and seeing as CC.NET is a useful piece of Open Source software, I decided to contribute back to the community. I have no idea how many people use it, but I know the number must be greater than four, because three other people have emailed me with bug fixes and enhancements.

With these changes coming through, I decided that it was time to move away from the traditional source control known as a zip file buried somewhere in my email archives. Seeing as I'm currently going through a Google love-in, I uploaded it to Google Code, which appropriately enough means I have my code under SVN revision control.

On a similar note, my other contributions to the Open Source community, at least that part of the community that develops using .NET, is a GuidTask for NAntContrib, but the process for adding code there seems to be a lot more obtuse than Thoughtworks', so at the moment it doesn't appear in the code anyway; but at least I have it on my servers.

Monday, February 25, 2008

I like big boats (and I cannot lie)

Like most of Sydney this weekend, I made the journey into the centre of town to catch the big show. Having no interest in the football, the cricket, Soundwave or Mardi Gras, I was there to see the arrival of Cunard's latest new toy, the Queen Victoria.

Sydney Opera House at dawn

Fortunately, unlike most of Sydney, I went on Saturday morning, and more specifically, before dawn to catch Queen Victoria's arrival at Circular Quay. That meant a nice clear run down the M2 and over the Harbour Bridge, and a parking spot at Dawes Point (usually as rare as hen's teeth), just as the first light of day appeared over the horizon. This gave me about twenty minutes to take some atmosphere photos, mainly of the Opera House, as there were too many numpties standing in the way to take a good photo of the Harbour Bridge, before Queen Victoria rounded the headland and began final approach.

Queen Victoria in Sydney Harbour

The 90000 tonne floating skyscraper was moored up alongside Circular Quay with impressive speed, and with the sun now fully risen and my first memory card full of pictures, I headed round to the Opera House for more pictures and a well-deserved breakfast.

Comparative Sizes

In the excitement of taking this photo, I managed to dump most of my latté into my camera bag. After a lengthy clean-up operation, which left my bag suspiciously coffee-scented, albeit dry enough to pack everything into again, I headed back round the harbour to Dawes Point, and back home; and all before most people had got out of bed.

Sydney Icons

This next picture is for Damana, who sadly didn't make our predawn rendezvous, although she did come down later on.

Just Fits

P.S. Sorry about the title - it's a vague allusion to one of my favourite websites, as well as nod to Damana's post above.

Friday, February 08, 2008

Google's Elmer Fudd Edition

 Elmer Fudd and Daffy Duck While Googling for something to say about Elmer Fudd, I discovered that Google maintains an Elmer-ised version of their own search page.

I still can't help think that this is one of the things that set Microsoft and Google apart, no matter how much Microsoft tries to beat Google - people at Google have a sense of humour, whereas any such creativity at Microsoft appears to be squashed under layers of corporate management, blandness, and established branding. Maybe in a million years, it will be mined as a valuable natural resource, but until then, I don't see replacing Google as the search engine of choice.

Geek Goes Luddite

Don't worry, I'm not going to be burning my keyboard; but that badly-expressed metaphor does lead nicely into my thought for the day - what is the point, for the average computer user, of speech recognition systems?

I'm sure there's a market for all those developers and typists who have sacrificed their wrist tendons at the 104-key altar, but this isn't a post for them.

As seductive as the image portrayed by Star Trek of talking to your computer is to the average geek (although it only seems to be Captain Picard who gets the voice recognition systems, everyone else still seems to get keyboards), there are a few warning signs:

  • every time Intel brings out a new super powerful processor, pundits proclaim that this is the one that will make speech recognition a practicality (yay for alliteration!). They've been doing this since the first generation Pentiums and are still doing it, so a pinch of salt is needed;
  • Optus customer support. OK, so not the most obvious reason, but if you've ever had the misfortune of having to get help from Optus, you'll know the pain of their voice recognition menu systems. I have few problems with using menu-driven destination selection when the menu is driven by your phone's keypad, but trying to tell the system which option you want is an exercise in futility. Optus refuses to understand my very English accent, and the only way I can get it to recognise me more than 20% of the time is to speak like Elmer Fudd, "vewwy vewwy swowy" and with the same accent. It's so embarrassing, I have to hide myself away even from my own family, just so I can complain about my busted bandwidth cap;
  • Imagine a typical office. Now imagine 20-odd users (not 20 odd users), all trying to tell their computers what to do. Can you hear yourself think? It'll sound more like the local pub at 7pm.

So when I see yet another pronouncement that speech recognition is ready for the masses, I shake my head, and keep my mouth shut.

Wednesday, January 30, 2008

Album Cover

Never to let a good meme go to waste, I've taken up Damana's challenge to produce my own album cover.

Imaginary album cover

Here's the band name, the album title, and the album art. I think it works rather well!

Friday, January 25, 2008

Seagate's Power-Hungry Woes

Not too long ago I bought a Seagate 250Gb 2.5" SATA2 notebook drive, intending to use it as an external hard drive in a USB2 enclosure - very handy for backups and lots of portable storage in a case that will fit in your pocket.

Unfortunately, Seagate's drives appear to be notoriously power-hungry when spinning up, drawing up to twice the current that other brands use. This means that the drive is completely useless when drawing its power from the USB bus - you'll need an external power supply to keep it stable.

For me, this means it'll go into one of my HTPCs; my Vista Media Centre is about to be upgraded to have run off a RAID 0 array of Seagate 160Gb 2.5" SATA2 drives, so I guess this one will go into the XP Media Centre. Hopefully it will contribute to reducing the amount of noise from the system. (Oh, and my laptop runs off a Seagate 160Gb 7200rpm SATA2 drive. Notice a pattern emerging?)

So, you have been warned. If you want to use a notebook hard drive in a portable enclosure, don't buy Seagate.

The Trouble With Sharing Photographs Online

Duck-Billed Platypus, spotted while on holiday in TasmaniaHaving recently spent several weeks processing a few hundred photos taken while on holiday in Tasmania, I then spent most of another evening uploading them to the Internet. The trouble was, where should I upload them too?

Top of the list is Flickr. I have it listed to the right, and I can upload a lot of photos there and generally network with other people who love photography.

Then there's Facebook; this one's more for my friends, as they nearly all have FB accounts these days, and the notifications when photos are uploaded help encourage them to come and have a look-see.

Finally there is Ringo. Not as high-profile as the above two, but a lot of people I know in the church are on it, and again it's good for keeping people updated when new photos come in - an ecclesiastical Facebook, if you will.

So the problem is threefold - firstly, choosing which photos to upload to which site; secondly, the time/bandwidth necessary to upload the photos to the site; and thirdly, and the biggest killer, the time necessary to tag and identify the photos. Flickr is the easiest, as Jeffrey Friedl's Export-to-Flickr plug-in for Lightroom will set tags, title and description from metadata already entered in Lightroom. Facebook can manage dates extracted from the EXIF data embedded in the photo by the camera, while Ringo can't manage anything.

I haven't mentioned the Kodak Gallery nor Picasa, since I don't use them for storage, although I have friends who do. So there's two more photo sharing sites to check out from time-to-time.

Isn't it about time someone started rationalising a few of these sites? Having so many sites to upload to, or to keep up-to-date with is not an easy job, especially when the site makes you key in your data all over again.

Saturday, January 19, 2008

Lightroom 2.0 Request List

Scott Kelby is putting together a feature request list for the next version of Adobe's fantastic Lightroom product, based on user feedback from the many training sessions he runs.

Based on my experiences with Lightroom since Beta 2, my two requests are:

  1. Better management tools for keywords - dragging and dropping keywords into a category is OK to start with, but when your list starts getting long, management gets really difficult.
  2. Slideshow DVD authoring - as Scott points out, even consumer-level tools like iPhoto do a better job of slideshow generation, and Lightroom is supposed to be a tool for professional photographers. Even Lightroom's nearest direct competitor, Aperture, does a better job.

I did consider adding panoramic picture generation, but I'm still in to two minds as to whether it belongs in Lightroom or not. Others have requested it, though, so that base is at least covered.

Wednesday, January 16, 2008

Computer Generated Crowds

One of the reasons for the success of films such as the Lord of the Rings trilogy is the relentless onslaught of technological progress allowing intense battle scenes featuring thousands of characters to be filmed with hundreds or even dozens of extras. The days of films such as Gandhi using in excess of 100000 extras for a scene are consigned to the same bin as men in rubber suits pretending to be Tokyo-saving lizards.

Barely 5 years since the Return of the King hit the big screen, and that technology has already filtered down into the hands of the little guy. Or in this specific case, four guys armed with a video camera, some World War 2 uniforms and four days on Omaha Beach. Throw in some explosives, a green screen, and some time behind the computer, and you have a film that would have cost Steven Spielberg millions to shoot. Just awesome.

Wednesday, January 09, 2008

Certified again

Having completed a Microsoft certification just before Christmas, I've added another to my collection (Microsoft .NET Framework 2.0 - Web-Based Client Development). This now makes me a Technical Specialist, and one small step away from the lofty heights of being a certified Professional Developer.

The world is truly my oyster, and the $$ signs are already going up before my eyes...

Monday, January 07, 2008

Round and round we go

Damana has been blogging about meta blogging - the way most blog entries these days seem to be referring to what somebody else has been blogging about.

Having just proved her point, I thought I'd add an AOL-style "me too"; quite a few of the tech news sites I follow with RSS are feed aggregators; I get quite tired of playing "follow-the-link" to try and find the original article.

It also leads to feeds being saturated with nearly identical posts when a significant (at least, significant from the very narrow viewpoint of the community) event occurs. Best time to witness this effect is barely a week away, when Apple will raise their skirts to reveal their latest shiny toys. You'll suddenly find your aggregator full of posts referring to the same announcement, some of them indirectly as Damana contends above. You might as well just click on one randomly and have done with it.

P.S. Props to Damana for not completely embarrassing herself with Martin Fowler :-)