Featured Post


 These days, I mostly post my tech musings on Linkedin.  https://www.linkedin.com/in/seanmcgrath/

Tuesday, December 31, 2002

3 + 3 = 6 but 4+4 = 9

A piece I wrote about Recombinant Growth has appeared in the ITWorld archives.

Like it or not application integration is still in N squared mode. What I mean is that the sad lack of anything approaching a workable concept of "component" has resulted in a huge amount of coding effort to bolt things together. The more things you need to bolt together, the more point-to-point integration glue you need (even if you have a middleware layer precisely to obviate it). The trouble with this (apart from the obvious ones of time and money) is that the relationship is not linear. The amount of glue you need grows as the square of the "components" being glued. The formula is n*(n-1)/2 interconnections, hence the funny title to this post. This equation is such that it only bites once you get past three components. Point to point component integrations seem to make sense for two components, then three...but as you add more the bottomless pit of integration goo opens up before you...

In order to get what Hal Varian calls Recombinant Growth, we need to make the integration model O(n) rather than O(square(n)). To do that, we need a workable definition of a component - otherwise Web Services will amount to one big damp squib. Unfortunately, concensus on what it is to be a component in software engineering seems as far away as ever.

Monday, December 30, 2002

Manufactured serendipity

The Gods of Serendipity did not shine on me two weeks ago when I wrote an article entitled Close encounters of the electronic kind for ITWorld. I wish I had stumbled accross this first.

Saturday, December 28, 2002

Wittgenstein - the Irish connection

I've been reading some Wittgenstein over the Christmas. I never knew that Wittgenstein wrote some of the Philosophical Investigations in a wee cottage just south of here in County Galway. I must find out exactly where and visit....

Some more info from http://www.users.qwest.net/~filmtank/filmtank.htm

"For the winter of 1948 he settled on a farm in the Irish countryside.
After that he lived quite by himself in a hut beside the ocean, in Galway
on the west coast of Ireland. His neighbours were primitive fishermen. It
is said that Wittgenstein became a legend among his neighbours because he
had tamed so many birds

December 1947 - March 1948
Kilpatrick House, Red Cross, Wicklow

28 April, 1948 - August 1948
Rosro Cottage, Renvyle P.O., Co. Galway

October 1948 - June 1949
Ross' Hotel, Parkgate Street, Dublin



Friday, December 27, 2002

Google considered bad?

I love dictionaries and encyclopaedias - on paper. I never, ever suceed in looking something up without seeing something else interesting out of the "corner of my eye". On the face of it, hypertext and search engines like Google make it easier to find stuff "by chance" but I wonder... Chance encounters of the electronic kind better or worse than paper??

Monday, December 23, 2002

Lord of the Rings - a challenge is set

Last year I took a shot at a little Tolkeinesque parody of the XML wards called Lord of the Schemas. Now that the Two Towers is playing at a cinema near you, do you care to write the next installment? Does not have to be XML related - just geeky. Go on!

Do we need a way of representing anti-links?

Just thinking out loud here. Lets say you find something good on the Web. You link to it. Increasing amounts of clever software harvest the link information to bubble frequently linked material to the top of the rankings (Google being the classic example.).

Lets say you find something bad. What can you do? You can ignore it - not link to it. If you link to it for example saying "This is dreadful and I totally disagree with it." the negative connotation of the link is lost by the link processors. It is taken as a positive link.

Maybe we need a mechanism for marking up anti-links?

Usability - an anti-pattern

Not very usable. http://www.usabilitynet.org/

Microsoft, Innovation, and Linux

Microsoft, Innovation, and Linux by John Dvorak. An interesting read. Linux on the desktop has to somehow both (a) be sufficiently similar to Windows - at first blush - to make people feel confortable with it and (b) provide more functionality than the Windows offering to cause people to shift platform with the pain that that always involves. Not an easy combination. Obviously price is a "killer application" in Linux. If it looses that, I'd be worried. You cannot beat Microsoft at the features game. You need to identify that that is where the goalposts are an then move them. Somehow :-)

Friday, December 20, 2002

The eight fallacies of distributed computing

Read this four times a day before meals. It is good for your soul. Especially recommended for those who think using SOAP or XML-RPC to make function calls accross a network is a viable distributed computing architecture for enterprise applications:-)

Wednesday, December 18, 2002

Desktop Unix has reached the tipping point?

On ITWorld : Desktop Unix reaching a tipping point?.

JPublish looks very interesting

I've just come across JPublish. Velocity + Jython for actions via the BSF on a servlet engine.
I rolled something like this myself ages ago with straight Tomcat Servlets but now I can piggy-back on a setup that includes a templating engine.

