Featured Post


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

Friday, December 23, 2005

Pulling XMas Greetings

I just had an odd thought. By writing "Happy XMas" here I am partly "sending/pushing" XMas greetings but also relying on readers who use RSS to "receive/pull" their own XMas greeting.
Sender -> intermediation -> receiver. Point-to-point meets publish/subscribe. The words "send" and "receive" blurr into theory-only black and white absolutes, hidden behind a thickening fog of shades of grey.


Anyway, Happy XMas.

Thursday, December 22, 2005

Lets all change our names to be 1024 digit numbers

If that proves to be impractical, lets make it easier to find people as opposed to things on the Web.

Monday, December 19, 2005

Abstract thought for the day

    Any sufficiently abstract art form is indistinguisable from rubbish.

Plone in NZ Government

Article on the use of Plone by New Zealand government agencies makes interesting reading for Plone fans. As an out-of-th-box bag'o'tricks for creating CMS/website solutions - on Windows or on Linux - Plone is tough to beat.

UDDI heretics

UDDI registry shutdown. This XMas could be remembered as the time when various WS-you-must-be-joking turkeys finally got stuffed. The UDDI heretic in me applauds this trend.
Steve has a nice phrase for it.

Doctype - blech

Tim Bray writes about zapping Doctype. Amen to that. Here is a posting from 2001 where I outlined my reasoning for not using it. For a while I remember signing myself as Sean "deprecate doctype" McGrath on xml-dev:-)

Oh, and here is a spec for an XML 1.0 profile that works around the interop and processing issues created by doctype. It has changed somewhat since I was involved but the core concepts remain the same.

Tuesday, December 13, 2005

A four movement symphony pattern

Portal yields bots yields Web Service API yields File System Abstraction.

Listen up all ye persistence-capable web apps:
Resistance is futile. You will become a file server.

Monday, December 12, 2005

Web CRUD marches on

I have previously opined the fact that it remains easier to fire up Access, Lotus Notes etc. to create an application with Create, Read/Report, Update, Delete (CRUD) operations on relational databases, than to try to do the same as a web app. This is one area where "the simple things should be simple" has not proven true to date.

Anything that involves cutting HTML templates, coding servlets etc. is just too low level for a whole class of "power user" database-oriented applications.

The whole two-way web thing which, for some reason, has caught fire with AJAX and co. appears to be changing that slowly but surely.

This Turbogears example is the sign of things to come. Design, deploy, manage and interact with a fully fledged web-hosted database application using nothing but coffee, a web cafe and some free time between flight connections? It is becoming increasingly possible.

Wednesday, December 07, 2005

Irish Government Budget 2006 - ODF Format + RSS Feed

