Featured Post


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

Tuesday, December 18, 2007

Master Foo On Structured Documents

Friday, December 14, 2007


Every week now since April, 2001 I have been writing an article for ITWorld. For a couple of years they where about XML, then I switched over to a wider e-Business banner and, well, wrote about whatever took hold of me at the time.

Generally, when a new article is published on the ITWorld site, I blog it here. Some folks get an e-mail feed directly from the ITWorld site.

Anyway, I'm finishing up the E-Business articles for a while at the end of this month. I'm going to write stuff from a different angle for the next while on the same weekly schedule with ITWorld. I'll blog it here as before.

The plan is that some time next year, I'll switch again to something that ITWorld has cooking. More news on that later.

Wednesday, December 12, 2007

Leaving it to your imagination

Tuesday, December 11, 2007

Leveraging hardware errors

Sometimes, interesting things happen as hardware fails : Mars robot unearths microbe clue.

Aside: what a mind-blowing technical accomplishment the rovers have been! Initial mission duration estimate: 90 days. Days at last count : 1400 and there is life in the old birds yet. Amazing.

Monday, December 10, 2007

Words fail me

Words that lack sufficience.

Sentences that lack all adequacy.

Here: http://thekingdomkids.org/.

And here : Uncle Uche.

Saying nothing (outside of this) seems like the least inadequate thing to say.

Tuesday, December 04, 2007

Scratching and sniffing the ones and zeros

    "These days we pick up vast quantities of 1s and 0s. We still hand over the dollars but we don't get anything back in return. At least nothing that we can easily relate to with our senses. No lovely vinyl. No smooth and visually appealing packaging. Just sense-impervious electromagnetism." -- Scratching and sniffing the ones and zeros

Monday, December 03, 2007

Give One Get One : US and Canada only?

This is fantastic. You get one, and a kid gets one too. A tremendous way for all geeks to do something very positive, very easily.

But...when will I be able to do this from over here in Europe? The page says US and Canada only:-/

Thursday, November 29, 2007

Get 'em early

http://www.foops.be. Oh my.

Blogtalk 2008: Mashups, microformats and syndication

I will be speaking and chairing a panel at Blogtalk 2008 in Cork (Ireland) in March. The excogitative and ruminative locus of the panel will be Mashups, microformats and syndication

This isn't a device, it's a service

    "The emphasis in the industry is shifting from software/hardware as something to be owned and cherished and capitalized and depreciated to software/hardware as something to be consumed and rented and thrown out over time." --
    This isn't a device, it's a service

Tuesday, November 27, 2007

And more changes to the blog...

I have changed over to the new blogger stuff completely now. Using the blogger widget to show the archive. Using the built-in commenting system rather than haloscan. I'm using one of the default skins unchanged (for now).

The re-direct to feedburner for the feed seems to be functioning fine.

Hopefully, I can leave everything alone now for another five years :-)

Saturday, November 24, 2007

Simple API for XQuery - XQJ

As the use of XQuery explodes out there - thanks in large part to native support in "the big 3" enterprise RDBs[1] - the benefits of a standardised interface to it from programming environments becomes apparent. JSR 225.

There is a direct analogy here with SAX (Simple API for XML). Just as with SAX, I predict implementations of JSR-225-ish APIs in other languages. Unfortunately from a meme propagation perspective, XQJ bakes Java into the TLA. This nearly happened to SAX ten years ago. Yes, count'em. Ten years ago.

[1] Oracle 11g, DB2 Viper, SQL 2005

Thursday, November 22, 2007

Changing some stuff

I have switched the feed for this blog to "full". I do wish blogspot provided two feeds :-/

I'm playing with feedburner...effect unknown.


On the subject of time...WS-dammerung. Lessee...Also from 2004.

Time flies (dynamically) by

Wow. I cannot believe this summit was way back in 2004!

Tuesday, November 20, 2007

Where does all the time go?

    "we spend an inordinate amount of time in this industry lovingly hand-crafting systems so that they have the concept of time built in to them."
    Where does all the time go?

Tuesday, November 13, 2007

Paper doesn't dance

    "The paper mountains will stay with us until such time as write-only media become as common as today's hard disks. " -- Paper doesn't dance

Tuesday, November 06, 2007

Master Foo blowing bubbles

    "The valley below is full of examples of companies realizing real value on the back of what classical valuation metrics would classify as soapy, bubbly junk."
    Master Foo blowing bubbles

Monday, November 05, 2007

Friday, November 02, 2007

The biggest computer in the world?

Lots of ways of measuring it of course. It all depends on definitions of the word "biggest" and "computer".

Here is an interesting candidate that may surprise you.

Monday, October 29, 2007


I have always found that talk of steganography conjures up thoughts
of how the interpretation of 1's and 0's is sooo a matter of ones point of view.

Tuesday, October 23, 2007

The hidden costs of the multi-tasking software developer

Tuesday, October 16, 2007

Implementing the un-implementable

    "Item: Some computerization projects fail because computerization is actually impossible, but nobody knew that when the project started." -- Implementing the un-implementable

Monday, October 15, 2007

4TB in your shirt pocket?

Eventually, having 4TB of storage in your shirt pocket data device will be no big deal.

Hitachi guestimate 2011. Wow.

Jython 2.2.1

Jython 2.2.1 released. Fixes to a bunch of individually-small-but-important things.

Tuesday, October 09, 2007

Re-intermediating the dis-intermediated

    "The Web does not automatically result in dis-intermediation - even in areas where you would think dis-intermediation is very possible. It seems to me that in at least some areas, Web technology actively promotes the creation of extra layers of dis-intermediation. " -- Re-intermediating the dis-intermediated

Monday, October 08, 2007

New markup conference

I never did manage to get to any of the eXtreme events. Hopefully I will fare better with http://www.balisage.net/

I have looked at clouds from both sides now

    "Real world clouds exist at different distances from the earth from low to high. Now, think of the low clouds as network-space that is closer to you - your Intranet. Think of the higher clouds as network-space that is further away from you - the Internet. Clouds are very good at blurring boundaries. We can exploit that..."
    I have looked at clouds from both sides now

Tuesday, September 25, 2007

My PC has appendicitis

    "I remember learning at school that the human appendix does not do anything. It used to apparently. Something to do with cellulose digestion. We humans do not chow down on cellulose much any more. Not since we stopped roaming the prairies in our loincloths and chewing on the switchgrass. "-- My PC has appendicitis

Monday, September 17, 2007

