Wednesday, 16 May 2007


"I never get lost in Melbourne", the nice lady at the Honda dealer told us. "I just  drive in Squircles".

"Squircles?" Terry and I asked.

"Yes - Greek circles", she replied.

"Greek circles?" Terry and I asked.

"Yes, you know, those square concentric circles that lead you to a centre" she replied.

Me, I couldn't think of a better word to describe them.

comments? []
8:55:37 PM    

  Wednesday, 18 April 2007

Re: Open Source To Microsoft's Rescue?

I read Joe Panettieri's musings on why Microsoft needs open source software with interest.

The line  "Microsoft's Windows empire was built upon third-party application support" made me view the article in a subtly different light. 

I think Joe is actually claiming that third party application support for Windows has withered. Perhaps because Microsoft has successfully out-competed most of their third-party vendors? 

Regardless, I just can't see Microsoft promoting OS independent open source applications. So is Joe simply adding fuel to the Microsoft is dead fire?

My take is that Microsoft is well and healthy, and will remain so as long as they can keep their revenue stream from OEM's flowing. The Internet allows us software developers to create third-party applications that are reachable and usable by anyone with a web browser. So in a way the missing third-party applications are actually there, just making a healthy Microsoft to be currently irrelevant.


comments? []
5:26:46 PM    

  Friday, 13 April 2007


Over two years ago the company I then worked for was taken over by FransiscoPartners, a venture capital firm. Suddenly, after years of lethargy, I started to run. With hindsight I guess that I was showing that I still was in control of my life, no matter what strange decision making the new managerial team might be doing. I still run to this day.

Or should I say 'plod'. I have never broken the 5 minutes a kilometre barrier, and still start to run out out of breath after the first few hundred meters. Despite this I find that I do overtake others when out on my training runs. A few days ago I was huffing and puffing down the main road, slowly gaining on several runners up ahead.

Without warning a far faster runner shot past me. A young woman. Very professionally dressed in skin tight sprayed on Lycra running apparel. She cast a sort of disdainful look over her shoulder she sped by, easily reeling in the next runner in the procession. From way back I noticed that as she went past him, he pulled in his chest, heightened up, and started to run faster. For a few meters he kept pace with her, and then he snapped, unable to keep up with her. I plodded on, and soon passed a very winded, almost broken man.

Up ahead of us all a father was running with his pre-teen son. I had easily been gaining on them. As the woman runner accelerated past them, the father also puffed in his chest, and started to run faster. Leaving his son behind, he fell into the wake of the woman runner. And he did not snap, rather matching her stride for stride. I watched with interest as the gap between the father and the son grew. It was clear that the Lycra had driven all thought of the son from the fathers head. I had to turn off, but as I did so I heard the desperate son, now close to me, shouting to his very distant farther "Dad, Dad, wait up, wait for me!"

A few days later I was out running again. In front of me the same father and son ran. As before, I gained on them, and soon easily passed them. I was very happy not to hear the plaintiff cry from behind of "Dad, Dad, wait up, wait for me!"

comments? []
5:26:04 PM    

  Wednesday, 11 April 2007

Alas, poor CLO!

On returning from a wonderful holiday in Melbourne I learnt that Aderant have finally admitted that they are terminating CLO, the product on which I used to work when in their employ.

Given that the entire development team responsible for creating CLO were retrenched in one fell swoop just on two years ago I have to wonder at their delay in making this announcement. I found no clue in the scripted Power-point that they put up on their web site ( ). Only more questionable statements that reminded me how happy I was to leave Aderant's employ. And how extremely happy I am that I am not a customer.

For the record, CLO was not some ancient technological relic. It was a legal practice management system with a component written in Java, and a component written in a 4GL.

The Java component was for front office work, and thus was a rich client application that used a network launching protocol that allowed users to start using it by simply selecting a link on a web page.

Underneath the rich facade the CLO Java client had been built as a strict implementation of the Model/View/Controller pattern. As such the business rules and database access were separated from the GUI by a mediation layer. This was deliberately done so as to enable one to easily replace the rich client GUI with an HTML one, thus allowing CLO the future option of running as a proper web application.

The use of Java meant that the front office component could run on more than just Windows: I personally saw it running on Linux, Solaris and Mac OSX. Sadly Aderant chose only to support it on Windows.

Not only did the front office component run on different operating systems: through the use of JDBC escape codes CLO ran against both Informix SE and MS SQL Server. For a while Oracle was also a supported database, but for various reasons it was decided not to continue with this option.

The final point to note about the Java client was that it had a very modular architecture. The intent was to develop a framework that supported screens that could be "plugged in". The Eclipse IDE shows the power of this approach. These screens could be simply assembled by generative techniques based on what we had learnt from using the 4GL.

The 4GL was one of the most productive environments I have ever seen. With a flick of a switch one's application could be transformed from a rich client to a web based one. Or one that ran in a terminal. The nearest thing to it that I have seen is the Rails framework that is now gathering rave reviews for it's productivity. We did have some issues with the 4GL, but these I will set aside for another discussion. 

