BradA's API Design Hall Of Shame, M3rlin and Synchronicity

I spent the evening trying to get M3rlin (my “little code generator that could”) working under framework 2.0 for some kind folk who are using it. M3rlin hosts the ASP.NET “engine” by creating a seperate app domain and passing data to it in order to generate code. After a few fruitless hours I eventually looked for prior art in solving this problem (I know, I’m a slow learner) and googled up this gem from ASP.NET hosting demi-god Rick Strahl and decided to call it a night (seeing it looks like Rick has done all the heavy lifting for me). There was just enough time to catch up on a few weblog posts when I came across this posting from BradA on a fairly shameful part of the .NET framework API. This is the very same part of the framework I had been looking at for most of the night - trying to get m3rlin to work by specifying more properties for the appdomainsetup object that is passed to the app domain when it is created. Going back to my text editor I think my code comment captured my feelings when working with this API.

setup.ShadowCopyFiles = “true”; // dodgy…

I’ve just started the “Framework Design Guidelines” book co-authored by BradA, it looks like good stuff. One reviewer on the back claims that “not since ‘the mythical man-month’ has the major software maker of its time produced a book so full of relevant advice”. That’s a pretty big wrap.(mental note to self - if I ever write a book get that guy to provide a quote for the back cover)


Marcus Mac Innes
Yes I had a go at making the changes to the M3rlin source before I emailed you :)… It didn’t looked like it was going to be a 5 minute job. Have you released the new version yet?
28/11/2005 9:38:00 AM
Hi Marcus - no, but now that I have that excellent article from Rick Strahl (and assuming not much has changed between Beta2 and RTM) it should be pretty straightforward. I’ll email you as soon as its done.
28/11/2005 1:51:00 PM