Taking notes with Evernote

For a long time I've been searching for the ultimate note taking application. OneNote used to be my favorite but since I became a consultant and needed to move between different workstations it became a strain to keep things in sync.

The ideal note taking application needs to meet the following criteria for me:

- Web Access: I should be able to take notes in a hurry without having to install any applications.

- Desktop Application: Should be easy to use and needs to be as good as OneNote.

- Synchronisation: The desktop should be able to sync to the web so that I have the latest version both online and offline.

- Secure: Google has spoilt me with their https support for all the Google Apps that I use. I hate to have my personal stuff sent over plain text for anyone on the network to view.

For a long time I've been using Google Docs for storing stuff, unfortunately that doesn't include desktop support.

Evernote is the closest that has come to the nirvana I've been searching for. The two coolest features for me are the desktop application and the online synchronisation feature. The best part is that it's free!

WCF Add Service Reference gotcha with Windows Server

We recently switched from developing in Vista to Windows Server 2003. Someone had the bright idea that we should develop in the same environment the application is going to be hosted on. Go figure.

What that meant is that you run into wierd issues like this one. When trying to add a Service Reference to a WCF service hosted under IIS you keep getting this 'Add Service Reference Error':

Metadata contains a reference that cannot be resolved: 'http://merill/Services.Host/ClientProfile.svc?wsdl'.
The WSDL document contains links that could not be resolved.
There was an error downloading 'http://merill/Services.Host/ClientProfile.svc?xsd=xsd0'.
The underlying connection was closed: An unexpected error occurred on a receive.
Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.
An existing connection was forcibly closed by the remote host
Metadata contains a reference that cannot be resolved: 'http://localhost/Services.Host/ClientProfile.svc'.
Metadata contains a reference that cannot be resolved: 'http://localhost/Services.Host/ClientProfile.svc'.
If the service is defined in the current solution, try building the solution and adding the service reference again.

The key part of this message is the reference to the downloading of the xsd. When I tried accessing the .svc url in a browser it worked fine, but trying to access the .svc?xsd=xsd0 brings up the generic 'cannot display webpage' message.

When you unleash your weapon (Process Monitor) on the csc.exe process (this is the compiler generating the xsd) you'll realise that the IIS identity IIS_WPG does not have access to the Windows\Temp folder. Give enough rights to the folder and viola problemo solved.

Happy WCF programming on Windows Server!

Bill Gates was right about spam

In 2004 BillG made a statement that spam will be solved in two years. In 2008 I can prove that it is.

Here's how my Inbox looks today.


That's 19,326 spam message caught in the last 30 days. Not a single spam slipped through and nothing was falsely flagged.

What he wouldn't be happy about though is that it wasn't his team that solved it but the guys over at GMail.

The Windows Live Mail client, unfortunately, flags my own messages as Junk.

Copy Paste Unformatted Text in Word

I was reading this old series of posts on the whole Office Ribbon bar design (quite a fascinating from a developer perspective). I came across the comments where quite a few have ranted on the 'paste unformatted text' as being more preferred than paste. I too used to be in that same group but that was before I came across this whole section dedicated to configuring copy-paste under the Advanced tab in Word options. Here you can configure the default paste action. For keyboard freaks there's always the Alt+H, V, S to get to the Paste dialog.

While we're on the topic of Copy/Paste. Do yourself a favor and install ClipX, you have absolutely no idea what your missing.

Oh MSDN Language Filter

For the love of god why is the language filter on MSDN a list of checkboxes that default to ALL languages.

You'd expect the guys at MSDN to have figured out how cookies work and remember the language you selected. But no, that would take the fun out of switching off each language one by one for each and every page.


It had to happen. Two years ago I made a conscious decision to make my family the center of my universe and my #1 priority. Joshua is now 16 months and Rafael is 2 months old, these are the best years of my life and I want to make every minute count with them!

This of course means sacrifices and the MVP is one of them. However it does not take away the immense joy and satisfaction I get from seeing the Sri Lanka .NET user group grow to be one of the largest in the country. And Wela has a few more tricks up his sleeve so keep watch.

Creating HTML Signatures on Outlook 2007

Outlook 2003 had a nice feature that allowed you to create a signature from an HTML file. This went missing in Outlook 2007 and a google search for Outlook 2007 signatures brings up a number of posts with people asking for help on how to do this.

ScottH posted a tip that showed you how to do it but it involved editing an obscure html file, the location of which varied from XP to Vista.

The solution is quite simple really and left me scratching my head as to why I didn't think of it before. All you need to do this is the humble copy and paste.

Using a browser open up the html file that you want to embed as your signature, highlight everything and copy/paste it to the signature window in Outlook 2007.

Here is a step-by-step on how to do this.

1. Create your signature using Google Pages. Browse to http://pages.google.com (create an account and log-in if you don't have one)

2. Click on the Image button and upload the image that you want to include in your signature. Format the rest of your signature and Publish it.














3. In the resulting page, highlight any part of the page that you want to include in your signature and Copy it.


4. Switch to Outlook 2007. In a new message, on the Message tab, in the Include group, click Signature, and then click Signatures.

6. On the E-mail Signature tab, click New. Type a name for the signature, and then click OK.

7. In the Edit signature box, paste in the signature that you copied from Google Pages.  

GMail is SCREAMING fast on FireFox 3 Beta 4

I've been using FireFox 3 beta 3 for quite some time and was pretty happy with it. Fired up FF today and was prompted with a nice upgrade button. They've been doing some tweaking on the JavaScript engine and its made applications that I use quite often like GMail to work lightning fast.

From the FireFox Release Notes:

[Improved in Beta 4!] Speed: improvements to our JavaScript engine as well as profile guided optimizations have resulted in significant improvements in performance. Compared to Firefox 2, web applications like Google Mail and Zoho Office run twice as fast in Firefox 3 Beta 4.

DasBlog to BlogML Converter

A couple of people have emailed me asking for the GUI version of the dasBlog to BlogML import / exporter, so I thought it best to share it with everyone. You can now download this from the MSDN Code Galley at http://code.msdn.microsoft.com/DasBlogML

Please let me know if you find any bugs and remember that I've only created a simple UI wrapper over the excellent work done by Paul.