# 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
# Friday, 04 February 2005

I never thought I’d live to see this day but somehow it happened and Deutsche Bahn deployed Linux on 55.000 desktop machines which were running Lotus Notes prior to the Linux roll out. The server side move happened some time ago according to ZDNet.

Linux is great piece of server software but I never imagined that such a large scale deployment on the desktop would succeed due to the issues involved getting users up to speed on the new system. Don’t get me wrong I was hoping that it would happen as we all know competition is good for you and me as consumers. Also a well done IT project is something which warms my heart any day :)

I was very interested in seeing how the Munich project would pan out but unfortunately it was stopped it was terminated due to some patent issues.

Source: Verdens største Linux installation vokser (news story in Danish).

posted on Friday, 04 February 2005 11:32:55 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback

This latest post on The Daily WTF had me scratching my head. Why anyone would choose to do this is beyond me. Really it’s the most obvious misuse of SQL since the idea of putting the .NET framework into SQL Server 2005 :)

Go poke fun at the post Logical Tiers? That Makes No Sense! over at The Daily WTF. Always a great source of amusement until the day you find your own code posted there by a coworker, I dread the day :)

posted on Friday, 04 February 2005 09:27:35 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback

FTPOnline has an article which covers some of the new features to be found in Microsoft Internet Information Services 7 (IIS). Free registration required for page 2 of the article.

Here’s a quote to wet your appetite:

In a candid interview on the topic, Staples and Colvin discussed the coming changes (also see the sidebar, "Top 6 Features in IIS 7.0" by Eric Deily, who will be talking about IIS 7.0 at VSLive! next week). The most important of these is the componentization of IIS. All of IIS's functions will be specific components that you can turn on or off at your leisure. This means that when you install the Web server, you'll be able to add only the functionality you need, one piece at a time.”

posted on Friday, 04 February 2005 09:19:45 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback

The provider pattern is central to so many of the new things coming out at the moment and in the future, such as Enterprise Library and ASP.NET 2.0, that you should take 5 minutes to read the article Provider Model Design Pattern and Specification, Part 1 by Rob Howard on MSDN.

posted on Friday, 04 February 2005 08:44:01 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback
# Thursday, 03 February 2005

I have 10 Gmail invites sitting in my inbox right now. Place a comment if you want access to the promised land :)

posted on Thursday, 03 February 2005 21:21:19 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback

I’ve always found the MSDN webcasts to contain great information but I’ve always had a hard time getting at them. Not a problem any more as there is now a ASS feed available for upcoming webcasts. Be sure to subscribe today.

More details are available in the MSDN Events and Webcasts Developer Center Launches today post on the MSDN Webcasts Weblog.

posted on Thursday, 03 February 2005 21:17:47 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback

Every single .NET blogger out there has pointed out that Enterprise Library 1.0 was released some days ago. It’s an interesting release which bundles some of the existing application blocks together in a symbiotic package:

  • Caching Application Block. This application block allows developers to incorporate a local cache in their applications.
  • Configuration Application Block. This application block allows applications to read and write configuration information.
  • Data Access Application Block. This application block allows developers to incorporate standard database functionality in their applications.
  • Cryptography Application Block. This application block allows developers to include encryption and hashing functionality in their applications.
  • Exception Handling Application Block. This application block allows developers and policy makers to create a consistent strategy for processing exceptions that occur throughout the architectural layers of enterprise applications.
  • Logging and Instrumentation Application Block. This application block allows developers to incorporate standard logging and instrumentation functionality in their applications.
  • Security Application Block. This application block allows developers to incorporate security functionality in their applications. Applications can use the application block in a variety of situations, such as authenticating and authorizing users against a database, retrieving role and profile information, and caching user profile information.

Notoriously missing is the User Interface Process application block which should be included in a future release.

What immediately springs to mind (for me at least) is, “what is going to happen to the existing blocks?”. The answer can be found in the message board for the Enterprise Library workspace on GotDotNet where Tom Hollander says,

As blocks get incorporated into Enterprise Library, the old versions will become deprecated. We'll most likely keep them available online as archived versions for a period of time, but we'll be recommending Enterprise Library for new development. This won't have any impact on the blocks from a support perspective - our blocks are supported by Microsoft Support Services at the source code level, so you will be able to continue to get support for the old blocks once Enterprise Library is available.

So basically you must use the Enterprise Library rather than the application blocks themselves. I think that is an important point which isn’t readily available unless you do a little digging.

