# Thursday, 03 March 2005

I’ve had a problem with the CInt, CDbl, CWhatever casts in VB.NET from day one. Maybe it’s just because I dislike VBScript so much that something carried over to .NET. I must admit that my preference goes to C# for it’s cleanness. The .NET framework was developed from ground up and this approach made it possible to start over and get rid of of the baggage which accumulates during the years a technology exists. Now why would you go ahead and add some of the baggage back in by adding VB6 compatibility on top in the form of VB.NET?

Understand me right, VB.NET is great but one of the things which bugs me about VB.NET are the choices made to keep many of the weird little “features” of VB6 in VB.NET. VB.NET is different in so many important aspects that it’s almost painful to think that anyone in their right mind would keep the little weirdnesses in for the sake of existing developers. I mean come on, they had to learn all kinds of OOP techniques, patterns, and so forth, why wouldn’t you just get rid of the weird stuff?!

Dustin Aleksiuk gives a great example you should be aware of if you are using VB.NET: The CInt cast. Take a few seconds and draw up in your mind the way you think it works. I almost guarantee you that the actual implementation will surprise you.


posted on Thursday, 03 March 2005 14:35:18 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback

Looking for more information about the Enterprise Library from the Patterns & Practice group at Microsoft? Each and every building block of the library will be dedicated a web cast giving you the opportunity to pick the area you have special interest in.

Enterprise Library Webcast Series

posted on Thursday, 03 March 2005 14:06:37 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback

You should definitely check out Mike Roberts’ How to Setup a .NET Development Tree articles which details a good structure for your .NET project along with source control organization. Often I find solutions which are structured in a weird way and it annoys me to no end.

Mike did a series of articles on the subject and you can grab the whole thing in PDF format for easy accessibility. A must read for everyone who sets up new projects!

posted on Thursday, 03 March 2005 10:49:03 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback
Along with the 30 Minute Regex Tutorial the Understanding Basic Regular Expressions article should give you a solid start into the wonderful world of regular expressions. Often I have found myself comparing regular expressions to SQL in that they both provide very elegant solutions to difficult problems, although getting at the solution may be more than challenging from time to time
posted on Thursday, 03 March 2005 09:15:42 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback
# Wednesday, 02 March 2005

Somehow the desktop tools from Google and later MSN just didn’t do it for me. Google Search fell on the horrible web server which inject results on the Google. The basic idea of transparently injecting the results into my normal Google searches appeals to me but it just isn’t that practical in my day to day routine. The outlook of security holes in the web server software makes it an even easier choice to remove it. Also searching everything as administrator gives you access to every other user’s files on the system which can be a plus but I find that I’d like to be able to decide the default behavior.

MSN Search did a lot of things right but again I just didn’t use it all that much. It must be the fact that MSN Search was horrible for a long which kind of branded that impression in my brain and now I can’t seem to shake the feeling. I can’t put my finger on what made me remove it, it just didn’t feel “right”. One thing I do miss from MSN search is the ability to search

Enter Copernic Desktop Search a very overlooked piece of software. Something feels different here. Again I’m unable to put my finger on something specific. Maybe it’s the polished user interface, maybe it’s the fact that if I choose to search files and don’t find anything it tells me that something was found in say e-mail. Maybe it’s because it kind of reminds me of the standard Windows search features which I’ve been using for years. Maybe it’s the preview feature of the search result which will display the contents of Word files for example.


posted on Wednesday, 02 March 2005 19:27:24 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback


posted on Wednesday, 02 March 2005 10:54:17 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback
# Tuesday, 01 March 2005

By weird coinsidence Kathy Sierra follows up on the How to Read and Digest a Book! I posted about yesterday with a post named Dealing with a legacy brain... where she chronicles the problems with trying to get your brain to want the same things as you do.

Basically the brain is hard wired to live in the stone age where such things as food is hard to come by, and danger is around in abundance. Today we face almost exactly the opposite situation: Food is abundant for people of the western world, and dangerous situations almost only happens if you actively seek them out.

This is very much relevant for your learning process which you will learn when reading Dealing with a legacy brain... by Kathy Sierra. She even details a couple of techniques you can use to better process new information.

