Dashboard > People > Owen Rogers > View Profile
Owen Rogers Log In | Sign Up   View a printable version of the current page.

User Name: orogers
Full Name: Owen Rogers

As I'm a bit of a .NET guy, I'm currently blogging at http://dotnetjunkies.com/WebLog/exortech/

Lost on the subcontinent
(Distributed Agile, .NET, ThoughtLife)
This blog has moved...

After several years of maintaining this rather neglected blog at dotnetjunkies.com, I've decided to try and inject some new life into by upgrading to WordPress and moving it onto my own site: http://exortech.com/blog.

Coming back here and making this post reminds me of how much I dislike CommunityServer (or at least the version that is running on this site). There's no support for FireFox in the HTML editor, the navigation system is unintuitive, and there's relatively little support for plugins, images and code snippets. Moving is the right thing to do...

Questionable design changes in System.Xml for .NET 2.0

We recently converted CCNet to .NET 2.0, and I've been changing the code to start to take advantage of some of the changes in the .NET 2.0 release. One area of the framework that seems to have undergone a bit of a facelift is System.Xml as is evident by the number of obsolete classes and methods. The biggest apparent change is the recommendation to instantiate all XmlReaders via a factory method. I certainly support the intention behind this as the plethora of different XmlReaders all optimized for different tasks is something that should be encapsulated. However, I think that it is a bit of a shame that they decided to implement this through a factory method on XmlReader rather than more cleanly via separate factory class.

The biggest problem that I've found with this change is that not all of the different reader configurations are specifiable via the XmlReaderSettings. For CCNet, we allow users to set up DTD entities within the CCNet configuration files in order to minimize duplication. Under .NET 2, to instruct a reader to expand these entities, you need to set the EntityHandling property to EntityHandling.ExpandEntities (this required some digging to figure out as it just happened automatically in .NET 1.x). Unfortunately, this property is only delcared on XmlTextReader and not on the XmlReader base class. This means that you need to downcast the XmlReader that you get from XmlReader.Create() in order to set this property explicitly, which defeats the purpose of encapsulating the type of the reader behind the factory method. It seems to me to be an oversight to have neglected to include this property on the XmlReaderSettings class.

Running a command prompt as the LocalSystem account

Often when working with Windows services, I've wanted to have the ability to log in as the LocalSystem user in order to try to diagnose problems.  For example, one recent problem that I was experiencing is on ccnetlive we run CruiseControl.NET as a Windows service under the LocalSystem account.  The problem was that when accessing a Subversion repository over SSL, you are required to accept the certificate from the remote host.  Accepting the certificate requires responding to a command-line prompt.  Once accepted, this certificate can then be cached permanently, so it is not necessary to re-accept the certificate -- at least until it expires.  Unfortunately, there is no way to log in directly as the LocalSystem user -- so the runas command will not work.  In trying to find a solution to this problem, I came across a very useful blog post that describes creating a Windows service that simply opens a new command shell.  As Windows services, by default, run under the LocalSystem account, this command shell window is open under the LocalSystem account.

Linefeed conversion
One of the less enjoyable things about Subversion is that it is quite picky about linefeed consistency in committed files.  Are you using CRLF or just LF?  Personally I don't really care as most editors can handle this. I'm sure that there is a perfectly good reason for Subversion's enforcing this, but it is a hassle when you have a bunch of modifications to process and the commit keeps failing part way through telling you that yet another file is inconsistent.  I came across a little free utility called ToFroWin CR/LF converter that has saved me hours of tedious effort to ensure that line feeds are set consistently for a set of files.  It plugs into Windows Explorer allowing you to easily convert selected files back and forth between different linefeed formats.
The $1.2 Million That I Didn't Make

CruiseControl.NET has been registered on OLOH, a repository of statistics and information on different popular open source projects.  If you are using CCNet and you feel so inclined,  please check out the site and give CCNet a review or a rating and stack it. 

According to the collected statistics, we've expended an estimated 22 person years on this project (based primarily on code changes), which at a (low) salary of $55000USD puts the cost of replacing the project at a cool $1.2M. *sigh*

Rona Ambrose, Environment Minister, RIP

Today, minority government leader Stephen Harper announced that he would be reshuffling his cabinet. One of the key ministers who will be moving is embattled Environment Minister Rona Ambrose. Stating that she found the environment ministry "too challenging", Ms. Ambrose will likely be moved off into another ministry such as Indian Affairs where she can spread her uninformed and narrow-minded views amongst Canada's aboriginal communities.

Despite her claims of finding the post to be too challenging, Ms. Ambrose has acheived a great deal during her tenure. For those unfamiliar with her accomplishments, think of Ambrose as Canada's equivalent to Christine Whitman, the neo-con appointee to head the EPA. Under her leadership Ambrose has skyrocketed the environment as the number one issue of concern to Canadians, ranking above even health care and Canada's ill-considered role in Afghanistan. Through her Clean Air Act, which attempted to befuddle the issues of global warming and air quality, to her displays of parochialism and aggression at the recent climate change meetings, Ambrose has done a tremendous amount to generate antipathy both at home and abroad. Through her actions, Ambrose has made a generous contribution to Stephane Dion's pro-environment Liberal leadership victory, paving the way for the Liberal party to return to government in the forthcoming election. In short, she has helped make the environment one of the galvanizing issues that could sink her government. Most environment ministers would consider these achievements to be a hallmark of success; though Ambrose seems too humble to stand up and accept the credit.