Guidmaster points out three articles for getting started with the new release:

The articles are all from @baz’ blog where even more information can be found.

posted on Thursday, 03 February 2005 15:16:08 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback

I’m not talking about satan here but rather about the spammers of the world looking to make a buck on the gullible people out there. I’ve been hit by referral spam en masse, luckily my upgrade to dasBlog 1.7 put some measures in place for me to use in this event. It’s getting pretty bad on the spamming side when time is spent on referral spamming a site like mine with my rather low visitor count. Ah well.

Comment spam is pretty much solved in dasBlog 1.7 by use of the CAPTCHA system but referral spam is still a problem. I thought I’d point you to the MT-Blacklist/Comment Spam Clearinghouse where I among other things found an updated Movable Type blacklist file for dasBlog.

posted on Thursday, 03 February 2005 08:32:14 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback
# Thursday, 27 January 2005

I’ve been trying to branch out from the mostly technical blogs I read  because I really don’t want to be that kind of person who knows about only one thing, and also I want to stimulate my brain into using different patterns as I’m sure that the end result will that I’ll do better at what I do on a day to day basis.

One of the blogs I found through Robert Scoble’s link blog: Creating Passionate Users. I’ve been reading it regularly ever since the first post I stumbled across. Every post is simply a little nugget of gold, very well written, and very interesting. Each post is rather long and not really suited for skimming as the topic often requires you to reflect on the content which is a very good thing as most blog entries tend to be a little on the short side and often not very well thought out (kind of like every post found here actually :)). Take this last post “Most classroom learning sucks” detailing what can be done in order to further intellectual growth in schools, great post with a great story to back up the point of the post.

posted on Thursday, 27 January 2005 10:58:36 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback
# Wednesday, 26 January 2005

A quick rant about people insisting on naming all their links here, e.g. More information about product available here. Don’t you just hate that? Why won’t people put some descriptive text in their links?! Not only does it help the page rank on Google as described in my post The Black Art of Google Optimizations, it also helps blind people as well which is an even better reason to do it.

In order to further the movement I hereby declare this day hence forth the:


posted on Wednesday, 26 January 2005 09:25:14 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback
# Monday, 24 January 2005
Need a schema for RSS 2.0 XML? Look no further Jorgen Thelin has got what you need.
posted on Monday, 24 January 2005 15:15:23 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback

I do blog reading both at home and at work as I’m sure many other people do as well. Or that is what I would like to do but I have around 200 feeds which I like to follow and I just don’t want to spend the time at home checking up on feeds I already read at work. I’m adopting a world view where time is the only real currency, and I really don’t want to spend any more of it managing the information flow than I already am. Thus I thought that I would shop around for services providing read synchronisation for my feeds, with the advent of online aggregator services like Bloglines and NewsGator Online I figured that there would be no problem finding what I was looking for.

How wrong I was.

FeedDemon is an aggregator client where support for both Bloglines and Newsgator Online Services was recently announced so my guess was that this would be the best place to start. Sadly I found a comment from Nick Bradbury who said,

Joost, the way it works is that FeedDemon only downloads items you haven't already read in Bloglines, and when an item is downloaded in FeedDemon, it's marked as read in Bloglines. We considered one-to-one item synching, so that an item isn't marked read in Bloglines until you've actually read it in FeedDemon, but the added bandwidth consumption and performance cost didn't make this worthwhile, IMO.”.

I simply don’t agree with that statement. In this day and age where personal time is getting increasingly hard to come by, synchronisation is exactly the kind of thing which saves time by enabling people to access their information when they need it without having to think about where they access it from, or what they accessed so they can keep their home or office information up to date as well. The scenario is easily handled by IT and yet Nick Bradbury claims that the is no point in enabling it; why oh why should the user spend valuable time synchronising data?! I just don’t get it.

Microsoft recently announced the Microsoft Office Outlook Live service which I think goes to show that I’m not the only one thinking about this out there. Microsoft believes that people want to access their data wherever they are and they want their data to be as up to date as possible. I personally believe that it is only a matter of time before we see initiatives like synchronising music, video, and other large data stores. If not the entire data store then usage statistics such as play count, last played, play lists, and so forth for starters.


posted on Monday, 24 January 2005 15:07:26 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback
# Saturday, 22 January 2005

