All posts made in Apr. 2002:

Net::OSCAR Perl Module: Another AOL Instant Messenger module, but this time using the newer (more complex) OSCAR protocol instead of TOC. The interface is styled on Net::AIM for familiarity.

A Handbook for Technical Writers and Editors (Grammar, Punctation, and Capitalization) [via ia/]. A styleguide for clarity and consistency.

The Elements of Style: English usage reference book, from 1918. (Looking at this 2000 edition of Elements of Style, it's surprising to see some of the things I take for granted that were worthy of being put in a reference book as recently as 80 years ago: "Form the Possessive Singular of Nouns by Adding 's", "Use a Dash to Set Off an Abrupt Break", and "In a Series of Three or More Terms with a Single Conjunction, Use a Comma after Each Term except the Last" [although I disagree with the last, I learned it at school].)

Newsblaster automatically tracks events in the news, and authors summaries of the stories. Good application of natural language processing.

Upsideclone went up a couple of days late this week (sorry), but it's there now and it's really good: The Contest by Tyrethali.

Rudyard Kipling's Mandalay. Good.

Gallery of cool 404 Not Found pages.

(Brief plug: You, Reader, should consider writing for Upsideclone. Creative writing, weekly.)

Tom gets caught out trying to cut-and-paste between different computers. I do that the whole time. Very frustrating. The clipboard shouldn't be on the computer, it should be stored on a ring on my hand so that when I copy it's uploaded to my finger. And then I change computer, and paste, it's downloaded from the ring through the mouse and onto the new computer's desktop (or wherever). I mean, of course. Bluetooth could be cool for this.

It's become fashionable to bash Web services and SOAP recently. Web services have been surrounded by far too much hype. SOAP is derided by developers as slow and over-complicated. Here's the back-backlash: The early adopters are naturally going to think SOAP is over-complicated because they could do it all themselves. But sooner or later you've got to get tired of doing the service requests by hand, of coding fault responses, of writing custom parsers for the return documents. And if you're not such a hard-core developer, those requirements constitute a high barrier to entry -- the freely available SOAP modules make life a hundred times easier.

And development time isn't all that matters. What you get with SOAP + WSDL is a reasonably standardised way of documenting your service, in a way that can be attached to a contract. And because it's all objects and method calls, there's a shared language to express Service Level Agreements in. Both of which are extremely important before a technology gets adopted by business. Web services do make life easier. The fact that SOAP is used makes it possible to implement commercially.

My favourite thing about Web services? I can get on with what I want to do (recombine things in interesting ways) without pissing around cleaning up malformed things to make them recombinable. It's the same reason I don't build my own computers, the same reason I use a Mac, the same reason I like science. Standing on shoulders.

Reader Alex Robinson comes up with the goods: X Font Info is a freeware utility to preview uninstalled Mac OS X fonts. I've already associated all my font filetypes with it. Ideal.

Question: Is there a utility for Mac OS X to preview uninstalled fonts? Hunting...

Interesting. Easel is a programming language to simulate emergent behaviour. You define actors with behaviour, and run them in a simulation to examine effects. The epidemic example lets you read the code (defining how the actors behave, in this case individuals who move around and may or may not be infected), and view the output of a simulation run as a Quicktime movie. (Easel is currently Mac OS only.)

Work that's currently being done in voice-based automation comes in two flavours: recognition technology and interface design. Machine voice systems are moving on from the traditional menu hierarchy ("For Customer Support, say 'Yes' now") to a more intuitive (familiar) design. A lot of the lessons being learnt there are equally applicable to Conversational User Interfaces [CUI] (and, I imagine, vice-versa). See AT&T's How May I Help You? voice research, and especially the research paper "Designing User Interfaces for Spoken Dialog Systems" [PDF, at the bottom of the page].

It's at this point you should also go away and read The Jack Principles -- in short, how to direct the conversation so a user will never be in a position to ask a question the machine can't answer.

Technical Writing, online textbook.

How fonts are spaced. Very interesting. [Thanks Phil.]

(I don't say very much in this interview, Search the Web via IM, at It doesn't seem I'm any good at this publicity thing.)

"He almost said something, opening his mouth to offer a comment like "That's not bad" or "I like the contrast between the texture of the fabric and the wood". If he had, the trouble might have been avoided."

Utterly wonderful new Upsideclone by Holly Gramazio today. You really should read A Tale of No Watermelons.

"Moreover, it is now clear that the key events in Prague on 17 November 1989 involved a classic Provakation. Since the dissidents were not capable of stirring up the necessary discontent to persuade the party's leaders to change, the secret police (StB) had to organise the protest itself. Of course, the many students who took part in the demonstration (recalling an anti-Nazi protest fifty years earlier) were moved to take part by the events in neighbouring East Germany. But the key event, the so-called 'Massacre', was staged. The dead student, Martin Schmid, turned out to be alive and well and a serving undercover officer of the StB. His 'beating to death' was the spark for further mass protests and the downfall of the hardliners in Prague."

- an intriguing paragraph from Virtual History, in the chapter analysing the fall of Communism. No references, unfortunately.

"It's official - Microsoft owns the UK's Government Gateway" say The Register. I'd have to disagree.

The UK Government are doing a lot to improve interoperability between the citizen, local government and central departments. For the most part this is started in something called the Government Data Standards Catalogue, a comprehensive directory of data elements and their validation rules (eg, structured and unstructured addresses, NHS numbers, sex categories [the NHS use six, so it's not as easy as it sounds]). Using that as a basis, you can build up messages to model the business process -- SOAP and WSDL are more than likely to be mandatory for new systems very soon. And so if the messages themselves don't match, at least the data items do, and transforming XML messages is reasonably easy. Some processes are being modelled at a central level and applied across government departments; others are being done by private companies as part of publicly-funded "Pathfinder" projects (which have an explicit objective of social inclusion). The whole activity is being done with both public sector and industry involvement. The upshot of this all is a government using Web Services to achieve joined-upness [a technical term...].

Now where does the Government Gateway come in? The Gateway is supposed to be a few things: partially a portal to all of this, and secondly a clearinghouse to hold the business logic of the transactions, to throw the messages to all the correct places. Lastly it will also provide authentication procedures. Where's the lock-in? I don't believe there is any. The interfaces provided by the local government bodies at least are/will be documented and publicly available. I mean, obviously I worry that Microsoft are going to close all this up, or if not close it up then make an enormous amount of money out of a not completely open system -- but the way I've seen it going so far, the government people working on it are surprisingly clueful and the definition groups impartial and rigorous. [How do I know this? For work, we just built a Web Services based local government Pathfinder. It's all pretty cool.]

(Okay, so there's a possibility that Googlematic may be on TechTV's Call For Help tonight. At 5pm Eastern. When is that? In about six minutes? Um. So, if you can watch it, could you let me know what happens? Cheers.)

(Update | Apparently it went quite badly. The screenname I set up must have been visible or something, and I neglected to make clear that this was a for-demo version only (Call For Help is interactive I find out now), so the first thing I know the new bot gets a shit-load of traffic then the AIM version falls over. And gets maxed out on searches. Nice. So much for my first by-proxy tele appearance. As long as you don't count the one when I was six and was in the background cheering while a man attempted the sub four minute mile near my primary school. And failed. Sigh.)

It's instructive to see how their UI is maturing: Microsoft Inductive User Interface Guidelines. Giving thought to the tense of a title doesn't matter enormously just done once, but the effects of a consistant voice across an entire OS are tremendous. (As is familiarity, as in "IUI is an extension of the common Web-style interface"). [via Nooface, where you can also find additional IUI links.]

Um. VR plus cheesy very soft porn plus, um, well, watch it to the end. The clue's in the title. Pillow Fight Bloodbath [via Bifurcated Rivets].

The best thing about The Covers Project could be that it's a public lists of what band covered what songs. It's more likely to be that they use this data to find the longest cover chains. But actually, because of who I am, it's the fact that they have an xmlrpc interface. Yum. Welcome to Level 2 of the www. [Thanks blackbeltjones.]

A review of twenty typefaces (suitable for books). Splendid. I'm a fan of Sabon which has a particular heavy, squat quality that makes it look wonderful printed in large blocks.

Search Google from AOL IM or MSN Messenger with Googlematic (screenshots).

Omniglot: background information on different writing systems, and well-linked to other resources too [via #!/usr/bin/girl].

Perl MSN Messenger Client. Downloadable code to be found here.

googlematic [send an AIM message to that screenname] is up for another 500 Google queries. If you miss it, here's a screenshot of googlematic in action. Heh. I love that this is so easy. Feed me web services! Feed me!

Update on the Google web APIs. I've knocked up a simple client in Perl using SOAP::Lite, just to make sure it can be done. There are a couple of gotchas to do with boolean data types, so you might like to grab my Perl demo script for the workaround. Proper applications coming soon.

And, temporarily, I've resurrected googlematic. Send an AIM to the bot, and receive the top result from Google. Limited to 500 searches, this evening only. Oh, this is going to be fun.

You know that voicemail from the prepubescant Kelly I had? I had another one the next day: "hi kelly it's kelly. when you get this message can you ring me or somefink. it's urgent. cheers-bye." (I've decided they're both called Kelly by the way, it sounds more like that.) Kelly-caller sounded flustered and very anxious to get in contact with Kelly-me.

Well, I've just had another one. My phone didn't ring. For some reason it went to my voicemail, and then my voicemail called me. And it said the message was left one minute in the future. And Kelly-caller: She sounded subdued, anxious, upset, possibly a little scared, speaking quietly but very close to the phone.

"'lo kelly... kelly please please please get hold of me [long breath] it's [mumble] fucking head in okay... cheers. please get hold of me. cheers-bye."

What is this? Does Kelly-caller think Kelly-me has been dispatched by Kimberly and the one Ashley went out with? If they were really such good friends, why does Kelly-caller keep getting the phone number wrong? This is beginning to feel like a cross between Archer's Goon and the answer machine sketches from The League Of Gentlemen radio series. Only IRL.

!!!!!!!!!! Welcome to the www, Level 2. Google Web APIs have arrived and, well, they're everything we wanted: "Your Google Account and license key entitle you to 1,000 automated queries per day". Let me see, what do I say here? Let a thousand flowers bloom? Oh yeah. THE FUTURE IS NOW.

Two things, one blue-sky (so bear with me) and one more practical.

one | Yes, we are entering the next phase of the web. Tim O'Reilly, Tim Berners-Lee, and even fucking Matt Jones can say this with more clarity than me, so I'll leave most of it to them. But here's where I think it's going to come from: Web services [SOAP, xmlrpc] are symptomatic of a understanding-shift. We know the net well enough now to give it APIs, languages [XML, IM bots], which makes it scriptable. And I think the reasons we're able to make it scriptable is because we understand it. The www itself, now it's a combination of two things: The real life thing and the technology combine to make a virtual thing. And it used to stop there. But because we understand and because the capability for scripting is there, that means we can recombine things on the net that we couldn't touch before. And recombine them, and them, endlessly recombine. Web services [and what they represent] truly are an order of magnitude change.

Oh, but so what. Progress happens. Blah blah grand sweep.

two | People are saying the www is dull nowadays. Well, no, I disagree, we're getting world weary is all. But I do have this vague sense that I'm not experimenting as much anymore, not in the html/www space anyway. There are so many other things to do. If everyone's like this, we lose the network effects. Maybe. Or something. Anyway, this is just a preface to: Does anyone know shitloads of javascript?

Is it possible to track the cursor position on the page to rank popularity of words, navigation elements, weblog posts? Is it possible to server-side cluster the posts in Blogger or Radio Userland and keyword them to make dynamic zeigeist graphs? Can a tool be written to organise all the posts on a weblog into a Yahoo-style tree, interlinked with other trees, all ranked on popularity, without the weblog editor having to learn any kind of code? Can I use the cursor-tracking to present more interesting content, and tailor the navigation?

I don't know shitloads of javascript. But I'd like some help to do the above.

We Made Out in a Tree and This Old Guy Sat and Watched Us, dedicated to odd things of the English language [via mindspillage].

Tim O'Reilly, Inventing the Future, or, How Web Services Will Change the Www. (Good solid state of the nation.)

Dad, MySQL's down!! Printed out, on the wall at work, thankyou Paul.

A unified theory of software evolution, or, how software tends to evolve (and deteriorate) [thanks blackbeltjones].

"Local Girl Disappears, Feared Abducted". A rather topical Upsideclown from James. "Hertfordshire police still have no solid leads in the search for missing schoolgirl Jenny Wilcroft, 16". You should read Beggering Belief.

And whilst I'm on the subject, there's been a string of really good Upsideclones these last few weeks, especially the current one (if I'm allowed to be prejudiced towards any in particular). If I were you, I'd go there now and read through the archives. A little sci-fi, a little offbeat, a little paranoid. Exactly what the 'clone is all about.

Getting personal for a second, I'll tell you what I really like about doing 'clown and 'clone: That I love the writing of every single person writing for them. I'm not sure that all of these people would be doing creative writing if these sites weren't there, and if they were I'm not sure that I (with my Reader hat on) would be able to find their work. The fact that it's all in one place and it lands in my inbox and we get submissions from people who also write extremely well makes me very very pleased. It's magnificent. And you know, I'm not sure whether I've ever said thankyou to everyone. Time for another party I think.

Pole vaulting.

The Web's Weaver Looks Forward: Tim Berners-Lee talks up the Semantic Web, with a little more detail about the future than he usually gives. And this is an especially interesting insight: a future www "where, in general, you won't be able to expect to get an answer in finite time". We shouldn't expect everything to happen in realtime, and browsers shouldn't necessarily be constructed around it. That sort of hints at the desktop becoming a workspace that is a portal to the internet, which can asynchronously receive and broadcast information, populate itself in the background, maybe alert you when questions have been answered. (All of which sounds a lot like Dave Winer's Radio Userland platform with more than a little Instant Outlining thrown in. Damn. Maybe that Winer chap is onto something.)

Topic merge: Dave is hinting that the Userland products already work with the unreleased Google API.

Oh! "Here at Google, we're about to start offering an API to our search-engine, so that people can programmatically use Google through a clean and clearly defined interface" [via Slashdot]. At a guess, this will neither be public nor free -- but it brings the possibility of a legal googlematic [IM bot to search Google] a little closer. Here's to the scriptable www.

Two other search engines of interest: Wisenut [interesting UI additions; smart search suggestions]; Teoma [clustering on the fly].

Oh! "Here at Google, we're about to start offering an API to our search-engine, so that people can programmatically use Google through a clean and clearly defined interface" [via Slashdot]. At a guess, this will neither be public nor free -- but it brings the possibility of a legal googlematic [IM bot to search Google] a little closer. Here's to the scriptable www.

Two other search engines of interest: Wisenut [interesting UI additions; smart search suggestions]; Teoma [clustering on the fly].

A wrong-number voicemail, as left for me earlier today: "hello kelly it's kylie. um. kimberley and... damn what's the name um shit what's the name, um i forgot the name, um, you know the one y'know ashley went out with. they're coming in to bow looking for you, so you know watch out. cheers. ring me when you get this message. cheers. bye" -- as said by a very young sounding girl.

What's that supposed to mean, "watch out"? Gangland warfare among prepubescents? Is there a hit out on Kelly? How does Kylie know? And that fact that she didn't get this message... maybe it was meant for me. Maybe I'm meant to follow it up, and it's related to the bag of documents left outside my house and the symbols carved into the pavement. Is Kelly my codename? And does Ashley know he's fraternising with the criminal underworld?

I Know Where Bruce Lee Lives - the ultrainteractive KungFu-Remixer.

A month from now I'll be off to the O'Reilly Emerging Tech Conference, although I've not yet booked flights or anywhere to stay. I mean, what do people do when they're going to somewhere they don't know anything about? Do I need a car? Should I spend a week in San Francisco? Yosemite? Can I walk there from Santa Clara? (I know the answer to that one.) So: hotel recommendations gratefully received. And travel advice.

Do they have bears in Silicon Valley? Do I need to take a dart gun?

Some of the things I see in the paper are just so mind-bogglingly fucking stupid I have to preserve them for posterity: No comment.