Why US-Only?

I was catching up on my gadget news today on Engadget and thought I’d checkout the new Amazon video service. As I expected, this is a US-only service:

usonly.png

Maybe there is a good reason of which I am unaware. I’m too cynical to think of one. You’d hope our Free Trade Agreement with the US would actually give us some benefits and not just additional restrictions.

Drought Breaker

Large parts of Australia have been gripped by a drought on and off for quite a while now. In Sydney we have water usage restrictions and for a while there, we were getting regular reports on the dam levels.

Anyway, it turns out that I have been able to bring at least a temporary respite to this drought. All I had to do was plan a short camping trip many months ago. As the day arrived, we’ve been enjoying regular long rain periods and a return to cold weather. So, drought broken and camping postponed – oh well !

This post also serves to break my blogging drought.

Subversion Property Naming

As part of developing Subversion support for FishEye, we were concerned about the ability of just anybody to hook up a FishEye instance to a public Subversion repository. If enough people attached FishEyes to a repository it might have an impact on the server load. In contrast to FishEye for CVS, FishEye for Subversion uses the standardSubversion supported network protocols to access the server. This means that a public Subversion server is available to anybody wanting to run FishEye against that server.

To give repository owners some control over this access, we added a check in FishEye for an access control property. In the upcoming beta, this will be a fairly simple check to see if FishEye is granted access or not. In the future it will probably be a little more sophisticated.

Our initial implementation was to call this property fisheye:access. It seems natural to choose a scheme which is similar to the scheme used by Subversion itself, with such properties as svn:mime-type and svn:author, etc. When you do use that scheme, however, and your repository is accessed over http, the resulting XML documents used by DAV are not well formed. In particular, you may end up with something like this:

<C:blah:test>test2</C:blah:test>
<C:blah_test>test</C:blah_test>

The first label is not well formed XML in a namespace aware XML document. This errata for XML names clarifies as follows:

” It follows that in a namespace-well-formed document … All element types and attribute names contain either zero or one colon; ”

We’ve found that when Xerces encounters these names, it maps the colon to an underscore. The above two properties, blah:test and blah_test, coalesce into a single property value blah_test.

We have now decided to change to fisheye.access to ensure we don’t run into problems for people with strict XML parsers. The native XML libraries usd by Subversion seem to handle this problem without concern. They are probably a little bit loose in their XML handling. It’s debateable whether such looseness is a good thing or not.

Pair On Baby

I remember reading Kent Beck’s first book on extreme programming. I kept thinking that it expressed the essence of how code was actually developed even when developers were following a heavyweight process. I kept experiencing those “yeah” moments where everything Kent had to say just made sense.

Today’s new product releases from our company, Cenqua, give me that same feeling. The pairon just makes sense. If the idea of pair programming has been holding you back from embracing change, then these babies are just the ticket. I’m sure they even have uses beyond pair programming …

If you can’t pair program, for whatever reason, then the commentator is the next best thing. If you want to have that feeling of an experienced partner looking over your shoulder, just knowing what your trying to express, well you couldn’t ask for more.

We’re very happy with these new products. It’s a bit of a new direction for us but we’re really happy to hit our target release dates. That’s very important to understanding these products.