Not in recent memory has a politican done so much for raising public support for environmental issues, other than George W. Bush who, if not for the larger boondoogle in Iraq might have more of the American public paying attention to the environmental super-villains that they've become. Farewell Ms. Ambrose, we will miss you.

Hello Faro, Hello World
On Thursday November 9th at 8.30pm, my wife gave birth to our beautiful new daughter, Faro Desiree Rosalie. We have been home now from the hospital for a couple of weeks, and mother and daughter are both doing very well -- apart from a general lack of sleep. Faro is feeding well and gaining weight (about 60g per day) and growing quickly (she's already grown out of a couple of her outfits). Now we're just looking forward to the time when she can sleep through the night. I'm heading back to work today after a couple of weeks of parental leave; it has been fascinating to have the privilege of watching her grow and develop so quickly already.
Thousands of little changes - Article on Toyota Improvement Process

From Fast Company:

Media accounts often report that a typical Toyota assembly line in the United States makes thousands of operational changes in the course of a single year. That number is not just large, it's arresting, it's mind-boggling. How much have you changed your work routine in the past decade? Toyota's line employees change the way they work dozens of times a year.

Now that's something to aspire to within software teams.

Agile Vancouver Conference

On November 15th and 16th, Vancouver will be hosting its first conference on Agile Software Development.  The conference will be a great opportunity for local newbies and practitioners to meet up and learn from each other.  We have lined up a great array of local and imported speakers, including Linda Rising, Mary Poppendieck, Scott Ambler, and many others.  The conference will be held at the Plaza 500 (Cambie and 12th Ave), near Vancouver City Hall.  Visit the web site at www.AgileVancouver.ca for registration and further details.

TestDriven.NET now has integration with NCover
Jamie Cansdale's added support for executing unit tests via NCover in the latest builds on TestDriven.NET. Running the Test With ... Coverage context menu option pops up an NCoverExplorer window using colour coding to show which lines have been covered by your tests.
It's definitely a nice feature and it helps reduce the analysis tool feedback loop that I've blogged about previously. My only criticism is that the NCoverExplorer treeview doesn't open up to the class-under-test. Maybe this would be hard to divine.
I'm also pretty excited about the support that Jamie has added to add custom tools to the TestDriven.NET context menu to run against the assembly-under-test. I tried adding the necessary registry entries in order to get Simian to execute, but I didn't have much luck getting this entry to show up in the context menu. I think that this kind of integration has huge potential and hopefully TestDriven.NET will continue to build support for this.
Scott Hanselman on CruiseControl.NET
Scott Hanselman has put together a podcast on Continuous Integration and CruiseControl.NET. Check it out.
Ill-liberal bias in the american media
Reading the coverage of the Canadian election in the american media makes me sick.  The unabashed support for Harper would make you think that the Conservatives would be the obvious choice of any "thinking" Canadian. I especially like the frequent dismissal of the NDP as "left-wing" -- as if this appendage was sufficient to relegate Jack Layout to the outer reaches of the political spectrum with the commie-pinko terrorist party.  And I especially cringe when I read how Canadians apparently turned their backs on the Liberals because they wanted to select a leader who could "repair the relationship with the US".  Hello?  Canada-American relations didn't factor as an issue in the campaign -- other than that all leaders went to great lengths to distance themselves from it.  Even Stephen Harper wrote a pointed letter to a Boston paper that tried to paint him as GW's new best friend.  Somehow this belief that Harper was swept into an underwhelmingly tiny minority on a wave of pro-American sentiment has stuck.  I can't help but think that there's this pathetic little hope that "maybe the new guy will like us more now that the rest of the world has stopped coming over to play".  There's only one way to improve Canadian-American relations: regime change.
Alberta is the new Bloc
With a Conservative sweep across the prairies in last night's election, Alberta is starting to look like the new Bloc.  With this collective turn against the scandal-laden Liberals, one might think that Albertans believe that there's no corruption in the oil patch.
Speaking at Agile Vancouver
I'll speaking at the next Agile Vancouver meeting (Jan 30th) on agile estimation.
And the new Canadian Prime Minister is... George W. Bush
In the same way that the US swung to the right to express their disapproval of Bill Clinton's sexual indiscretions, Canada is poised to make the same mistake by rallying behind Steven Harper and the Conservatives as a punishment for the Liberal government's sponsorship scandals.  Like many Canadians, I'm left wondering at what cost. The scandal and subsequent inquiries have already come at considerable public expense -- to say nothing about the cost to national pride.  Corruption in politics is systemic, especially where separatist dealings are concerned, so evidence of it should come as little surprise.  I'm certainly suspicious of any party that tries to preach from moral high ground.  Witnessing the flagrant cronyism and backroom dealings in the current Republic administration hardly lends support to the belief that the right is immune from corruption.  More the opposite and to the extreme.  And in this quest for retributive voter justice, many Canadians seem to be prepared to compromise their values, our values, to get a crack at seeing Chretien on the stand by electing a leader who is anti-environment, anti-gay rights, anti-abortion and anti-social programs; a leader and a party who have built their platform on appealing to greed and spectacle.  Like many American friends who have spent time out of the US and seen how their country's image has been tarnished under the Bush regime, I'm fearful, for the first time, of becoming ashamed of my country.
Powered by a free Atlassian Confluence Open Source Project / Non-profit License granted to ThoughtWorks, Inc.. Evaluate Confluence today.
Powered by Atlassian Confluence 2.7.1, the Enterprise Wiki. Bug/feature request - Atlassian news - Contact administrators