Thursday, August 30, 2007

>>flush vs. >>commit

I just learned that, in VisualWorks Smalltalk at least, if you send the message flush to an external stream (file, socket etc) this does not in fact flush unwritten content to the disk/socket. Rather it flushes unwritten content from the image down into the Smalltalk virtual machine.

If you really want to flush unwritten content, use commit instead.


Tuesday, August 28, 2007

Yet more MOOXML madness

Slashdot | Microsoft Bought Sweden's ISO Vote on OOXML?

I think the level 5 comments to this Slashdot article hit on all the key points is this sorry saga.

Sunday, August 26, 2007

MOO XML: Even MS don't implement it

The MOO-XML* (Microsoft Open Office XML) definition is not followed even by Microsoft applications:

OOXML is defective by design

One point from the article: Excel crashes when opening well-formed and valid spreadsheet document files. There are many other problems also clearly explained in the article.

If ECMA fast track this half-baked format of Microsoft's after so many serious problems in it have been pointed out, it will seriously damage the reputation of the ECMA standards process. That would be another victory for Microsoft.

* I picked up "MOO-XML" from a post in Slashdot. It is a much better label for the Microsoft document format as it reduces name confusion with the vastly superior Open Document Format (ODF). Also, IMO, the Microsoft document does have a bovine side to it, and the name MOO-XML brings that out too.

Saturday, August 25, 2007


It seems that whenever there is a discussion about using Object databases the debate veers towards whether to use an OODB *or* an RDB.

There are often many factors affecting DBMS choice in specific situations but most OO applications require persistence to disk and good query performance. OODBs minimise the pain of persisting an object model. RDBs tend to be much better at arbitrary querying.

I now tend to suggest the use of both and OODB and an RDB. Object persistence all happens to the OODB and the OODB is the operational repository for the system. The RDB is used to hold a flattened summary of the data in the operational repository. The problem of writing a summary to an RDB is much simpler than the problem of persisting objects with the former being much more like writing a report or producing a web page than saving a complex object structure in a way that can re retrieved and reanimated. The schema of the OODB is simply the object model of the application. The schema of the RDB would include the things that need to be searched upon and no more.

This OODB *and* RDB approach is an idealised model that may not work out in all cases, but I think it could well be a practical solution in many cases.

Thursday, August 23, 2007

Slaps at ESUG

I will be attending ESUG next week and giving a talk on Slaps, the Smalltalk LDAP server. The talk will be on Friday 31st Just before lunch.

Slaps is not just an interface to an external LDAP server (such as OpenLDAP), it is a stand alone LDAP server in it's own right completely written in Smalltalk. Slaps might be described as an "Application LDAP server" because it lets an application provide access to it's object model directly through the LDAP protocol, which is quite nifty for all kinds of reasons. Come to the talk to find out why.

See you at ESUG.

BTW, I'll be at the Hotel Zurigo from Friday (24th Aug) evening. If you fancy a beer, let me know :-)

Sunday, August 19, 2007

Hull Trains

My parents live in Hull so I visit the city quite often. Of late I have been taking the train, traveling with Hull Trains.

Hull Trains offer fast comfortable trains, reserved seats with mains power right at the seat and very efficient staff on the phone to take your booking. Great price too if you book a few days in advance.

In my experience so far; brilliant. The best train service I have used in the UK.

Microsoft rejects SVG (and more)

The following paper is another analysis of the Microsoft OOXML format and it asks a valid question:

Microsoft and Open Standards: Can Other Vendors Implement Microsoft's Office Open XML?

I doubt you will be too surprised to hear that the answer is: at best, not without risk.

In this paper I read that OOXML is not only attacking ODF, it is also attacking the SVG (Scalable Vector Graphics) standard. I am sure that the standards committee responsible for SVG would welcome the input of Microsoft, if they have anything constructive to say. The same for the ODF committee. As has been reported many times by others, there is no record of any suggestions by Microsoft being rejected by the original Oasis committee (the one that created ODF) while Microsoft were part of that committee (and I rather suspect that Microsoft were only on that committee in the first place to slow it down).

