Saturday, 15 December 2012


I really should start blogging again. Life and a long commute has got in the way.

At #tech-nous, we are still developing daily with .net and still focusing on C#. Since the last entry, things have changed in the Microsoft eco-system. For one thing, there isn't really a clear answer to what is happening in the UI space. Is Silverlight completely dead? What is going to happen to WPF? I'm fairly certain that XAML will be around for some time to come. But in what context? Is HTML5 and javascript really the way to go for Windows thick clients? I'm not so sure given that the javascript that needs to be written for Windows apps isn't the same as the javascript dominating the web.

Sometimes I wish the path was clearer, so I could focus on what I knew was going to win. However it does add to the excitement - would it be boring if we knew the outcome already? These are billion dollar questions and if someone knew the answer they probably would keep it to themselves and cash in.

Since the last blogpost I could also claim prior art in using a hashtag in the logo! :-) Just as a point of interest, the hash in the #tech-nous logo was meant to signify the root command prompt in bash - it had nothing to do with twitter. It's just happy coincidence that made us look with it.

Now, what to blog on. Learning Rx? .Net 4.5? My thoughts on the new WinRT tablet? 

I may even blog a little on kitesurfing which I have finally learned how to do. It's an excellent way to spend some time blowing away those coding cobwebs and get you away from a screen for an afternoon.

Thursday, 26 November 2009

Brighton ALT.NET Xmas Dinner, Wednesday 16th December, 7:30pm at Pizza Express

For the final Brighton ALT.NET social this year, we're going to have a meal at Pizza Express, Jubilee Street (next to the library) on Wednesday 16th December at 7:30pm.
We will be having the Christmas Menu which is £15.95 and has plenty to choose from.
Although conversations will inevitably turn to coding, there won't be a post-it note in sight.
That's just how we Yule.
Hope to see you there!
Merry Xmas!

Tuesday, 10 November 2009

Brighton ALT.NET Beers – Notes from November meet-up

Once again, big thanks to all of those who turned up to the ALT.NET beers on a very cold November evening last Wednesday. As promised here are some brief show notes.

The topics discussed were:
  • Command-query separation (CQS)

  • Parallel programming

  • Object/Relational Mapping vs. Stored Procedures vs. Inline SQL

  • Windows Presentation Foundation (WPF) vs. WinForms

  • StackOverflow DevDays (London)

  • Multi-tenanted applications
I especially wanted to get the links published to CQS and Parallel Programming/Threading.

Command-query separation (CQS)

Totally new one on me. Scares me a bit as it sounds different to what I’m used to and I don’t fully understand it yet. If I was less enlightened and not an embracer of change, I might be sharpening my pitchfork and ringing round to gather a mob.
Thanks to Keith for the Greg Young link.

Parallel programming

AKA Threading. It’s going to become more and more of an issue with quad-core iphones merely a year or two away.

Thank to Bruce for DMing me these links:

And to HadleyHope for this one:

I also really like the series Jon Skeet produced:
December’s Brighton ALT.NET Beers will actually be ALT.NET Food. We will have dinner at a restaurant in the middle of town somewhere.

Hope to see you there!

Tuesday, 3 November 2009

Brighton ALT.NET Beers - Wed 4th Nov 7pm at The Lord Nelson

Tomorrow evening is Brighton ALT.NET Beers time again.

This is probably going to be the last ALT.NET beers this year with questions/discussion; the next one in Dec should probably just be about having a few beers, celebrating and reflecting on the year.

The new venue is The Lord Nelson pub which is a couple of doors down from the Albert.

Wednesday, 14 October 2009

Mrs Focker and internet damage

“The Net interprets censorship as damage and routes around it.” John Gilmore

It’s been a pretty intense week so far in what Newsnight calls “cyberspace”.

From BBC News:

When is a secret not a secret? When it's on Twitter.

