Thursday, May 31, 2007

Filter/Dispatcher pattern for URI handling in .Net

I put together an interesting component of an application recently. It didn't get used in the end, but I liked it none the less. Using the HttpModules in the web.config I was able to get it to act as a filter pattern, intercepting all web requests through the web server. Then using a custom configuration I was able to implement a dispatcher pattern to configurable classes. This resulted in a web site that could catch any requests and process regardless if that page actually existed. It's a nice way to think about implementing a REST friendly web site.

Friday, May 25, 2007

Software Engineering as a Service

From the blogs I read and the people I talk to, I get the impression there's a ever growing movement of open source, free software delivered over the internet. The web is for everyone and owned by no-one is just one phrase which has added to this movement recently. I think it's fantasic; I can't think of many industries where people come together and passioned debates about the work we do, how we do it and the tools we use. Someone has to pay for it somewhere along the lines though right? I mean, if I write the next cool app, who's going to put food on my table? I think more and more, developers are having these great conversations and they're about making the development experience for other developers easier and better, simple and open always wins as they say. Although developers have a big say, and as Tim O'Reilly pointed out with alpha geeks they tend to pull the industry along somewhat, it's businesses who pay for applications, products and services. So, although we care about developers, we still have to be mindful of businesses.

I suppose a question to ask is: who is our customer?

Thursday, May 24, 2007

Sleepless in Colorado

I thought I had learnt my lesson of travelling west to the americas before, but although I applied what I thought would work, I still can't sleep. Mind you, when I was last here I was 20 and fit! Now I'm 25 and decidedly unfit, I find myself waking at 4 or 5 in the morning with nothing to do but use the 24 hour gym or surf the net.

Saturday, May 12, 2007

My Bear vs Shark Moment

If you've read this book, you'll know about the message of gross commercialism contained within. Today, walking around my local supermarket I felt like the main character, mindlessly picking up products that I thought I needed. It seems the easier these supermarkets make it for us to buy everything in one place, along with wrapping everything in pretty packaging, the easier we concede to their marketing ploys, even if we think we're resisting.

Share The Love!

I've just read a great post on coding horror by Jeff Atwood (

I've had similar thoughts on, as a software engineer I don't care what tools I use as long as their the right ones to get the job done. Sometimes that's been Microsoft tools, sometimes open source tools, or sometimes just the good old web! Jeff really hits the nail on the head, stop fighting and start worrying about building better software.


edit: also was sent this, which adds a nice perspective:

Monday, May 07, 2007

Mavericks at work - Review

Read it. Especially the first three sections on 'open source' innovation across industries, discovering strategy and reconnecting with the cusomters. A worthy read.

Release Early vs Release Smarter

A while ago I tried to get onto the WCF bandwagon, but struggled because of the high barrier of entry. I was more put off when a few of the smartest developers I know (generally anyone developer I know) when to Redmond to play with the WCF team and couldn't even get something working. Then, as I was in a bookshop, I noticed a WCF book. Well, if someone's written a book about it, it must be ready for consumption by mortal developers like me. Seems not. I still have to install the Windows SDK to get a tool which is around 100kB to generate WCF friendly proxy classes.

Releasing technologies early is cool. If you get a beta, you expect some teething problems, but now after a few months of .Net 3 being released, I'd expect better tool sets by now. It just makes me thing, if you're going to release something, please make sure there's appropriate tools and support.