Monday, December 29, 2008

Testing - the pain, the power, the money

    "The first big dirty secret of coding is that to do it well, you need to spend as much time coding around your core code as you spend, coding the core code itself." -- Testing - the pain, the power, the money

Feed the need

Bloglines is down this a.m. and boy do I feel...incomplete. I start the day with coffee and a read of my feeds. I'm only half the geek I normally am... Is there a 12 step recovery program for RSS/Atom addiction?

Sunday, December 28, 2008

IronPython in Action

I have been reading IronPython in Action over the last few days and enjoying it, even though I'm not much of a .NET developer at the moment. Its main strength is the down-in-the-details treatment of building real .NET apps. It covers the basics well but does not shy away from more advanced stuff, both at a language level - like meta-programming - and at a .NET level, like DLR/Silverlight.

I don't know what my next big Windows app will be but I'm pretty sure it will be developed in IronPython with this book open beside me. Recommended.

Firefox+OpenOffice on Linux verus Firefox+OpenOffice on Windows

Today I ambled around an interesting difference between Linux and Windows w.r.t. Firefox+OpenOffice. Methinks I'm missing something but here is what I'm seeing:

- On Windows, I can enable Mozilla Plug-in in OpenOffice 3 and get OO docs to open read-only in a Firefox browser window. I can then click to open a full frame window in edit mode.

- On Linux, I can do the same but with mozplugger installed I can go a step further. I.e. I can open OO docs read/write in an embedded browser window. No need to click to enable editing, no need for an external window.

Is this an example of Firefox+OO being a more powerful combo on Linux than it is on Windows or am I missing a trick?

Monday, December 22, 2008

Name games

    "Wordy names are hard. Good wordy names are really hard. Good, short, sort-friendly wordy names are fiendishly hard." --Name games

Monday, December 15, 2008

Would the real, authentic copy of the document please stand up?

    "In your hand you have a 40 page document. On your computer screen you have an electronic document open in a word processor. You have been told they they are "the same document". How can you tell? What does it even mean to say that they are the "same"? Does it matter if there is no sure-fire way to prove it?" -- Would the real, authentic copy of the document please stand up?

Friday, December 12, 2008

Fractal Friday - Computer Science is broken

Joe Gregorio says that computer Science, at a deep and fundamental level, is broken. Nothing significant has happened for may years to move the state of the "science" forward.

I tend to agree. A lecturer of mine in college, in, oh what was it...1984 or so, used to say "nothing significant has happened since 1968". That was the year of Algol 68. I think he could make the same statement today.

Now I am more of an information-guy than an algorithmics-guy but I would be inclined to say that nothing significant has happened since the invention of the word processor.

Joe asks "where are the fractals"? I think they are in the documents. Headings and sub-headings to any depth with anything you like in between the headings, in any order. Self similar. Arbitrarily deep and fiendishly difficult to process automatically. That is the real world. A messy world of "unstructured" stuff that we call "content" lest we sully the word "data".

The un-real world is the so-much-simpler concept of tables and fields and scalar values...That is what is broken IMO. The science of computer science knows a lot about the theory of computation - it is a branch of math. But data...content...documents...well, I think we are still in diapers on that subject.

Monday, December 08, 2008

Pet Peeves - Unicode

Internationalization? Just use Unicode!

Right. Yup. That will fix it.

Thursday, December 04, 2008

What's new in Python 3.0

What's new in Python 3.0. Of particular note to me is the significant reworking of the Unicode bits. In Python 3, Unicode is in from the ground floor up. This is as it needs to be. The only way to do Unicode - in all its complexity - well, is to do it from the ground up.

Monday, December 01, 2008

Implement first, design later

Monday, November 24, 2008

Pet Peeves - English

    "To get these pesky, trumped up bundles of sand and sparks to do our bidding we must find ways of expressing, in languages like English - with as little ambiguity as possible - what goes it, what comes out and what goes on in between...--Pet Peeves - English

Tuesday, November 18, 2008

Open Source Considered Harmful

    "It is hot in this kitchen and getting hotter all the time. What to do? Find a way to reduce the heat or leverage the latest asbestos suits? We are mostly doing the latter. -- Open Source Considered Harmful

Monday, November 10, 2008

Better regulation through software

    "There is a lot of talk these days about regulation, especially the kind intended to control the activities of financial organizations. I have a big problem with regulation." -- Better regulation through software

Tuesday, November 04, 2008

Technology - rent, lease or buy?

Monday, October 27, 2008

Pet Peeves - XML

    "We are teetering on the brink of a new edition of the XML standard : XML 1.0 5th Edition to be precise. This seems like an appropriate moment to look back at the XML roller-coaster and list off some personal peeves." -- Pet Peeves - XML

Tuesday, October 14, 2008

RAM, Disk, RAMDisk

Does my OS take advantage of the built-in UPS in my laptop? I don't think so. Maybe it could? With so many "desktops" these days actually consisting of laptops with desk-y attachments, the UPS concept has never been so widely deployed, yet, somewhat, unnoticed. RAM was the new disk - and it will be again