The Budget for 2006 published by the Irish Government`s Department of Finance. ODF downloads available. RSS feed available.

An incapacitation of options

An incapacitation of options is a terrible thing.

Jython, Frank Wierzbicki

Frank Wierzbicki, who has taken over as prime Jython mover from Brian Zimmers has started a blog. Subscribed.

Monday, December 05, 2005

Onelook, wildcards and reverse lookup

My favourite dictionary and yranoitcid onelook is back and can do more useful stuff than I rememberit doing before such as wildcarding. Recommended.

Tuesday, November 29, 2005

Open XML formats for Word Processor Documents and Literate Programming

ODF - the future of literate programming?.

I think the possibilities here are very interesting. By and large, we write programs in text editors. That immediately creates problems in creating good documentation. Not easy to throw in the odd diagram. Not easy to segment the contents hierarchically and stick a TOC at the top. Not easy to footnote the code. Not easy to cross-ref one part of the code to another. Not easy to include the spreadsheet that holds the master decision tree etc. etc. etc.

So why not knock out your code in say, OpenOffice, use paragraph styles to indicate what parts of the text are really code. Then feed just the code bits through to your compiler or interpreter?

Why stop there? Why not make import statements in programming languages smart enough to recognise zipped XML Office notations when they see them?

Just a thought.

Wednesday, November 23, 2005

IronPython cometh

Jim Hugunin, the daddy of both IronPython (Python for the .NET CLR) and Jython (Python for the Java JVM) demos IronPython.

You need a dynamic programming language. You work in both .NET and JVM environments. You want to learn one bag of tricks and use it in both. BUT you want to know that you can step out of the box and access the .NET environment in its entirity (GUIs, .NET libs etc) and the Java environment (Swing, Beans and what not) in their entirity when you need to.

One word: Python.

Randomness is just an illusion created by a point of view...

and its antipode: 'order is just an illusion created by a point of view', both spring to mind looking at this number spiral of the prime numbers. [Via Information Aesthetics].

Math isn't really my bag but I dig patterns. Figure 5 is spooky. Many many moons ago I was in Chicago, writing 8086 assembly languge routines to overlay number spirals onto time series of financial futures price data. I thought it was nuts at the time. It probably still is nuts but now it is nuts two levels further up the concept chain than I was operating at, at the time.

Tuesday, November 22, 2005

Nailing jellyfish to bicycles

    "Pinning down the terms/phrases we want to agree on is like nailing jellyfish to bicycles. It is difficult to do, provokes strong reactions and leads to some pretty surreal moments. Our putative shared understanding is like a flotilla of wine bottle corks, bobbing on the turbulent seas. Sometimes we see them clearly, other times they disappear from view. Who knows where they have moved to now?" -- In the Beginning was the Naming Convention

Monday, November 21, 2005

Thursday, November 17, 2005

mustUnderstand/mustIgnore and Processing Models

David Megginson touches on a really, really important point about the mustUnderstand/mustIgnore model which, in my opinion, is equally applicable to *all* markup and indeed all "signs" created by humans for humans. It cuts to the heart of the extent to which we necessarily embue the signs we create with a point of view...

Kirk: Scottie, I need an unambiguous, context free representation of objective reality and I need it now!

Scottie: The markup cannot take it sir. Every tag I create generates its own point of view of the universe. Cannot de-contextualise...argh!

Its like this. I look at some aspects of the world and I carve it up into pieces. I give those pieces names. Those names become tags/attributes in my XML documents. Now, is my model "correct"? It depends. It depends on two vital things.

1 - how I viewed the world at the time.

2 - the processing model I had in mind for the data.

Both of these are deeply personal and only "true" from the POV of a particular person/instition/business-process.

As Walter Perry points out regularly on xml-dev, the real value of XML is that it reduces the extent to which I force any one processing
model onto others. This enables re-use and innovation in a way that, say, application sharing does not.

The price we pay for this freedom is that designers of XML languages need to find ways to communicate "processing expectations" or
"processing models" separately from the data.

It is still the case today that the true meaning of a chunk of markup is dependent on what some application actually *does* with it. It is not in the data itself. For example, I can create rtf, xml, csv files that are completely valid per the markup requirements but "invalid"
because they fail to meet particular processing models in rtf/xml/csv-aware applications.

This is one reason why HTML as a Web concept (forget about markup for the moment) and XML as a Web concept are so different. With HTML the processing model was a happy family of 1, namely, "lets get this here content rendered nicely onto the screen". With XML the processing
model is an extended family of size...infinity. Who knows what the next guy is going to do with the markup? Who knows what the next processing model will be? Who knows whether or not my segmentation of reality into tags/attributes/content will need the requirements of the next guy.

To date, we have been feeling our way pragmatically on the latter point (we call it "conversion") and largely ignoring the former. The former is becoming much more important. mustIgnore and mustUnderstand will, I suspect, be the topic that begins a long conversation about processing models on the Web.

I would put microformats into this category too. What does a microformat actually do? It takes an existing tag set and tunnels stuff into it. But what it is really doing is taking an existing procesing model (say, XHTML CRUD cycles) with its established toolset and parasiting[1] on top of it in a clever, very human, way. A way that side-steps a bunch of very hard questions about expressing processing models in all their complexity and multiplicity.

[1] parasiting - Is that a word?

Wednesday, November 16, 2005

Open Office - The Movie(s) + a Rainbow

Open Office Training Videos. Free. The book/DVD they are abstracted from looks interesting too.

I've said it before and I'll say it again, go take a look at OpenOffice if you are in any way interested in looking at cheaper/better/cross-platform/truly open vehicles for creating/publishing/managing documents.

The ODF format is growing wings which is just great. Peripherally to the main implications this has, it ushers in what us SGML geeks were looking for back in 1987 (yes, 1987). Namely, a "rainbow DTD" to target during both up and down-translations of structured content.

Sonny boy! Hand me that Zimmerframe.

Tuesday, November 15, 2005

Master Foo on Enterprise Data

    "Think of your centralized database applications as a set of large rocks. Their great strength is their solidity. Their great weakness is their lack of flexibility. Think of spreadsheets as the water that flows over and around the rocks. Their great strength is their flexibility. Their great weakness is their lack of solidity. The easiest route to the far side of a rock is to be like water and flow over or around it, rather than to change the nature of the rock." --
    Master Foo defines 'Enterprise Data'.

Friday, November 11, 2005

Science as a human subject

Tuesday, November 08, 2005

Business Logic? Bah!

I had been reading Winograd and Flores, Gardenfors and McComb and I needed a dose of levity to revitalise my tattered hemispheres.

Without significant conscious intervention by me, this noisette sort of wrote itself : Beyond business logic.

Monday, November 07, 2005

OLPC - one laptop per child

Thanks to John Heffernan for pointing me at this interesting post (read the comments) One Laptop Per Child - a Preview of the Hundred Dollar Laptop.

Friday, November 04, 2005

A morning giggle

This gem comes from Joe Gregorio.
    Axiom : Any technical group of sufficient size and activity will spontaneously generate its very own sociopath.

Tuesday, November 01, 2005

As pretty as a WIFI enabled airport

As pretty as a WIFI enabled airport is a little spleen-venting about the state of internet access in airports.

Wednesday, October 26, 2005

Number numbness

Every now and then I get lost in zeros. 1k, which was the ENTIRE VOLUME OF RAM in my first computer has ceased to be a useful unit of measurement for storage space.

Today I kicked off a backup of by Ubuntu Laptop to a VFAT USB filesystem without giving the matter any thought.

Puzzled by the errors, it finally dawned on numbskull here that VFAT filesystems have a 4GIG file size limit that I was blissfully ignoring.

Now 4 GIG is enough space to backup the RAM on my Sinclair ZX80 four billion two hundred and ninety four million nine hundred and sixty seven thousand, two hundred and ninety size times over.

To backup my laptop today I need about three times that amount of space.


WTF spotting

Peter Flynn has added a WTF section to the excellent XML FAQ.

Tuesday, October 25, 2005

Grandma did not have an iPod at the prom

Grandma did not have an iPod at the prom.. This week's ITWorld article is about the increasingly abstract concept of property in an increasingly digital world. Biological evolution is having trouble keeping up with technological evolution.

Never ascribe to theft what can adequately be explained by human evolutionary hysteresis.

Static typing belly laughs

A good start to today on the homour front.

Martin Fowler's report on OOPSLA contains these gems:
This one I put in the typecasting-is-a-bug-not-a-feature category

    Dynamic types are stronger than static types, as they don't flee the field at runtime. --Brian Foote

and this one in the safety-needs-to-be-tested-not-intuited category

    Static types give me the same feeling of safety as the announcement that my seat cushion can be used as a floatation device.
--Don Roberts

Sunday, October 23, 2005

Autamata, Woody Allen, Mayo, Postscript, Normalistion. Hmmm...

Factoid : After the XML Summer School in Oxford during the summer I did a deal with my family. I agreed to take them to London's Chinatown if they allowed me to take them to the Science Museum.
Things worked out well because as well as good food, Woody Allen was sitting next to us with an entourage. This created hushed-tones and eye-darting on all the surrounding tables including ours. I found watching the people that were watching Woody Allen more interesting than watching Woody Allen himself.

Factoid : Todays Sunday Times has a headline featuring the word "Autamata"and the name "Woody Allen". I read the headline initially as "Automata" like any self-respecting geek.

Upshot: There is a little known Irish band called Autamata which is newsworthy today because of Woody Allen's use of some of their stuff in a film of his.

Factoid: Ken McHugh of Autamata hails from Mayo.

Factoid: How could I resist investigating further when the initial geek-laden overtones of Autamata are followed up by "Postscript", "To be a robot", "Registered User" and "Lets Normalise".

Note to self: Investigate further.

Friday, October 21, 2005

WTFs - Beyond FAQs

FAQs are great but I've yet to come accross one that groups questions by blood pressure which would be ideal.

Some times I'm reading an FAQ quite calmly getting up to speed on something. Other times I'm reading an FAQ in an agitated state. Stunned by an error message. Shocked into silence by bizarre application behaviour. Suffering 6 times normal atmospheric pressure between the ears because I'm totally at a loss to know WTF is going on.

It would be great in FAQs had a WTF section to direct the eyes of the exasperated to Q's with a high desparation index :-)

Thursday, October 20, 2005

Make sure to use a mirror

...because there will be a lot of downloads of Open Office 2 in the days ahead.

Monday, October 17, 2005

A la carte VM's in the future of Python

Children of a lesser Python does a good job of setting out the status and value proposition of PyPy.


    "Technologies like Atom and RSS, originally heralded as tools to allow diary-oriented web-pages (weblogs) and diary-oriented feeds to be mass produced, are something much grander to my mind.

    They are nothing less than the addition of a new dimension to the web.

    The dimension of time."
An atomic sense of time.

Thursday, October 13, 2005

Its all happening these days in Massachusetts

Hot on the heels of some interesting developments in terms of the adoption of Open Document Format comes intriguing stuff surrounding $100 laptops for kids. The article says that the state of Massachusetts has committed to providing every shoolkid with a laptop. The article doesn't specifically say that its the $100 dollar variety but I presume it is. They sound really, really interesting. Can function on wind-up power. Run a thin Linux. Ruggedized. Can form mesh networks for Internet access.

I want one. Actually, scratch that. I want five!

Skyscrapers = rectangular blocks of windows = pixel display unit

Every skyscrapered city should have some of these.
It would add an extra dimension to gazing out of a hotel window in downtown Manhattan or Chicago.
Heck what am I thinking. Las Vegas is the place for this sort of thing. Would you bet on two pixels climbing up the sides of a skyscraper?

Wednesday, October 12, 2005

Applets for the 21st century

Applets for the 21st century are the topic of this weeks IT world article : 21st Century Applets.

Tech Camp Regrets

Unfortunately, due to circumstances beyond my control, I cannot now attend and give a Python/XML talk at tech camp.

Darn. Looks like a great line-up of lightening talks. I will be sorry to miss it.

Sunday, October 09, 2005

You know you are not keeping track of things adequately when...

new on-line agregators first come to your attention through your referer logs rather than through your assiduous tracking of industry developments. Google Reader for example.

Friday, October 07, 2005

Python and XML at Techcamp Ireland

I've posted a wee description of what I'm going to cover in (gasp) 15 minutes at techcamp.

Lots of Pythonic and XML shaped goodness evident in the sessions.

Should be an interesting day.

Thursday, October 06, 2005

A flick of the wrist but much more than a watch

Wow. This caught my eye this morning. A touch sensitive display embedded into the back of your hand. [via infosthetics]

Even I would have difficulty leaving that behind me as I rush out the door.

localhost, localhost! Wherefore art thou localhost?

Somewhere in the recent past - possibly while installing firestarter (but I'm not sure) - there was a puff of blue smoke logic and my localhost interface disappeared.

This manifested itself oddly. OpenOffice would hang for a long, long time on startup as if it was eventually timing out trying to connect to something.

I also noticed that CUPS printing had died. So, the standard nightmare unfolded. Were the two observable phenomena related or indepdent. Was there a causal connection between the Firestarter install any either/both of the two phenomena?

Short on time to make the correct, rigorous analysis of the problem, I did what you should never do. I changed two things at once :-)

Firstly, I added a firewall rule to allow CUPS traffic through. (Was that what was causing OpenOffice to palpitate on startup?). Secondly, I re-created localhost with ifconfig lo0
Everything is working fine now except that I have to re-create lo0 whenever I reboot.

My guess is that OO was trying to connect to the printer and took a dim view of localhost not being there. Whether or not I actually need the firewall rule change as well or not, I don't know at this point.

I'm loath to just lob it into a boot script for fear of heaping bletcherous hack on top of ill-understood problem fix.

I have printed the Linux System Administrators Guide. I have boiled the kettle. I will figure this out.

Wednesday, October 05, 2005


Unless you have prior knowledge of it, everything your mind puts forth as a possible inference-from-the-name for the ruby2shoes application is wrong.

Tuesday, October 04, 2005

The original short poems

I've been asked what poems I had in mind of the short variety.

Ode to the Goldfish and Fleas.

Business Reporting and Application Consolidation

    "Executive: I want a consolidated report covering A and B.

    IT: But A and B are generated by two different computer systems.

    Executive: Then go build one computer system that combines all the features of systems A and B so that I can get my consolidated report.

    IT: But...

    Executive: Just do it.

    IT: Ok.

    Behind this little exchange lies an assumption on the part of the executive that, in most cases, is not correct..."

...namely, that in order for information to appear on paper in a cohesive, consolidated form, the data sources must be consolidated at application level. That is the subject of
The same data in the same place
which is this week's ITWorld article.

Friday, September 30, 2005

Thinkpad/Ubuntu status update

The honeymoon is over and now we are getting to know each others foibles and learning to get along just fine.
The most incredible experience so far has been running some very heavy lifting Jython-based XML processing pipelines in the background while still working away in Emacs, downloading e-mail and surfing the Web.
The Jython stuff goes noticeable faster than it did on my old Dell/Windows setup. More importantly, it does not cause the machine to break sweat. I can do other computationally intensive things in other shells at the same time.
Fantastic! How much of that is down to the fact that the Thinkpad T42P is one honkin' laptop and how much of it is down to Ubuntu/Linux I don't know.

I've got those Visio import blues

Over the last while I've been pleasantly surprised at the extent to which I can use OpenOffice on Linux to work with Word and Excel data. I've even created a few Word/Excel files and send to others without them being any the wiser that Word/Excel did not feature in there creation.

Visio however, is a tougher nut to crack. In IT Consulting the chances of not encountering Visio files is vanishingly small in my experience.

Everywhere I've looked suggests that Visio file format are just plain opaque and no tools out there can read/write 'em.

Can this be true? Say it isn't so.

Thursday, September 29, 2005

The last line of the XSLT Tractatus

Truly I say onto you, that the last clause of the XSLT Tractatus shall read:
    That which we cannot construct an xpath expression for, we must pass over in silence.

Wednesday, September 28, 2005

The worlds shortest geek poems

Two offerings based on some well known members of the non-geek short-poem oeurve:
This one I call Ode to a consistent and deterministic data model for event notification.
It goes like this:
    Atom. Parse 'em.

This one I call "Alliterative idempotent incantation in suspension".
It goes like this:
    Oh, wet GET.

Tuesday, September 27, 2005

From middleware to metroware

I wrote this article about 4 weeks ago. Reading it now, it appears that I was in a mildly mind-altered state...or something..at least for the first half :-/

The point (and there is one, I promise you) kicks in in the second half.
From middleware to metroware.

Friday, September 23, 2005

Firestarter firewall fun

I think it was Germaine Greer who commented that life is too short to stuff a mushroom.

I feel the same way about iptables. So much to learn, so little time.

So I'm cheating, using firestarter.

So I fires it up and puff! - my blog won't appear in firefox. It times out connecting to haloscan. I catch the faintest of whiffs of a puff of logic but I dismiss it. "Pesky haloscan down again", I thought and went about my business...

6 hours later, same story. My analysis is beginning to ooze "SEW (Simple, Elegant, Wrong) fluid" from every orifice. Could it be the firewall???

Yup. Turns out haloscan uses an IP address from the edge of the badlands and is blocked by firestarter by default. Full details here.


Thursday, September 22, 2005

Ubuntu on Thinkpad T42P. Internal Modem setup succesful. Procedure, comments and observations

The internal modem in the Thinkpad T42P is one of those softmodem thingies where all the smart stuff happens in the driver and very little happens in the modem itself. These things strike fear into the heart of Linux driver creators because they can be um, quite opaque in terms of documentation and barren in terms of manufacturer support/interest in supporting Linux.

It is a straightforward matter of market segmentation really. These things are built to be stacked high and sold cheap, bundled with pre-configured PCs in lots of 10,000,000 units. In a word, they are designed to work with Windows.

Anyway, to make a long story even longer, many of these soft modems are variations on a theme known as the Conexant Chipset. (Formerly Rockwell for us old-timers). Consequently, a Linux driver that groks Conexant Chipset covers a lot of ground. Linuxant have a slow-ware[1] driver known as the "HSF Driver" that works just fine with Ubuntu on the Thinkpad T42P. You can get it here.

The file I grabbed was hsfmodem_7.18.00.05full_k2.6.10_5_386_ubuntu_i386.deb.zip

The install instructions are here http://www.linuxant.com/drivers/hsf/install.php.

The install proceeded with no problems producing a bright shiny /dev/ttySHSF0 and a proud symbolic link /dev/modem.

I used minicom to send the modem equivalent of ping - the "AT" command and got back a resounding "OK".

From there I followed the pppd tutorial by Tony Mobily from Linux Journal:

part 1 and part 2.

Note 1: Its very painful navigating a shopping-cart dialog at 14k :-/

Note 2: It is good for the soul to get down into the bowels of Linux from time to time. The beauty of open source is that the bowels are there to be seen, in all their fierce beauty, when required.


I like that.

Wednesday, September 21, 2005

Thinkpad T42p + Ubuntu - at last, some assembly required

My experiences so far with Ubuntu on a Thinkpad T42P have been very positive. I now have a docking station, a nice USB mouse, WIFI working fine, everything working fine except....

I need to get PPP working with the internal modem. minicom cannot knock a peep out of it. Reports from the trenches feature incantations of SmartLinks and HSFs and other incantations.

At this point, I know one thing for sure (I think) :-) It doesn't work right out of the box with Ubuntu.

sleeves.status = rolled_up.

More news anon...

Tuesday, September 20, 2005

Banging on the drum about RSS/Atom, Syndication, Aggregation, Event-Oriented Interactions and all that jazz

Oyez! Oyez! RSS! is this weeks ITWorld article in which I come over all swoony, purple lobed and ocuglazed about event streams. Nothing less than the third wave of in electronic information disemmination by my troth.

Monday, September 19, 2005

PyCon 2006

The indefatigable Andrew Kuchling has posted details of PyCon 2006 at http://www.python.org/pycon/2006/.

Friday, September 16, 2005

Covers can sell books

The Twisted Framework has been steadily taking a certain portion of the population by storm for some time now.

No surprises then that an O'Reilly book is cooking. The cover alone will sell some books!

Wednesday, September 14, 2005

Language, Thought, Zachmann

Dave Megginson writes about the Zachmann Framework and points to an interesting critique by Graeme Simsion which raises the hind legs of an old hobby horse of mine. Namely, the extent to which language can influence thought.

Although 'linguistic determinism', as it is called, can be pushed too far very easily, it is a force to be reckoned with. Compared to others it is a week force, but non-zero. To my mind, its effects are too often ignored. (I'm reminded of a story told about a Richard Feynman lecture. Feynman says "gravity is a weak force". At the back of the auditorium, something heavy crashes to the floor with a bang. "weak, but not zero" continued Feynman.).

I wrote about the impact of language on thought from an XML perspective in How to model a bishop and from a programming language perspective in In praise of IT multilingualism.

50% of what you know, you don't.

Most scientific papers are probably wrong. Lets say that paper itself has a 50/50 chance of being wrong...Thats still a lot of wrong stuff out there.

Tuesday, September 13, 2005

The sound of silence

Silent running rues the lack of noise emanating from office computing machines these days.

Monday, September 12, 2005

XML, processing models, data liberation

Mike Champion says that XML liberates data from the applications that created it.

In simple applications - especially data oriented - this is true. In more complex applications, it rarely is.

Take web browsers for example. Pages for display to a human. The "meaning" is in the presentation - how the content looks. Now, lets say the content is in an XML format and everyone has access to the schema. Does it follow that all browsers will display the data the same way?

No. In any non-trivial presentation-oriented application, there is a processing model which must be adhered to if the semantics of the data are to be faithfully preserved.

Friday, September 09, 2005

I don't often stray from geek content here but...

it is not every day of the week that an artist of the calibre of Joan Armatrading plays West of the Shannon.

She was excellent. Took me to a different place for 2 hours. Nuff said.

Thursday, September 08, 2005

Monday, September 05, 2005

The downside of electricity

Watching the heart-rending events unfold in the aftermath of Katrina I'm reminded of how utterly dependent on electricity modern life has become.

Land lines down for comms? Use mobiles. Nope. The base stations are on the ground remember. They need to exist every few kilomters and need constant power to work. Besides, even if the base stations are up, mobile batteries need mains to recharge.

Floods? Use boats coming in from the sea for aid and rescue? Nope. Not that simple. Bridges across the rivers powered by electricity that cannot be lifted when there is no electricity.

Just two examples...It is becoming terribly hard to imagine life without electricity. Take out the power and the first world essentially grinds to a halt. Add storms then floods etc. into the mix and...well, you have seen it on T.V. or read it on the Internet.

If you have power that is.

Friday, September 02, 2005

Google Identity

Hmmm. Google Sitemaps - use your gmail account identity.
Google Talk - use your gmail account identity.
Maybe gmail isn't about e-mail after all :-)

Time - he's waiting in the wings. He speaks of senseless things...

It is becoming increasingly amusing to read about the future in WikiPedia.
Folks are writing in the present tense, for an audience in the present tense about something that will happen in the future tense but which, by the time many will read it, will be the past tense...

Thursday, September 01, 2005

Handling a database crash with a sense of humour

Originally uploaded by PropylonSean.
Not only are there no synthetic a priori truths, but try getting a database plumber on a weekend.

OpenOffice Beta 2

The XML-based office productivity application notations used in this thing are the future.

Go on. Re-claim the documents you always thought were yours anyway, even though their formats were somebody else's.

Ever want to be part of a network-effect tipping point? This is your chance :-)

Festival of Science in Dublin

Via Karlin : A very interesting schedule of science-shaped epiphenomena is coming to Dublin this weekend thanks to the British Academy Festival of Science.

Monday, August 29, 2005

Data Shock and how to treat it

Data Shock is the jolt one feels when you realise that data you thought was at hand, is not at hand because you have jumped from one computing environment to another. For me, the big jolts of data shock come when I leave Thunderbird/Emacs/Firefox/OpenOffice on Linux and boot into Thunderbird/Emacs/Firefox/OpenOffice on my Windows partition. All my apps are there but most of my data isn't. 220 volts to the cerebrum.

At home in Linux, I have /media/windows which works great. I've recently started to play with explore2fs and so far so good. Great for crossing the chasm with a Visio diagram on your back to haul it to a printer.

Plan 9 is a general solution to data shock in which moving from one directory to another can move you from one CPU to another but I digress...

Internet Cotton Guide? Surprised me too

Why would the Internet Cotton Guide be quoting from and linking to my blog I wondered? I used the word "cottoned" that's why.

I used it as an intransitive verb. The pattern matcher was fishing for nouns.

Isn't language wonderful?

Friday, August 26, 2005

The joy of taking stuff apart

The joy of taking stuff apart. At the risk of sounding like a doom and gloom merchant, I do worry about the implicit training opportunities for engineering talent in a world of pre-packaged, solid-state opacity in all things electro-mechanical.

Tech Camp Ireland

Tech Camp Ireland looks interesting. I've signed up and offered to talk about XML or Python or ... something...anything. I think its a great idea.

OpenOffice Indexing with Google Desktop Search

A friend of mine who knows I'm an OpenOffice user pointed me at a Google Desktop Search Plug-in for indexing OpenOffice files. Further evidence of the growth in OpenOffice usage out there.

Thursday, August 25, 2005

The Law of the Driver

The Law of the Driver (which has just occurred to me) states:

    Over time, the distance between a PC peripheral device and the driver CD that came with it, approaches infinity.

Wednesday, August 24, 2005

Spam inspection tip

You have run your spam filters and now have a folder full of mails that have been marked as spam. You want to quickly check through them for false positives.

Sort them by sender rather than by date.

If your spam is anything like mine there are lots of duplicated senders and variations on senders name that are much easier to spot when the folder is sorted in name order.

Speeds up the process of looking for false positives considerably.

Monday, August 22, 2005

Documentation, by any other name, would smell...

I refer to machine generated documentation. The kind that replaces rather than supplements, human-generated narrative. Like the pretty - but content-free - guff that is generated from XML Schema authoring tools for example. To be worthy of the name "documentation", there must be more at stake than just a report of what you previously explained to the machine.

Viruses as productivity black holes

I've had an attack of the Win32.Linkbot.U's. Also known as the Poebot-K, the WORM_POEBOT, the Backdoor.Win32.PoeBot.b and a number of other names besides.

I won't bore you with the details, the mess I ended up in, the trouble I had had getting back to normality...

I'll just say this:



Tuesday, August 16, 2005

Nude descending a staircase

    Every few years, when the volume of keys on my keyring amounts to a tympanic, spike laden tennis ball of metal, like something from the mind of Marcel Duchamp, I do a purge.
-- Invisible Spaghetti.

A medidation on the advantages of wires.

The Big E phenomenon

The Big E Phenomenon - a dystopian steady state future for e-commerce? Or should that be utopian?

Monday, August 15, 2005

Back in harness

I'm back from vacation and from the XML Summer School in Oxford. The Summer School was fun. A unique event. A bit like a Geek Cruise but floating in a flotilla of ancient college in a sea of fantastic museums, libraries and bookshops.

Highly recommended.

Tuesday, August 02, 2005

Frying pans

frying pans. blogging from telex machine in connemara stop cannot say more now as on hols and avoiding computers stop back in two weeks stop. only joking stop. about the telex stop. stop. stop.

Tuesday, July 19, 2005

Sunday, July 17, 2005

Major new release of Jython

Brian Zimmer has announced a major new release of Jython.

Excellent. Congrats to Brian and all who worked on this.

Saturday, July 16, 2005

Atomic Foo

Student: Master Foo? What should we be monitoring to keep track of what is really going on, on the web. You know, the kind of stuff that just sort of creeps up on the world and BAM! a major new trend is born?

Master Foo: SOAP bubbles are easily made and pretty to look at in the morning sun. But bubbles burst, leaving ATOMs in their wake. Remember that a 'feed' is not just a news publication mechanism. With focused thought and calm mind, it can be the river through which all semantics, flow.

Tuesday, July 12, 2005

A Stratigraphy of Precambrian Web Space

    "In the unimaginably distant future, a digital paleontologist
    specializing in the history of the Web will write a research grant
    application to the Galactic Federation..." --
    A stratigraphy of Precambrian Web space

Monday, July 11, 2005

XML Schema - If you won't listen to me, listen to them

From time to time I tell people that there are all sorts of interoperability problems and complexities lurking in W3C XML Schema for the unwary.

Sadly, the allure of the GUI tools and the "support" of the big vendors makes the argument difficult to make. Add the fact that a lot of people jumping into XML Schema use have little background in XML and thus tend not to understand the space well enough to even understand the expresssion of the problems, never mind the problems.

Anyway, it drives me nut becuase the problems are very, very real.

For those who need to hear it from the big names before they will believe it, I give you ACORD, BEA, BT, HL7, IBM, Microsoft, SAP, Sun.

Saturday, July 09, 2005

A theoretical, upper bound, value function for an SOA

Jeff says Metcalf. I say Reed.

The trick is to design services so that they can be actors in a wide variety of groupings (business processes).

This is tough. It requires a lot of experience and the ready availability of serious domain knowledge.

Good service boundaries do not "drop" out of decomposing discrete IT systems. They drop out of decomposing the "social network" that underlies a family of business processes. Decomposing the social network is mostly an empirical science:

  • You need to put in probes and monitor traffic flows as they are, not as some ex-post facto Visio diagram claims they are and not as users (each of whom have their own complexity-reducing simplified mental models) tell you they are

  • You need to hunt for simple repeating patterns in the apparent chaos of cross talk. I find it useful to do this anthropomorphically in terms of speech acts

  • You need to find the feedback loops. They exist in any complex system and are the key to unlocking any underlying simplicities that are key to tractable implementation

  • You need to find the key "nodes" in the power law distribution that governs (trust me) the connect-ness of the services network. In fact, I'd go so far as to say that if you do not get a power law distribution staring back at you from your analysis, repeat the analysis.

  • Finally, you need to be lucky. The more detailed your emperical analysis is, the luckier you will be with your final services decomposition :-)

Tuesday, July 05, 2005

(lamb (type mutton)) or should that be lambda?

The details of the trends and transients day at the XML Summer School in Oxford has been posted.

I will be talking about stews, instance variables, sichuan peppercorns, pipelines, pythons, directed graphs, ducks, steganography, compilers, semantics, chameleons, containership relations, cardamon pods.,,and relating it with highly tenuous logic, to practical applications of XML.

Clarifying SOA

In this post on SOA, I am of course referring to the term "SOA" - the acronym. It has become, sadly, meaningless through lack of industry consensus.

This is not to say that what I consider to be an SOA is DOA. Far from it :-) However, I do find myself searching for an alternative term for it these days because the SOA term has become diluted to be point of content-freeness.

I've written about the bits that I believe are criical to make the term SOA mean anything in the past. In ultra summary form:

  • Services are business processes that exchange documents to get their work done

  • The document exchange is temporally decoupled.

  • The documents have shared semantics expresed in a combination of human (narrative) and machine readable (XML) form.

  • Documents express business level intent. For example, "Here is a purchase order" rather than "add_purchase_order(...)".

  • Services are "connected" via protocols for asynchronous document exchange, not for synchronous functionality invocation.

Monday, July 04, 2005

Close up picture of my house

Originally uploaded by PropylonSean.
Here is a close up picture of my house from the inside. I've only just moved in so, excuse the mess. I'm happy with the way its shaping up.

Conversion culture

Emacs on Ubuntu - Copy/Paste horrors, term mode delights

Emacs is like a laser guided missile. It only has to be slight mis-configured to ruin your whole day.

Copy/Paste does not play well with Gnome desktop on Ubuntu by default. You have to experience a borked copy/paste setup to appreciate how insanely frustrating it is.

Some horse whispering is required in your .emacs file:

    (setq x-select-enable-clipboard t)

Thanks to Anders Carlsson for posting how to do this.

What a relief!

On the delight side of the equation, term mode allows me to have colored bash shells in Emacs. Very pretty.

Saturday, July 02, 2005

The term SOA is DOA :-(

    "I think SOA has turned into a semantics-free concept that can join 'components' and 'architecture'. It's beyond saving - so the concrete ideas that do have some substance need to get an independent life." -- Martin Fowler.

The industry only has itself to blame. Trying to convince customers that all the temporally coupled, three tiered architectures they had where, in reality, special cases of a beautiful new over-arching theory called SOA, has backfired.

Now the market thinks the tech. companies are pulling a stunt and they are largely right unfortunately.

I'm with Martin on this. Time to salvage the really useful bits out of the mess. Here are my suggestions:

Sunday, June 26, 2005

The previous post was brought to you by...

flickr which effortlessly worked out my blogspot details to post an entry about a photo that was effortless licked off of my Fuji S304 by Ubuntu's USB smarts.

No vendor supplied device driver disk in evidence anywhere...

Idiot with a camera

Originally uploaded by PropylonSean.
An idiot with a camera makes no mistakes. His mistakes are volitional and are the portals of discovery...

I was in Nairobi. An acrobatics troop was doing its thing. My camera was in "idiot" mode (automatic everything).

Bad light, dodgy shutter speed but an interesting result.

This blog posting is brought to you by ...


The most remarkable thing about my transition from Windows has been the non-event aspect of most of it.

On Windows I was a die-hard Emacs, Thunderbird, Firefox and Open Office wonk. Now that I'm on Ubuntu, I've switched to, um, Emacs, Thunderbird, Firefox and Open Office.

I have a big fat 250 Gig Western Digital FAT32 filesystem on USB that I can bob easily between Windows and Linux.

I've auto-mounted my Windows partition for ease of access.

Most of the things I've plugged into my ThinkPad T42P with Ubuntu booted have "just worked".

No messing with video drivers or network cards or any of that. I can browse my Windows network neighbourhood and generally just get stuff done without thinking about the fact that I now have an immeasurably larger toolset at my disposal than I had on Friday.

The Gnome desktop is servicable and pretty enough for my largely non-taxing GUI needs.

I got Java + Jython set up without hassles. Python is all over the place on Ubuntu. What's not to like?

At last, I have a laptop setup with some very, very serious headroom for software development.

Thursday, June 23, 2005

Computers and mathematics

    "The highly abstract quality of computers makes it easy to introduce mathematics into the study of their theory-and has led some to the erroneous conclusion that, as a computer science emerges, it will necessarily be a mathematical rather than an empirical science."
    -- Herbert Simon, The Natural and Artifical Worlds


Monday, June 20, 2005

File Save As ... XML

    "XML is not - repeat NOT - a 'file format' in the sense that most people use the phrase 'file format'." -- File Save As ...XML

Thursday, June 16, 2005

Correlating screen size and method length

This is just an off-the-wall thought. Does the size of the screen used when writing code, influence the decomposition into methods/functions of the code?

Some background. Yesterday I finally got around to installing Ubuntu on my bright shiny new IBM T42P and everything about it so far is just unspeakably wonderful.

It has a higher screen resolution than I an used to. Looking at some Jython code on it felt different from looking at the same code on my Dell 5100. I could see more lines of code. More information in 1 single screenful.

I got to thinking: if I'd written the code on the high res T42P would some of the elective decomposition into methods/functions occur in different places to reflect the increased capacity of "one screenful" of information?

Just a thought.

Monday, June 13, 2005

True Interoperability

True interoperability results from the subtle and complex interplay between application code and application data.
--The gray scale of interoperability and IT standards.

Sunday, June 12, 2005

Bronze from anear, by gold from afar?

Fascinating overview of what looks like a defining moment in semantics on the Web.

Whatever 'semantics' means :-/

Defining semantics is like defining obscenity - you know it when you see it.

Semantics is something I recognise by perception. But I cannot define it and I certainly cannot fit all the bits of it into blocks that sit neatly on top of each other.

Its verrry interesting watching all the valiant efforts by others to do so.

While I applaude the effort, this is one I'm watching from afar. Its too mind-exploding from anear. After reading Wittgenstein, its a bit difficult to get motivated to get any closer to it.

I'll cheer from the rooftops if anything great comes out of this gargantuan effort around the Semantic Web but gee, I'm just not at all convinced that this stuff is going anywhere fast.

Saturday, June 11, 2005

Just because...

Just because everyone can now create an XML schema because of all the easy to use GUI tools, doesn't mean that everyone should create XML schemas.

Elitism? No. Most of the people in my experience who are enamoured by the glitzy tools for XML schema development don't have the faintest notion of the fire they are playing with. The wouldn't know a third normal form or an extensible coding system or a cost-center tag, if it jumped up and kissed them.

I can use AutoCAD but I wouldn't dream of designing a house because I don't know enough about houses or building or any of that stuff.


Ultimately, we is just meat machines

Two intriguing and scary and thought providing things this bright Spring morning.

1) trust is a chemical? Is nothing sacred?

2) Metaphor lives in a brain region. I know some people who have obviously taken some severe knocks to their left angular gyrus :-)

Thursday, June 09, 2005

Oxen of the Sun

It is increasingly obvious that dynamic languages on the JVM are going to be huge.

Yup. By no exterior splendour is the prosperity of a virtual machine more efficaciously asserted than by the measure of how far forward may have progressed the tribute of its solicitude for those of a dynamically typed disposition.

Hoopsa , Oxen, Sun.

Geddit? I'm easily amused huh?

Hoopsa, boyaboy, hoopsa!

The happy day cometh.

Wednesday, June 08, 2005

Definition of design

Design: the implicit expression of a set of limitations.

Tuesday, June 07, 2005

Sticky stuff you cannot see

Blessed is he who names things well, for he shall ship V2 of the Web App without breaking anything.

URLs -- the Dark glue of Web-based process-to-process integration.

Sunday, June 05, 2005

Going dotty

I'm shocked, stunned and somewhat embarrased to admit that I have only recently cottoned on to the power of graph visualisation programs such as graphviz.

The .dot files that are at the center of Graphvis are a wonderful example of the expressive power of a well thought out, plain text notation.

When I type "start foo.dot" on a Windows PC command line, Microsoft Word starts (because .dot is MS Office speak for "Word template"). That is of course, fair enough, but it sure tickles my irony bone.

interludrature for geeks

Interludrature is a portmanteau word that jumped into my head in a restaurant Friday.

It combines "interlude" and "literature".

The interlude in question on Friday was the delay between ordering food and it actually arriving in a rather good Italian restaurent.

The literature in question on Friday was the May 2005 issue of the invariably-useful paper publication Doctor Dobb's Journal.

Although I read a lot of geek stuff online these days I still get, and plan to continue to get, Dobb's on paper. Why? Because it is the right size and has the right density of content to be perfect for use use in the inevitable forced interludes in day to day geek ambulations. Its perfect for restaurents, airports and (dare I says it) comprehensive calls of nature.

I keep a stack of Dobb's in a "to read" pile and make sure that my laptop bag always has one or two of them stuffed in it.


Monday, May 30, 2005

Complexity, chemistry, commuting and computing

    "...the ability to distinguish the inherent complexity of a business process from its surface complexity is a key skill. The ability to know, as a software developer, that you have reached the point where you are just moving inherent algorithmic complexity around rather than reducing it..." and so on and so forth.

Sunday, May 29, 2005

Lightly cooked steak in the 21st century

I like my steak cooked medium-well but have always envied those who like it rare because they get to say the phrase "drag it through a warm room.". I love that description.

Today, for no good reason, a 21st century twist on this occured to me : "drag it through a WIFI hotspot".

Now that is one rare steak.

Friday, May 27, 2005

Don't think - just type

via John Naughton (who writes a very good column in the Sunday Observer BTW), comes this keyboard.

I'd love to try one to see what would happen. Like many middle aged geeks I'm fairly fast at a keyboard but I don't hit the right keys with the right fingers. I don't look at the keyboard when I type ... unless I start thinking about the process of typing ... then I look at the keyboard and then [insert flushing noise] my accuracy rates drop right off.

If there was nothing on the keys when I looked down what would happen? Total mental meltdown? Dactyl dystopia? Apoplectic annualry syndrome?


Blog archive blip and a killer service offering idea

I totally don't understand how this happened. I promise I wasn't trying to game the blog archives...

Now that I think of it, I twice read an amusing story by one of Ireland's greatest wits - Flann O’Brien aka Myles na Gopaleen. It concerned a book mauling service whereby - for a suitable fee - books in the libraries of the wealthy would be annotated and mauled, better to edify their owners.

How about a blog archive creation service which, for a suitable consideration, would create an archive of wonderous blog postings? An aggrandising opus suitable for brandishing at job interviews and the like.

"Do you contribute to the technical community?".
"Oh, yes, my blog contains a gazillion items of erudition I have gushed forth over the years. Just google for me and you will find them..."

I can smell a competition coming on...Hitlers diaries mark II, maybe even a new twist on the Turing Test :-)

Timeless factoid about life on earth

Fact: In any notation, the really interesting stuff always ends up in the comments.

Thursday, May 26, 2005


WIKI-Wishing: Defn. Using a WIKI to keep track of, or remotely take part in, an ongoing event that you could not attend but really wish you could have attended in person. See also the closely related FLICKR-Wishing concept as evidenced by sites such as this.

Wednesday, May 25, 2005

Delicious phrase alert

Doesn't the phrase "semantic prime" sound absolutely gorgeous.

It has just occured to me that I have never, ever heard the phrase used in the context of data modelling (say XML schema development. to pick a random example) although hunting for semantic primes is surely part of the job of modularising any non-trivial semantic markup application?

I'm a tad surprised is all...

Monday, May 23, 2005

It is *in* the database. Right?

Doesn't "in/on" the database sound so much nicer than "referenced from" the database?

What does it mean really for content to be "in" a database anyway? If the content in question is document-oriented content, like wordprocessor docs or web pages, "in" doesn't always mean, um, "in". Especially in so-called Enterprise Content Management Systems.

Tales of 'in' and 'on' in database management

OpenDocument now an Oasis Standard

IBM, Sun Microsystems, and Others Develop Royalty-Free Standard for Office Applications Document Format.

I predict great things for the OpenDocument notation. BRW, if you have't yet seen OpenOffice, you really, really, should take a few minutes to look at it.

From the press release:
    "XML doesn't always mean open. You can hide a lot in a file format." -- James Governor, principal analyst at RedMonk

Ain't that the truth.

36 years of Jython

The first post was in 1969 when I was 4 :-)

More seriously though, Brian Zimmer et. al. are moving closer and closer to a new alpha release of Jython. Watch that space.

Sunday, May 22, 2005

The biggest shock to received wisdom since the irrational human acceptance of the 404

    "It very well may be that, in the future, we’ll look back and realize that microformats were the bootstrap needed to haul the web into semanticity." -- Eric Meyer

Amen to that. The standard wisdom in this space is that you start by digging out pure, pristine semantics and then put them into a formaldehyde solution with the lable:

on the bottle. From these, you generate mere renderings. (X)HTML is only for such throw-away renderings. Second rate, derivative, impure things...XSLT/CSS are prophylactics that insulate the high priests from the possible infections that renderings carry around on their hind legs.

Real XML vocabularies on the other hand, are ones in which domain specific concepts have their own custom tags dammit! Tags I say! Tags are the rightful home of the most hallowed Universals of noun-ness : from cars to coffee pots to chalk to cheese.

He who would slide semantics into (gasp!) renderings under the banner of nasty vomative attribute skullduggery will suffer the death of a thousand first order predicates...

Or so the received wisdom would suggest. Just as received wisdom suggested that the Webs failure to deal with link integrity would render it useless. Just as received wisdom suggested that the only way to find stuff in a large corpus is to have everything classified beforehand. Just as received wisdom suggested that SMS was too limited to act as an effective human-to-human communication tool.

Good arguments all. Simple, elegant and wrong. Every one of them.

Semantics is next up.

Wednesday, May 18, 2005


  • Derssolation: or Dersolation: An unpleasant emotional state that comes with not having access to your RSS aggregator for a period of time through no fault of your own. e.g. because your server based RSS aggregator is down.

Origin of term uncertain. Though by some to be a combination of desolation, isolation and RSS. Rumoured to have started life as a googlewhack on 18 May 2005.

Pulling the divil (sic) by the (long) tail

Bill pointed me to BBC backstage apropos my recent separating content from presentation soliloquy.

Interesting indeed.

Methinks an interesting metamorphosis gatherth momentum. He who hath e-content brand, hath better figure out a way of harnessing the creative potential of the the long tail. For truly I say onto you, he who hath not got a hold of the long tail hath a major problem brewing going forward as an e-content brand.

Tuesday, May 17, 2005

Referer curiosity syndrome

The curiosity that results from seeing repeated appearances of a firewalled URI in your HTTP refererlogs...

A URI to an FAQ for example, in a big tech. company. A blue one :-)

Monday, May 16, 2005

Differentiating content from presentation

Differentiating content from presentation is dead easy. The boundary line is clearly visible surrounding the black bits in this picture.

Trouble is, as you zoom in on the differentiation to clarify your own thinking, the complexity of the boundary refuses to reduce...Or so it seems to me.

Where does content stop and presentation start?
is my rumination in ITWorld this week.

blog_count = blog_count + 320000 # roughly speaking


Friday, May 13, 2005

Holy freakin Firefox batman!

IBM backs Firefox in-house.

ERH tells it like it is

XML 1.1 and W3C XML Schema woes

Static typing exposed

Making code look wrong is an excellent article by Joel Spolksy that illustrates a really, really, really important point about data types in programming languages.

Having a compiler, or a naming convention, that keeps your ints from your floats from your strings is solving the wrong problem. The real problem is a different type of 'type', a type related to the problem domain such as Joel's 'unsafe string' example for Web apps.

I've always hated Hungarian notation as practiced in statically typed programming languages - mirroring the type system of the host programmming language - because it essentially doubled up (badly) a job that the compiler was doing anyhow.

Not only that, but both the compiler and notation were checking something which was basically the wrong problem. To use Joel's example, unsafe string encoding would go through clean as a whistle.

Simonyi's original concept as explained by Joel makes much more sense to me. The same (or maybe a different?) legion of programmers who interpreted 'type' at the wrong level for Hungarian Notation are now doing the same thing with XML. There is this overpowering urge to statically type the stuff. It leaves me baffled for the same reasons that Hungarian notation and static type-checking leave me baffled.

Thursday, May 12, 2005

Things on top of other things

I had reason to Google the word "offprint". And saw this.

And thus it came to pass that might abstraction begat relation begat social_relation begat communication begat expressive_style; style begat writing_style; literary_genre; genre begat prose begat nonfiction; nonfictional_prose begat article begat offprint, reprint, separate.

Right! Obvious classification really.

As we say in the old country - whatever yer havin' yerself.

This one is more of a giggle : Borges' Animals. When I first saw that list I was in convulsions by the time I got to number 12. You have been warned.

Where do all the triples go?

I'm not the worlds greatest fan of applying very general, very abstract models to day-to-day problems.

That does not mean I am not a fan of that bedrock of knowledge representation : the humble triple (for example: subject,predicate,object).

I found myself wondering where on earth all the triples are out there in the real world of day-to-day IT, as opposed to the perfect but more abstract worlds of RDF/Topic Maps/HyTime etc?

Then it hit me.

Spreadsheets:-) Think about it. Row 1 cells - subject. Col 1 cells predicate. Other cells: objects...


Monday, May 09, 2005

There are two types of dichotomies...

those that split the universe of discourse into two sub-classes, and those that do not.

Or, paraphrasing some loo-wall grafitti I remember from my days in Trinity College Dublin - I'd rather a dichotomy in front of me, that a frontal lobotomy.

These are by way of an almost content free introduction to this week's ITWorld article:
Books/chapters and directories/files - dichotomies considered harmful.

If this wasn't a blog entry I'd probably revise it and just cite the article, taking out that prelude that didn't quite work. But hey, this *is* a blog and so I get to publish things on a whim and then wish I hadn't immediately afterwards so...here...goes...[tab][tab][tab][tab][enter]

Intermediation is the highest form of flattery

How to tell that you are big on the Web?

You are big on the Web IFF you are listed here.

Sunday, May 08, 2005

Average answers and open source

    "But ask a hundred people to answer a question or solve a problem, and the average answer will often be at least as good as the answer of the smartest member. With most things, the average is mediocrity. With decision making, its often excellence."
    -- James Surowiecki.

Hmmm. My mind immediately turns to Open Source and Linus's observation that given enough eyeballs, all bugs are shallow.

I'm not buying it without lots and lots of qualifications about the nature of the question/problem. Its early days, I'm only on page 23 of The Wisdom of Crowds. I'm looking forward to the rest.

The trouble with schemas

Rick on schemas : No-one enjoys floundering on a [non-interoperable] substrate.

Amen to that.

Saturday, May 07, 2005

Paris in the the Spring

Mona Lisa Scrum Pompidou plumbing Poltergeist Plates
Paris was the venue for my 0x28'th birthday blowout. Took part in the all-day-every-day scrum in the Louvre. Checked out some colour coded plumbing (my favourite kind) by Pompidou and had superlative Moules et Frites chez Leon. Highly recommended Belgian fare in Paris in the the Spring. (Excellent lighting fixtures too.)

Open source J2SE

Open Source J2SE proposal in Apache Software Foundation.

Applause. Geneal feelings of warmth and fuzziness. Slight tingling between the shoulder blades. Tincture of salivation.

Wednesday, May 04, 2005

Tuesday, May 03, 2005

EAI as an exercise in wetware conflict resolution

Mediators and mediatees - Enterprise integration as an Industrial Relations problem looks at EAI from the perspective of conflict and conflict resolution amongst people (or if you wish, the IT systems that people create).

Thursday, April 28, 2005

Dochead Technical Architects required in Propylon

Propylon are looking for a couple of highly experienced, XML/Publishing/Workflow/CMS Technical Architects. Must be capable of leading from the front on projects and bringing them in on time and within budget.

  • If you don't know what a dochead is, you don't want the job.
  • If you are not a dochead, you don't want the job.
  • If you think kerning is a winter sport, you don't want the job.
  • If you think W3C XML Schema solves all the worlds problems, you don't want the job.
  • If you think GUIs should be the first thing designed on a project, you don't want the job.
  • If you think "The Complete works of Shakespeare" is a lot of textual content, you don't want the job.
  • If your first thought when confronted with 1,000,000 pages of textual data is to put it all in a database, you don't want the job.
  • If you think XSLT is just super at XML transformation and that the GUIs for mapping one tag to another that spit out XSLT are really great productivity tools, you don't want the job.
  • If you cannot think of 3 good reasons why dynamically typed programming languages have a role to play in this universe, you don't want the job.

Candidates must be capable of withstanding the reality distorting field of off-the-wall analogies and ocassionally preposterous notions that surrounds the CTO to a depth of 20 meters.

Minimum 10 years experience required.

Apply within.

Wednesday, April 27, 2005

An eddy in the space/time continuum on blogger.com

I'm pretty sure I posted something this morning about the fact that I am now 28.

The post arrived on our internal mailan mailing list in one piece so somewhere in the bowels of blogger, it was a work in progress for a while...

Then it appears to have disappeared into a void of static main's leaving arrays of strings in its wake.

Oh, well.

Tuesday, April 26, 2005

At Praveg's Wedding in India

This week's ITWorld article has served to remind me that I have not yet blogged a photo of my India trip a few months back.

Here is a thumbnail, compliments of Flickr: PravegsWedding

Monday, April 25, 2005

Dynamically lawnmowered naked masala tapas thoughts

Naked programming on naked street..

Not only is it work safe but its about programming.


Timeless ruminations

Without resort to Google, have a guess who said this and how long ago these words where uttered:
    One's sense of honor is the only thing that does not grow old, and the last pleasure, when one is worn out with age, is not, as the poet said, making money, but having the respect of one's fellow men.

A retiring Bluechip CEO? A Junk Bond Salesman? A Prime Minister writing his/her memoirs? A filthy rich beneficiary of the tech bubble?

Answer here.

Monday, April 18, 2005

Filing System Taxonomy Blues

Filing System Taxonomy Blues looks at the problem of paper filing systems from an epistemological/ontological angst perspective and ends up drawing solace from some misheard/re-interpreted Dylan lyrics - Bob not Thomas.

Sunday, April 17, 2005

A small step towards combating personal obsolescence

Hello. My name is Sean and I don't have a Flickr account.

That was yesterday. Today I'm cured.

Semantic Steganography

It is Sunday morning and phrases like "Semantic Steganography" sometimes creep into my head unheralded this time of the week. Especially before the kettle boils.

Sometimes I have moments of clarity pre-kettle-boil and I suspect this is one of them. The future of semantic markup is the tunnelling of semantics, unseen, inside harmless looking, presentation-oriented XHTML.

I'm thinking microformats and I'm thinking things like XOXO and HMML and RDDL

Here is the thing: with span and div elements, it is possible to encode any XML instance into a valid XHTML instance. It is a trivial matter to reverse the process to get the explict element-oriented XML back out.

In my mind's eye I see RESTian web services where users dereference URIs as a matter of course and see human-oriented stuff. Yet, hiding underneath as attributes in the XHTML are the semantic parasite attributes. These encode the semantic structure that process-to-process integration software feeds on.

Gee! But what about validation? All our grammer oriented validation technologies are element-type oriented not attribute-value-oriented! No problem. Do a quick XSLT transform prior to validation proper, to make the element structure explicit. Maybe, just maybe, this will be the use case that makes XML pipelining creep into common consciousness.

About time too.

[P.S. for markup geeks] This post has hidden, pre-caffiene semantics. Do "View Source" to see them. At least it had when it left my feed editor. I will be interested to see what happens to the markup when it goes into the big bad world out there.

Saturday, April 16, 2005

Anna Livia Blogger Eile

We numbered more than 10 and less than 20 (I reckon). We met in the IFI meeting room on Eustace St. and we talked of many things. First prize in the "best array of quality geek gadgetry" category was Bernie Goldbach.

A rumour is going around that a rather famous personage with very a high visionary and geek quotient might be attending Semantic Web 2005 in Galway in November of this year. If it happens, I'll be there. Even if it doesn't, I might still be there. Its only a rumour though, so it stops here.

Friday, April 15, 2005

Dublin Python Meetup

Last nights Dublin Python meetup was revectored at short notice to a pub we knew Paul Everitt of Zope fame would be in :-)

It was good to put some faces to some names and to finally meet Paul Everitt F2F. The location was, in my opinion, streets ahead of the Dame Lane location and has the added benefit that the famished can get food with their drinks if required.

Lots of interesting tidbits from Michael Twomey about PyCon 2005. I must make a point of getting to one of those.

Dublin Bloggers Meeting

Hot on the heels of last nights Python Meetup in Dublin (of which more anon) comes a meeting of bloggers. There is a non-zero probability that I will be there.

Wednesday, April 13, 2005

HTTP URIs rather than URNs for identifiers

Dave Orchard questions some of the orthodoxy concerning when to use URNS versus when to use HTTP URIS.

As Dave says, context is the critical thing. Context is king. The notion that a URN is somehow "better" because HTTP URIs tie things to places/versions/whatever is simply not true out there. Just looking around at the way HTTP URIS are really used on the Web shows that it isn't true. Context is king. Identifiers are dereferenced at a time and a place with an abritrary rich resolving context. The act of resolution can - and frequently does - take full advantage of all that contextual information.

Any would-be rigid designator, needs a state of affairs to be dereferenced against. HTTP is a well known resolver of rigid designators given a state of affairs:-)

Most ironic in all the MMTT URN shenanigans is that so many URN resolving schemes end up doing a quick shimmy to convert the URNs into unique HTTP URIs :-)

Tuesday, April 12, 2005

Critical machine selection criteria - Emacs Pinky Position

So, from the comments on my recent posting enquiring about a good laptop for Ubuntu Linux, an IBM T42 looks like a contender.

A critical question remains - is the Ctrl key in the bottom left hand corner of the keyboard?

Why is this critical? Because pinky position is critical to Emacs without which, I am essentially useless at a keyboard.

I cannot make out where the Ctrl key is on the T42 from the images I found on the Web. Can some kind soul illuminate me?

Aside: I have more than once exacerbated sales guys in shops by not caring to ask questions about their beautiful laptops other than to press "Ctrl-x-s" to see how it feels :-)

Ubuntu, Laptop - just work - which?

If you wanted Ubuntu Linux on a notebook/laptop. And if you wanted all the bits like XWindows and WIFI and suspend-mode etc. to "just work". What notebook/laptop would you get?

I've been reading through some of the excellent compatibility reports out there but have yet to find one that says "Yup. Just do this and everything will work clean as a whistle."

Is there such a notebook/laptop?

Use the tests, Luke

Musings on the relationship between Test Driven Development and Documentation this week on ITWorld : Use the tests Luke!.

Friday, April 08, 2005

The Seven Deadly Sins of XML in the Public Sector

The Seven Deadly Sins of XML in the Public Sector is the title of my talk next week at ICT Expo in Dublin. Now, which seven to pick...

Definition of an Engineer

    An engineer is someone who can take a simple idea and see through it to the bottomless pits of messy, complexity that lies underneath.

that just occured to me, so I'm writing it down.

Jython users WIKI page created

Add your uses of Jython to the JythonUsers WIKI page.

If you don't use Jython, stop what you are doing right now and start using it. You know its good for you.

Monday, April 04, 2005

Boot sequence blues

I could write this blog entry - and post it - many, many times over in the time it takes this laptop to boot. I am tired of warming up computers.

Saturday, April 02, 2005

Fourth anniversary

This month (on the 10th to be precise) I will hit a 4 year anniversary. April 10 2001 I started writing a weekly column for ITWorld.

The first one was called XML the syntax and the spirit.

4 years worth = (roughly) 50 weeks * 4 = 200 columns. Yikes.

Without really realising it, I've written what amounts to another bookload of stuff. Looking back over them, I see some turkeys but most of them are such that I wouldn't disown them.

Simplicity on the attack

I like this story (courtesy of Ryan Tomayaho) Insects and Entropy.

I don't know how true it is but it rings true. It reminds me of Anatol Rapoport's 4-line BASIC program that tends to win Prisoners Dilemma tournaments.

It also reminds me of Stephen Wolfram's A new kind of science. The big takeaway for me from that book was that after a threshold of behavioral complexity has been reached - a threshold you can get to with real simple algorithms - adding further complexity into the algorithms does not greatly increase the behavioural complexity of the resultant program.

Finally (as I reach for more Coffee this bright Saturday morning after a sucessful April Fool Friday), it reminds me of Gregory Chaitin's Omega Number and the idea that algorithm "elegance" has a formal definition as the smallest program that will produce any given behavior.

That is the essence of software engineering I think. Its not about writing cryptic programs to show how smart we as programmers are. Its about finding elegant forms of expression that maximimise our return on behavioural complexity while minimising the "moving parts" in the algorithms that generate that complexity.

Thursday, March 31, 2005

Tuesday, March 29, 2005

Quick and dirty cure for an overheating laptop

My laptop, a Dell 5100, gets real hot when I leave it crunching 100's of megs of XML for extended periods. The fan puffs hard but not enough to keep the thing cool. In full throttle, you could fry an egg on the back of this thing.

When the heat gets too much for it, the laptop spontaneously shuts down with no warning. No messages in the logs saying "too hot, I'm outta here". Nothing. This can be real annoying when you leave a machine running on some big data processing task overnight only to find out in the A.M. that it shut itself down at 12:30 a.m..

Anyway. I solved the problem by raiding (appropriately) the oven in my house. Note the indispensible domestic item under the laptop.

Works great. 72 hours and counting :-)

As good as it gets?

Bandwidth - is this as good as it gets?
is this week's ITWorld article. The title, [for once :-)], is self explanatory.

Monday, March 28, 2005

Looking for a word...

What class of a thing is this type of URL? Is there a word for it? There should be.

I was particularly giggled by the way Google Adwords immediately switched all adverts to Coffee theme when I rendered the URL.

[Via Andrew Kuchling.]

Sunday, March 27, 2005

OpenDocument 1.0 - the OpenOffice File Format - going from strength to strength

    Less formally, I can say that IBM views the OpenDocument standard as one of the most crucial enabling standards for IBM Workplace, and we are embracing it deeply and enthusiastically. -- Nathaniel


Saturday, March 26, 2005

I want a T-Shirt

I don't go in for themed T-Shirts but in this case I would be willing to make an exception. I want one with the phrase:-
    Cure call-stack mentality.
written on the back.

Gregor Hohpe has a nice piece about the whole area (replete with useful pictures) here.

If you start distributed systems design with experience in OO and Web Page apps in your head, assymetrical thinking is very natural. After all HTTP is request/response which is caller/callee, therefore...method/function calls are the fundamental particles of Web based system design.

Unfortunately, as practitioners of distributed systems know, the tight temporal coupling between the caller and the callee is the root cause of fantastically tall mountains of both engineering complexity and organisational complexity.

It will come as no surprise that I agree with Gregor that asynch. messaging is the right abstraction. It is the fundamental abstraction of the PSB integration infrastructure for example.

Even in a pure asynch messaging system however, asynchrony between caller and callee is an issue. In process-to-process integration, messages need to "hop" in a realiable and auditable way across organisational boundaries. The question inevitably arises - "who instigates a hop?".

  • Does the ultimate reciever for a message attempt to get one? (PULL Model)

  • Does the sender attempt to send one? (PUSH Model)

Finding a solution in any particular system is much more than just flicking a coin. There are many issues at play here ranging from technical to organisational.

The issues, as experienced in the design of the PSB, are fleshed out here.

I am a strong advocate of pull-based asynch messaging. When asked why, I point to the world-wide e-mail system and ask the question : which is easier, (a) accessing your e-mail from with a simple POP3/IMAP4 account or (b) setting up an SMTP server and then talking to it?

Now there are absolutely cases where the SMTP server analogy is the right one, but in my experience, a lot of folk who should be thinking of asynch. XML messaging in POP3 terms, think of it in SMTP terms. At the root of the issue is how the question of the choreography of messaging hopping has been conceptualised.

Friday, March 25, 2005

Jython on Sun's SJS App Server

David Ogren has documented the tweaks needed to the installation instructions in my Jython servlets tutorial for Sun's SJS App Server.

Tuesday, March 22, 2005

Pessimistic locking impractical? - yup.

Gordon Luk says about resource locking on the internet (you know "transactions" and all that stuff):
    "...that people trying to work around this problem with complex WS algorithms are certainly expending a lot of time and effort chasing an impractical goal."


Songs, presentations and analyst briefings

Songs, presentations and analyst briefings. This week's ITWorld article is about words on MP3's. Specifically, it is about how audio interfaces are tuned to music (pun, ugh!) and thus less then stellar when you are "browsing" lots of words captured on audio.

Friday, March 18, 2005

Python wins Jolt productivity award 2005

Python wins Jolt productivity award 2005.

Oh ye, who do not use Python yet. What part of "increase productivity" don't you understand :-)

Thursday, March 17, 2005

Goopy see, Goopy do

A collection of Python code for functional programming. Open Sourced by some crowd called Google, whoever they are.

Wednesday, March 16, 2005

Onward Coyote

Interested in the future of programming (otherwise known as Dynamic Languages?)

IF so, read this, then install this while reading this piece of Native American lore.

Tuesday, March 15, 2005

For St. Patrick's Day

Originally published here but reproduced for the week thats in it.

In a dramatic development, scholars working in Newgrange, Ireland, have deciphered an Ogham stone thought to have been carved by St. Patrick himself. The text on the stone predicts, with incredible accuracy, the trials-and-tribulations of IT professionals in the early 21st century. Calls are mounting for St. Patrick to be named the patron saint of Markup Technologists.

The full transcription of the Ogham stone is presented here for the first time:


    Go placidly amid the noise and haste and remember what peace there may be in silence.

    As far as possible, without surrender, accommodate the bizarre tag names and strange attribute naming conventions of others.

    Speak your truth quietly and clearly, making liberal use of UML diagrams.

    Listen to others, even the dull and ignorant, they too have their story and won't shut up until you have heard it.

    Avoid loud style sheets and aggressive time scales, they are vexations to the spirit. If you compare your schemas with others, you will become vain and bitter for there will always be schemas greater and lesser than yours -- even if yours are auto-generated.

    Enjoy the systems you ship as well as your plans for new ones.

    Keep interested in your own career, however humble. It's a real possession in the changing fortunes of time and Cobol may yet make a comeback.

    Exercise caution in your use of namespaces for the world is full of namespace semantic trickery. Let this not blind you to what virtue there is in namespace-free markup. Many applications live quite happily without them.

    Be yourself. Especially do not feign a working knowledge of RDF where no such knowledge exists. Neither be cynical about Relax NG; for in the face of all aridity and disenchantment in the world of markup, James Clark is as perennial as the grass.

    Take kindly the counsel of the years, gracefully surrendering the things of youth such as control over the authoring subsystems and any notion that you can dictate a directory structure for use by others.

    Nurture strength of spirit to nourish you in sudden misfortune but do not distress yourself with dark imaginings of wholesale code re-writes.

    Many fears are born of fatigue and loneliness. If you cannot make that XML document parse, go get a pizza and come back to it.

    Beyond a wholesome discipline, be gentle with yourself.

    Loosen your content models to help your code on its way, your boss will probably never notice.

    You are a child of the universe no less than the trees and all other acyclic graphs; you have a right to be here.

    And whether or not it is clear to you, no doubt the universe is unfolding as it should.

    Therefore be at peace with your code, however knotted it may be. And whatever your labors and aspirations, in the noisy confusion of life, keep peace with your shelf of manuals. With all its sham, drudgery, and broken dreams, software development is a pretty cool thing to do with your head.

    Be cheerful. Strive to be happy.

APIs, outsourcing and Open Source

This weeks ITWorld e-Business in the Enterprise article : APIs, outsourcing and Open Source.

Sunday, March 13, 2005

Behind the firewall, nobody can hear you scream.

In the recent blogstorm about SOAP/REST a theme is emerging. SOAP
proponents point out that SOAP is a great success behind firewalls -
enterprise applications and all that. Therefore SOAP is a great

Hmmm. I do not doubt for one second that SOAP is being used
extensively behind firewalls but my personal experience has been

1. Behind firewalls, SOAP is the bright shiny new RMI/CORBA/DCOM. It
is used as an Object Invocation/RPC mechanism. SOAP proponents keep
pointing out that you do not have to use SOAP that way. True, but 99
times out of 100, that is how I see it being used behind firewalls. If
it walks like a duck, etc.

2. Behind firewalls, network-related "ilities" can be swept under the
carpet given enough money and end-to-end control. Given given that you
have end-to-end ownership of the system, you can control network
latency and control network availability. Given enough money, you can
"upgrade" applications with super-duper fast processors and disks and
bandwidth to be able to survive in the temporally coupled, distributed
systems world that comes with Object Invocation/RPC-style SOAP.

3. Behind firewalls, you can get around interoperability problems by
the simple expedient of putting the same SOAP stack on all end-points.

4. Behind firewalls, IT folk quite rightly and quite understandably
keep their SOAP problems to themselves and they keep Cap Exp and TCO
to themselves. "Success" stories are the only type of stories the
private sector admits to. This is totally understandable but can skew
the perceptions of what is really going on.

So, how does all this relate to my opposition to SOAP and the
particular spin on SOA that is so prevalent at the moment?

1. SOAP is not being used the way its advocates now say it can and
should be used e.g. one-way, asynch, unreliable messaging with stuff
like reliablility etc. layered on top with WS-*. Is this a retrievable
situation? Will it be possible to move the perception of the "brand"
to one way, asynchronous, message-centric thinking which is necessary
for SOAP to be of any real benefit in this world? I don't
know. Personally I think there is too much history, too many "oh but
you don't have to do it that way" turnarounds, too much cruft, too
little help for non-specialists to guide them to a good design.

2-4. On the Internet, or on Intranets, you cannot control the
"ilities" and you cannot dictate technology stacks to the
end-points. Consequently, the Internet/Intranet is a great environment
for developing distributed systems technology that is both cost
effective and highly interoperable. Is it coincidental that CORBA was
a great success behind firewalls and DOA on the internet? I don't
think so.

We keep hearing the SOAP is a great success behind firewalls in
"enterprise class" applications. Maybe, just maybe, "Enterprise
class", in this context, means folk with money to throw at the
problem. Folk with end-to-end control who can design away the network,
the latency, unreliability, all that stuff through money, diktat and

It is no great surprise to me that SOAP can be made to work - for a
given definition of "work" - in that sort of Enterprise Class

Behind the firewall, nobody can hear you scream and nobody can see
your wallet bleed.