Sean McGrath, CTO, Propylon

Sean McGrath's Weblog.

Saturday, October 30, 2004
    Code, data, dynamic languages, gmail and bootstrapping a GUI
So, the hunt is on amonsgt the perspicacious blogopuli to classify what kind of a thing Gmail is from a GUI perspective.

I haven't looked closely enough to comment but, since that never stopped me before, I'll comment anyway :-)

GMail looks to me like a classic bootstrap. I suspect that on the server side there is a model of the client side expressed in domain terms - concepts like inbox, e-mail composer, contacts list and so on.

When a client connects, it effectively downloads an implementation of that model. Once in situ, further conversations between client and server can go up a notch - expressed in terms of domain specific concepts "render the inbox will you? There's a good chap" rather than "At X,Y render a blue box...".

Web clients carry around a basic, low level programming language called Javascript. The real beauty of Javascript is that it is dynamic - you can blurr the distinction between code and data. You can hoist the level of abstraction you work with in your app by layering domain specific concepts on top of it in the form of functions and data structures. You can sling across data structures already teed up for use on the other end with the aid of the magic of "eval". You can implement complex behaviour by sending across a program to be run rather than trying to explain what you want done declaratively to the other side.

Now, in such a world - would you send XML data to and fro? Developers with a static typing programming language background might be inclined to say yes but I suspect javascriptophiles, lispers, pythoneers and rubyites are more likely to say no. Reason being, it is so much more natural to exchange lumps of code - mere text strings remember - that can be eval'ed to re-create the data structure you have in the XML.

In my opinion, there is more power in that one idea than in the whole minatory miasma of WS-GetAGrip.

posted by Sean 2:18 AM
. . .
Thursday, October 28, 2004
    Read this
Read this.
Best wishes Mr Helland.

posted by Sean 1:53 PM
. . .
    Very useful Jython tutorial from Barry Feigenbaum (and Jython status update)
See for links to a substantial Jython tutorial from IBM's Barry Feigenbaum.

Also of note is that work on implementing new-style classes in Jython - key to the 2.2 release - is ongoing and Samuele Pedroni is aiming for a 15 November check-in of the new branch into sourceforge. Once we get that in, progress in Jython-land can proceed in multiple parallel-roads at once e.g. core language work, library work, build system work etc. etc.

posted by Sean 2:25 AM
. . .
Wednesday, October 27, 2004
    Thus spaketh Ganesha + Minerva + Thoth!

    "Namespaces are close to a disaster [but not quite, that dubious honor goes to W3C XML Schema]

Yes. Oh yes. Oh scrummy, knock-me-down-with-a-feather yes :-)

posted by Sean 10:12 AM
. . .
Tuesday, October 26, 2004
    Hopeless seeker of generalizations goes off the deep end
    "Being a hopeless seeker of generalizations, I cannot help but wonder where this phenomenon will take us next? It appears as if a meme has taken shape around the use of the word 'planet' so it might be no harm to extrapolate the analogy for guidance as to where we may be headed."

No. I'm not going to give you a hint. The rest is here.

posted by Sean 6:16 AM
. . .
Monday, October 25, 2004
    Pet geek peeve #1
I *hate* it when a book/FAQ/tutorial says:
    "open the file foo.baz with your favorite text editor."
    "decompress the sample files with your favorite compression tool."

Favorite? What has favorite got to do with it? It is my business if I choose to use the programs I most hate on the planet to edit the files or de-compress the archive.

Ooops! I feel a literal-interpretation spasm coming on.

    Cannot... find... favorite... text editor... cannot... complete... tutorial...panic! panic! \n@@+[*Houston. We have a problem.@+_\n

    Attribute nodes and children first into the life rafts. Abort, abort! Wrrrrr. Click. Wrrrrr. Click.

posted by Sean 9:03 AM
. . .

. . .
Weblog Commenting by