Nobody is saying that ODF is perfect. For example, you can read here that the way that SVG gets used in ODF is not perfect. But at least the ODF people are *trying* to use existing open standards rather than continually inventing new formats. One of the reasons ODF is "only" 760 pages long is that it makes reference to many external standards such as SVG. The Microsoft format is 6000+ pages long because it re-invents so many wheels and because it includes many quirks which accommodate the foibles of legacy Microsoft software (e.g. "lineWrapLikeWord6"). How in any sane world can things like "lineWrapLikeWord6" form part of an open standard?

SVG is not standing alone in the cross-hairs of OOXML. Another example is the ISO 8601 standard for dates, which Microsoft actually used for a while (Office 2000) and then moved away from (to enhance interoperability perhaps?). The Microsoft OOXML format looks like an attempt to smother lots of open standards in one go. If the Microsoft format is fast tracked, so are the Microsoft devised component formats.

If only Microsoft put this much energy into writing good standards-compliant software.

Friday, August 17, 2007

Microsoft: our way or no way

More stories are coming out about the heavy handed tactics being used by Microsoft to ram their document file format through the ISO fast track process to adoption as a standard.

You can feel the frustration from this member of the Netherlands committee: regrets absence of Netherlands decision on OOXML

The whole committee agreed on a position which Microsoft effectively vetoed. This is quite disgusting behavior, especially when Microsoft claim to be a champion of interoperability.

And have a look at what is happening on the Swiss committee. The complaint from FSFE spells out the issues very clearly:

FSFE, SIUG File Official Objections to Switzerland's Vote on MS-OOXML

In short, Microsoft got control of the chair of the meeting and shut down all argument against their format being fast tracked.

The idea that standards committees work to establish a common position based upon multiple viewpoints is being brushed aside. If Microsoft don't get their way, they break the system.

The gall of Microsoft in this matter is just breathtaking.

Thursday, August 16, 2007

SkillsBase: going places

With it's latest version, the OpenSkills SkillsBase has a location tree. The new location tree is a folksonomy like the existing skills tree, so OpenSkills members can add skills and now locations as they need them.

People with resumes in the SkillsBase can indicate where they have worked, where they are working now, where they may work (visas etc.) and where they would like to work.

Searching the SkillsBase is still free, and searchers can now narrow a search by location. Searches can be narrowed even further by requesting only resumes for people who may work in the specified location. For example, one could search for people who are willing to work in the City of London.

Not many people have updated their resumes with location information yet, so narrowing by location at the moment many not yield any resumes, but this is changing even as I type.

The new schema allows for more than we have made available through the UI today. One feature that will be released soon will be a link to either a map (e.g. Google Maps) or the Wikipedia page for the location. I'm thinking that a Wikipedia link would be more useful.

Monday, August 13, 2007

SCO Squirms

SCO have issued a press release in response to the collapse of their legal position, as reported by Groklaw:

Groklaw - SCO speaks

In it they say:
...the court clearly determined that SCO owns the copyrights to the technology developed or derived by SCO after Novell transferred the assets to SCO ...
One of the aguments SCO has used in it's various cases is that the owner of an original work also owns the derivations. We saw this in particular in the SCO case against IBM where SCO claimed to own software IBM had written because it was derived from original Unix works.

This was great while the myth that SCO owned the original Unix works held up. Now that the bubble has burst we see SCO very happy with a position pointing in the opposite direction: derivative works are *not* owned by the owner of the original work - and the gauling thing is they make it sound like this is what the intended all along.

A 180 degree squirm.

Sunday, August 12, 2007

Rolling FUD

SCO no longer presents a copyright threat to the Linux kernel. Phew!

But it took over 3 years to go from the vague unspecified threats put about by SCO to getting everything cleared up. The effect of this drawn out process was to place a significant drag on the adoption of FOSS in general. Classic (and very successful in this case) FUD.