Tuesday, December 17, 2002


I don't often agree with Don Box but three cheers for this:

"If we just make Web services look like CORBA, we will be missing a big opportunity"

He goes on to say that development of a "data oriented language" will be one of the most interesting areas
for innovation in the next five years.
He's absolutely right. The Java/J2EE camp needs to get off its "all you need is the Java programming language" deathmarch
soon. Heck, just endorsing a beautiful, high level scripting languages with strong support for XML would work wonders
for J2EE's power as an (data oriented) XML processing environment.
Jython anyone?

Monday, December 16, 2002

XML in Office? So what?

How open is the new Office?. "XML" and "Proprietary" are completely compatible words you know. XML is a syntax and a spirit but only the syntax is mandatory.

I want to believe, I really do but I'm not falling for the "It's in XML so its completely open ya know" mullarky and neither should you. Office is as open as my ability to round-trip office XML through my own XML systems losslessly having modified them in some way. To do that I need full disclosore of the semantics of the markup. I get that from a combination of machine readable schemata and narrative text. A bag'o'tags don't mean diddly squat on their own,

Saturday, December 14, 2002

Recombinant growth

Recombinant growth, an excellent, um, fiscally aligned, term for what us geeks would call network effects.

Thursday, December 12, 2002

Simplicity again

Clyde Hatter's piece entitled 'what is simple' is interesting. It resonates with my own hard won conclusion that API's can be both powerful and highly destructive (see APIs considered harmfull.

I've come to believe that APIs are at their best encapsulating purely algorithmic behaviour - libraries of maths functions being a classic example. When they are used to encapsulate access to what are basically documents flying around the place (The web!) they fall down and create more problems than they solve. None of the big vendors will sign up to that view because APIs also create huge potential for lock-in and huge potential for tools so simplify the APIs.

The scandalous secret of a lof of Web Service "APIs" is that they hide complexity of mans own making. Complexity that is not in the problem being solved ab initio. Web services risk extending a solution to micro-complexity management (OO and APIs) into the macro-complexity area where such approachs are known not to work (otherwise known as EAI).

Tuesday, December 10, 2002

Temporal decoupling

Temporal decoupling is a great two word description of a loose coupling design pattern that I have often advocated, but never in two words:-)

Push is dead, long live push

The fall, re-branding and subsequent rise of push publishing (now known as Weblogs/RSS).

Sunday, December 08, 2002

The power of screenshots

Yup. I fell for it. I visited http://www.boa.org/, saw the link for the screenshot and clicked it. Very funny.

Friday, December 06, 2002

Wednesday, December 04, 2002

Me Too. Sign me up!

Excellent piece by Uche which cuts to the essence of what is wrong with the strong typing, everything is an object, all you need is RPC -view of XML (in my opinion:-)
XML class warfare.

Tuesday, December 03, 2002

Making the impossible very difficult

Making the impossible very difficult is the best mission statement I've every heard.

Why does scalability turn your app into a furball?

Why does bility hurt so much?. When I look at J2EE or .NET or any other "framework" I cannot help feeling that all the "for performance" considerations have been allowed to dominate the design patterns. Problems are not modelled for solution in these frameworks in a way that suites the problem - they are modelled in a way that suits the framework. I have a deeply held intuition about system design that this is plain wrong.

Make it work in the most natural problem-space-attuned framework you can. Then and only then, worry about scalability. My experience over and over again is that if you concentrate on simple, clean abstractions in your design, scalability will sort itself out with a little intelligent analysis and tweaking. Critically, it has been my experience that you can get the performance your need without bending your design completely out of shape this way.

Sunday, December 01, 2002

A slow week in blogland

A real HTTP 304 all this week. Prepare for the storm next week - on all fronts.

Best geek blog subtitle I've ever seen

tail -f /dev/mind >blog


Friday, November 29, 2002


I look forward to the day when this query produces so many hits that Google has to chop the results into pages. A phenomenon that I propose to call "googlechopping". How long before the query googlechopped is itself googlechopped?

Thursday, November 28, 2002

Python Power: Growing Respect for an Open Source Integration Tool

"[...]For all these benefits, there is one other benefit from Python -- compared with many other Open Source technologies -- that stands apart for Finch and other execs. Python is up to the rigors of mission-critical operation.". Nice article on OpenEnterpriseTrends.com.

Spolsky's law of leaky abstractions

