Malawi here I come...

Submitted by Robert MacLean on Tue, 11/13/2007 - 15:19

 Update (14 November 2007): Dates confirmed! I should be landing last afternoon on the 25th and flying out late afternoon on the 28th. Thats three nights there!

Sometime this month it looks like I will be in Malawi for work for a few days. This means I should have a little free time there (particular evenings), so if you are in Malawi and are looking for someone to do training, speaking or advising on a few hours basis on any topic I am involved in (MSCRM, CCF, I also have a great TFS evangalism slide deck, general dev...) please drop me an email or comment on this post and let me know.

SSIS and SRS Undo

Submitted by Robert MacLean on Mon, 11/12/2007 - 09:43
SSIS and Reporting Services are the two features of SQL that I use more than anything. I absolutely love what SSIS provides to the world (Baby BizTalk for Everyone!). However I often need to undo, in particular with SRS (mostly due to the bastardised VB style language in it, and that I work mainly in C# which makes it horribly difficult), and with both applications the undo is terrible. Definately something that needs to be fixed in SP 1 in SQL 2008! If you have used these just think about how much money/time/effort/head-smashing-into-desk could have been saved by decent undo.

Simon has some connect items now up to vote on these. Please vote on these so we can all spend less on Panado next year :) For details on that see Simon's post

ReportViewer Control: System.InvalidOperationException: Failed to map the path '/'.

Submitted by Robert MacLean on Fri, 11/02/2007 - 11:39

I had an odd issue with trying to get the reportviewer control to work on some ASP.NET pages. I was using VS 2008 beta (but it was a 3.0 project so it should be the same as what you get in VS 2005), and running the solution through the VS web server. When going to the pages (which used local reports) I got the error:

Server Error in '/ATL' Application.

Failed to map the path '/'.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.InvalidOperationException: Failed to map the path '/'.

No idea what caused it but the moment I changed to run it on IIS it stopped. I did get an error on IIS about reporting services not being able to access the web.config file which was fixed by giving Network Service access to it, that didn't do any difference with VS 2008 web server but it did mean the reports worked. I suspect that it has to do with the way that reporting services locates the web.config file as VS 2008 server runs it as http://localhost:<random port>/<project name>/ where IIS runs it as http://localhost:<random port>.

SQL Server Express with Advanced Services

Submitted by Robert MacLean on Fri, 11/02/2007 - 09:45
This really is the worlds most needed, most hidden and most marketing bs item ever. For those who don't know SQL Server Express is the light version of SQL Server, basically runs a database server but nothing else, not even a management tool. However it is free to redist with apps and it ships with Visual Studio etc... so it's out there a lot.
But you can just feel there are things needed to get it from almost useless to void filling tool (management tools being number 1). Anyway someone at MS realized this at some point in the last year and decided to bring out the Advanced Services edition (how is that for marketing spin, it should be the complete edition but no we need it to be advance, even though it install stripped down features of everything still).
Anyway above the standard express you get:
  1. Stripped down management tool
  2. Reporting services server (the /ReportServer, you don't get /Reports)
  3. and full text search.
These features are so advanced it's insane, oh wait they are all in the standard SQL server from day one.
Anyway if you need this you can get the 250 odd MB download, which you can just run on your vanilla SQL express to upgrade it, from
More details on this is available at

It isn't everyday that one buys a new car

Submitted by Robert MacLean on Mon, 10/29/2007 - 14:11
From a conversation between myself and Pierre:  ...afterall it isn't everyday that one buys a new car
true.that new car smell, the first time you shit yourself cause you see a taxi in the rear view mirror, the first time you put petrol in it and wonder why it costs the same as the car, the first time you take it in to get those little issues fixed and get it back with the radio tuned to kaya fm, and a scratch on the side, fact for first 6 months you are crazy healthy, from walking from the far side of car parks where you parked away from anyone in case they hurt the car and the first time it rains and you go fuck it, and park next to someone.
Enjoy the new car, Pierre!

Microsoft Wines

Submitted by Robert MacLean on Fri, 10/26/2007 - 13:18
This is very cool, a special bottle of Stormhoek branded for Microsoft. I wonder if Microsoft South Africa will get any of these? Read more on Steve Clayton's blog or on the Stormhoek site

I'll anyway try find the Stormhoek sauvignon blanc this weekend at Macro to give it a try.

My wandering thoughts

Submitted by Robert MacLean on Mon, 10/22/2007 - 19:14

So after travelling so much last week (around 3000km, but not all at once) I finally enjoyed around 12 hours of sleep after the Bokke win against the English on Saturday. However during travelling I had some interesting thoughts I wanted to share:

  • Why can you gargle in private without messing, but not in public?
  • Why do I always get a seat on an airline with something wrong with it, forcing me to talk to airhostesses?
  • Men serving drinks on a plane are airhostesses.
  • I love how, when someone from a competitor company joins, there is almost a want to tie him to a chair in a dark room with a bright light until he tells all his secrets.
  • Why does the rain ALWAYS follow me to the coast?
  • Real developers get together after 7pm.
  • The state of confusion with woman is not a constant for men, it increases exponentially with each interaction.
  • Never trust a project manager.
  • When someone is truly grateful for my help, I feel bad about charging them.
  • I'm glad project managers charge for my time and not me.
  • Ever notice how people driving slower than you are idiots while people driving faster are reckless? Love how I am always perfect ;)
  • I am glad I am not English (as in the country, not language)
  • I wish the national pride that swells from 80 minutes of rugby could last 80 years.