Looks like something broke when I updated the site to version 1.7. I am no longer able to post images using the MetaWeblog API even from SauceReader which worked beautifully before the update. Two things might be the source for the problem: Either I missed some folder security settings when I updated to version 1.7 or changes were made to the exposed posting API in version 1.7.

I started a thread on the new SourceForge site for dasBlog which you can follow if you have further interest in the issue. An answer will probably be forthcoming in a short while or so I hope.

posted on Saturday, 22 January 2005 17:41:45 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback

So I found out what lies behind of the killer feature of SauceReader: The ability to post images using the webservices exposed by dasBlog. The answer is that SauceReader uses the MetaWeblog API which dasBlog supports apparently.

I learned today that BlogJet supports this API too so this post is a test for just that. Should this succeed BlogJet will officially be my favorite blog posting tool of all time.


posted on Saturday, 22 January 2005 16:55:42 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback
# Friday, 21 January 2005

For me the killer feature of dasBlog isn’t the anti spam function for comments or any of the technical stuff like improved performance. No for me it’s the fact that I’m now able to see referral statistics for past dates. Although I keep this blog for myself as place to put stuff which I will need later, I also get a thrill out of knowing that people do in fact read what I write here.

Let’s face it most people are attention whores and want some kind of recognition for the stuff that they do. Oh and when I type “they”, I really should type “me” :) In my opinion even more statistics are needed because it keeps me interested in doing this. It forces me to post the stuff I find useful which does two things: 1) Makes the stuff available for later use by myself, and more importantly 2) Makes the stuff available for other people.

Takes for example my post about Problems Connection To Hotmail Through Router. It was a pretty hard case to crack and stuff like that would for my part be forgotten once dealt with. I know of at least two people who benefited from me posting about my solution to the problem which really makes this stuff worth doing. Knowing that I helped two people dealing with a difficult hardware issue makes me want to add even more stuff here.

Helping other people makes me feel great, you can too.

posted on Friday, 21 January 2005 15:05:24 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback

Optimising web pages for the best possible page rank on Google is quite the black art. I really had no idea of how much time and effort that goes into this. It is of course understandable but a whole business has sprung up around it.

Not knowing where to start when I first needed to know something about the subject I of course consulted Google and got a couple of tidbits here and a couple tidbits there but never something I could call a true reference.

I wish I had known about SSW Rules to Better Google Rankings from the start. It’s a great resource with a completeness to it which I haven’t seen to date.

There are several other guides available on the site. I know I will be looking closely at a couple of them in the future :) Guides like Rules to successful projects, Rules to Better .NET projects, and Rules to Better code are sure to be of value to me.

posted on Friday, 21 January 2005 14:41:09 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback

I finally caved and bought BlogJet 1.5. Actually I was pretty happy with SauceReader which I have been plugging heavily in the past but the few annoyances it has finally made me pay for what seems to be a quality piece of software according to what I read on my various subscribed blogs.

The main reason why I chose to replace SauceReader with BlogJet is that I could never count on SauceReader to work. Frequently I would get weird errors with the final straw being a Javascript error. Also the speed of the application is something I’ve mentioned before, although it took a great step forward in that department with version 1.10 but it’s still not what I would call a super responsive app.

The only feature I know I will be missing from SauceReader is the ability to post images to my blog using the Movable Type API which SauceReader supports. Guess I’ll have to do some lobbying to get the BlogJet people to add that particular feature :)

posted on Friday, 21 January 2005 14:21:37 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback

Scott Hanselman and Shanine Omar both announced the availability of newtelligence dasBlog Community Edition 1.7.5016.1 today which among other things includes a CAPTCHA anti spam function. The upgrade to version 1.7 is not just XCOPY as we are used to instead you need to run an upgrade tool which upgrades the XML storage files in the /content folder. Anyway I went ahead and upgraded the site but some stuff is still kinda funky so please let me know if you come across any weirdness other than my writing on the site :)

Shanine mentions some of his favorite new features:

  • All the search bot referrals to your site are "pretty printed" in your logs
  • CAPTCHA for entering comments
  • MovableType Blacklist and Content based Blacklist for visitors to the site
  • <%referrallistfiltered()%>Macro that will shrink the number of referrals displayed in the Permalink and expose the rest using Javascript and css.
  • Performance
  • Lots of smart Caching
  • Trackbacks/Pingbacks work reliably.
posted on Friday, 21 January 2005 08:49:38 (Romance Standard Time, UTC+01:00)  #    Comments [1] Trackback