The blog of Eric Sibly; focusing on mountain biking, .NET development for the Desktop, Smartphone and PocketPC.

Thursday, July 28, 2005

Windows Longhorn aka Vista...

Well, they have finally released the final product name for the next version of Windows, it will be "Vista" (formally Longhorn). Don't know about you but my initial reactions to this name is *boring*, safe even?!? Surely, the marketing folks at Microsoft could have come up with something a little more inspirational than that?

We have all waited eagerly for a few years, and will wait eagerly for another 1+ years until its late 2006 release - what we are all expecting is something that will really blow or socks off– this has been the promise. A name (branding) can generate emotion, create excitement and enthusiasm, and Microsoft should have taken this opportunity to create a truly inspiring name to provide interest and momentum. Ah well :-(

Anyways, the Beta 1 is out, minus all the User Interface goodies (we have to wait until Beta 2 for that). Paul Thurrott has posted an article giving his initial thoughts and provided a bunch of screen shots – check it out, looks ok so far.

If you are interested in the main pillars of Vista (*sigh*) they are as follows:

  • WinFX - The managed code programming model; this is exciting and will offer man opportunites for developers to simply access the core components of the operating system.
  • Windows Presentation Foundation - formally known as Avalon. This is the foundation for building User Interfaces, and we are talking some seriously cool UI stuff here.
  • Windows Communications Foundation - formally known as Indigo. This is the foundation for building communications and interoperability.
  • Aero - This is meant to be the new fandangled UI that will really blow our socks off.

Wednesday, July 27, 2005

MTB and Snowboarding in NZ...

Tomorrow I head off to New Zealand for a weeks holiday; and the real kicker – no wife and kids – yeah baby! Although I love them dearly, there are just times when a bloke needs to go and hang out with the lads :-)

I am off to Auckland to stay and hang out with me old mate Robi-Dobi. Will also catch up with some old friends from my time with Ernst and Young (now CGNZ) at the Loaded Hog on Saturday night.

Going to also have a beer (or two...) with my old friend from school and best man, the now very famous John Aiken (well in NZ anyway). It is awesome to see he has gone onto great things, from his cricket career to now “TV Psychologist & Next Magazine Columnist” – ha ha ;-)

Then, the fun really begins, a road trip to Taupo via Rotorua, for some snowboarding and mountain biking (at the most excellent Craters of the Moon). Will be staying at Mr. Robertson's (best darn project manager I have ever worked for) Taupo house - thanks mate.

Let the fun times begin. Awesome!

Monday, July 25, 2005

.NET CF Interop - Extending the GUI...

Here is a very extensive post describing interop to the native GUI controls and features within the .NET Compact Framework.

Saturday, July 23, 2005

Goal and goal...

The boy is on fire! Caleb scored two goals this week leading Bardon to a 2-1 victory over Moggill. The first was a volley over the keepers head, and the second in the last moment of the game where he dribbled it up to the box and fired it past the keeper. Nice one :-)

Thursday, July 21, 2005

YAGNI, a rule to live by...

The project I am on at the moment has a number of developers working on functionality that has questionable or unknown requirements, and certainly no known end consumer - perceived value only. This then begs the question as to why this would be a priority over other identifiable/tangible requirements?

As software professionals we need to make sure we follow the principles of YAGNI (as per

In software engineering, YAGNI, short for 'You Ain't Gonna Need It', is a reminder for programmers that one should never add functionality until it is necessary. The temptation to write code to that is not necessary at the moment but is perceived to be necessary in the future has some overlooked disadvantages.

  • Delays what the programmer was originally working on.
  • There is a chance that the requirements will change and the functionality either need to be changed or won’t be needed any more. The situation now is that the programmer has now wasted the time to add the functionality and now has to waste additional time to clean it up so that it’s not buggy, matches the API requirement or doesn’t clutter up the code.

Wednesday, July 13, 2005

.NET Compact 2.0 change list...

Check out this blog, it pulls together a very good list of changes in the .NET Compact Framework 2.0. My favourites are:

  • DateTimePicker – Can’t believe this was never there – duh!
  • Native Emulator – Real debugging on a native equivalent
  • New C# features – Generics, Anonymous methods, etc.
  • User Control – Can now create composite user controls
  • Designer support for inherited forms and custom controls – duh!
  • Docking / Anchoring / Auto scrolling – Another must have!
  • New managed device classes – PIM / Telephony / Notification Broker

Majura under lights...

Last night went for a mountain bike ride with Scroppy at Mt Majura under lights. It has been a while since I have done a ride in the dark; it is such a difference experience - wicked! You get a different perspective on things with your limited field of vision, certainly keeps the concentration levels up – look out for those trees.

To right effectively at night you absolutely need a pair of lights, here is my set up: one on the helmet (15w) and one on the handle bars (5w). Remember to keep the helmet light off riding in the non technical areas to conserve battery life.

Saturday, July 09, 2005

Captain Underpants...

This afternoon I spent a bit of time with Kyle playing some computer games on the net. One of his favourite books is Captain Underspants. Very funny, with lots of little boy humour; farts, boogies, wedgies, underpants, etc. Personally I love this title, Captain Underpants and the Wrath of the Wicked Wedgie Woman.

I suggest checking out some of the games, they are actually pretty good. Kyle ended up having to plead with me to let him have a turn - ah, being a kid again - priceless!

It's number 2...

Caleb scored his second goal for the season in leading Bardon to a 1-0 victory over Taringa (the first). It was a pretty solid kick that the goalie wasn't able to stop flying through his legs. Well done Caleb!

He went to a two day soccer camp over the past school holidays and I am amazed at how much his kick has improved - it has a fair amount of power behind it now!

Monday, July 04, 2005

.NET 2.0 String recommendations...

The String data type is probably the most used data type within .NET, so it probably makes good sense to understand what is going on behind the covers to make the most informed choices. Read this MSDN article to gain an inside to the usage of Strings in .NET 2.0.

Friday, July 01, 2005

Generics, Predicates and Anonymous methods

Ah, got to love .NET Framework 2.0 - it is full of some really useful features. Here is some code that demonstrates three new concepts; Generics, Predicates and Anonymous methods. Its beauty is in it simplicity:

public class SalesOrderItemCollection : List
public SalesOrderItem FindByItemId(int itemId)
return this.Find(delegate(SalesOrderItem i)
return i.ItemId == itemId;