Abstractions fail. Sometimes a little, sometimes a lot. TCP is reliable - except when it isn't. RPC is reliable except when it isn't. Developers building web service apps using the RPC paradigm cannot ignore the fact that the reliability of the network cannot be taken for granted. You cannot "design away" the network, you need to embrace it. Think MOM, thing "reliable messaging" - a significantly less leaky abstraction!

Wednesday, November 27, 2002

This is the start of something new

An alternative face on Amazon enabled by its web service interfaces. Now this really is separation of presentation from content :-)

The SOAP joke is no longer funny

Finally some reality appearing on the horizon of web services. The premature adoration of the gang of three (SOAP+WSDL+UDDI) I wrote about here is petering out and the RESTian principles I wrote about here are gathering pace. Read my lips, RPC is not loosely coupled.

OpenFlow - open source meets workflow

Openflow has really come on since I last looked at it. My mind is conjuring up pictures of how something like this would play within a weblogging environment integrated around XML-RPC. Its all clouds in my mind at the moment - more when raindrops start to form...

Tuesday, November 26, 2002

Come back state machines, all is forgiven

An article I wrote about the wireless web has appeared in the ITWorld archives. I make the point that an application that interacts with a user is more than content + presentation. There is a third, vital, dimension dialog. In the carrier grade Pervasive Portal Server I architected (and deployed recently in O2 Ireland) known as Mission Control, dialog is separated from content and presentation.

It won't come as any surprise that the mechanism for doing so is XML based. It is in essence, an XML representation of a state machine and it handles the problem of tuning application dialog to device very cleanly.

This abstraction is so useful that there really should be a standard XML notation for it. Some day perhaps.

Monday, November 25, 2002

Guestmap added

I've added a guestmap to my blog. Very cool. Innovation continues apace in blogspace.

Sunday, November 24, 2002

At times like this, I wish I lived in Japan

A Linux based appliance for the home that records TV onto a harddisk for subsequent replay. Controllable remotely from an i-Mode mobile handset. Only available in Japan :-(

Friday, November 22, 2002

Spam, Spam, Spam

The mathematics of n-way whitelisting mean that point to point whitelisting won't scale. Indeed. I'm amazed the number of times come accross n-way "solutions" out there - especially in system integration.The trouble is that the problem creeps up on you. You connect A to B - no problem - A to C and B to C, still no problem, but the time you get to Z the interconnect costs dwarf the value proposition of the interconnected space. Nature figured this out a long time ago. Thats why so many biological systems are based on messaging through hubs. You big toe does not have a point to point connection to your liver but that does not mean they cannot communicate..

Thursday, November 21, 2002

RSS by stealth

This is clever. I have a few uses in mind for this.

Wednesday, November 20, 2002

Blogroll added

I fnally got around to adding a blogroll. I should have done it ages ago...

Tuesday, November 19, 2002

Objects have failed. Yup.

Objects Have Failed by Richard P. Gabriel. Part 7 of the argument says

"Objects require programming by creating communicating entities, which means that programming is accomplished by building structures rather than by linguistic expression ..."

Amen. Put in simple terms the poverty of the OO approach for me is that we all think it is about getting things to "talk" to each other but there is no sign whatsoever of a linguistic structure to OO theory. We know a lot about "talking" from our own human experience, from linguistics and other walks of life. Nowhere, outside of software engineering do we conceptualise "talking" as sending method invocations between "objects".

Its high time we modelled software conversations as conversations dammit. Roll on the doc/literal style of Web Services and the emergence (finally) of a conversation as the key modelling paradigm..
Hubs happen. Deal with it.

Monday, November 18, 2002

Great analogy for open source - and a problem

Would you buy a car with the hood welded shut?. Trouble is, increasingly under the hood is a solid block of metal with a Centronics port. Without the telemetry kit the garage have, you haven't a clue whats going on. You can play under the hood but only with specialist and costly tools. Non open source code is often similar. The hood is not spot welded down but only a limited set of tools are availalble, only certain access is allowed and you can take it or leave it.

Thursday, November 14, 2002

The Conspiracy Theory of Software Complexity

Some (perhaps a lot) of software complexity is man made. Sad but true.

McGrath's Conspiracy Theory of Software Complexity.

Tuesday, November 12, 2002

The end of the browser years?

I think so. More accurately, I suspect we are about to re-define what "on the web" means and "browsing" will be but one tiny, commoditized part of it. See my article on ITWorld.

Monday, November 11, 2002

Open Office XML File Format

Open Office is an excellent office suite that uses XML (zipped) as its native file format. Its really, really, really useful to be able to access the XML underlying a word processor, a spreadsheet and a presentation package.

A Technical Committee has recently been formed on Oasis to look after the care and feeding of an XML based file file format suitable for office applications..

I've signed up to help. Why don't you?

Saturday, November 09, 2002

Karel the Robot meets Python the snake

PyKarel is an interesting educational tool for programming.

Friday, November 08, 2002

Copy protection on CDs - worthless

From New Scientist.. Add a software upgrade to your hardware and voila!

Thursday, November 07, 2002

The Power of RESTian web services

Take a note of the time. Then click THIS. Let me know how many seconds elapse before you figure out what is going on :-)