Saturday, October 11, 2008

Knowing Java is not knowing much

Tuesday, September 30, 2008

Emotionally yours

Emotionally yours wonders if tech branding is on the rise or fall. The rise methinks.

Tuesday, September 23, 2008

E-mail is for postcards

    "I am reminded - in a bad way - of the relationship between registered letters and postcards. In some countries, postcards have become so hit-and-miss in terms of delivery that they are only used for vacation "wish you were here" messages. You would not use them for anything important. I fear we are heading the same way with the open, global e-mail system." -- E-mail is for postcards

Tuesday, September 16, 2008

Web pages seen through Chrome tinted glasses

    "The web started out as pages - information - and slowly but surely the degree of dynamic behaviour behind those pages has increased to the point where the pages have disappeared in many cases. If pointing a browser at a URI causes a web server to run a program that generates a page and then throws away the page, then does the page really exist?" -- Web pages seen through Chrome tinted glasses

Tuesday, September 02, 2008


    "Thus it came to pass that I decided I want a rack of computers in my home office" -- SOHO PC Racks

Tuesday, August 26, 2008

Return of the sneakernets

    "Welcome back sneakernets. Nothing much has changed since you were last here except that volume has gone through the roof. Oh, and discs are no longer round..." -- Return of the sneakernets

Wednesday, August 20, 2008

Content Free Acronyms

    "Part of the simplicity of the old days was that acronyms actually meant something." -- Content Free Acronyms

Friday, August 15, 2008


So, over on The Left Field, it was pointed out to me that the Time Machine capabilities of MacOS are worth looking at.

I kill - as is my wont - two birds with one stone. One of my kids needs a computer anyway...This confluence of sublunary circumstance manifests a Macbook Air Chez McGrath. All is a haze of purple-tinged wonderfulness for a couple of days and then ...

A degree of hand pressure on the lid that would be utterly harmess to, say, a Thinkpad X61 evinces a sickening CRACK,

One busted Macbook Air screen. Googling around, we console ourselves with the fact that we are not alone. Then we gasp at the cost of a replacement screen.

That is where we are at now. Gasping. Dunno where we go from here.


Thursday, August 14, 2008

Django on Jython

Just follow these instructions.

I'm really looking forward to giving this a whirl.

Tuesday, August 12, 2008

Dark data and the digital sense organ

Dark data and the digital sense organ

Photo metadata

    "Snapping away recently with my lovely new digital camera, it occurred to me that the many megabytes of data I was chewing through as I shutter-bugged my way through the vineyard, would be so much more useful with the addition of some small number of bytes of well chosen meta-data." -- Musings on photographic metadata

Thursday, July 31, 2008

Lawrence, Kansas, USA

I am in Lawrence, Kansas en famille, settling in to our newly rented house. I will be working most days in Topeka Kansas in the State Capitol.

I am looking forward to meeting up with the local Python/Django community around the Lawrence area.

Programmers are people too

Programmers are people too and are subject to the same "firmware bugs" as other people.

Friday, July 25, 2008

Better backups

Better backups. I have all the terabytes I need thanks. Now I need a sane way to use them.

Wednesday, July 16, 2008

Jython 2.5!


Where are the Stones?

    "Unfortunately, the concept of performance benchmarks - stones - seems to have fallen by the wayside." -- Where are the Stones

Monday, July 07, 2008

Only the cloud can scale

    "The future is shared infrastructure. The future is the cloud. Not because it is trendy but because only the cloud can scale" -- Only the cloud can scale

Two Django ideas in need of good homes

Ideal candidates would be highly motivated and highly skilled Python web app developers willing to share risk in return for potential rewards. If you want a big salary, move might along. Nothing to see here.

If you are still reading, pitch me. Why should I consider you?

Monday, June 30, 2008

Tuesday, June 24, 2008

My blog on ITWorld

Congrats to the staff at ITWorld who have launched a completely re-vamped website.

I have a blog over there called The Left Field. Come on over and visit.

Friday, June 20, 2008

Can you write a highest common factor algorithm in 128 bytes?

Yes. 128 bytes. Max. Cos that's all the RAM you have?

Those were the days. Lightweight programming on 1 ton of metal.

Free Python books and articles

Great list of Free Python books and articles.

Thursday, June 19, 2008

Silicon Ireland Event next week

Thursday next week I will be speaking at this Silicon Ireland event. I have some ideas I will be speaking about - a bunch of separate areas that I think contain opportunities for tech startups.

Tuesday, June 10, 2008

Link to part 1 of XML article

The link to part 1 of the XML article is broken in part 2 at present. Here it is part 1

XML: How to get the benefits without the heartache, part 2

    "From bitter experience, I have learned that the only way to approach document-centric XML applications is from the content creation and modification side of the application functionality spectrum. There is little point in having a wonderful back-end system for content management and exploitation if there is no author-friendly way of creating and modifying that content."-- XML: How to get the benefits without the heartache, part 2

