20. February 2008 03:31
Thanks to everybody who attended Holger's and my session today at Microsoft Launch 2008 in Frankfurt and all the great feedback we've got.
I'll publish the slide deck on my blog tomorrow evening, since we're not sure about the official shipping vehicle, and for some of you time seems to be of the essence .
You can now download the slides in both PowerPoint 2007 and PowerPoint 2003/XP/2000 format. Please rename the PowerPoint 2007 file to "Launch.pptx".
I've moved the files to my SkyDrive.
10. August 2005 08:02
Since my current project requires a Subversion client on AIX 5.3, and there are no binary distributions available for this platform, I decided to give it a shot today. My expectations weren't exactly high… I had read through the Subversion users' mailing list archive, and it seemed as though AIX and Subversion were not really your RCS dream team. But low expectations can hardly be not met, so I grabbed the 1.2.1 tarball, unpacked it and typed the fateful word ./configure.
1st interlude: The good news is that the Subversion package is pretty much self-contained. You'll need an extra installation of Berkeley DB if you want to build a server with a BDB backend, but if you just need the client or if FSFS is your preferred backend (it's mine for sure), that single tarball is all you'll ever need.
2nd interlude: The bad news is that Subversion's configure checks, checks again and double checks your system for C compilers, FORTRAN compilers (excuse me ), BDB installations, and arcane UNIX tools that it takes ages to finish. I don't know how many CPUs I had available (probably just one due to micro-partitioning), but it took three and a half hours to spit out the Makefile. Yes, there are tons of switches you can pass to configure that will skip certain steps and thus speed up the process, but if you follow the INSTALL file's instructions in quick start mode, you're going to miss them…
The actual build then went pretty fast, I guess less than 30 minutes using IBM's AIX C compiler. And the build didn't fail! Lo and behold, svn even worked right away.
Morale of the story:
Binary distributions are for wimps.
Any build tool not called make is for wimps.
The euphoria doesn't wear off even hours later.
19. May 2005 09:33
It's been a while since I started porting my venerable learning project XmlView.NET (an XML viewer that includes XSD schema validation) to .NET 2.0 Beta 2. The original .NET 1.1 project uses NUnit to the test the application's core (or model, if you will), so I was anxious to see how VSST's unit testing facilities stack up against NUnit and VS .NET 2003:
First, it's very annoying that MS introduced a new API that does not follow the classic xUnit approach. Instead of TestFixture, we now have TestClass. Instead of SetUp and TearDown, we now have TestInitialize and TestCleanup. You can get around this by using alias directives, but this is just a kludge.
The current performance is rather poor. This is already one of the top bugs in the MSDN product feedback center.
If you've ever seen any xUnit test runner, you know what the green bar is. There's no green bar in VS 2005. It puts green checkmarks next to each test that has run successfully. I prefer having a green bar, as it is a much more obvious indicator than simple check marks.
Microsoft.VisualStudio.QualityTools.UnitTesting.Framework.Assert offers generics support, e.g. Assert.AreEqual<T>—neat.
The ClassInitialize (think TestFixtureSetUp), ClassCleanup (think TestFixtureTearDown), AssemblyInitialize (that's new), and AssemblyCleanup (new as well) attributes don't work as advertised and are not properly documented—typical beta woes.
6. March 2005 09:20
Every once in a while, colleagues and devs I meet ask me about my favorite books on various topics. One of these topics is software architecture. Good software architecture in turn is based on sound design principles. So here's a list of my favorite books that shed light on both of these topics.
Robert C. Martin: Agile Software Development
Have you ever heard of the Single-Responsibility Principle? Do you know the Open-Closed Principle? What about the Liskov Substitution Principle? No idea? Read this book. Not only does it explain all of these and a lot more, which I consider a must know for any serious software developer, this book will also introduce you to some sound agile practices without getting lost in XP religion.
Martin Fowler: Patterns of Enterprise Application Architecture
This book is probably going to be the seminal work on patterns for enterprise application architecture, pretty much in the same way the Gang of Four book became the be-all, end-all of books on basic software design patterns. It also includes code samples for both Java and C# (i.e. J2EE and .NET), which is still pretty unique as far as I can tell.
Steve McConnell: Code Complete 2nd Edition
This book covers a lot of ground. It's not only about design and architecture, but about the art of Software Construction in general. Even if you don't care about Steve's analysis of code layout, naming conventions and such, the introductory chapters on design and architecture are awesome.
Rod Johnson, Jürgen Höller: J2EE Development without EJB
This book complements Rod's earlier book J2EE Design and Development by explaining the fallacies of EJB and how the core principles of the Spring framework and other lightweight alternatives to EJB try to remedy them. It's not a Spring programming manual, but rather a compilation of post-EJB 2.1 techniques.
PS: The fact that these links go to Amazon doesn't mean I'm getting paid for it
1. February 2005 10:31
Really. If you think about, or worse practice, OO like poor Richard, just get outta here. I'm so shocked I can't even laugh. Heck, I'm not even inclined to blast this nonsense into oblivion…