Drowning in information

You know the feeling don't you? "Inexorably, information drowns in its own mass." is one of a number of memorable quotes from the 25 theses of information archicture from the Asilomar Institute for Information Architecture .

Tuesday, November 05, 2002

The awsome power (for good and bad) of Instant Messaging BOTS

I wrote an IM BOT in 20 lines of Python a few weeks back. It was scary and exhilirating at the same time here is the reason why.

The awsome power (for good and bad) of Instant Messaging BOTS

I wrote an IM BOT in 20 lines of Python a few weeks back. It was scary and exhilerating at the same time.

Monday, November 04, 2002

Interesting XML standards guidelines from US DOJ

I disagree with a bunch of these but need to find time to write down why - comprehensively.

Saturday, November 02, 2002

The XML Data Model debate - what a doosie!

I cannot think of any other subject where such smart people can end up on opposite sites of an argument as the never-ending debate about a data model for XML. Mike Champion's post is a good starting point for those with a fresh cup of coffee.

Friday, November 01, 2002

What a pity diachronic sounds so bad.

The word diachronic is perfect for a use I have in mind to do with describing how schemata evolve over time. It is related to a hobby horse of mind to do with the entropy of schemata and the phenomenon whereby schemata become less and less potent over time thanks to modifications.

What a pity diachronic sounds so, well, chronic!

Wednesday, October 30, 2002

Tuesday, October 29, 2002

Yes, I am a UDDI heretic

I'm not a believer in UDDI. If you are interested in why - see What business are you in? on ITworld.

Monday, October 28, 2002

The blogging twilight zone

Weirdness in blogger.com combined with weirdness in some apps I'm using producing funny (as in "odd") posts. Do not adjust your sets.

Sunday, October 27, 2002

The Zen of REST dawning

The Zen of REST. Next up? Rename the blog from stronglytyped to weaklytyped :-)

The Zen of REST dawning

The Zen of REST dawning over on

Saturday, October 26, 2002

Come back Michael Jackson. All is forgiven

What goes around, comes around. Uche's article nicely explains the power of generators as a paradigm for XML processing. I remember many, many years ago working with JSP/JSD (Jackson Structured Programming) and Jackson System Design - both of them created by the Computer Scientist Michael Jackson. Both methods feature a paradigm known as "inversion" which essentially allowed you to add coroutines and generators to languages that didn't have them - to great effect. We used it (under the tutelage of Dave Croydon at Fiamass) very sucessfully from 8086 assembly language!

Ah, the years, the years,
Down the bitrotten silicon
the raindrops, plough.

Wednesday, October 23, 2002

Unicode will eat your brain

Its complicated. Perhaps even really complicated when you take all versions of Unicode, versions of virtual machines, string libraries, xml nuances etc. into account. But at least this much seems pretty clear: use UTF-8 for transfer and UCS-2 internally for most work.

Tuesday, October 22, 2002

The Identity Management problem will kill eCommerce unless it is sorted.

The Identity Management problem will kill eCommerce unless it is sorted. This ITWorld article ponders the problem from an e-Services perspective.

Monday, October 21, 2002

Mitch Kapor and Andy Hertzfeld - familiar names. An open source PIM project is born. Looks very interesting. Uses Python (specifically wxpython) too.

Digital Identity in the real world

Digital Identity in the real world. Authorisation codes sent to mobile phones to authorise individual secure transactions? Sounds like the credit card authorization code model. Sounds like good ole one time pads as used in the second world war. Sometimes the best solutions are the oldest:-)

Saturday, October 19, 2002

John Cowan is up to something interesting...

John Cowan is up to something interesting to do with XML schema languages. I wonder...

Friday, October 18, 2002


WSIL: if(when?) the centralised/RPC-centric model underlying UDDI collapses under its own weight, WSIL may pick up the pieces.

Killer application for SOAP

e-Suds is a killer application for SOAP if ever I saw one! That statement can work on at least two levels:-)

Thursday, October 17, 2002

I hate namespaces