Implementing time by expanding space in Web 2.0

    "The essence of the problem is time. Time has a nasty habit of moving inexorably forward. It is as if time is a dimension we need to add into some websites so that as time 'expands' forward, the website expands with it." -- Implementing time by expanding space in Web 2.0

Tuesday, September 11, 2007

Combinatorical Enterprise Architecture

    "It is those delicious moments - when the simplicity of pattern combinatorics replaces unruly complexity - that make enterprise architecture such a rewarding activity." -- Combinatorical Enterprise Architecture

Monday, September 10, 2007

IronPython in Action

The first part of IronPython in Action is now available online via Manning's early access programme. Go get it.

If you read this blog regularly...

...then you just might be a document-centric, architecture/design/develop person who knows about documents and cross-reference management and automated conversions and content change control and all that markup mullarky...

If so and you are in the market for a challenge, lets talk.

Thursday, September 06, 2007

Master Foo defines Enterprise Architecture

Tuesday, September 04, 2007

Barcamp Galway regrets

Unfortunately I have had to bow out of BarCampGalway thanks to an urgent need to be at 30,000 feet heading a lot further west than Galway :-(

Friday, August 31, 2007




Tuesday, August 28, 2007

Thinking, typing and the mysterious case of the missing printouts

Thursday, August 23, 2007

Jython 2.2!

Hey! Jython 2.2 has been released.

This is great news for Jython in particular, Python in general and for the JVM in perpetuity.

Wednesday, August 22, 2007

PDF and HTML: Splitting the difference

Wednesday, August 15, 2007

Long Bets

Long Bets eh?

Ok. I'll play.

  • HDF5
  • Scala
  • IDEs driven MetaProgramming (XML representations of ASTs, XQuery over source code, XML processing pipelines for source-to-source refactoring)
  • Second Life
  • Helium 3:-)
  • The rush of tools to the hand

      "The degree to which information technology can truly help problem X is inversely proportional to the enthusiasm with which the average young software developer approaches the problem." -- The rush of tools to the hand

    Monday, August 13, 2007

    Tuesday, August 07, 2007

    The message is the message

      "As ever in this industry, words play an important role in our collective misunderstandings. In this case the culprit is the word 'message'." -- The message is the message

    Tuesday, July 31, 2007

    IF this THEN oops!

      "For my own amusement, I have gathered together some of my favorite examples of nasty, ugly little facts that ruin beautifully simple "if...then...else..." theories. So, without further ado..."IF this THEN oops!

    Friday, July 27, 2007

    Point Solutions Revisited

      "I treat my head as the normative copy of my filing system algorithm. The real world is just the place I keep the physical files: not the filing algorithm itself."
      Point Solutions Revisited

    Tuesday, July 24, 2007

    Friday, July 13, 2007

    Spreadsheet entropy velocity

    If you spend any time with spreadsheets and wondering "how it is that simple spreadsheets can turn into a complex disorderly monsters almost overnight?" you should take a look at Resolver.

    What a great idea!

    Harnessing those 10 second chunks of human brain-power http://recaptcha.net/learnmore.html. Brilliant.

    Thursday, July 12, 2007


    I won't be at this years XML Summer School in Oxford unfortunately but it is clearly already shaping up nicely. For example, here Paul seems so suggest that I'm fond of "silly visual abstractions".


    Barcamp Galway date change

    Barcamp Galway is now Sat 22 September. One week later than originally planned.

    Wednesday, July 11, 2007

    The Just Use X club

      "If you sense some bubbling frustrations seeping through my words this week take ten bonus points for observation. I am doing my best to turn a full-on rant into a mildly excoriating admonition to the members of a group of semi-technical folk I call the Just Use X club..." -- The Just Use X club

    Tuesday, July 03, 2007

    "Intent" is not a number

      "Intent does not get digitized when the surface level content of the interaction is digitized." --"Intent" is not a number

    Friday, June 29, 2007

    Master Foo and document interchange formats

    "The precise meaning of the contents of a document is an attribute of the observer (the software) not the observed (the data)." --
    Master Foo and document interchange formats

    Wednesday, June 27, 2007

    Tuesday, June 19, 2007

    The rise and fall of the 'enterprise' class distinction

    Wednesday, June 13, 2007

    Behavior turds

    Pat Helland coins[1] a useful phrase : "Behavior turds". Imperatives masquerading as declaratives.

    The distinction between nouns and verbs is very fuzzy at the boundaries where I spend a lot of time. A key skill in Enterprise Architecture (a really *key* skill) is an awareness about the subtleties of human language. (Example: You have never, ever sent an e-mail. The bits you composed in your machine get copied - not sent - to the destination machine.)

    A lot of the REST versus WS-* babbelogue revolves around folk being divided by a common (human) language. If the phrase "System A sends X to system B" by far the most tricky and subtle word is the word "sends". I wrote about this some time ago : I'll push and you pull. The mashup approach to application integration and it will be the subject of my talk at Barcamp Galway

    I would suggest that an important part of any EAI architects training should be some quality time spent learning about Speech Acts, about Frege & Russell on is and the referential theory of proper names etc.

    [1] A self-referential giggle : The word 'coin'. An example in English of a noun used to coin a corresponding verb = the word 'coin' :-)

    Tuesday, June 12, 2007

    Climbing The Cognitive Wall: Human barriers to progress in IT

      "Using the most prevalent models for dealing with parallelism, massive CPU power corresponds to rampant, mind-bending non-determinism in the software that runs on top. Humans, by and large, have difficulty reasoning in the face of rampant non-determinism. It seems to me that this new "skill" is like asking people to rid their brains of susceptibility to phenomena like Wason Selection" -- Climbing The Cognitive Wall: Human barriers to progress in IT

    Wednesday, June 06, 2007

    Best of luck to Bill

    Bill de hÓra has taken an exciting position with Newbay. Best of luck Bill. Many moons have passed (about 60?) since that day at WWW9 Amsterdam when I was walking the floor handing the microphone to folks who wanted to ask TBL a question - you were one of them. Some time after that you joined Propylon and have been in the middle of a whirlwind of asynchronous messaging, app servers and content management systems ever since. You are probably best known out there for your work on ATOM but I'm sure you will be adding many interesting mobile-oriented strings[1] to your bow at Newbay who are very serious innovators in that whole Mobile 2.0 space.

    [1] Unicode strings of course.

    Tuesday, June 05, 2007

    The Grand Unifying Theory of Enterprise Computing: 2.0

    Sunday, June 03, 2007

    feisty Fawn in the year 2143

    To cut a long story so short that I won't even start it, I'm now running Ubuntu Feisty Fawn 7.04. So far, its excellent. Full-on EJW-compliant[1] install.

    One wee oddity...during the install I was told that my partition had not been fsck'ed in 49710 days and so an fsck was being forced.

    I honestly have no recollection of running an fsck in 2143 and then travelling back in my time machine to 2007 but then again...it would sure explain some of my weirder deja-vu moments.

    [1] EJW = "Everything Just Works"

    Friday, May 25, 2007

    Scraping the WS-* off the shoe

    Dare Obasanjo on WS-*. Both barrels smoking.

    Give a link, take a link

      "...On the Web however, it has historically been well nigh impossible to take links without giving some back. When you create a web page you cannot help but create a resource that others may in turn link to. ...
      With all the hair pulling about viable business models on the Web, increased tension between community and commerce is inevitable. The days of "Give a link. Take a link." may be numbered. In years to come, we may look back on the birth of Rich Internet Applications as the moment when community finally had to give way to commerce: for good or ill. "
      Give a link, take a link

    Dell Ubuntu Boxes

    Details becoming available.

    Half a million pages per hour

    That's some serious scaling right there. approx 8k hits a minute, approx 130 per sec...

    Thursday, May 24, 2007

    Wednesday, May 23, 2007

    Moore's Law and batteries

      "The days of passively waiting for better hardware to make your software go faster without doing any work are coming to an end my friends." Moore's Law and batteries

    Monday, May 21, 2007

    SOA - maybe now we are getting somewhere i.e. towards a definition

    For years I have argued that SOA is all about asynchronicity. SOA is all about temporal decoupling. Distributed Transactions is for the birds in the general case etc.etc.

    In the last, say, 2 years, I have backed away almost completely from the whole SOA thing because my notions of what an SOA is have not been shared by the majority-holding corba/rpc-with-angle-brackets exponents.

    It is refreshing to hear Pat Helland explain what he conceptualises as SOA. He is saying what I have been thinking, but he us doing it with much more authority and much better analogies that I could ever muster.

    Way to go Pat Helland.

    Maybe the SOA acronym is recoverable after all?

    Sunday, May 20, 2007

    Newbie Geek Strums #5...

    being a follow-on from Newbie Geek Strums #4 and its predecessors.
    • rsi: I think I'm okay on this score now. I took a break after I F-barre-chorded my way into trouble and built it back up slowly. I have taken steps to reduce wrist strain while keyboarding emacs all day and that has helped too.
    • emacs: I have grown nails on my left hand for fingerpickin' (a style that I am becoming devoted to). The long nail on my pinky was becoming a problem in emacs which is a
      pinky-intensive editor. Then it occured to me that I never pick a string with my pinky so I cut that one. My fingernail assymetry has now deepended but life in emacs is much easier.
    • physics: The physics of harmonics (natural, tap, pinch) has provided an unexpectedly interesting detour. I found some pinch harmonics on the high E string of my acoustic. Now it has all the dynamic range of a deep space vacuum on my acoustic but come the glorious day I get an electric, I'm looking forward to outdoing the local felines with my sqealies.
    • ear: My ear is changing and my ability to discern differences in pitch is definitely improving. I can tune my guitar to standard tuning given a correct high or low E and get the rest
      reasonably correct. A couple of months ago I couldn't to this.
    • playing over a chord sequence My ignorance of music was such that I didn't really grok what that phrase really meant. I'm beginning to get a handle on the relationship between vamps and lead lines and how music theory can guide you as to what goes with what. I got a backing track for a 12 bar blues in A... I played random notes from the A minor pentatonic on top of it... The lights went on in my head. I cannot do it yet. But I get it now. I see where I'm going now.
    • rag time finger picking:The zoo of fingerpicking techniques is completely fascinating. I can hobble a few pinch patterns and the odd hammer-on/pull-off. The bit that blows my mind at the moment is the rag-time technique of keeping an alternating baseline going with your thumb while simultaneously picking out melody notes on the treble strings. I don't have enough independent CPUs between my ears to handle all the independent - but synchronised - processes
      involved here. I need an Erlang upgrade for my head I think.
    • metamodels, onomies and ologiesThe "I,IV,V" chord notation is a meta-model. Maybe even an SGML-style architectural form...I can see the beginnings of a taxonomy of fingerpicking styles taking shape in my head...With a little bit of Python magic I can create my own software-based effects box....Argh! Stop!
    • useful online stuff: Mike Herberts, Justin Sandercoe, Next Level Guitar and Heartood Guitar all have great stuff available online. As well as oodles of great free stuff I have paid some real dollars to both Mike Herberts and Next Level Guitar for other stuff. A small amount of dollars well spent. My latest fave tool is Slomo Director from Mike Herberts which I can use to slow down and repeat segments of audio/video. I am using it a lot with Mike's videos at the moment but it will work with any wmv/mp3 source.
    • "establish the possible and then slowly move towards the impossible": I think that is a Robert Fripp quote. I know what he means now. Every month I find a new impossible thing. Every now and then it ceases to be impossible (which is good) but it is instantaneously replaced by something else which is impossible. All evidence suggests that this pattern repeats forever. Perfect knowledge is unattainable, the more you know the more you know that you do not know. All of that
      stuff. Take a deep breath and survey the infinity that always stretches out in front of you. I like that. The journey is the only reward because the road never ends.


    Friday, May 18, 2007

    Jython 2.2 beta 2 now available

    Congrats to the Jython dev's who have made Jython 2.2 beta 2 available for download here.

    Wednesday, May 16, 2007

    Tuesday, May 15, 2007

    A hardware/software inflection point

      "In the beginning there was the digital machine and it was good. Very good. So good in fact that people flocked from far and near to gaze upon its wonders and ask that most challenging of questions, namely 'Now that it exists, how can we program this thing without our heads exploding?'

      And thus began a journey on a long and winding road..."
      -- A hardware/software inflection point

    Wednesday, May 09, 2007

    Threads - ugh!

    [via Joe Gregorio] Guido takes aim at a well deserving target - the industry's current fixation with the notion that threads are the right way to handle parallelism:
      "Just because Java was once aimed at a set-top box OS that didn't support multiple address spaces, and just because process creation in Windows used to be slow as a dog, doesn't mean that multiple processes (with judicious use of IPC) aren't a much better approach to writing apps for multi-CPU boxes than threads.

      Just Say No to the combined evils of locking, deadlocks, lock granularity, livelocks, nondeterminism and race conditions."

    Amen to that.

    This threading thing erupts regularly in the Python world because of the Global Interpreter Lock.

    To paraphrase Jamie Zawinski on regular expressions: Some people, when confronted with a problem, think “I know, I’ll use threads.” Now they have two problems.

    Threading is the right answer in s/w dev in the same way that manual memory management is the right answer in s/w dev. In *extreme* nich areas you are gonna need it but if you use it day-to-day for everything you are in a world of pain - needlessly.

    This issue is, I think, the biggest issue facing s/w dev in the early 21st century. The h/w folks are steaming ahead with bazillion CPU cores in the offing while us s/w folk are largely rabbits in the headlights.

    Tuesday, May 08, 2007

    A little knowledge is a dangerous thing

    Saturday, May 05, 2007

    Thursday, May 03, 2007

    Why Grandma can use the Web : A cautionary note about RIAs

    The RIA acronym is steaming towards the mainstream at the moment. The Royal Irish Academy, Robotics Industries Association etc. are all taking second tier extensional status behind the Rich Internet Application meme. At least in tech-land.

    RIAs are great and I can see all sorts of powerful ways in which they can be used. But, but, but...please lets not forget Grandma

    Grandma can use the Web. No problem. Point and click. Does Grandma's user experience increase or decrease in a world full of RIAs?

    It could increase for sure but there is a clear and present danger that it will decrease.
    Hugh Winkler writes:
      "...if you're not pushing a bunch of hypertext down to my browser, you're not helping me explore the space."

    Thats a real important lesson we all should have learned by now. We all should be at least associate members of The Point and Click Preservation Society.

    I am fearful though. Put powerful UI widgetry in the hands of developers and it will be used. The tragic, timeless triumph of presentation over substance.

    Some day soon another TLA will need to be re-susitated. CUA used to mean "Common User Access". It was one of a number of initiatives to try to arrange matters so that Grandma could move from app to app, OS to OS without learning N*N application UIs.
    Then the web happened, and it one powerful hyper click, the problem was solved.

    Until RIAs came along :-)

    Wednesday, May 02, 2007

    REST and the process vs information integration confuzzlement and mashups to the rescue of the RPC-blech

    I agree with Tim that Microsoft showing signs of grokking REST is a good thing.

    Folks can get a wee bit post-modernist sometimes in intellectualizing REST. I am guilty of doing a bit of that because it hits on some many of my hobby horses: the relationship between proper nouns and query expressions, the relationship between regular and irregular verbs and why human language has both, the relationship between what is known as "information integration" and what is known as "process integration" and how mashups really crystallize the issues surrounding pull- and push-centric design.

    If I had to pick one para that, for me, gets to the heart of REST, to add to Tim's list it would be this:

    A lot of EAI which, on the face of it, appears to call for full-on, push-centric, reliable coupling of systems, can be recast in much, much simpler pull-centric form that requires nothing more than

    • A well designed information space mapped directly into de-referencable URIs
    • Proven, off-the-shelf HTTP tools and data formats
    • A simple, pull-centric, cache-friendly way of telling when something interesting has happened in the information space
    Oh, and if I was allowed to add a little footnote to my para it would be this:

      Anybody who things Mashups is just Google maps has missed the real point. This is understandable given the explanatory power of visualisations but the mashup phenonemon is about much, much more than just slapping data on a cool map. It represents nothing less, in my opinion, than a re-casting of the question "how to we integrate the business process in application X with the business process in application Y? Is there a dramatically simpler solution to the push-centric, trasactional, reliable once-and-only-once one that human language has a way of veering us towards?

      Most of the time, yes, there is. Start with REST and ask yourself this question: "if applications A and B both push out the information that needs to be integrated into HTTP space, can I integrate A and B just using, say HTTP GET and maybe some RSS/Atom eventing?". I predict you will be surprised at just how far that can take you. (Critical hint: Remember GETs are read only. If your business analysis tells you that A sends X to B. Recast that as A publishes X into URI space. B GETs X from its URI. If B cannot GET it for whatever reason, it just GETs it again.

    Tuesday, May 01, 2007

    From Thinkpad back to Dell?

    I used to use Dell laptops a lot. I think I had 3 Dells in a row.

    But ya know. I just lurrrrrrve my current IBM/Lenovo Thinkpad T42P.

    But if Dell will Feisty Fawn me out of the box. Well....

    Layering of VMs. DLR considered big.

    Conceptually, I very much like the DLR - Dynamic Language Runtime.

    It creates a sensible layered conceptual model in the heads of software developers that fits dynlangs on top of static langs which, in turn sit on top of bytecode. This is a good way to gently veer developers towards the power of dynlangs.

    I remember in the Eighties finding myself gently weened off direct 8086 assembler and into C because I could still code bits in assembly if I wanted to and "glue" them together with an over-arching C-based application. This preserved my ability to use assembler if I needed it but gave me significant extra flexibility and a productivity boost to boot.

    Same model today - just one level further up the stack of layers. Nowadays, you can (should![1]) be coding up whatever modules require C#/Java/C++ static typing directly in that language and then glueing the modules together in a dynlang framework. That gives you the ability to directly code in C#/Java/C++ when you need it but gives you significant extra flexibility and a productivity boost to boot.

    If I were operating in full dynlang propaganda mode I should probably stop now but I'm not so I won't. There is a further developmental stage to this model. It goes like this...
      At first, I used to code up modules in assembly and link them together with my C modules in an overall, C-based application.

      Over time, the number of times I would resort to diving into assembler got fewer and fewer. Eventually, I was coding end-to-end C applications. The drop in run-time speed was more than compensated for in terms of productivity.

    Now. Extrapolate.

    [1] In my opinion :-)

    More praise for design constraints

    Monday, April 30, 2007

    Python Meetup, London

    Well the snap Python meetup was fun. The Porterhouse Pub is something of a maze so I was glad I eventually found the table with the O'Reilly Book on it. Some folk who turned up later didn't find us at all, apparently.

    It was great to put faces to some (blog) names.

    My big takeaway from the evening: I worked in Financial Services in the City of London in the late Eighties. It wasn't fun (technically speaking) - 8086 assembler and C (if you were lucky).

    Today, well, lots of interesting Python stuff going on in the City. *Lots*. Most of it going on under the covers in the if-I-tell-you-I'll-have-to-NDA-you area.

    Its a fun time to be in the City if you are a Python developer.

    Sunday, April 29, 2007

    Bursty broadband making streaming video a pain? - A doh! moment

    My home broadband is very bursty at the moment. Bandwidth fluctuates wildly. Not a problem for, say, downloading stuff but a real pain for any streaming media like youtube video etc.

    Today, I filed the following very effective technique under "Doh! Why didn't I think of this before?".

    Start the video playback. Then pause it and go get a coffee. The stream gets buffered under the hood (you will most likely see a progress meter indicating how far ahead of the curent position has now been buffered.). Return with coffee, hit play and the stream will stream smoothly.

    Darn I feel stoopid to have suffered this for a while now without realising I could just buffer up stuff.

    Friday, April 27, 2007

    Publishing 2.0 + Alan Turing

    Publishing 2.0 was very enjoyable. I picked up some interesting perspectives/twists/thoughts on the future of "traditional" publishing - mostly from an STM perspective. Congrats to Alex, Eamon etc. on another great event.

    The venue was probably the most spine tingling one I have ever been in for a tech. conference. Bletchley Park. The ghost of Alan Turing walking around the huts. The clickity clack of colossus. Turing of the famous test. Turing of the limits of computability. Turing who took Wittgenstein to task on the Phil of Mathematics (and survived). Turing of Cryptonomicon.

    A very enjoyable day.

    42 = f(x). Therefore f(x) is?

    For 365 days from now - if an indifferent universe will suffer it - I will eff the ineffable. If my current age is the answer, then what was the original question?

    Tuesday, April 24, 2007

    Barcamp Galway: Mashing up the Enterprise: Why Mashups/REST/RSS change *everything*

    I have put a more pointed title on my planned talk for Barcamp Galway in September.

    My plan is to develop some of the thoughts that went in to
    I'll push and you pull. The mashup approach to application integration

    Note to anyone from outside Ireland who might be thinking of doing Barcamp Galway as part of some bigger trip around this part of the world : Galway is a great place to spend a weekend.

    Going forward, going backward, changing

    Monday, April 23, 2007

    PyCon UK

    The PyCon phenomenon comes to the UK : PyCon UK. Great. I will try to get over to that event.

    Barcamp Dublin : slides and thoughts

    Barcamp Dublin was a fun event. Great location (once you get inside the building), terrible WIFI (for *any* place - never mind for a Digital Hub) but a great space that gradually filled up with interesting people with interesting things to say and all sorts of synergising banter going on. Very high content to fluff ratio.

    I had to head home to the metropolis of Sligo afterwards so I missed the pub bit which I'm sure would have been equally good - and probably had better WIFI.

    Early on, Joe Drumgoole pointed to the smallest of the three meeting rooms and said something like "all of you who want to talk about Java and XML and whatnot, go in there". So, I grabbed the bull by the horns and ended up speaking first with a free slot that I was able to flow into after my official slot.

    Time flew. Although my talk was mostly about Jython but - thanks to an interactive audience -strayed over much wider territory: Java, static typing, IDEs, Erlang/Shared Nothing, the GIL, Star Wars, Sun Hardware, Second Life Scripting, Mono, Rails, IronPython, Agile Development, Web 2.0...

    The slides only dimly reflect what we talked about but here they are : in OpenOffice format and PDF format.

    Some items I noted
    • Atom was not mentioned even once. Never. I don't know if that is because RSS is the collective noun for syndication formats or because nobody there has Atom on their radar or becuase it just never came up.
    • The word "Ruby" was never mentioned on its own. The Teutonic noun Rubyonrails was always used. The more I hear about it, the more I think "Lotus Notes done right". By contrast, TurboGears and Django when mentioned were always distinct from Python the language and there were many references to Python that had nothing to do with RAD for database-oriented webapps.
    • There is a sense in the blogging community that there will be a lot of social media usage surrounding the upcoming Election that may awaken mainstream consciousness to the power/implications of all this Web 2.0 geeky mullarky.

    Finally, did I mention that the WIFI was terrible?

    Thursday, April 19, 2007

    Python Meetup in London

    Simon Brunning has organised a snap Python meetup for Wednesday 25th. Great! I will head straight to the Porterhouse when I get back down from the publishing 2.0 event in Bletchley.

    Tuesday, April 17, 2007

    The guts of OLPC tech

    Thanks to John Heffernan for this Google video link.

    The bearded Dutch guy who does the intro looks vaguely familiar :-)

    The web and the word processor

      "The missing piece is that the Web has no concept of a 'collection of small documents that can be edited/browsed/searched as a unit'." -- The web and the word processor

    Monday, April 16, 2007

    Dynamic Languages at JavaOne

    There will be a BOF for Dynamic Languages at this years JavaOne.

      Session ID: BOF-2958
      Session Title: Dynamic Scripting Languages BOF
      Track: Java SE
      Room: Gateway 102/103
      Date: 09-MAY-07
      Start Time: 21:55

      Abstract for this BOF:

      Java 6 introduces native support for dynamic scripting languages (JSR 223, scripting languages and Java technology.) This BOF session brings together leaders, users, and critics from the Jython, Groovy, PHP, Ruby, and many other scripting camps for an exchange of ideas to develop a common understanding of the state of the art and practical examples of using dynamic scripting languages to solve problems.

    I really must get to one of these JavaOne events. The year-on-year increase in interest in dynamic languages continues apace. This year is probably out of the question. Perhaps next year...

    Friday, April 13, 2007

    London meetup?

    I'm in UK for Publishing 2.0 on Wed 25th April and will be overnighting in London on Wednesday, back to Dublin Thursday p.m. If anyone out there wants to meet up in London on Wed night or on Thursday morning/lunch, get in touch.

    Thursday, April 12, 2007

    I'll push and you pull. The mashup approach to application integration

      "...If you are thinking that this makes REST look more and more attractive, especially the plain-old-GET bits, then I'm right behind you.

      If you are thinking that all the loud barking from the Web Services standards world to solve the problems of push-centric design might be barking up the wrong tree, I'm right behind you there too."
      I'll push and you pull. The mashup approach to application integration

    Tuesday, April 03, 2007

    Re-purposing: the new king of content?

      "Since the dawn of time people have used their higher order faculties to creatively re-use the content created by others. Also since the dawn of time, people have used their higher order faculties to spot such re-use and take whatever action they deem necessary.Re-purposing: the new king of content?

    Monday, April 02, 2007

    Barcamp Dublin Jython Talk

    So yes. Ehm. Where was I?...

    Oh yes, I will be talking about Jython at the barcamp in Dublin. I will be talking about how Jython can make some of those pondorous enterprisey applications out there get up on their pretty little tippy-toes and dance around like sprightly, gamboling, agile, 21st century web apps. Odd isn't it...that glue languages unstick things so well...

    Friday, March 30, 2007

    Open Source, Open data, Process Models

    A while back I argued that Open data is more important than open source.

    Dave Megginson has posted that your data is the next big battle. This is a key point. Its good to see the debate moving to this important question.

    I'm hoping that as part of this, folks will begin to think about how process models - as opposed to traditional source code - might provide a better way of "open sourcing" key information about how open data is processed to produce particular results e.g. WYSIWYG renderings of documents.
    ODF, I think is a good forum for this. As ODF grows and grows, the gap between what any ODF compliant application does interpreting the data, and what is explicit in the data - will need to be filled.

    Traditionally, reference implementations (i.e. traditional source code) has been the way to do this. "Running code" is the final arbiter.

    Maybe this is as good as it gets? Unfortunately, a fully blown word processor runs to many, many thousands of lines of code and the semantic devil is buried way down in the details...

    Linux pre-installed on a Dell laptop

    I'm currently a very, very happy Lenovo Thinkpad user but if Dell
    offer me Linux pre-installed on one of their boxes, I would be very inclined to go back to Dells.

    Tuesday, March 27, 2007

    Application Research

    Identity management and virtual worlds

      "Virtual worlds are on the rise all over the world. The 'new' thing called the Web has met its first serious challenger in the form of immersive, 3D environments..." Identity management and virtual worlds

    Monday, March 26, 2007

    One Python Per Child

    The fact that the One Laptop Per Child makes extensive use of Python in Sugar etc. is, well, potentially massive actually.

    Saturday, March 24, 2007

    Geek Strums #6

    Following on from the last update.
    • One weekend, not so long ago, I overdid it and it triggered wrist pain. There seems to be a hysterisis element to damaging yourself with a guitar that I wish I'd known about. I.e. you don't realise you are doing damage until afterwards. It feels fine when you are playing and if you are having fun, its hard to stop and take a break...

    • Related to the above. To build muscle memory in your fingers you need to repeat actions over and over again. Fine but I suggest spread 'em out a bit so that you are not lining yourself up for an RSI attack. Especially if you spend most of the rest of your waking hours kitting Emacs chords :-) I over did it by spending ages working on G-CAdd9-D-CAdd9-G for Time Of Your Life (Green Day) and E7-F barre chord for Major Tom (David Bowie).

    • I am making progress with the theory side. Some time ago, I wrote about the fourness of four being the least interesting thing about the number 4. Today, I would substitute 4 for 3. Lets see... do you mean the third note in a scale? How about the semi-tone distance of a third? Do you mean a major third or a minor third cos the former is kinda like 4 in disguise... Or do you mean the third chord from the diatonic chord set? By the way are you counting up or down?. Or maybe you mean the third inversion? Or maybe the 6/5 chord which is a first inversion of a seventh in which the third is implicit?...As ever, context is king.

    • My fingerpicking is running ahead of my ability to change chords fluidly. This is incredibly frustrating. From my picking hand I hear pleasant, nippy, Simon and Garfunkesque arpeggios for C chords, G chords, A minor chords and then pregnant silences as my right hand hauls itself through the chord changes.

    • Its great fun though. Highly recommended.

    Tuesday, March 20, 2007

    XML and the document format mind bender

      "It is entirely possible to have all the benefits of XML and yet retain the ability to just use user friendly, commodity off-the-shelf tools. However doing so - especially with complex document-oriented information - requires something more than just slapping an XML label on the file format." -- XML and the document format mind bender

    Wednesday, March 14, 2007

    Tiling an A3 image onto multiple sheets of A4 with Linux

    I'm constantly amazed at how rapidly Google finds free Linux utilities that do what I want to do. Some of them very, very obscure. Its one of the really nice things about running Linux day-to-day as one's main environment.

    Yesterday, however was different. Yesterday I wanted to find some way to print an A3 PDF on multiple sheets of A4 paper. This is one of those things that sits of the border line between (a) the originating application (b) a stand-alone utility and (c) the printer driver.

    I have a multi-stage process that works but is not for the faint of heart. Have I missed something?

    Publishing 2.0

    I will be doing the keynote presentation at Publishing 2.0 on Wednesday 25 April 2007 in Bletchley Park (yes that* Bletchley Park: Alan Turing, Enigma machines, all that) in the UK.
    The event is being organised by XML:UK. I have attended a couple of previous XML:UK events and thoroughly enjoyed them. This will be no different I'm sure.

    I will be talking about how a whole series of mini-revolutions currently ongoing in the publishing space add up to a much bigger bang than the three previous electronic publishing revolutions : (1) electronic production for paper (2) CD-ROM distribution and retrieval (3) Web distribution and retrieval.

    Number (4) is a humdinger. Come to Bletchley and we'll talk about it.

    Linux pre-installed on a Dell box (or any other box)

    click here to help make it happen. If Dell can find a model that makes this work for them, you can be sure that other vendors will follow suit. This here snowball needs to start rolling down the hill. You can help get it started.

    Thursday, March 08, 2007

    A logo for REST

    Whoa.See top right under the date stamp.

    Thanks to my geek strumming adventures I grok the logo (If that is what it is). Even if I didn't grok it, its kinda pretty.

    Maybe REST was assigned a logo and I never noticed?

    Tuesday, March 06, 2007

    Home truths about computing

    Saturday, March 03, 2007

    Newbie Geek Strums #5

    Following on from the last update

    • I can hit F's and B's using barre chords - but too slowly to
      strum anything other than the sound of paint drying.

    • I am having difficulty picking up very thin and flat things - like stamps and plectrums and paper clips - with my right hand. As a lefty, this is my fretboard hand resulting in (a) practically non-existent nail protrusions over my fingers and (b) leather like skin at the tips of my fingers. (Imagine picking up a paper clip while wearing a glove...That is what it feels like.) The nails on my other hand I have let grow longer in order to finger pick. This new assymetry is weird and takes a bit of getting used to. The feel of a computer keyboard
      changes for example. I'm hitting some keys with my nails (left hand) and others with skin (right hand). I've switched to dialling numbers on my cellphone with my right hand...

    • I can hobble through quite a few songs now as long as they involve mostly open position chords of the minor, major and seventh varieties. I have started to get some fludity in basic finger and strumming patterns. On a good day, I can do basic Travis picking. It is very interesting watching how this finger picking process works mentally speaking. I switch my conscious mind to my left hand, put the pattern in motion and then switch my conscious mind to my right hand, leaving the left hand on some sort of auto-pilot. It is starting to
      work for me and it feels very, very strange. If only parallel-programming worked this way...

    • When physical frustrations kick in or I find myself with time but no access to a guitar, I switch into theory mode. I'm a sucker for abstractions so its probably no surprise to anyone who knows this stuff that I have ended up scanning through stuff on neo-Riemannian theory and Pat Martino's (mind blowing) take on the organisation of the fretboard in The nature of guitar.

    Oh, and finally, I wanted something to bring with me on my regular overnight stays in Dublin so I got one of these Traveler Escape Steel - the only travel guitar I could find with a lefty model. Fantastic fun.

    I realise this puts me on the slippery slope towards full-on Gear Acquisition Syndrome...

    Friday, March 02, 2007

    It's not what you know, but who you know

      "...an interesting tension exists in the knowledge economy between the Internet as a self-help tool for finding specialist knowledge and the Internet as a tool for the selling that same specialist knowledge.--It's not what you know, but who you know

    Tuesday, February 27, 2007

    In praise of parasites

      "The Law of the Parasite: 'As an enterprise IT application approaches mission criticality, the probability of it being a host to one or more parasitic Enterprise Applications approaches 1.0.'" -- In praise of parasites

    Wednesday, February 14, 2007

    Even a derailed train has a lot of momentum...

    Ten XML Predictions for 2007 from ERH. I agree with some of them, disagree with others. The title of this post comes from one of the ten that I agree with...

    Tuesday, February 13, 2007

    DIY dentistry...

    ...masquerading as music

    The Next Big Programming Language

    Steve Yegge identifies the attributes that he believes the Next Big Progrmaming Language will have without naming any names.

    In my opinion, the next big programming language will not be a programming language

    Monday, February 12, 2007

    Just spin up lots of threads and mutex access to stuff when you need to!

    this looks great.

    However, the prevailing wisdom for how you might program such a thing fills me with terror.

    Ubuntu VMWare The Kernel Upgrade Dance

    I use VMware under Ubuntu to run Windows XP and I'm very happy with it. However, from time to time (like last week) an Ubuntu upgrade gave me a new kernel version (2.6.15-28-386). When this happens, the VMware installation goes 'castors up'.

    To get VMWare working again it needs to be re-configured by re-running the usr/bin/vmware-config.pl script.

    Before doing that, you need to grab updated headers with something like this:

    sudo apt-get install build-essential linux-headers-`uname -r`

    Accepting the defaults for everything works fine except for the location of the Linux headers. You will want to feed it something like this as the location of the headers:


    I keep forgetting this which is one of the reasons I'm blogging it here.

    If you are looking for a cheap way to run Windows under Ubuntu, the free version of VMWare server is well worth a look. Just remember the upgrade dance when your kernel version changes.

    Saturday, February 10, 2007

    "1 ]|_|57 |_34|2/\/3|) \/\/|-|47 1337 /\/\34/\/5." = Line Noise?

    Nah. Kids today with their fancy wifi networks wouldn't know line noise if they saw it anyway.

    Nay. Truly I say unto you that this has meaning: 1 ]|_|57 |_34|2/\/3|) \/\/|-|47 1337 /\/\34/\/5.

    It means "I just learned what leet means".

    I'm getting old.

    Friday, February 09, 2007

    Jon Udell on IronPython (+ a Jython update)

    Jon is right of course.

    Dynamic langauges will be a key part of the mix of any self-respecting technology "stack" going forward and Python makes is a darned good, mature, cover-all-the-bases candidate.

    Jon describes IronPython as 'compelling'. I agree. It is shockingly good.

    As the laws of random chance would have it, Beta 1 of Jython 2.2 has just been announced by Frank Wierzbicki.

    Thursday, February 08, 2007

    Barcamp, Dublin, April

    Hot on the heels of signing up for Barcamp, Galway...I have signed up for Barcamp Dublin in April. I hope to talk on jython at that one.

    Wednesday, February 07, 2007

    The fourness of four

    Barcamp Galway has moved. See you in September rather than July.

    And so it has come to pass that the three-ness of three hath given way to the four-ness of four and yet it leaves its mark on the number which came before it.

    At least it did at the time I wrote this. Will is ever be so? Probably not.

    Ah, the insurmountable impotence of numbers, the nasty realities of naming things in the real world...Master Foo what say you?

    Barcamp, Galway, July

    I have signed up for Barcamp, Galway this July. I have floated a presentation topic on "Web Services, XML, AJAX yada, yada : Spotting the forests from the trees".

    Tuesday, February 06, 2007

    The Whac-A-Mole approach to information management

    My topic this week on ITWorld is change as a information management survival tactic :
    The Whac-A-Mole approach to information management

    Monday, January 29, 2007

    Mixed Content : Trying to understand the JSON thing

    Doug Crockford on JSON. I see a lot of this JSON v. XML stuff going on...most of the time, mixed content doesn't get considered in the discussions. I don't see it mentioned in Dave's writing but I could be wrong...

    Anyway, I think MIXED CONTENT is verrrry significant and gets to the heart of the difference between XML and ... most other data representation languages.

    Here is XML's sweet spot (using square brackets to keep everything un-mungable by the angle-bracket chewers in my current tool chain):

    [p]We [b]wish [i]you[/i] and yours[/b] a happy XMas.[/p]

    XML of course, can also do this kind of data (again using square brackets for simplicity):


    There are a trillion and one ways of representing the latter, most programming languages do it out-of-the-box. Here it is one way to do it in Python:


    Representing this latter type of data - fielded data - directly in a programming language syntax by-passes a bunch of "XML Situps" that would otherwise be required to marshall it in and out. Such techniques have their place. I use them all the time.

    Handling the former though, requires what XML provides : mixed content.

    If you absolutely, totally, never, ever will need mixed content then there are sane alternatives to XML. There always has been. from humble CSV up to fancier JSON/Python/Ruby direct data expression languages. If you want to use XML but long for an API that mirrors the simplicity of the XML subset you are using, use something that takes an elementtree style world view.

    A huge chunk of the world doesn't need mixed content or even know what it is. They are the folks who look at the XML apis and wonder "why is this so difficult?", "where is the get_field_value()" function...

    I think we missed a trick early on in the XML days. Its too late now I suspect. We should have provided some way for an XML document to indicate data-centric content as opposed to document-centric content. That way, tools could swith to "obvious" field-oriented APIs (like RAX) for data-centric applications without loosing the powerful enabler of a single unifying syntax for open data representations.

    It has always been a source of worry that folks with perfectly good relational data sets have felt compelled by buzz-pressure to put their content into XML - very little gain in the general case.

    However, it has also always been a worry that a significant portion of XML's users think it is too complex because they do not, day-to-day, have to handle the mixed content case.

    XML is, and always was, a document centric data representation language. See Mixed Content Myopia.

    Now it can be argued that mixed content XML can be finessed into a field-oriented world view of sorts like this:

    [p][text]We [/text][b][text]wish [/text][i][text]you[/text][/i][text] and yours[/text][/b][text] a happy XMas.[/text][/p]

    True but (a) it sure is hard on the eyes. Maybe that's not a killer problem in these tool-centric days but (b) is a doozy:-

    With the text element trick, there is no way to *name* individual text nodes uniquely. get_field_Value() doesn't make sense. All, in all, it just ain't worth it.

    Hence, mixed content. Hence XML. If you need mixed content you really need it. If you don't need it, sometimes you cannot even conceptualise the problem it solves. And yes, mixed content totally complicates the lives of those who are using XML for data-centric applications.

    The "standard" APIs of DOM and SAX handle the general case. They are extremely sub-optimal for the very common data-centric case. We have no current standard way to differentiate the former from the latter.

    It would be a shame if this resulted in a "fork" in the road with fielded data, yet again, going off on its own trajectory with document-centric data staying on the XML road. Too much good stuff to be lost that way.

    The nut that needs to be cracked to stop this happening is the Mixed Content Case nut.

    Tuesday, January 23, 2007

    Master Foo and the naming ceremony

      "Today's batch of software engineering disciples had carried heavy payloads of anticipation up the mountain. Some galvanized their exertions by dreaming of Samurai inspired names such as Oda Kouzukenosuke Owarinokami Nobunaga. Others dreamed of European inspired names such as Blaise Babbage The Elder. Still others ventured further afield with dreams of names like Ustad Hexwielder The Unbound or the swashbuckling Bus Grant - Ostiary of the Noosphere."...Master Foo and the naming ceremony

    Sunday, January 21, 2007

    Newbie geek strums #4

    Further on the Mewbie Geek Strums theme...

    Well, progress has been slow but the journey is proving its own reward
    • I can now bludgeon my way through some simple strumming three-chord trickery. I can hobble through some alternating base flat picking and some simple finger-style patterns.
    • I now understand why the E Chord is called that even though it does not involve touching either of the two E strings :-)
    • I now have a basic understanding about the relationship between chords and scales.
    • I now understand why Homer Simpson playing with a group called the B Sharps is amusing.
    • I can see faintly on the horizon how I might eventually be able to do barre chords by taking advantage of the fact that there isn't a single barre chord shape that I have come across that actually involves clear ringing on all six strings at the same time from the index finger. I sure wish more of the tutorial stuff would point this out.

    Now for some gripes

    • Music notation seems to have the worst case of operator overloading of any notation I have ever come across. letters like "C" can refer to a shape, a chord, a tone, a note, a scale...depending on context.
    • Music notation is a set of off-by-one-errors/fences'n'gatepost errors waiting to happen. If ever an interval counting system could benefit from 0 based addressing, this is it! Instead we have "thirds". Hmmm. Now do you mean the item at offset 2 or are you counting from 1 and do you really mean the fourth item? Even if you get this sorted you have to deal with the fact that "thirds" might mean "major thirds" which, unlike "minor thirds" are actually probably "fourths" - or something - depending on how you count. On top of that, the entire naming system repeats in cycles up and down the octaves which makes it a *perfect* for modulus based arithmetic but no, that would be too easy...
    • There is a whole lot of mutually incompatible information out there about music in general and guitar seems to have a lion's share of it. Some examples:

      • chord diagrams that show D Major with 5 played strings and others with 4. (I now know why this can occur but it confused me greatly for a while).
      • Books/Web Pages that announce "There are two basic barre chord forms A and B."
      • Books/Web Pages that say "C Major is this 5 string shape" while others say "C Major is this 6 string shape". (I figured this one out too eventually.)
      • Videos that talk about hitting four strings only for D Major and then show you how to do it *but* actually play all SIX strings, using a thumb on the sixth string. (I figured this out too eventually).
    Some non-gripes

    • The language of music is all the more intriguing for its
      weirdness. Just like so many other long established semiotic
      systems. Much of the weirdness is I think, traceable back to the naming convention for the C Major Scale with its straight A to G and its nice simple gaps of two semi-tones...except for the EF and BC pairs. Its as if version 0.01 of the naming convention just stuck and was never re-factored even though the app is now at version 20.0.
    • Finally, of all the video-based tutorial stuff I've been playing with and the DVD's I've bought, I find Mike Herberts
      no-nonsense, watch-n-learn stuff very, very useful to have
      side-by-side with the more theory-oriented stuff. The two-camera setup he uses is extremely helpful in figuring out what is going on.

    Thursday, January 18, 2007

    Tuesday, January 16, 2007

    Chaos and order in information systems

      "We speak negatively about information that is 'all over the place' or 'scattered'...On the Internet, it is not bad that information is 'all over the place' or 'scattered'" -
      Chaos and order in information systems

    Friday, January 12, 2007

    Create a website, get an API for free!

    Paul Downey's short presentation is well worth 5 minutes of your time if you are interested in web application architecture/design.

    Tuesday, January 09, 2007

    The age of uber-tooling in software development

    The age of uber-tooling in software development - some thoughts on the emergence of a select group of big honkin' IDEs, exherting considerable gravitational force, at the center of the programming universe.

    Monday, January 08, 2007

    Saturday, January 06, 2007

    Creeping featurism : OpenOffice?

    The wikipedia entry for Creeping featurism uses OpenOffice Writer as an example.

    Hmmm. I can think of more worthy contenders to exemplify the phenomenon.

    Tuesday, January 02, 2007

    Asset stripping meets the web dividend

      "Most of the time, the web dividend accrues as an accident. A sort of happy, innocent, unavoidable result of a technical limitation of the web. To put the limitation in its simplest possible terms, the web works best with small documents." --
      Asset stripping meets the web dividend