Tuesday, June 03, 2008

XML: How to get the benefits without the heartache, part 1

    "For many applications of XML you will come across, there appears to be a better, more optimal non-XML based solution possible. For any given data representation requirement you as an application developer/designer might have, there is a "better" syntax than XML for representing it. XML is sub-optimal for everything, or so it sometimes seems." -- XML: How to get the benefits without the heartache, part 1

Tuesday, May 27, 2008


Agent technology - maybe this is it at last? Not as I expected but ain't that always the way?

Sunday, May 25, 2008

No motor

No motor
Originally uploaded by PropylonSean
Sometimes (but only sometimes) the Dollar/Euro exchange rate is a thing of beauty.

Messing around with my newly acquired Canon XTI Rebel, in Lawrence, Kansas.

Tuesday, May 20, 2008

How to design well by trading well and guessing well

Monday, May 19, 2008

Terminal C, O'Hare

Terminal C, O'Hare
Originally uploaded by PropylonSean
As pretty as an airport.

Tuesday, May 13, 2008

Coping wirh RSI - a field report

    Debugging, as any software engineer knows, is a tough problem owing to the difficulty of establishing repeatable causal connections between events. Debugging RSI is about the most complex problem I have ever tried to debug I think. -- Coping wirh RSI - a field report

Sunday, May 11, 2008

XTech Presentation Slides

My XTech Presentation Slides ODP and PDF

Prime time desk/lap computing with Ubuntu

Stories like this one from David Megginson are becoming increasingly common.

Be in no doubt : Ubuntu is an extremely capable and robust system that can give Windows/OS-X systems a run for their money in most laptop/desktop environments.

I'm just back from XTech 2008 and looking around the rooms at the conference, I suspect straight up Windows laptops represented < 50% of the machinery on show. In years to come, I suspect the late Oozies will be remembered as an inflection point of considerable importance in terms of market sentiment in the end-user operating systems world.

I plugged my Ubuntu laptop into the overhead projector stuff and it worked. No fiddling with resolutions, no bios brain surgery. The Mac folks at the conference had similar success levels. I remember a time when Windows was the safest bet for device compatibility. No longer methinks.

Saturday, May 10, 2008

Orangutans, Oxen and Ogham Stones

Thanks to Jeremy Keith for this great on-the-fly reportage of my talk at XTech yesterday : Orangutans, Oxen and Ogham Stones

Saturday, May 03, 2008

Blinded by the (silver) light

You know, I am a real big fan of Pat Helland. I have never met the man, never corresponded with him, but find some of his content to be out-of-the-ballpark outstanding.

I'd love to watch the video on irresistible forces meeting movable objects but I need SilverLight to do it.

Now I'm on Linux at the moment and there is no SilverLight plug-in for Linux so that's it. I'm skipping over it. What a pity.

Tuesday, April 29, 2008

Fancy a Web 2.0 startup?

I have five web 2.0 ideas at the moment looking for a home. I don't have bandwidth to pursue them. They may be rubbish but I don't even have the time to do the work required to come to that conclusion.

I am also hooked into some mechanisms for funding Web 2.0 start-ups.

If you are a business-oriented type looking for a Web 2.0 idea to pursue, lets talk.

If you are a technology-oriented type looking for a Web 2.0 idea to pursue, lets talk.

If you have your own Web 2.0 idea but need early stage funding. Lets talk.

I am at XTech in Dublin next week. If you are too, lets hook up there.

You can contact me at my propylon e-mail address. Just take out the spaces in my name and but a dot between the n and the m.

Monday, April 28, 2008

Lumberjacks or magician?

    "There are two types of integrated development environments (IDE) in the world. That is convenient, because there are two types of developer in the world.

    To make things even more symmetrical and just super peachy, there are two types of opinions about IDEs in the world. Those that make grand generalizations and make everything look nice and binary; and those that do not.

    The opinion in this article is in the former camp. There are two types of possible reaction to this..."
    -- When choosing an integrated development environment, prefer lumberjacks to magicians

Yummy. A puzzle!

Solve the puzzle that comes out later today, win some money, and provide even more money for a scholarship program. All you have to do is enter and answer, “who?” I'm looking forward to it!

Monday, April 21, 2008

How to stop worrying and learn to love IT complexity

    "From time to time I find myself feeling overwhelmed by the sheer complexity of all the moving parts that make up modern IT environments. Even if your job is not specifically about fixing stuff, it is so very, very easy to lose entire days trying to get X to work with Y. Or trying to find some way to make X work on top of Y. Or trying to figure out why X works on its own but as soon as you add in Y, X magically stops working ... It is amazing we get anything done at all really." -- How to stop worrying and learn to love IT complexity

77% growth? Wow

Looks like 1040 people attended Pycon 2008 representing a 77% increase on last years attendance. over 1k people at a Python conference! Times have changed. My one and only Python conference to date was in Houston Texas 10 years ago. (10!).

