Web Host’s Server Blew Up

So sometime in late August I noticed this site was down. (I hadn’t found time to post much during the summer.) So anyway, at that time I try to log into the control panel for the site to see what the scoop was – and of course that was down too. So I contacted the hosting company, and they informed me that my box had blown up or something and they were transistioning everyone’s stuff over to a new box – that it would be a couple days, perhaps, until everyone was up again. Well, either when the old box blew up, or when the transition happened, my MySQL databases got corrupted. They came over to the new box in a corrupted state.

Luckily I had taken some backups at some point (not as often as I should have, or will in the future). LONG STORY short, after MUCH back and forth with the hosting company I was finally able to get them to delete my databases so I could rebuild. (For some reason I could do nothing to the corrupted ones that were in place, not even delete them.) Consequently, the site has been down for quite a while. Moral of the story is backup your hosted stuff often!

Posted in Almost completely off-topic | Leave a comment

Project Gutenberg

If you are a commuter and have an IPod or Zune, I recommend that you checkout Project Gutenberg for a bunch of free audiobooks. They have books that have gone into the ‘public domain’ (as I understand it, the copyright wears out on a publication after 100 years or something). At any rate, there are a ton of classics on there that are worth the time. Check it out:


Currently reading Adam Smith’s classic economic treatise ‘The Wealth of Nations’.

Posted in Almost completely off-topic | Leave a comment

Windows Home Server


More than a year ago if I recall correctly, I signed up for the 120-day trial of Microsoft’s new ‘Windows Home Server’. At that time the deal was, you give them $7.95 for shipping and they send you a couple DVDs with the goods. Anyway, after going through the order process, giving my credit card number, and getting excited – they canceled it a couple days later with no explaination. Well, recently I signed up again and this time they sent me the goods … for free. That’s the new deal. I think the first time I ordered it they were still grappling with whether or not to allow individuals (non-OEMs) to purchase the software to install on whatever. Around that time they were pitching the MediaSmart Server from Hewlett Packard which was specially designed for the job. From what I’ve subsequently read thats a really nice little machine. There was some talk that you needed certain hardware to do the job well and that they weren’t sure hobbyists or whatever could put something together that would cut the mustard. Glad they got over that! 

So when I got the software in the mail, I applied a tower that I had sitting around – and some drives I was repurposing from my NetGear SC100 (little toaster looking network attached storage (NAS) device that was literally toasting my drives). The tower is probably overkill for the job but it was the only suitable machine I had free. It’s a 3GHz P4 Extreme with Hyperthreading. Yeah, overkill… Anyway, the install was relatively painless except for the cheap RAID (ITE8212) card that I unfortunately left in the machine for the first install attempt. I got a corrupted install the first time but, realizing that the card might have put the kibosh on the install, I removed it and tried again sucessfully. From there you just add drives, nothing fancy or complicated – the server just picks them up and adds them to your ‘storage pool’. It allows you to specify what stuff needs to be duplicated for safety in the case of a drive failure – then it just handles it for you. You can see my setup below:


Once you’ve got your drives in there and the machine is stablized, you can install the ‘Home Server Connector’ software on up to ten machines (XP, VISTA) in your household and then the server will work with your machines to make sure they are backed up. This part is seamless. Another great feature of this software is that it implements the ‘Media Connect’ protocol which means it was picked up my my D-LINK Medialounge and the XBOX in the house. Once you put your home videos and picture collection on the server it will make them available in the living room via a remote control or XBOX controller.

The server also allows you to remotely access the files on your machine, and remote desktop into the machine(s) themselves from anywhere in the world via some nifty magic (port forwarding and DNS tricks). You get a name like <myservername>.homeserver.com that you, or family members, can easily from any web browser. So cool.

I’m sure I’ll have some more posts on this stellar product shortly (I haven’t even touched on the addins or the developer API). Further, I’m sure that with PDC rapidly approaching we’ll see some very cool new things, maybe some cloud services integration with Live Mesh or something. (You can currently do offsite backup for things like your photo collection or whatever, but its pretty expensive.) Here’s a link to a Channel9 video about this:


and Microsoft’s official site on it:


Nice show WHS team, keep it coming.

Posted in Cool Tech | Leave a comment


Get out your thumbwheel, and see if you can find anything different about this pic.

Posted in Software Development | Leave a comment

T4 Templates – Code Generation in Visual Studio

