September 2004 Entries
CruiseControl.NET, PVCS and UNC Paths
I've been trying to get CruiseControl.NET to work with PVCS and finally found the source of my headaches. If you are not familiar with CruiseControl.NET, it is a continous integration tool from ThoughtWorks. It monitors your source code control database or file-based repository for changes and launches your build process whenever changes are detected. Its great for projects with many developers that are creating code that needs to frequently be fit together and tested.
Open Source Tools for .NET Developers

Ben Carey and I will be speaking at the .NET Developers Group in Central Ohio this Thursday (9/23) on Open Source Tools for .NET Developers.

In the discussion, we'll go over several of the popular tools that assist in the development process:

  • Nant - the infamous build tool.
  • Nunit - test first, dawg.
  • CruiseControl.NET - makes all the other tools smile.
  • Nmock - because unit testing your web service is your job, not mine.
  • Ndoc - comparing JavaDoc and MSDN output should tell you something.

Ben's really good with a lot of these tools. He's got a lot of background in XP and TDD. I've been digging into Nant for the past couple months on my current project. I've learned a ton from Ben in just discussing some of the high-level concepts preparing for this presentation. Good stuff.

What Skills Indicate Future Value?

This post by Joe Kraus is a great read. I came across it via David Hornik (VentureBlog).

Kraus discusses this book called MoneyBall that gives an inside look at how Oakland A's recruit talent to win against teams with more money. I like how Joe brings the analogy back to making good engineering hires:

"In Moneyball, Lewis describes the search for the statistics that matter - those that are highly correlated with scoring runs and thus winning games. And, it turns out that there are two in baseball -- slugging percentage and on-base percentage. Find these characteristics and you've got a strong likelihood that the player will contribute positively to the team.

And later on in the post...

I've been wondering if there are such engineering "stats" that are likely indicators of significant future contribution to a startup. Anyone out there got any ideas? For example, does being a commiter to a large open source project have a strong correlation with likely success inside a company?...What about coding for fun?"

Two Authorization Manager Store Hints

Authorization Manager provides a set of APIs included with Windows 2003 (available as an add-on to Windows 2000) that provide application developers a way to build Role-Based Access Control into applications. When setting up Authorization Manager (AzMan), you can choose to locate your AzMan rules store in an XML file or in Active Directory. Often, you'll use one store (XML) for development move to a more scalable and flexible store (Active Directory) for production. I ran into two gotcha's that may help you when planning you're AzMan implementation:

  1. If you choose to locate your AzMan rules store in Active Directory (the better choice for production), your Active Directory domain must be in Windows 2003 Functional Mode. There's a good chance that your IT department has not yet finished the upgrade to Windows 2003 or has simply not set the domain in this mode (even if all domain controllers are Windows 2003). Of course, if you were developing all along with the XML store, you may not discover that until late in the project. Now you know.
  2. When you are using ADAM to store your AzMan rules, you cannot use Domain Local security groups from AD as membership groups for your Roles. You are limited to Domain Global groups. This is an issue if you are dealing with multiple domain forests and need to add users to the security group from other domains (Which you can only do with Domain Local groups).

If you've run into either of these issues and know work-arounds, I'd love to hear them. The first one is documented "feature", but I haven't found documentation on the second.

In the meantime, here's a third hint: If you are developing on Windows XP, you may be dissapointed that AzMan is not supported by this platform. However, there is a way! Install the Windows 2003 Administration Tools (from the Windows 2003 CD) on your machine, and you can use AzMan for development on XP.