We still can't breath easily it seems:

24/7 Wall St.: The Future Of Linux Still Dark (NOVL)(IBM))(MSFT)(RHT)

Notice the negative FUDish tone. The key bit is here:
In May of this year, Microsoft said that Linux violated 235 Microsoft patents. Redmond has not done anything about those alleged infringements, but, it may have hoped that the SCO/IBM litigation would take care of some of that.
So even with SCO behind us it seems that we must still worry about vague unspecified threats, this time direct from Microsoft. More FUD and the same formula as SCO, except we get software idea patents instead of copyrights.

The actions of SCO were so blatant that I feel a thorough investigation is called for. Many people have suggested that Microsoft were behind the actions taken by SCO, and given the huge benefits to Microsoft plus their historical willingness to break the law, this does not seem to be too much of a stretch, especially now that they have picked up and are now running with the SCO flame.

Copyrights and patents were never supposed to be about uncertainty, much less doubt and fear. In Microsoft's hands they seem to be about all three.

Wednesday, August 08, 2007

Vendor-Led "Standards"?

I find myself agreeing that the pragmatic development of specifications where no standards exist is a good thing:

Microsoft defends vendor standards lead | The Register

But undermining existing standards is certainly not a good thing, and Microsoft does rather more of the embrace, extend, extinguish than it does of the producing genuinely creative solutions to previously unsolved problems.

Also, the word "standard" is misleading when used for specifications which are not in fact standards. And while I'm at it, I think "vendor-led" is not a useful term in this context either. Just because you flog something does not qualify you to produce specifications.

Microsoft pretty consistently adopts one of two strategies when it comes to standards: Reluctantly adopt them where the market makes a stand (e.g. IP vs. NetBouy) or undermine them by any means possible where the market does not have a clear and firm view (e.g. ODF vs the Microsoft office format or Kerberos etc.).

Sunday, August 05, 2007

Polluter Pays * -1

I am a pretty big fan of the principle that the polluter pays. In the US it seems that an inverse principle is currently in action as the wealthy, and dirty, oil industry is subsidised the the tune of $16bn USD per year:

BBC NEWS | World | Americas | US House passes clean energy bill

Is this kind of subsidy limited to the US? I hope so. I also hope that US legislators do indeed end this madness.

Thursday, August 02, 2007

Wow - it worked

I shouldn't be surprised, but I am. In a nice way.

Having done all the heavy development work (coding, refactoring, unit testing etc.) for the new SkillsBase version in the superb VisualWorks Smalltalk environment, I reached the point today where I needed to move the code over to the runtime environment which is GemStone.

I have a small set of tools to help me, the main one being the Sport portability library. Lesser tools include utilities for compiling all the code from VisualWorks into GemStone. So, with one button press all the code flies into GemStone. Then comes the testing.

This is the surprising bit. It all worked right away :-) I know this is how things ought to be in theory, but it's nice to work with tools that mean that that this can happen in practice.

Time for a beer .

If you build it ...

When I previously worked in London, about 15 years ago now, I once hopped onto the train back to Reading only to find a brochure on my seat that appeared to be advertising an express train route that would go from Reading, under London and direct to the City. I was so happy! ... until I realised that this was a cruel tease. The line did not exist. The brochure was a marketing survey. The rats.

15 years later and "Cross Rail" as it was called then, and is still called today (even the logo is the same), is no further forward:

BBC NEWS | Business | Mind the Crossrail funding gap

This would be a hugely popular route. The people who currently travel from the west of London (e.g. Reading and Heathrow) to the City pay a hefty fee for the privilege so there would be lots of custom for a Cross Rail service. And yet the government are fretting over the funding of construction.

Yes, this Cross Rail will be expensive to build, but it would be a significant boon to the City of London and thus to the country as a whole. So just build the darned thing out of public funds and then get the money back over the following decades through licensing and taxes etc.

If only construction had started 15 years ago ....