Saturday, July 26, 2008

ASP.NET MVC - Branding?

I am not sure ASP.NET MVC is really the best name for the MVC architecture that the ASP.NET team is creating. Said name stresses the fact that it is still ASP.NET. Most people I know think of ASP.NET WebForms (and more specifically, postbacks and the event model) when they think of ASP.NET. Perhaps if they started a marketing campaign to rebrand:

Old NameNew Name
ASP.NET WebFormsWebForms
Web development in .NET overallASP.NET

This might be better as I think it would get rid of the misconception that ASP.NET means events and runat="server" all over the place. Books and such could brand themselves with "ASP.NET" and have sections split off for WebForms and WebViews (or they could brand with just WebForms or just WebViews and ASP.NET wouldn't be necessary in the title). Think: WebViews in C# 4, WebForms for WinForms developers in 2010 and ASP.NET 4.0 Bible vs. ASP.NET MVC 2.0, ASP.NET for WinForms developers in 2010 and ASP.NET 4.0 Bible. Which set makes it easier to understand what you are looking for while at Amazon?

Edit: if anyone at MS is reading this (or anyone writing a book with the titles mentioned), I claim no rights whatsoever to "WebViews" as a name or anything like that (other than to say that this post stays as pure speculation and I don't have to take it down for any reason). This was just an idea that popped into my head this morning.

Sunday, July 6, 2008

Bugzilla integration with Mercurial

We are using Mercurial at work. We are also using Bugzilla. Unfortunately we are not using Bugzilla 2.16 which is the version of Bugzilla that hg ships an integration hook with. So I modified the hook to work with the version of Bugzilla that we are using (3.1.4+ cvs trunk from someday in the past couple months). The script can now be found in my personal hg repo. It should work with any Bugzilla installation that comes with the script (since 3.0 maybe?).

Please do tell me what you think of it. It is the first Python script I've really done anything with (I'm more a Perl kind of guy). As always, feel free to do whatever you want with it (respecting the license of the original author of course). I'd love to see it get integrated back into Mercurial, but as I have made no real effort to test any of it (it works for me, but no promises and all that) I don't expect that any time soon. Perhaps someone at Mozilla would take the time to do that; this is probably useful for integrating mozilla-central with bmo.

Edit: link updated (should have pointed to tip in the first place). I've fixed both the syntax errors (a right parenthesis was in the wrong place, I must have copied it off the server incorrectly, because I swear I fixed the syntax errors that were there when it was on the server, but copying files out of nano over ajaxterm isn't exactly the easiest thing to do; while updating this, I realized that I could do a wget to get this file from my repo, so I can actually test the version at the above url. Rest assured it works this time). Thank you very much geraldfauvelle for noticing that it was broken.

Thursday, July 3, 2008

Reinventing the wheel

This started as something of a comment to a couple of blogs about MS not shipping any open source with their flagship products, but it started getting longer and I didn't want to post the same thing in two places.

I'd be willing to bet that both Charlie (NUnit lead) and Jeff (MbUnit lead) would be more than willing to take a sizeable "donation" (perhaps as little as 10% of what the MsTest devs got paid) to their projects in order to provide a stable source version for MS to review line by line, under whatever license they decided they wanted (as a fork of the projects) in order to include their projects with the release of visual studio. I'd even be certain that both projects would have jumped at a chance to have pre-alphas of visual studio to integrate with (for full compatibility when the first beta hit the market).

The only thing that is stopping this level of cooperation is lawyers inside Microsoft (and the occasional prick of a developer), and for that MS deserves our pity. I think the only thing that will get MS to open up is if they were to come under so much financial stress that they could no longer afford the lawyers (and only open source appears to have that much power).

Some time ago I had a discussion where a developer within Microsoft explained provided myself and the others in the discussion what he felt was MS's viewpoint:
"From the Legal Dept's perspective, it's not merely the license the code was released under, it's also the heritage of the code. If some evil coder had stolen code IP from a source base, added it to a project with an open source, copy-reuse-repackage freely license, and I used it, the original IP owner could still sue me to get me to desist using their IP. So, in the interest of protecting corporate code from this sort of legal attack, Legal usually has to perform some pretty thorough (and thus also expensive) investigation before letting anyone see open source code; you can imagine that there generally has to be a good business justification before that kind of thing happens."
I think that opinion is rather unintelligent, but then again I'm not a paranoid lawyer who thinks everyone is out to get me (certainly I'll concede that there are a few people out there who are).

As far as TFS goes, what little experience I have with it tells me that it is too complex, has too many moving parts (all the more places for bugs to find their way in) and is too constrictive on my working habits. I'll stick with Mercurial, thank you. And wherever that isn't available, Subversion will have to do. I like my environment to be compartmentalized. That is why I'd suggest to use Mercurial, Bugzilla and CruiseControl.NET (all of which integrate nicely with each other or are easy enough for me to write my own integration).