An injunction served on the Guardian and at least one other national newspaper, was meant to stop the papers reporting that the MP Paul Farrelly, had tabled a Parliamentary question about the oil traders Trafigura and its solicitors Carter-Ruck. And it succeeded - up to a point.

The social networking site Twitter, was soon awash with posts deploring a threat to media freedom and the reporting of Parliament.

What Trafigura and Carter-Ruck have been a victim of this week, is the combined effect of the internet interpreting censorship as damage (and routing around it), with the Streisand effect

Barbara Streisand is one of those people who are *supermegafamous* and you know what for, but sometimes it’s hard to recall anything they’ve actually done.  Her IMDB list is impressive but I try and remember seeing her in something and I mainly 404.  I only really know her as Mrs Focker in ‘Meet the Fockers’.

250px-Barbrahouse1I digress. The Streisand effect is the act of trying to suppress information but instead generates a meme.  A giant, unstoppable, self perpetuating, amplifying wave of attention. Precisely because you tried to engineer the exact opposite.  Babs tried to stop a photograph of her house being part of a coastal erosion study and as a result, we all know her house looks almost exactly like the one in this picture on the right. [source:wikipedia].


There’s no doubting that it was Twitter and Wikileaks that facilitated this week’s events.

Some people say that Wikileaks could become as important a journalistic tool as the Freedom of Information Act.

I don’t doubt it for a moment.  I think the rules are changing.  I think they’re changing as significantly as they did when the web went mainstream in the late 90s.  I think some organisations are going to find out if sunshine is the best disinfectant.  I think it’s going to be interesting.

It’s also important to note that despite the media reporting this as a battle won, it isn’t over yet.

Monday, 5 October 2009

Brighton ALT.NET Beers - Tues 6th Oct 7pm at The Lord Nelson

Now the nights are drawing in, it's high time for another ALT.NET Beers. We're going to try another venue, because, as great as the Prince Albert has been, sometimes we clash with bands being on upstairs which can make it difficult to nerd out.

So the new venue is The Lord Nelson pub which is a couple of doors down from the Albert.

Hope to see you there!

Sunday, 26 July 2009

Simple URL Rewriting with ASP.NET and Managed Fusion UrlRewriter

You can download the example discussed in this post here.

Why rewrite?

The default URLs from ASP.NET Webforms (and possibly even MVC) are not fantastic for SEO (Search Engine Optimisation).

You know the sort:

Google doesn’t really like URLs like this. It doesn’t say much about the page it represents. It might have an idea that it’s something to do with question 345 but that could mean anything. The file extension (.aspx) doesn’t help either.

What Google likes to see, is something a bit more like this:

Well with Webforms you’re a little stuck, as the URL is dependent on the file structure of your solution and name of the files.

Unless.. perform some voodoo URL rewriting.

Example setup

We are going to map an incoming request to a URL like this..:

http://localhost:52468/questions/1337/how-do-i-do-something the default page URL like this:


To achieve this I’m going run through a very simple rewriting setup.

Nick has a more detailed example here and you should also check out Scott Guthrie’s post here. (N.B. My example is based on Nick’s)

First, create a standard web application:


Then download UrlRewriter from Managed Fusion. Unzip it, put the dll and pdb in a directory of your choosing and add a reference to the dll.


Next, create a new text file called ManagedFusion.Rewriter.txt and place the following in it:


In your Web.Config, add (or copy from the example) these following sections:

configuration -> configSections ->


configuration ->


configuration -> system.web -> httpModules ->


configuration -> system.webServer ->

On the opening modules tag, set runAllManagedModulesForAllRequests to true and add the RewriterModule so is becomes:


configuration -> system.webServer -> handlers ->


And that’s it!

Note that the application actually ignores the slugs at the end of the URL so your app can generate what it likes for them.

Also note that the rewrite rules can be far more complex than what is shown in the example. UrlRewriter’s rules are based on the Apache module, mod_rewrite.

Further reading: