Saturday, June 28, 2008


Web Pages That Suck!

One way of figuring out what represents good design is by looking at bad design. Web Pages That Suck by Vincent Flanders is a great way of doing that. It's also a laugh! I took a peek at one of this year's contenders, Havenworks and I fear I will never be the same again!

Wednesday, June 25, 2008


Street Fighting Mathematics

Listen up homes!! MIT OpenCourse have published this introduction to solving things without proofs or exact calculations: Street-Fighting Mathematics. The course notes can be downloaded in a single .pdf here.
This course teaches the art of guessing results and solving problems without
doing a proof or an exact calculation. Techniques include extreme-cases
reasoning, dimensional analysis, successive approximation, discretization,
generalization, and pictorial analysis

Monday, June 23, 2008


Number of Microsoft Certified Professionals Worldwide

I posted a link to this MS learning site a while back; I was over there browsing this evening and noticed something odd. Does someone at Microsoft have a sense of humor? Scroll down to the "Microsoft Certified IT Professional (MCITP)" section. It clearly states the certification "United States History Major" !!

Sunday, June 22, 2008


Manning Free .NET ebook per Day

Developers love free stuff right? Fancy a chance of getting a free .NET ebook or if your luck is in, the complete Manning .NET library?

To enter click on the advert below. One person will be drawn every day through July 17th, and one lucky entrant will receive Manning's complete .NET library. (Thanks to Jon Skeet's blog for the heads up)


What does the "Could not find resource assembly" error message mean?

If you are developing for a mobile device using the .NET Compact Framework and you get either of these error messages: "Could not find resource assembly" or “An error message cannot be displayed because an optional resource assembly containing it cannot be found”, the primary error is not caused because it could not find the resource assembly. [Both error messages are exactly the same. The first one was used in .NET CF V1 and second one is from .NET CF V2]

Basically, this means that some exception has occurred in your application for which a corresponding error message string could not be loaded due to a missing language dependent resource assembly. Having the actual error message would obviously be helpful in debugging what went wrong.

Why is the resource assembly missing? Quoting directly from the .NET Compact Framework team blog:

“Since the user is never expected to see this error message if the program works as expected and all exceptions are handled appropriately, it was decided (due to size constraints) that the resource assembly that has these error strings are never put on a user's device. Thus the main target audience of these error strings are developers who would like to debug issues. Hence, when you do an F5 deploy onto the device, the System.SR.dll assembly which have these error strings are copied to the device and the developer can see the error messages. But in case .Net Compact Framework is installed from a redistributable or you are using .Net Compact Framework that come with the device, the System.SR.dll is not present on the device. Hence, if the application did come upon an exceptional condition that wasn't handled by the application, this "Could not find resource assembly" message would be shown to the user.”

Personally, I think it was a mistake to not install the English resource assemblies by default. If you install the System.SR cab for your language then this error message should be replaced by the localized error message for what actually went wrong.

If Visual Studio does not install the SR cab when you deploy your solution, you can manually copy it to the device and run it there. Note: The cabs are named System_SR_ for non windows mobile devices (e.g. CE 4.2) and System_SR__wm for windows mobile devices.

With Visual Studio 2005 installed all the SR cabs can be found here:
C:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\v2.0\WindowsCE\Diagnostics

Or if you installed from a distributable they can be found here:
C:\Program Files\Microsoft.NET\SDK\CompactFramework\v2.0\WindowsCE\Diagnostics

Thursday, June 19, 2008


To Check Or Not To Check Exceptions

A while back, I was talking to a developer colleague about checked exceptions and discussing why they had not been added to C#. I came across this old article, The Trouble with Checked Exceptions: A Conversation with Anders Hejlsberg which explains the reasoning behind not including them.

Monday, June 16, 2008


Mobile Developer blog

Nothing new (it happened back in May 2008) but the .NET Compact Framework team blog has merged into the Mobile Developer blog, and also includes Silverlight for mobile.

Sunday, June 15, 2008



The C# FAQ for the microsoft.public.dotnet.languages.csharp newsgroup is a useful C# resource maintained by Jon Skeet.

Saturday, June 14, 2008


Book Review: C# in Depth, Jon Skeet

So you want to be a C# expert? I think I have just the book for you…

At 392 pages, this is not a long book. Jon intended this book not to be one of those ‘massive tome[s]’ that adorn the bookshelves. It’s lean and gets straight to the point, whilst keeping the writing style engaging; not an easy feat. The ‘frictionless’ code examples are so clearly explained, you can glide through them without constantly having to back track into the text.

If there is one thing that sets this book apart from the others, it is the way is it structured to take the reader from C# version 1.1 to C# 2.0 and then through to C# 3. This would be especially useful for developers who are about to embark on a C# upgrade project, and want to be sure to use all the new language features to best effect.

This is the book I’ll be reaching for to answer those hard and best practice C# questions. It‘s an excellent resource for updating your C# development skills and taking them to the next level. If you write code in C#, you should read this book. Highly recommended.

Extra material can be found at: The bluffer's guides to C# 2 and 3 are a good way to get a rough overview of some of the new features. This web site also contains notes, online resources, and downloads.

I will try to obtain a copy of the book for the user group library…

Disclosure: A review copy of this book was supplied by

Tuesday, June 10, 2008


C# Code Formatter

I'm currently writing a short review of Jon Skeet's excellent new book, "C# in Depth" and I came across a neat C# code formatter at the book's accompanying web site.

Wednesday, June 04, 2008


Perth .NET UG Meeting: Thurs June 5th.

Join us tomorrow at the Perth .NET Community of Practice, Thursday June 5th to hear Dave Gardner talk about ‘How to be a debugging superhero’ with Visual Studio 2008. Ever thought you should spend more time learning about the debugging features that Visual Studio has to offer? If so then this is the session for you! This entire session will be hands-on (not a single PowerPoint bullet in sight), as we see how many tips, tricks, and best practices we can jam into an hour. Amaze and delight your co-workers with your newfound skills after you are transformed into a debugging superhero*.

* Individual results may vary. The presenter makes no guarantee that you will obtain any superhuman abilities during this session.

TOPIC: How to be a debugging superhero with Dave Gardner
DATE: Thursday, June 5th, 5:30pm
VENUE: Excom, Level 2, 23 Barrack Street, Perth
COST: Free. All welcome.

Dave Gardner is a seasoned .NET developer and the Chief Software Architect at Intilecta Corporation. For the past decade and a bit, Dave has worked as a solutions architect, consultant, and developer, and provided expertise to organisations in Australia, New Zealand, and Malaysia. Dave is a co-author of the upcoming "Professional Visual Studio 2008" book from Wrox. He blogs about Visual Studio and .NET at, and has a personal website at


Powered by Blogger