Best marketing system ever

Submitted by Robert MacLean on Mon, 10/15/2007 - 12:03

A while ago I posted about sources of icons I use (see here) and one of them was, who frankly must have an amazing marketing person. If you read that article you will see I spoke about the fact each month you get a point to spend on "purchasing" a free set from them. When I wrote that I never realized how brilliant it was.

See by the time next month comes around I have forgotten about them, then I get an email about the free point, which makes me directly click the link and sign in on their homepage. Straight away this company has me on their homepage, interested in their products, seeing their marketing etc... every month, and I am happy to do it. Hell I even recommend other people do it too. But since I only get one point each month, it's not enough to get all their free stuff (and new stuff appears each month too) so I am always forced back.

Why does this work, well people like getting free stuff, people like spending cash and even more so when there is no penalty on that spend (ala Points) and people forget quickly. So you take all of those and give them a points system to get free things and remind them each month by giving them another point, and boom! you have a marketing gorilla.

Anyway this month I think I will get the Aerozone Folder Kit Laughing

BizTalk as a collection of tools OUTSIDE of integration

Submitted by Robert MacLean on Tue, 10/02/2007 - 11:47

BizTalk Server 2006 R2 has a set of features which work great doing what BizTalk is normally used for, integration. But these features are so powerful by themselves in a non-integration environment that I can see customers buying BizTalk and never using it, just some of the features. The first I want to look at is a feature call BAM, Business Activity Monitoring. This feature initially allowed you to see inside a running BizTalk orchestration. This is helpful in so many many ways. But the real power is starting to come through in R2 as it now allows you to see in side Workflow Foundation (WF) processes, since R2 supports those.

But most of the time IT thinks BizTalk = Integration. But really with BAM it is almost an infrastructure tool as well, especially if you think the following products all have WF as a core system:

  • Microsoft CRM 4.0 (was Titan)
  • Microsoft Office SharePoint Server 2007
  • Speech Server 2008
  • Customer Care Framework 2008

Now how do you see whats going on inside all of these without your own tools or Visual Studio? BAM it! Also just think of developing a custom WF solution, now you can no spend time on a WF monitor rather just use BAM for that.

The next feature is the rules engine. The rules engine takes data from a BizTalk mapping, .NET component (so basically anything) or a database and runs it through a set of rules. The rules are versioned and items on one set of rules remain on those until they end of life. Now just thinking about how many applications I have written which have a very tightly built rules engine (i.e. business rules) which you can only really change the parameters, to extend that to add/remove rules etc... would be great. The rule designer also is in readable English, rather than C# or some weird language. This is great since it means that a business analyst or customer can manage it, not a developer. Why this is great is that you can integrate this engine into .NET in 5 lines of code or less! Image just plugging in a full rules engine in 5 min and then moving onto something else (in reality maybe not that easy but still easier than building your own).

The last feature is Enterprise Single Sign On (ESSO), where it was originally developed to store credential mappings. i.e. You are MYDOMAIN\USER1 in AD and in Siebel you are ROBMAC01 and your password is XYZ. BizTalk could then use ESSO to authenticate you into these other systems because it knows your user name/password etc.... and it's authenticated you against AD. It's also secure since your credentials are encrypted by your AD account, meaning no one can see other peoples details and there is even a nice client tool which users can use to manage password changes. This is great and maybe useful in your next application, but BizTalk internally and many other people don't use it for this. They use it for configuration setting storage per user. Since the credentials could be anything, including simple name/value pairs, instead of storing credentials you store values. Now instantly you have a accessible and secure config system with a client management tool and a great admin interface which is also scriptible. Once again all for very little development.

Update 16 October 2007: Thanks to Ryan for pointing out BAM is Business Activity Monitoring not Business Automation Monitoring.