Recently I was listening to the .NET Rocks podcast on my afternoon commute and they were discussing a topic that is somewhat familiar to me, albeit in a different domain, code generation. This time the domain was .NET development, namely code generation within Visual Studio. They were taling about T4 templates, now included in Visual Studio 2008, and I believe they mentioned the editor from Clarius Consulting. It seemed pretty interesting at the time (in comparison to the commute traffic?). While googling the topic later at home, I stumbled upon an article by Hilton Giesenow at his blog where he mentioned that he put together a screencast demonstrating the topic. I really like the screencast medium, and am always interested in checking out one on an interesting topic so I pulled it down and watched it. Pretty neat stuff. Anyway, I filed it away as ‘might-be-useful-someday’, and got on with my life.


Well, recently I had occasion for about 100+ dependency properties on a class. (I don’t want emails saying ‘Oh, why would you ever need that, derive from THIS instead’ or ‘Just use a collection’ or something, thats not the point here.) So, dependency properties are exceptionally tedious to add to your class, often times requiring 30ish line of code each – most of it boilerplate. Now, once you have them it gives you tremendous power, but its a bear getting there. Anyway, since there would be, and generally is, tons of boilerplate code here, I figured it would be a good opportunity to test out the code generation stuff thats built in to VS2008. The amazing thing is that you can write C# that writes your C# (wish there was C# intellisense in the template editor). This is very cool and gets you thinking at a different level about your code. Anyway, very cool stuff – you never know what you will find in your travels and when it might come in handy. Learn on!

Posted in Software Development | Leave a comment

.NET Sleepers

In the vast universe that is .NET, there is almost no way to know about everything you have right at your fingertips (literally). Every once in a while I come across something and have an ‘ah ha’ moment (and a subsequent ‘Oops’ moment when I think about something I did that I could have gotten for free.) So in an effort to help others avoid some sleepers, here are some great articles I have come across in my travels on random topics in the framework.


Some of you may know about the static Trace class from .NET 1.0, or you may have written your own debugging support library, well some really cool Tracing support was added in 2.0 that you might not know about. Here’s a good series on the topic:

Tracing Primer – Part I
Tracing Primer Part II(A)
Tracing Primer Part II(B)
Tracing Primer Part II(C)

The best part about really instrumenting your app or framework, especially a layered framework, is that, when debug time comes, you can configure the TraceListeners however you want (post-compile) and get just the visibility you need for debugging. Imagine tracing the order of execution through a layered stack – if each layer had its own trace channel (called a TraceSource), you could have them all write to the same trace file and see the execution of calls through the whole stack. For those working with WPF, you might also want to check out this.

Anonymous Delegates

Not necessarily a sleeper, but mysterious to some no less. Here is a series on Anonymous Delegates, they are a powerful concept, and look out for the new stuff in 3.5, it gets even better!

The implementation of anonymous methods in C# and its consequences (part 1)
The implementation of anonymous methods in C# and its consequences (part 2)
The implementation of anonymous methods in C# and its consequences (part 3)

Functional Programming, Lambdas

Here’s a great series to get you thinking about some of the awesomeness that is .NET 3.5. I don’t know if this could be called a sleeper because it’s so new, but you shouldn’t miss it. If ‘Functional Programming’ is boring to you, you should still read to check out some of the new C# 3.0 stuff.

Lambdas and Closures and Currying. Oh my! (Parts 1 – 4)
Lambdas and Closures and Currying. Oh my! (Parts 5 – 9)

Posted in Software Development | Leave a comment

Vista SP1

A couple weeks ago Microsoft made Windows Vista Service Pack 1 available to technical folks though the MSDN site. Honestly, I had been waiting on this for a while now. I had long noticed some ‘quirks’ in the original Vista that I was hoping would be fixed by the service pack. So when they made it available – I figured I would get right on it and download the update. Not wanting any ‘accidents’ that would cause disruption to my life – I decided to wait until the weekend to install it so I would have ample time to fix any issues that might arise. So I went to download it, pulled down the bootstrapping download manager and fired it up (on my Vista machine), it proceeded to crash. So I tried again, no luck. Ok, let’s see if its the download manager – try it on my XP workstation – no problems. Ok, fair enough, over that hurdle. I’ll wait until the weekend now and finish this up.

Ok, finally I go to run the update installer on my Vista machine. I get:

“Windows Vista Service Pack 1 cannot be installed on your computer because the language of Windows Vista you have installed is not supported or you have installed a language pack that is not supported. Windows Vista Service Pack 1 can only be installed on computers running the English, French, German, Japanese, and Spanish versions of Windows Vista or computers running only those language packs.”