I hate namespaces. Me too. Rarely has such bad idea, been expressed in such a small spec. and implemented by such a wide range of people to the total detriment of the simplicity that is (was) XML!.

Tuesday, October 15, 2002

Python 2.2.2 Released

Python 2.2.2 released. Essentially a bug fix release but with an enhanced e-mail library.

E-business in the Enterprise newsletter: Talking the talk of e-Business

My first article for the E-business in the Enterprise Newsletter of ITWorld has appeared in the archives.

Talking the talk of E-business - a look at a linguistic model of e-Business conversations
known as the ASC Refererence Model. An interesting approach to flexible XML modelling, that is growing in popularity.

Monday, October 14, 2002

More on XDocs

More on XDocs on Robin Cover's site.
Setting up RSS. Feed will be available here.
A new role for PKI?. Issues certs to companies but get companies to vouch for their employees via for example SAML assertions. Interesting.

Saturday, October 12, 2002

Its hard to believe I wrote this over a year ago now.

Friday, October 11, 2002

Thursday, October 10, 2002

XDocs anyone? Is this different from the XML enabled Word we have heard about? Looks like its is something else but I'm not sure.

Wednesday, October 09, 2002

The next big thing on the Web? Easy, e-Service URLs become entry points to reliable, once and only once delivery of messages or
asynchronous business processs. Good article by Jon Udell on Infoworld about this.

Tuesday, October 08, 2002

A poetry challenge.. Create a diamante poem for an
upcoming book authored by Mike Champion, Lauren Wood, Ann Navarro and I.
"You don't do good software design by committee. You do it best by having a dictator. " So says, Design guru Donald Norman.

Monday, October 07, 2002

Even if there was not an opportunity to play golf, I would still be tempted to attend Digital ID World. Identity issues pop up everywhere these days and Web Services create a whole other set of identity issues that are only now coming into focus.

Friday, October 04, 2002

The Zen of document style, pipeline based integration. Second last paragraph of Uche's piece evokes violent agreement from me:

"An alternative is pipelines of data, where a document starts out in one form and ends up in one suited for a different environment. This varies from the common approach to XML interchange where data conversion is a hefty process that binds one node to another, causing an increase in the needed machinery as the nodes increase. Processing pipelines minimize network complexities and maximize the usefulness of intermediate data forms. "

Amen to that.

Tuesday, October 01, 2002

Call for papers for WWW2003 is out. Of particular interest to us is the Developers Day Track an XML Pipeline Processing.

Monday, September 30, 2002

Satellite map of Dublin's 80211 wireless networks.
Accela Communications is the new name for the entity that publishes ITWorld.
The XML in practice newsletter has come to an end and I will, from now on, be writing articles for the E-business in the Enterprise newsletter.

Sunday, September 22, 2002

I'm taking a week's holidays. There comes a point where my list of "must read" books gets more than 2 feet high. It happens about twice a year. Its just happenned. I'm away, reading, fishing, playing golf and cooking Thai. Back next week.

Friday, September 20, 2002

Wednesday, September 18, 2002

Tuesday, September 17, 2002

Opinion-free schemas? A pipe dream. Thats partly why I'm into pipeline processing:-)
My sole un-elidable notable modification to the Web is to ensure that the word cholarchy generates more than 1 google hit.

Monday, September 16, 2002

Sensible stuff on looselycoupled.com about the state of play/challenges ahead for web services orchestration. We ain't done with the plumbing by a long way and (whisper) applications will not magically be able to take advantage of the new model. Splitting an app into its component services and exposing the individual services is much easier said than done. Sprinkling angle brackets (XML) around won't make the componentization magically happen.
XML Ireland mailing list has moved to avoid a growing spam problem on the previous host. New location is http://listserv.heanet.ie/xmlireland.html. Thanks to Peter Flynn for setting this up.
An interesting portal-ish site for academic-ish stuff on electronic publishing : http://aims.ecs.soton.ac.uk/pep.nsf

Now is the time to start thinking about visiting beautiful Budapest for WWW2003

Friday, September 13, 2002

More to read - another orchestration, orchestrating, orchestrator meta-architecture thingy!. They are coming thick and fast at the moment.
More fuel to the process choeorgraphy fire. WFMC and BMPI get together. This and BPEL4WS (sic?) seem to be forming
the binary star system we will be gazing at for a while.

Thursday, September 12, 2002

I've always liked Adobe Framemaker but only the most enhusiastic are going to brave a 313.5 mb download to try it out. Surely some mistake?
Getting this blog going with blogger.com has proven to be quite straightforward. I'm impressed!