There was significantly less that 1000 people at that event. I remember we pretty much all bailed out to a Sushi bar one evening, handed over a collective bunch of dollars and asked them to bring "food" . Try that with 1000+ delegates.

The soul of the new machine

New Pet

Tuesday, April 15, 2008

Defining success for IT projects

    "The IT (generally) isn't the root cause of failures to change an organization. It is owever, a beautifully inert stooge that is easily allocated blame when failure comes to town" -- Defining success for IT projects

Saturday, April 12, 2008

Ubuntu 7.10 on Thinkpad X.61 - Delightoids and doldrummers

Summary : its the best personal computing setup I have ever had

Latest lows

  • wxDownload spontaneously combusts sometimes
  • trackerd sometimes hogs serious CPU time.

    Latest highs

  • Google desktop works great. How did I live without this sort of local search?
  • xournal is wonderful!
  • Same Gnome. When in an airport, bored to tears, intensely tired, with no easy access to popable bubble-wrap and a bout of RSI, this game is a great mental chewing gum and works fine with the pen interface.

    Most significant change to my browsing environment recently = Download Them All! addon to Firfox. What a great tool.
  • Command line near history

    Following Bill

    216 cd
    95 ls
    36 sudo
    19 svn
    19 mv
    11 emacs
    10 nautilus
    8 java
    8 file
    5 ./

    Friday, April 11, 2008

    XTech talk

    XTech 2008 is approaching fast and I'm really looking forward to it. The title of my closing keynote is Orangutans, Oxen and Ogham stones. Mulling the movable Web. For more details, turn up :-)

    New Realities

    The New Reality. Now that has a ring to it. It just might catch on as a buzzphrase. My 2 cents contribution to what New Reality looks like.

    Paths to the New Reality

    You need to do the following...
    • Lose the demonstrably false supposition that "scripting" is sloppy, un-professional, cavalier. Lose the condescending notion that real programmers compile programs.

    • Lose the demonstrably false supposition that the only professional way to manage data is in a relational database and a fully normalized database at that.

    • Lose the demonstrably false supposition that REST is just a toy for the simple case and that professional programmers use Object Oriented Web Services

    • Lose the demonstrably false supposition that synchronizing activity is the only sane way to manage a distributed system. Don't even think about trying distributed ACID transactions

    • Lose the demonstrably false supposition that statically compiled apps will scale better.

    • Lose the demonstrably false supposition that you can know a priori, the bits of your application that will be performance hogs

    • Lose the demonstrably false supposition that you can know today what your application will need to look like tomorrow. And lose the supposition that front-end technology will stand still for any reasonable period of time.

    • Lose the demonstrably false supposition that careful planning is the way to make waterfall development work.

    Wednesday, April 09, 2008

    Tuesday, April 01, 2008

    Think big by thinking small

    Revisiting the harmless-sounding notion of a while loop:
    How to think big by thinking small

    Monday, March 31, 2008

    Time for part 2?

    Vaguely related to the last post about St. Patrick, it is now 4 years since Lord of the Schemas, Part 1: Fellowship of the Schema. How about somebody stepping up to the plate and writing part 2?:-

      Lord of the Schemas, Part 1: Fellowship of the Schema

      In the Land of Markup where the Schema languages lie One DTD to rule them all, One DTD to find them, One DTD to reify them all and to the objects bind them, In the Land of Markup where the Schema languages lie.

      This part of our tale chronicles some of the events in MiddleMark that occurred during the Great Years following the Third Age. Our focus is on the emergence of XML during the Great Profiling and, in particular, the growth in power and danger of One Schema Language (known in the Common Tongue as "DTD").

      The First Age ended with the Great Battle when the Office Document Architecture (ODA ISO 8613:1988) was smitten by SGML (ISO 8879:1986). SGML was crafted by an ISO committee of high Elves, Dwarves, and Hobbits who worked with runes in the ancient Elven tongues. Their utterances were written in pure Mithril from the Caves of Moria. The lore therein was only viewable when moonlight shone on the parchment of the sacred ISO-bound volumes.

      These mighty tomes were stored, high upon the sturdy shelves of specialist bookstores from whence only deep dollars could retrieve them. Even the great Gandalf, wielding the sword of HTTP, could not dislodge SGML from behind the ancient gates of

      SGML's promise was plain to see but its magic was buried deep, and only available to the sages of Eldar. These sages made good money as consultants, especially working for the deep-pocketed great armies of the protectors of the Western Way.

      The history of the Second Age concerns the birth of XML. Its history is much debated in taverns and other haunts of the idle such as Geek Conferences and NNTP. Some races, notably, the Elves from Markwood, refer to this time by its common title: The "Great Profiling" of SGML -- a time in which the great works (SGML, HyTime, and DSSSL) where subsetted into a form suitable for use by simple folk of the Web.

      Others, such as the Hobbits and Dwarves from West of the Misty Mountains, say it differently. These simple folk, steeped as they are in tree processing lore, speak of a war against the servants of complexity and turgid prose (known in the Common Tongue as "smart asses"). To this way of reckoning, the proud Halfling races that value simplicity above power and indeed seek power only through simplicity, song, and good cheer overthrew SGML and its kind.

      For well nigh a thousand days, the world was at peace. The peace was due, in no small part, to the inactivity of what is now known as the One Schema, also known in the Common Tongue as "DTDs". Why the One Schema was inactive is not recorded in the annals of MiddleMark but some say that it was due to the blessing of "Well Formedness" that occurred during the Great Profiling. Well Formedness is a powerful incantation upon XML instances that shields them from the potential ravages of the DTD wielders. It had long been known that Orcs and Balrogs, crafting HTML browsers in the darkest caves of Moria, made use of an abominable work-around known as "structure inference rules" in their code. XML killed such foul rules-based processing and made structure information easily available to the fairer folk of MiddleMark.

      Now some well-intentioned MiddleMark folk made use of DTDs without regard to their dangers. By simply slipping on a DTD, they discovered that some complex problems of data validation simply disappeared before their very eyes. However, the One Schema is subtle and considered ill-intentioned at its heart. Its seductive powers leads the unwary into the dubious lands of external general entities, the swamps of conditional sections and, after prolonged exposure, down to the bottomless pit of parameter entity trickery from whence none can escape.

      The Elders watched in dismay as DTD darkness spread across the land. They feared a revolt from the proud Datatype Wielding Men of Rohan -- experts in the lore of database management systems. In order to keep the peace between the great ideologies of Doc-lore and Data-lore, they elected to destroy the One Schema. To this end, at a meeting of Halflings, Men, and Corporations at Rivendell (known in the modern tongue as MIT, Boston), a Quest was hatched to rid the world of the DTD by casting it into the deepest dungeons of Deprecation.

      Little did they know that this would be the beginning of a long journey. A journey through the Schema War years, which dominated the rest of the Third Age. The Schema Wars is the topic to which we must now turn our attention.

      To be continued.... (by somebody else)

    Saturday, March 29, 2008

    XML and St. Patrick

    So it happened that XML was on my mind on St. Patrick's Day this year. I was in MIT on March 17th. More on that some time over the next few weeks.

    Anyway, in 2002 I wrote this piece for ITWorld about St. Patrick and XML. It is, I think it is apposite at the moment in our microformats/ json/rdfa-infused world.

    St. Patrick to be Named Patron Saint of Software Developers
    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.

    Tuesday, March 25, 2008

    Friday, March 21, 2008

    This article is about the current understanding of the word X

    For reasons both unimportant and un-interesting relative to this present thought, I found myself looking the definition for Cynicism on wikipedia. It starts with the phrase "This article is about the current understanding of the word cynicism...".

    The world would be a teeny-weeny bit better if all definitions of all words/phrases contained a similar preamble - establishing a time point for interpret. Language is not a static thing. It just moves slowly but move it does.

    Here is a lovely example: stakeholder. Compare the older usage (from gambling-speak) with the newer usage from management-speak.

    Ain't natural language a hoot?

    Tuesday, March 18, 2008

    Connecting A to B: an indirect approach

    Connecting A to B: an indirect approach looks at achieving the business goals that often underly statements like "let's connect A and B" without, um. actually connecting A and B.

    Wednesday, March 12, 2008

    XTech 2008

    I am greatly looking forward to the closing keynote at XTech 2008

    The programme looks great. Who could resist a conference sporting a paper on Javascript with a teaser that says:
      In JavaScript there is a beautiful, highly expressive language that is buried under a steaming pile of good intentions and blunders.

    Te heh heh.

    Permanent URLs for legislation

    Quoting Rick Jelliffe

      "All documents, views and metadata at all significant levels of granularity and composition should be available in the best formats practical from their own permanent hierarchical URIs.”

    As someone with more than a passing interest in legal and regulatory publishing I am in violent agreement with this.

    Wednesday, March 05, 2008

    Mashups, microformats and the mobile web Panel

    That's me on the left, standing. Then comes Conor, Ben and Bill.

    The panel was good fun. The big takeaway for me was the amazing amount of consensus that microformats are the way to go. Two years ago, I was getting shot down in flames for suggesting that the future of semantic markup lies *inside* existing schemas. Times have changed.

    Tuesday, March 04, 2008

    Lefty-woes in tablet land

    I am gradually getting a bunch of apps installed on my lenovo x61 under ubuntu. Xournal, CellWriter - that type of stuff. I am increasingly positive about my ability to work productively without a kbd having to be in the mix.

    However, being a lefty, the preponderance of gui's that keep navigation/toolbars/scrollbars in places that are awkward for pen use - is a source of irritation.

    I want my tree-controls on the rhs and scrollbars on the right.


    Monday, March 03, 2008

    Python @ Sun

    Frank and Ted now @ Sun. Congrats to all three.

    Saturday, March 01, 2008

    Monday, February 25, 2008

    Connecting A to B

    A short treatise on the key business issues that lurk under the technology sounding phrase "Connecting A to B" and a set of questions to ask thyself whilst cogitating same: Connecting A to B - a decision tree approach

    Sunday, February 24, 2008

    Python @ IWTC Conference

    IWTC 2008 is a new event in the Irish Web Tech landscape. Python will be well represented in the talks and will have a stand there. On Thursday evening, there is a geek quiz and I understand that is putting together a team. Spot the brain cell anyone? Unfortunately, I cannot make it to this conference but look forward to reading the blog coverage.

    Friday, February 22, 2008

    Security is hard - a canned air example

    IT security is "hard" in the same way that the universe is "big". Just because the words "hard" and "big" are small words...doesn't mean that the concept being conveyed is in any way small.

    One of my guilty pleasures is regularly grinning at the sheer cleverness and devious smarts that underlie many security attack vectors. Via John Naughton comes this absolute gem to do with encrypted hard disks. who would have thought that canned air can be a hackers tool?: New Research Result: Cold Boot Attacks on Disk Encryption

    Thursday, February 21, 2008

    Blogtalk, 2008

    The experts on social networks, blogs and Web 3.0 at BlogTalk 2008 in Cork!

    I'm looking forward to it. See you there. 12 Noon Monday is the Mashups, microformats and the mobile web panel.

    Wednesday, February 20, 2008

    A Roy Fielding and Mark Baker alignment

    So, I subscribed to Roy Fielding's Blog and noticed that my alpha-sorted bloglines feed listing puts "Untangled" right next to "Web Things by Mark Baker".

    Very appropriate.

    Tuesday, February 19, 2008

    Wanted: One new computing paradigm : preferably an old one that is known to work but newly packaged up as a shiny new thing

    Bill points to hand wringing on the parallel-programming model problem and wonders if it is overblown.

    It is a real problem in my opinion. I have been long enough in this game to have realised an unfortunate truth. Namely, that Computer Science fundamentals are re-learned by each new generation in the field. The "science" doesn't seem to move on much in a formal sense. Instead, stories are handed down in an ad-hoc fashion from generation to generation around digital campfires.

    If I had a penny for everytime I have witnessed developers falling into well established tarpits related to distributed atomic operations, reliable messaging, pattern matching, O N-squared performance, cyclic graphs, noun/verb conflation etc. etc. etc....The sad thing is that in that penny jar would be a bunch of my own pennies. Although "classically trained" as they say, I carried very little genuinely useful lore into the field.

    Anyway, against this slightly depressing backdrop comes the multi-core era and all around us, there will be rampant re-invention and rampant chewing of long known gristle. A lot of it will be brought on by the perceived need to treat multi-core as just a library problem. You can get a library to bail you out of inventing your own math library, so why not just buy or develop a library for multi-core. That way, you get to keep the current paradigm and the current fav programming language and IDE and dev/debugging methods...

    Some things I fear developers will re-invent in struggling to fit multi-core into their current tooling world view: Erlang, Occam, Hoare's CSP, Petri Nets, PI Calculus, Queue-based batch processing, parallel statecharts.

    They are all coming to Java/C# libraries - and the IDE's that service them - near you soon. In some sense, the arrival of these things "re-invented" in today's OO-languages-of-choice will be real progress. Reason being, there will be literally years of fighting non-determinism with debugging tools first. I shudder at the thought but fear that this is a road that must be travelled.

    "'Non-determinism' you say? Surely my wonderful visual IDE debugger has a module for handling that?"


    Monday, February 18, 2008

    Boston bound

    I'm going to be in Boston for Paddy's week this year mixing some business with some R'n'R. Doing the Parade thing and the scoffing-the-seafood thing. If any blog readers out there want to meet up, let me know.

    Ubuntu 7.10 on a Thinkpad X61

    Installation went smoothly. The install quietly but firmly apportioned part of the disk to Ubuntu while Vista was asleep. Vista took the hump about the reduction in its disk space when it woke up. It went skulking into the corner doing a chkdsk or something. Anyway, it all "just worked".

    By "all" I mean the usual "all". I.e. all the stuff you really, really need like networking and e-mail and all that.

    Some tweaking has been ongoing - especially to enable the pen stuff. So far nothing major to report.

    Compiz fusion doesn't like the graphics card but its possible to tell it to fly dangerously and then its mostly fine. Useful for moments of Mac envy.

    On the "bummer" side, emacs has some stability issues related to Gnome by the looks of it. Xemacs to the rescue there.

    Pidgin occasionally has a hissy fit so I'm trying Kopete.

    Tuesday, February 12, 2008

    Knowledge management - Using color as a semantic layer over content

    On the use of color (or colour as we say in the old country) to capture semantics in textual content : Knowledge management - Using color to capture meaning

    Monday, February 11, 2008

    For the record...

    These were not exactly serious postings to xml-dev either:

    XML is 0x0A

    XML is 10 years old. Coverage is widespread. I'll be writing up my own little retrospective but not just yet.

    For now. Suffice it to say that all my e-mails to xml-dev over the years have not all been serious.

    Tuesday, February 05, 2008

    Simple productivity tips for the PC user

    On the apparent correlations - empirically discovered and herein reported - between simplicity and efficacy when facing day-to-day PC productivity problems:
    Simple productivity tips for the PC user

    Friday, February 01, 2008

    Is this the right room for an argument?

    My favorite 30 seconds of Monty Python's Flying Circus occurs in The Argument Sketch:

      M: Ah, Is this the right room for an argument?
      A: I told you once.
      M: No you haven't.
      A: Yes I have.
      M: When?
      A: Just now.
      M: No you didn't.
      A: Yes I did.
      M: You didn't
      A: I did!
      M: You didn't!

    Now I'm not predicting an argument but I am predicting some lively debate at The Mashup, Microformats and Mobile Web Panel.
    Topics for discussion include:
    • Is the phrase "reliable mashup application" an oxymoron?
    • Will we ever see one syndication format emerge to dominate or is babelisation inevitable? Desirable?
    • Do microformats need governance in order to work?
    • Is the mobile web a technological superset subset or mutation of the "original" web?
    • Can MMS be equated with WAP. Would that be a category error?
    • Has blogging run its course as a phenomenon?
    • Are microformats running out of steam or gathering steam?
    • How many forms of digital identity will I need to use the Web in 2010?

    Wednesday, January 30, 2008

    Arc pulls no punches

      "Arc embodies just about every form of political incorrectness possible in a programming language. It doesn't have strong typing, or even type declarations; it uses overlays on hash tables instead of conventional objects; its macros are unhygienic; it doesn't distinguish between falsity and the empty list, or between form and content in web pages; it doesn't have modules or any predefined form of encapsulation except closures; it doesn't support any character sets except ascii. Such things may have their uses, but there's also a place for a language that skips them." --

    At first blush, one might dismiss such a programming language. Some people might be so inclined on all of the grounds mentioned above. Some (like me) on a subset of them.

    However, when you see this tacked on to the end...
      Paul Graham
      Robert Morris

    You know you need to keep an eye on it.

    Tuesday, January 29, 2008

    How to learn to love simple electronic filing systems

    On some surprisingly effective information management techniques for office-centric data; and on the concomitant appropriation of the term "management" by the relational database industry; and sundry matters vaguely associated thereto. Be it exposited as follows:
    How to learn to love simple electronic filing systems

    Tuesday, January 22, 2008

    XTech 2008

    I will have the honor later this year of doing one of those keynote things at XTech 2008. I'm noodling what approach to take and have not discussed it with the organizers yet....But I intend talking about XML, REST, Mobility, Identity, Digital Rights and other such things, probably via some scenic Celtic routes. Partaking of commodius vici of recirculation, irregular and troublesome verbs, bloody battles, some extremely interesting old books and the odd tincture of IT related Philosophical Investigations.

    Six things online savvy kids know that many businesses don't

    On the ability of internet savvy kids to do complex things in clever, cheap ways because nobody told them that "grown ups" think this stuff is hard: Six things online savvy kids know that many businesses don't

    Wednesday, January 16, 2008

    In Document/Web land everything is "call by value"

    Ian Bicking noodles the fundamental issue of the relationship between Documents and Objects (as those terms are used in the programming patois of English).

    He hits on a useful distinction that resonates with me : in Document-style everything is call-by-value.

    Very useful.

    The Balisage Markup conference

    Markup conferences are a fundamentally useful thing in the universe. Herewith some information about a new one, Montréal, August, what's not to like?

      Balisage is a peer reviewed conference designed to meet the needs of markup theoreticians and practitioners who are pushing the boundaries of the field. It's all about the markup: how to create it; what it means; hierarchies and overlap; modeling; taxonomies; transformation; query, searching, and retrieval; presentation and accessibility; making systems that make markup dance (or dance faster to a different tune in a smaller space) - in short, changing the world and the web through the power of marked-up information.

      It's an XML Conference. It's an XSL Conference. It's a conference about SGML, LMNL, XSL-FO, XTM, RDF, XQuery, SVG, MathML, OWL, UBL, XSD, TexMECS, RNG, and a lot more. We welcome papers about topic maps, document modeling, markup of overlapping structures, ontologies, metadata, content management, and other markup-related topics at Balisage.

      We welcome papers about topic maps, document modeling, markup of overlapping structures, ontologies, metadata, content management, and other markup-related topics at Balisage. If you want to talk, in detail, about XML, XSL, SGML, LMNL, XSL-FO, XTM, RDF, XQuery, SVG, MathML, OWL, UBL, XSD, TexMECS, RNG, or any other markup-related topic, we urge you to participate in Balisage.


      Submit full papers in XML to
      Guidelines, details, and schemas at

      15 March 2008 - Peer Review Applications Due
      18 April 2008 - Paper Submissions Due
      20 May 2008 - Speakers Notified
      18 July 2008 - Revised Papers Due
      11 August 2008 - Versioning Symposium
      12-15 August 2008 - Balisage: The Markup Conference

      If you have any questions about Balisage send email to

    Tuesday, January 15, 2008

    XML Fallacies to watch out for

    A list of 23 of the most mundungus, noisome, hircine and jumentous fallacies that I have chewed on, ejected, strode briskly past or anhelated in the presence of, over the last twenty years practicing as a document management/content management/publishing-oriented person.

    Data-heads who see the world (and thus the XML within it) in terms of relational tables or in terms of property-value pairs should probably just move swiftly on. Nothing to see here. Doc-heads and Web-heads: read on:

    XML Fallacies to watch out for.

    Friday, January 11, 2008

    Warning Signs for your configuration files

    On the ease with which, a simple configuration file problem can mutate into a big, ugly runaway monster rolling down a very slippery slope:
    Spot the warning signs in configuration file design

    Thursday, January 10, 2008

    Binary XML solves the wrong problem

    Jimmy Zhang hits the nail on the head. The real issue is object allocation.

    The real culprit for all the object allocation, ultimately, is XML's variable-width-everything : element types, attributes & text. This results in a boatload of discrete malloc() operations and a whole lot of "pointer pointing" to link parents to children, nodes to siblings etc. when the graph structure is read into memory. Memory managers hate lots-and-lots of little objects.

    I'm fine with this. XML's variable-width-everything is the key feature as far as I am concerned. Not a bug. The 3 biggies to keep in mind in my experience are:

    1 - Zip the XML for transmission and zip it for storage too if you like. Modern compressions algorithms are so beastly good that the can do better than you could yourself if you hand-crafted your own "efficient" storage/transmission format. Besides, you have better things to be doing than writing compressors/de-compressors and cunningly devilishy-difficult-to-debug-and-maintain custom notations. (Note that http groks gzip. I frequently encounter developers who don't know that.)

    2 - Bend over backwards to avoid repeated loading of the XML from scratch -with all the malloc operations it entails. Don't fall for the common[1] misconception that saving/transmitting a binary/marshaled/pickeled form will lead to fast re-loading. (These things end up calling malloc() too you know :-) Memory-based caches of "cooked" data structures are your friend.

    3 - if you know for sure that every bit of every byte is precious bandwidth on the wire or on disk; and if you are a happy that this truly is the bottlekneck in your application, then perhaps XML is not right for you. But beware that CSV or JSON or any other format with unpredictable variabilities in "record" length will have the same malloc issue at the end of the day.

    In a perfect world what would I do? I'd introduce a "profile" of XML 1.0 that allowed XML data to signal to XML parsers/processors key stats about the data such as maximum required #PCDATA node size, that sort of thing. It could be done with a PI or an attribute or a
    element. In a webby way, it could be signalled out of band in an HTTP header.

    Armed with that, a processor could pre-alloc a whole bunch of fixed-width blocks of RAM for nodes in one fell swoop. Apps doing read-only work with the XML would have the added benefit of not having to worry about in-memory mods to the tree : a key thorn in the side of APIs like the DOM. Just allocate a big slab of RAM and start pouring nodes into it as you need them.

    That would, I think, address the real issue without throwing the oft-vaunted-and-thoroughly-justified benefits of XML out the window.

    In a perfect world I would have the time to go gather real performance data and write up a conference paper with the results. I don't live in that ideal world unfortunately. If anybody fancies it, I'd be happy to collaborate by sharing experiences of what I have seen happen in real world XML applications that leads me to believe that this hypothesis has legs.

    On related notes, how weird is it that we have not moved on from the DOM and SAX in terms of "standard" APIs for XML processing? I'd love to see a read-only DOM (lots of apps use DOM but only need read - not read/write access to the tree.) Knowing that the game is read-only would allow a DOM implementation to do a lot of interesting things from a performance perspective. It has been kwown for ages that a forward-only XPath is a very useful thing. Maybe it is being worked on. Maybe thes things exist and I'm just out of the loop a bit at the moment?

    [1] I fell for it. To my embarrassment, I fell for it twice!

    Tuesday, January 08, 2008

    Knowledge capture in a webby world

    On the efficacy of some web technologies as knowledge capture tools (especially video) :
    Leverage web technologies to capture and manage knowledge assets

    Wednesday, January 02, 2008

    Soft on the outside, hard on the inside ...

    On the relative positioning of in your architectures of things like Java, XSLT, Word Processors and such like : Soft on the outside, hard on the inside ...

    Operating Systems on the Web

      "Either the problem-specific application containers that are popping up on the Web are mere 'applications' or maybe, just maybe, they are the beginning of a whole new type of general purpose 'application server'. I don't think it is stretching language at all to call these things emerging operating systems." -- Operating Systems on the Web