All of the above was done by a team that at its largest had only 5 developers. The secret to our productivity was the heavy use of open source tools and libraries, and agile techniques.

We were financially and resourced starved by the company, and so to survive we were compelled to go down this path. This experience turned me into a true believer of small teams, open source, and agile development techniques.

Given this I consider CLO itself to have been a prime candidate for exposing as an open source product. Its end closes this opportunity.

Although I haven't worked on CLO for a number of years now I still felt saddened by the formal declaration of its end.

This then serves as my eulogy to an application that had so much to offer. An application that was terminated by people who's vision of the future of software is very different to that of those wonderful people who worked on CLO alongside me.

comments? []
1:37:02 PM    

  Monday, 15 January 2007

Microsoft! Plot! Lost!

I'm worried. When I read about Microsoft's big CES announcement, the Microsoft Windows Home Server, I realised that either Microsoft or I had totally lost the plot. In fact the plot is so far gone it is no longer in the same universe as I.

Sure, we have a lot of computers at home. But to tell the truth I wish that I could get rid of most of them. Unfortunately my Windows software doesn't work well with my Linux software. To say nothing of my daughters Windows 95 games that don't work on Windows XP. This, then, is my pain.

Incompatible applications, on incompatible platforms, often from the same company. An extra Windows only server is not going to heal it. If anything, it offers only to make the pain worse.

If Bill Gates had taken the podium and announced the functionality offered by the Windows Home Server as an on-line service, available to existing Windows users for a small fee, then Microsoft, the plot and I would all be in the same universe.

If Bill Gates had taken the podium and announced a special version of Windows for ISP's (Internet Service Providers) then the plot would have impressed me no end.

Imagine a version of Windows that:

  • Allowed the ISP's themselves to offer Windows Home Servers functionality to their Windows clients
  • Managed the ISP's clients usage and billed according to the ISP's policies
  • Allowed super easy connection of Windows machines to the Internet (Mac OSX and Linux not supported here)
  • Auto-updated, so that once installed the ISP's never had to worry about upgrading to the latest version.
  • Also auto-updated all the Windows clients to the latest version of Windows (for an extra monthly  fee)

Now imagine that the ISP's could use this version of Windows for a base charge of only $1 per customer per month. No upfront fee - just install and bill. The commoditisation of ISP's.

$1 per month from 90% of the people who connect to the Internet would put a smile on my face... It would certainly give Microsoft a revenue stream to match their OEM one...

Sadly, to me Windows Home Server offers a digital lifestyle of extra computers, extra cabling and more software headaches. Who really wants this?

Some of the brightest people I know work for Microsoft. This keynote announcement shows that we appear not to share a common vision of the future. Do you now understand my worry?

comments? []
11:04:36 AM    

  Sunday, 26 November 2006

Object Ownership

Way back when, back deep in the primordial mists of DOS, I used to code in C++. When using C++ I spent much time asking myself deep philosophical questions, such as "is the object I am about to try and make use of still there?" Through some very hard knocks I learnt and applied these rules:

  • Every object has only one owner.
  • This owner both creates and destroys any object it may own.
  • Ownership should not be transferred.
  • The owner forms part of an object's identity.

Java has no pointers*.

So a lot of the problems solved by tight control of ownership are no longer present. In my Java coding I do try to adhere to my old C++ rules, but I have noticed that other Java developers don't seem to grant them the importance that I do. Or even are aware of them...

So I really enjoyed Alex Potanin's presentation to the Wellington Java User Group. He shared both his ideas and a way to formally implement rules for object ownership in Java.

Given my past this is real syntactic sugar that I could live with. Sadly, in the post meeting wash-up I discovered that I was in a minority. A very small minority. Further proof, I guess, that Java has changed the programming paradigm...

*I do wish that the Java "null pointer exception" could be renamed. That one line is giving us a view straight through to the underlying implementation. Wouldn't something along the lines of "unassigned object reference" be better? Or even more honest: "Developer " + @author + " - stuffed up: there has been an attempt to use an unassigned object reference!".

comments? []
9:56:37 PM    

  Monday, 20 November 2006


I learnt that Borland has decided to retain control of their tools division, choosing to spin it off into a separate wholly owned (and controllable) subsidiary.

Larry O'Brien is wondering why there has been very little comment on this in the great blogosphere.

I left one answer (I really need to watch my 2's), and as part of that answer I said "Borland's management don't appear to have a clear answer to a basic question: how do you compete with Microsoft on one side, and free software on the other?" 

I gave Borland's management a solution to this minor problem years ago. On one of the Delphi mailing lists I suggested that they should lower the cost of entry to $0 by giving away their products for free.

The catch was that the free products should be pre-configured to work with a website owned and run by Borland. A web site that offered Source Forge style cross platform software development support. Yes, the whole ALM thing, as a service across the Internet.

My idea was that if you didn't want to pay for this, your project was automatically open source and free. If you did pay you could choose your level of ALM support. For the free service Borland could make up revenue by embedding adverts and other assorted offers, pretty much as SourceForge and Google have started to do in the years since my suggestion.

All these years on, and I still think that my idea is a good one!

comments? []
9:51:44 PM