While looking around for Java dependency tools I came across KirkK’s site, and his JarAnalyzer.  As usual, I wanted to know a little more about the person behind the software, so looked up his blog and found an article from 2007 there which really resonated with me: .Net : Software & Technology @kirkk.com

Kirk and I have travelled in opposite directions: he crossed the tracks to work on a .NET project, whilst I’ve recently shifted my attention almost completely from .NET and the Microsoft environment (where I have spent the last 10 or so years) to the world of Java.  What’s interesting is that he so quickly formed the same view of the Microsoft development that motivated my move to Java.

Microsoft’s greedy behaviour has done so much damage to its reputation and the level of goodwill amongst independent developers. Kirk cites the example of TestDriven.Net, but there are examples of other ‘alt.net’ type projects (NAnt and NDoc, for example) which Microsoft has effectively (though not directly) either killed or marginalised, not with licensing terms but by introducing proprietary (and arguably weaker) competing technologies.  I’m sure that part of the reason for that, with the N-prefixed projects at least, was that they couldn’t bear the prospect of absorbing something with what they would see as alien DNA into their product line.

This piece by Mike Hofer describes the NDoc demise and nicely summarises the twin underlying problems: the nature of the development community surrounding the Microsoft platform, and Microsoft’s inability (or unpreparedness) to work with it. Mike’s article, and the linked post by Charles Chen containing the email from NDoc’s founder, make for quite depressing reading. Perhaps the emergence of a mean-spirited, mean-minded community is to be expected, when the centre of its universe is an avaricious commercial juggernaut?

I feel these things especially keenly, now that I’m looking over the wall from the Java community side.  The contrast really couldn’t be more stark, more impressive and more compelling.  Even the large companies operating in this space, notably Sun Micrososystems, appear intelligent, enlightened and innovative; there’s a very healthy culture here. (A quick and revealing experiment: take Microsoft and Sun – now try to find the corresponding CEO’s blog. Top hit in Google for Steve Ballmer when I tried was a send-up site; top hit in Google for Jonathan Schwartz was Jonathan Schwartz’s blog. And it’s worth reading).

Coming back to the issue of building a healthy community around a technology, Sun’s Java is surely the shining example of how to embrace the great work done by independent developers and build on it, rather than trying to crush it. Just look at NetBeans: this is an enterprise-quality IDE, easily the equal of Visual Studio, but not only is it open-source (and free to download) it also employs established open-source tools instead of imposing inferior alternatives: For unit testing, JUnit is completely integrated; NetBeans uses Apache Ant as its underlying build-system; it can work seamlessly with Maven through the excellent plugin. And you choose the version-control system you prefer (e.g. Mercurial, Subversion) and NetBeans will allow you to make full use of it, right inside the IDE.

Lastly, you are free to extend NetBeans by writing whatever plugins (modules) you please, without running the risk of getting into litigious exchanges like the TestDriven.Net debacle described here, which seems to me to plumb the very depths of time-wasting pointlessness.

I never intended to write all that: it was originally just a reaction to a (rather old) blog entry. But as I revisited the world of the Microsoft monoculture through the tale of those N-projects, it just tumbled out.


This is interesting: Mozilla Labs » Blog Archive » Introducing Ubiquity

Watch the video demonstration.  What a great idea, and I’m impressed by how well this appears to work even at the prototype stage. I’m going to install and try it.

But even if it turns out not to be so great an experience for me (demos always work perfectly, don’t they?), that’s not the point: what matters is that some bright people are doing interesting and worthwhile things and freely sharing the outcome with us, while Microsoft apparently spends its time (and some of its money mountain) on stuff like this.

Links to these two articles were close to each other (can’t recall where) and I was so struck by the contrast and what it reveals of the cultural differences that I felt compelled to write this.


It’s great to see the Netbeans QA process working so well. I reported two issues recently, and both have been fixed. One was a Subversion related issue; within 24 hours I was contacted by the developer assigned to the issue, and offered a patched jar to try! It fixed the problem, and the patch will be rolled-up in v6.5. Impressive.

Netbeans is getting better, faster, than anything else out there, as far as I can see. There are some things I still don’t think are good enough yet (such as the UML support) and I wish the whole thing would start up much more quickly, but it’s important to recognize just how good this tool already is. And it’s a free, small download. The comparison with Visual Studio is almost irresistable; VS is a DVD’s worth of code, costs a fortune and offers a much less capable code editor, less refactoring support and doesn’t really support rich client development to the extent NB6 does.

Look the the Ruby support in NB6, too: although there is a lot of interesting work going on with dynamic languages at Microsoft, the impression you get is that these are somewhat ’second-class’ projects with no real presence in the main-line Visual Studio product plans. JRuby, on the other hand, is almost front-and-centre in the Netbeans world. The integration of languages via the JVM, and the development of integrated tooling in Netbeans makes it possible to do serious work with Java and Ruby, right now.

Another thing: Sun isn’t trying to shut-down or marginalise any of the community, open-source projects which populate the Java tools landscape. Instead, they’ve recognized and accepted the strongest members of the community and built tool support for them in Netbeans. Just take the most obvious examples: Ant, JUnit and Maven. Compare that with what Microsoft has done: ignored NDoc and produced Sandcastle, created MSBuild to replace NAnt, and they want you to use (therefore buy) their own version-control system rather than embrace Subversion or Mercurial. I’m sure Team System is probably fine, as long as you have deep pockets and you are prepared to submit totally to Microsoft’s prescription for your development team processes.

Came across this blog post, while following-up on a semantic-web related Google Code project:

Why I hate Windows Vista (and can’t wait to re-install XP) « The Wandering Glitch 2

I have often wondered: how can the company which brought us C#, the .NET Framework and the CLR possibly be the same company which excreted Vista?

The guy behind the above referenced post is clearly a fan of C# (as I am), but despises Vista (as I do, along with those who made all the colourful comments on his post). I have left Vista on my new laptop, but in a much reduced partition, and have given over the lion’s share of the drive to my copy of XP Professional, which I still think is pretty damn good.

What about the competition? On the desktop, there isn’t much that’s credible. (I’m not considering MacOS because to get that you have to buy the hardware). So I spent (or should that read wasted?) a few hours with some of the latest crop of Linux distros last weekend: Fedora 8, openSUSE 10.3, the latest Mandriva, PCLinuxOS 2007 and probably another one but I can’t be bothered to recall which. None of them impressed me in the least. Only ONE of them (PCLinuxOS) correctly detected all of the important devices on this laptop, including the wireless chipset. Plus they all looked terrible when compared to Windows XP, especially in terms of font rendering, so they couldn’t even seduce me with glamorous graphics.

What really drives me mad is that none of these distros really stands out: they all look virtually the same (Gnome or KDE, plus or minus a colour-scheme and some desktop wallpaper), they all contain more or less the same rag-tag collection of packages, but (and here’s the kicker) they’re all different in irritatingly detailed respects, some of which are downright inconvenient such as package management or filesystem layout! Every year is heralded as ‘the year of Linux on the desktop’, and every year I dutifully have another look, then gratefully boot back into Windows XP and get on with business.

I wonder what’s next for Windows? With Microsoft so chock full of truly bright and talented folk, I’m really hoping that we can look forward to the Windows that Vista should have been. And when they do finally release that, why not give away XP? Or, to avoid the inevitable complaints about anti-competitive pricing, make it 50 bucks? Then nobody except the bigots or fundamentalists will need to waste time with Linux. Go on Microsoft, do us all a favour.