So, I’m thinking, “Why would I have ever installed another language pack, I only want to use my computer in English.” Then, I checked in ‘Control Panel->Regional Something Settings’ and, sure enough I had like 16 language packs installed.

#ifdef RANT

So I thought about why I would have installed those (if it was me that installed them) and realized that the only plausible reason was to make ‘Windows Update’ stop bugging me every 15 minutes to install them. (I also hate that Java thingy that thinks I care about updating to the latest Java every 3 days.)


Ok, so I guess I need to uninstall everything that I don’t need (i.e. everything except English). So I select all 16 of the non-English language packs and select ‘Uninstall’. This should be easy… It works on it for about 15 minutes and then tells me it was only able to uninstall Bulgarian (or whatever) – and that it must restart TO FINISH uninstalling. So it restarts – on its way up it does ‘Step 2′ and ‘Step 3′ for about half an hour. Ok, back into Windows now, I go back to ‘Control Panel->Regional Something Settings’ and look and all the language packs are there still, minus one. Oh boy, this is going to be fun, I try to select all of them and nope, one at a time (~45 minutes each – and its not like I have a total junk machine, its a 2.2ghz DualCore with 2gb RAM, 7200 rpm HDD). So, now its Sunday – I have them all off the machine – or so I think. Yes…time for SP1! Nope,

“Windows Vista Service Pack 1 cannot be installed on your computer because the language of Windows Vista you have installed is not supported or you have installed a language pack that is not supported. Windows Vista Service Pack 1 can only be installed on computers running the English, French, German, Japanese, and Spanish versions of Windows Vista or computers running only those language packs.”

Ok, I’m pretty ticked now. I just spent an unreasonable amount of time here messing with this thing. I dig around, my list of installed language packs is showing nothing except English, but I look (somewhere else) and apparently I can select Portuguese for the display language, even though its not showing in my list. So, in despair, I reboot, now I see Hungarian in my list of installed language packs. Whew… So I go though and ‘try’ to uninstall. Nope, still:

“Windows Vista Service Pack 1 cannot be installed on your computer because the language of Windows Vista you have installed is not supported or you have installed a language pack that is not supported. Windows Vista Service Pack 1 can only be installed on computers running the English, French, German, Japanese, and Spanish versions of Windows Vista or computers running only those language packs.”

I try a couple more times and then Google for a while until I stumble upon http://support.microsoft.com/KB/947506. I download that, run it and then uninstall the languauge packs that now show up in my list – and I’m in, SP1! Apparently, ‘TrustedInstaller’ somehow got my language packs corrupted during install and I didn’t even know it…

MORAL OF THE STORY – hope this helps people avoid the pain – if you get the message about the language packs, you might want to try KB947506 before you get too flustered.

Ok, now the good news, SP1 did fix a couple of my noticed ‘quirks’ in Vista. Network transfers that used to take 12 minutes (3 on XP) seem to be about right now. The ‘Calculating Transfer’ stuff that you see when you move things around on a network are MUCH QUICKER (I think it starts transferring right away now like it should), Hibernation / Sleep / Startup seem improved, and ‘Windows Explorer’ now only crashes 3 or 4 times a day (which is a big improvement.)

Also, if you want to hide an update that is being pushed on you by ‘Windows Update’, you can just right click on it in the list and select ‘Hide’ and it will stop bothering you about it.

Progress sometimes comes in baby steps…

Posted in Software Development | 1 Comment

Slide.Show Generator code moved to CodePlex

There has been some interest in the Slide.Show assets generator tool from one of my previous posts so I have moved the code up to CodePlex, you can find the project here.

For those that don’t know about CodePlex, it is Microsoft’s open source project hosting site. It is a great place to share code and collaborate with people on a project.

Posted in Software Development | Leave a comment



A while back, when it was in early beta I think (a few months ago anyway), I joined Popfly which is a graphical mashup creator. It allows you to drag ‘blocks’ like data sources and display elements and stitch together a mashup without code. I took a good look around today and was able to whip together a little mashup. This stuff is definitely worth a look-see…

Posted in Software Development | Leave a comment

Silverlight SlideShow Generated

After adding a bunch of metadata to my pics using Microsoft’s Photo Info Tool, I put the generator from my last post into action and created a little better slideshow for my trip, it’s below (you’ll need Silverlight 1.0 installed to see it).

Posted in Software Development | Leave a comment