When Software Attacks!

Useful .Net Search and Replace tool

I need to update something like 300 web.config files today, with the same change in each. I turned to my old friend Google for his recommendations and up popped a magnificent free tool from Nodesoft.

Why magnificent? It’s advanced mode allows you to specify start and end tags and update everything in between. That’s fantastic for dealing with big chunks of web.config files! Better yet, give it a file mask and a path and it will run through the entire folder tree if you like. Update whole servers in seconds.


Congratulations Richard!

Well done Richard, who has been given the accolade of Microsoft Most Valuable Professional for Visual Studio Team System.


Workflow History and SQL Error

When trying to view an item in a list which has workflows run against it, you get an error:

Some part of your SQL statement is nested too deeply. Rewrite the query or break it up into smaller queries

Problem Background

Trying to explain the exact nature of our configuration in this case would break many people’s heads. This, therefore, is a bit of a simplification.

We have a custom webpart which allows users to log an enquiry. We create an item in a list with the enquiry details, and send an email to the account responsible for dealing with those enquiries. A copy of the list item is created in another list (we’ll leave out the why and wherefore of that for now). The two copies must be kept in sync. More details on that later.


Catching Up

I’ve been far too busy lately and whilst there have been lots of things I wanted to post about, time has not been on my side. Before I start to forget some of the points I thought a quick post was in order.

  • @media 2008 was great. Slides and audio are just filtering onto the blog now. A highlight for me was Indi Young’s talk on Mental Models. I now have her book on my desk (waiting for having the time to read it) and I’m excited about how the technique might interface nicely with the User Stories we use for feeding requirements into our Scrum development process.
  • Also at @media, I managed to catch up with Nick, who was as insightful as ever. He’s on the lookout for a Cold Fusion developer, if anyone is interested.
  • On the food front, if you’re down on the South Bank try Giraffe. Also not bad was the food at Auberge, not far from the IMAX.
  • One interesting point is that there was a lot of talk about ‘agile methods’ from the presenters, but I wasn’t getting the impression that there was actually a great deal of understanding as to what they really entail. We use Scrum at Black Marble, albeit with some pragmatism as there are some things you just can’t do when you’re not working on time and materials. I find that the increased level of dialogue between team members that Scrum gives improves the execution of the project no end. If you want to know more about Scrum, Ken Schwaber’s books are a good, quick read.
  • On the smartphone front, the iPhone 3G looks nice, but given my company infrastructure, the Touch Diamond looks more so. Also, the Diamond is nice and small which is something I’ve been searching for in a smartphone for a while. Big nod of respect to Opera - I have a beta of 9.5 on my TYTN right now and it’s a very nice mobile browser. I’m looking forward to seeing what the polished product is like on the Diamond.
  • I have yet to get chance to install it, but the beta Power Pack for Windows Home Server is available which addresses the data corruption bug. I have a single disk in mine right now and to be honest it’s not doing much other than backups, but I’d recommend one just for that - simple and straightforward image-based backups of all the PCs in the house. Great!

Blogging On The Move

We try to dogfood here at Black Marble so I’m writing this on my HTC TYTN. How? With Richard’s new app