posted on Tuesday, 01 March 2005 14:15:56 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback
# Monday, 28 February 2005

Clemens Vasters posts a mini series about Indigo, a technology I’ve gained better appreciation of since learning that our first application based on service oriented architecture is in the pipes. Thinking about the problems we face in development using this architecture makes me want Indigo right away

Go read Part 1 Simple Messaging, Part 2 Fun with Messaging and Explicit Addressing, and Part 3 Hard-Core Messaging. Duplex Conversations your brain will thank you for the stimulation, I swear!

posted on Monday, 28 February 2005 13:52:40 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback

A skill which is often overlooked when trying to improve oneself is the reading skill, even though most relevant information is aggregated through this medium. How to Read and Digest a Book! is a post which got me thinking about my reading habits and what I might do to improve them.

For me personally more and more interesting information is gathered from the text medium. Mostly due to the advent of RSS feeds where I need to have focus on fast processing of posts if I am to stay up to date with all the exciting stuff people post about.

For me to engage in a piece of text for learning purposes I have found that taking notes is the best practice. It may lengthen the reading process somewhat but my thoughts are focused and more information tend to stick for a longer period of time. Another plus is that I can always go back to my notes and look for the points which I found important at the time.

posted on Monday, 28 February 2005 13:35:14 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback

My favorite spam filter for Outlook got bumped to version 3 recently. Of course I was delighted to learn that a new version is out and went to their site to grab the update. Upon installing the new version it told me that my purchased key for version 2 was invalid. Puzzled I browsed to the Spam Bully site and learned that apparently you need to buy a new key for version 3, although at a slightly reduced price.

What’s up with that?!

posted on Monday, 28 February 2005 13:20:47 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback

My colleagues and I have been doing some Google optimizations on various sites we develop in-house and were discussing what the potential candidates for such optimizations might be. The unanimous answer is: URL rewriting.

Simply having the search term in the URL of the page will get you ranked very high on Google indeed. This being one of the technical factors which you can actually control as opposed to inbound links, it’s something I just don’t understand that every web site out there provide.

Since upgrading DasBlog to version 1.7 which supports URL rewriting I’ve seen page ranks for my posts rise significantly to the point where I’m listed on the first search page for several of my posts, though mostly on the localized version of Google. The main page would require inbound trafic from Robert Scoble to make even a dent in the ranks

Using ASP.NET it’s very easy to accomplish. Head on over the MSDN and read the article URL Rewriting in ASP.NET more information and code examples on how to accomplish this feat.

posted on Monday, 28 February 2005 13:17:35 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback
# Thursday, 24 February 2005

Been wanting to get your feet wet with Visual Team System? Daunted by the outlook of lacking documentation and buggy pre-beta software?

Fear no more. David Bost has what you need: Installing the December CTP Release of Visual Studio Team System which is an article on MSDN on how you go about installing VSTS on Virtual PC software. I might even give it another chance, though I’ve pretty much resigned to waiting for a proper beta where more stuff works. Sure would have loved to have this article in hand when I first started installing the CTP

posted on Thursday, 24 February 2005 10:57:44 (Romance Standard Time, UTC+01:00)  #    Comments [1] Trackback
# Tuesday, 22 February 2005

From the bright minds of Omar Shanine and Scott Hanselman comes an dasBlog1750162Released.aspx">update to DasBlog which addresses a security bug found, and more importantly adds a URL rewriting feature which generates better permalinks for posts, e.g. the permalink for this post is DasBlogUpdate.aspx. This will ensure better page ranks on Google and make the links easier to remember. Before you turn on the feature (Use Post Title for Permalink) please bear in mind that every post will be assigned a new GUID so your RSS feed will republish previous posts as new ones.

If you are using my updated MetaWeblog API DLL which enables posting of images, you need to redeploy the DLL after you complete the update. It doesn’t look like any changes were made to that particular namespace but I took the time to recompile it anyway, just in case.

posted on Tuesday, 22 February 2005 13:08:07 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback
# Friday, 18 February 2005

You should install the refreshed version of Microsoft AntiSpyware which will keep your computer safe from all the pr0n sites you visit

posted on Friday, 18 February 2005 09:57:21 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback
# Monday, 07 February 2005

Some time has passed since I first learned about the Wireless Distribution System protocol (WDS). I continue to be intrigued by the possibilities of the protocol which is the reason for this post. My experience of the area is that people don’t know much about what can be achieved using WDS. Pioneered by Apple and adopted by a few other companies such as Buffalo, Linksys, and D-Link, WDS is the protocol for coupling multiple wireless bridges in a single wireless network, thus extending the range of the network and enabling non-wireless hardware to connect to the wireless network via ethernet.

My interest in WDS was sparked by the purchase of a network DVD player from KISS which turned out to have a rather lacking wireless implementation causing the player to disconnect from the network from time to time, usually when watching a movie streamed across the wireless network. Needless to say that the experience was less than appealing. The quick fix was buying a bridge which handled the wireless network access on behalf of the DVD player.

However my wish was for a more flexible solution which would enable me to connect other buildings in my neighborhood to my network: Enter the Linksys WRT54GS. The Linksys WRT54GS is not WDS enabled by default but that is easily fixed using the Sveasoft Satori firmware. This does not only enable WDS but also a host of other useful features such as Quality of Service which comes in handy for IP telephony.

Now the setup of WDS is a bit complicated so here is a description of how I got it working. I named my routers INTERNET and BRIDGE for easy reference:


1) Download the Sveasoft Satori firmware from LinksysInfo.org. Please note that two versions of the WRT54 exist: The G and GS. Be sure to get the compatible firmware or you will toast your router.

2) Flash both routers with the downloaded firmware using the Administration / Firmware Upgrade.

3) Note the wireless MAC address of both routers which is found in the Status / Wireless menu.

For BOTH routers:

4) In Wireless / Basic Settings set

    • Wireless Mode: AP
    • Wireless Network Mode: Mixed
    • Wireless Network Name: <some SSID>
    • Wireless Channel: <Choose a wireless channel (must be the same on both routers!)>
    • Wireless SSID Broadcast: Enable

5) In Wireless / Security set

    • Security Mode: WEP
    • WEP Key: Generate a key (again this must be the same key on BOTH routers!)

6) In Wireless / MAC Filter

    • Wireless MAC Filter: Disable

7) Advanced Settings set

    • Authentication Type: Auto
    • Basic Rate: Default
    • Transmission Rate: Auto
    • CTS Protection Mode: Disable
    • Frame Burst: Disable
    • Beacon Interval: 100
    • DTM Interval: 1
    • Fragmentation Threshold: 2346
    • RTS Threshold: 2347
    • TX Antenna: Auto
    • RX Antenna: Auto
    • Xmit Power: <set it as high as you dare, I use a value of 72>

On the INTERNET router:

8) In Setup / Basic Setup

    • DHCP Server: Disable
    • Local IP Address:
    • Subnet Mask:
    • Gateway:

9) In the Wireless / WDS

    • Choose LAN in the drop down list
    • Enter the MAC of the BRIDGE router which you jotted down earlier
    • Lazy WDS: Disable
    • WDS Subnet: Disable

On the BRIDGE router

10) In Basic Setup

    • DHCP Server: Disable
    • Local IP Address:
    • Subnet Mask:
    • Gateway:

11) In the Wireless / WDS

    • Choose LAN in the drop down list
    • Enter the MAC of the INTERNET router which you jotted down earlier
    • Lazy WDS: Disable
    • WDS Subnet: Disable
posted on Monday, 07 February 2005 22:16:40 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback

My ISP TDC has a great offer for people with a T1 class internet connection, they upgrade it for free to 4 Mbit until March. Only problem with such a connection is that most servers can’t sustain the 440 kb/s throughput needed to saturate the connection, enter the download manager application.

I’ve been using a variety of download managers for the last couple of years not really finding one which fulfills my demand s for such an application; until tonight that is. Getright has been popping up from time to time but it was never really the right match for my uses. I like my software lean and to the point so I made a quick search on Fileforum and Free Download Manager came up. Now don’t let the cheesy name fool you we’re dealing with a very polished application which does what it does very well. Clean interface, nice buttons. The task of starting the download process could be shortened a bit but it I’m kind of picky when it comes to applications so it’s probably fine for most people


posted on Monday, 07 February 2005 20:50:54 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback
I’ve added my blog to the Blogmap and you should too. For example I can now view a map of Denmark and see where the bloggers of my country live. Great stuff for sure even though only three Danish bloggers are registered
posted on Monday, 07 February 2005 19:21:24 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback

I passed the exam last week but didn’t get around to mentioning it. Frankly I was surprised at the score because I never really feel prepared for these kinds of things but getting certifications in stuff you work with every day shouldn’t be hard, now should it?

So now I get to call myself a certifiable ASP.NET programmer … no wait! 

posted on Monday, 07 February 2005 14:14:15 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback

I figured I’d post the compiled binary containing the code for uploading images using the MetaWeblog API for everyone to use. No need to make this stuff overly complicated. Also I’ve contacted Omar Shanine in the hopes that the code might get integrated in the main source of DasBlog.

Just download the updated newtelligence.DasBlog.Web.Services.dll and copy it to the /bin folder of your DasBlog installation and you should be all set. Testing has only been performed using BlogJet 1.5 with both default location and specific location of the binary files. Remember to give the ASPNET worker process write access to the folder you wish to use to store the images in.

posted on Monday, 07 February 2005 13:41:32 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback
newtelligence.DasBlog.Web.Services.dll (96 KB)

My favorite podcatcher Doppler went out of beta yesterday. Version 2.0 offers the following new features:

  • Multi-threaded, simultaneous downloads.
  • Resuming downloads.
  • Automatic retry if a download fails (for instance if the server goes down for a few seconds or something like that). Doppler will retry the download 10 times, waiting a bit longer between every retry.
  • On the fly conversion of your mp3 to m4b/aac format if you are using iTunes
  • Tag rewriting including 'smarttags' like %date%, %feedname%, %time%, %artist% etc. etc. etc.
  • The ability to have Doppler check feeds at a specific time during the day.
  • You can now apply your default feed settings to already existing feeds (it's in the "Tools" menu)
  • A new space saver: clean up by rating! It allows you set a specific rating. If you set it to 1 star, the moment you set your podcast to a 1 star rating, Doppler will remove it from the playlist in the next retrieval run.
  • Catch-up all feeds. You can tell Doppler to not add the last x podcasts to the history, so that you can still enjoy the latest podcast. But not have to download all those podcasts made during your vacation.
  • You can Doppler now tell explicity how to handle feeds which contain the same mp3 file over and over. Skip them or add the date/time to the filename.
  • A log file. Doppler 1.1.1 reported to the system event log. Doppler 2.0 maintains it's own log, which means now that Windows ME and 98 users now also can run Doppler!
  • You can pick a category to sync from BlogLines
  • Double click on a feed and it will open a lightweight RSS reader!
  • You can automatically increment a track number counter on every download, making it easier to order your downloaded podcasts in a playlist.
posted on Monday, 07 February 2005 13:35:58 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback

So I took some time this weekend and dug around the source code so I could learn why I couldn’t upload images using the MetaWeblog API after updating the site to version 1.7. Turns out that the newMediaObject interface unsurprisingly isn’t implemented in the latest version of DasBlog. Something have been pulled in version 1.7 but I don’t get why you’d remove something like this. I’m at the point where not even sure I was able to do it

Not wanting to wait any longer for a reply on the Sourceforge site for DasBlog I went ahead and found the XML RPC spec and added an implementation for the newMediaObject interface to the DasBlog source. I’m happy to report that I’m now able to upload images to my blog using BlogJet.

Work continues to improve the tiny piece of code needed to accomplish this. Please drop me a note if you’d like the updated DLL or source for use on your own dasBlog 1.7 site. Be aware that I have no plans to support version 1.6 at this time. Also I will try drawing Scott Hanselman’s or Omar Shanine’s attention to this so my code can be integrated into the main code tree, the new name for dasBlog is dasBlog Community Edition afterall

posted on Monday, 07 February 2005 11:16:54 (Romance Standard Time, UTC+01:00)  #    Comments [3] Trackback