Thursday 20 August 2009

The problem with cricket

The Ashes have been on, and, while I don't often watch cricket, I couldn't pass up the chance to watch at least some of the series, given I'm a citizen of both countries involved. It's been tight and entertaining, but I can't help feel that too much of it comes down to the luck of the umpiring decision. In the match England won, at Lords, three Australian batsmen were incorrectly given out in their last innings when replays showed they shouldn't have been. And in this deciding match at The Oval, two of England's top order (Strauss and Bell) have been given out off what should have been no-balls. In a game where there can be fifty or a hundred runs between wicket-taking balls, that potentially makes a match-changing difference.

There's just that irritating sense of pointlessness behind the game when umpiring mistakes are as likely to decide the game as the skill of any of the players.

Sunday 12 July 2009

Ponting not happy (again)

It seems our Australian cricket captain isn't happy again. In 2005, he hit the papers complaining about England using substitute fielders (especially when he was run out by one). This year, he's stepped things up a gear. It's only the first test of the series and already he's complained about Cardiff hosting the first test, wides being called wide, and James Anderson changing his glove a second time after he spilt his drink on the first fresh one.

Punter, Australia is a country whose cricketers are (sadly) famous for sledging and shoulder-barging, and you're angry that changing a wet glove isn't in the spirit of the game? I think you might just be having a bit of a whinge. And in most of the newspaper coverage, you're reported as saying:
"I won't be saying anything about it."
Well, maybe not to the match referee, but if you've been quoted in all the newspapers on both sides of the planet, I think you've said something about it.

Thursday 4 June 2009

A selfish reason for liking Bing.com

Every now and then a new search engine comes out, and (I suspect like everyone else) the first thing I try searching for is my own name. And, woohoo, the top link using Microsoft's new bing.com is my own website. I'm only second and third in the search results on Google. I like Bing :)

Well, at least until it finds out about that much more famous pottery-painting William Billingsley and, quite rightly, dethrones me from the listings the way Google did!

Tuesday 2 June 2009

XML modifications in Google Wave and SCFX

So, a few of the technical bits of Google Wave remind me of some things I looked at briefly during my PhD a few years ago (but only a few, and solving a different problem -- I'm not claiming to have "invented Google wave" like those people who claim Harry Potter was really their idea).

A part of Google Wave's protocol is way of sending changes to an XML document, so that changes you make locally are reflected on the "canonical" server copy of the document and can be broadcast out to other viewers. This was something I looked at too -- albeit in a "good enough is good enough" sort of way -- so I was interested to see how the problems we faced differ, and what Google's solution looks like.

Well, Wave has to solve a few extra problems: their documents are edited by many people at once, so the change format has to be transformable, so that different people's changes can be reconciled. (In the Intelligent Book, even though pages are concurrently editable, exercises are usually worked on by students individually, so I could duck this issue.) They also have to deal with federated servers, security, etc. So, they've been looking at a much harder problem than I was with my little change format. And while their solution is still being refined, so far it looks pretty good.

However, from my very brief look, there was something that made me think "hmm, maybe you've missed a trick here". Google Wave's deltas are explicitly defined as an XML format. With SCFX (Simple Change Format for XML), which was my remote XML change API, I decided just to define function calls for each kind of modification -- including a "with" call for wrapping multiple calls into a transaction -- and to avoid defining a serialisation. In other words, I avoided specifying any particular XML schema. Why? Well, I realised that the function calls to my API were going to be made both locally and remotely. In the local case, it's inefficient to go writing and reading XML just to make a call to change a document. And in the remote case, whichever Web RPC format you use already defines a format for serialising a function call into text. If I use XML-RPC, then the XML-RPC stub itself will turn my function calls into a piece of XML to send over the Web. The same happens if I use SOAP. So, by refusing to define an XML format, I could just say "here are the functions, call them using any of the following RPC technologies". So, for instance, I could pass changes from the server back to the browser marked up as Javascript code if I liked. And I wasn't tied to this extra step of deserialising my own special XML format.

Apart from that -
  • Wave's protocol looks like just a diff -- add and delete of content -- whereas SCFX also included larger operations such as move and copy, so that for instance an app that used a tree of complex GUI components to show a tree of XML elements could just move them rather than having to recreate them afresh if the XML element at the top was moved.
  • Google Wave relies on a particular character layout of the XML -- for instance there must be no empty tags (<foo />), and all the clients need to treat whitespace identically. SCFX used XPaths to address content, so this wasn't so fragile. (But an XPath would be difficult to transform).

Monday 1 June 2009

"Everything's going my way"* (ramblings on Google Wave)

* The title of this post is just because I had "Oh What A Beautiful Morning" stuck in my brain at the time I wrote this!

During my PhD (2003-2007) I developed a system called "The Intelligent Book" (public demo returning soon). One aspect of it is a collaboratively edited textbook that let you embed graphical gadgets into the pages -- circuits etc -- and as students worked with them, intelligent components on the server would interact with them, add annotations, and offer their advice right back into the page. And it all used lightweight open protocols (the communication was around XML-RPC and Javascript), but allowed the graphical components to be applets because doing graphical stuff in HTML was tough back then. It even used a message format describing changes to an XML document.

In 2007, I noticed some of the movement within Sakai (an open source Courseware Management System) was towards a similar easily-edited gadget-embeddable structure. A book chapter I've written -- chapter 13 of this book -- discusses some of the economic effects that I think are pushing learning products in this direction.

Last week, Google announced Google Wave. This isn't aimed at education -- they're pitching it as a grand attempt to replace email, instant messaging, and all other forms of Web communication (good luck!). But within it, it has collaboratively edited content, with graphical gadgets that can be embedded at the client, and intelligent robots that can be embedded at the server. The communication is about changes to XML documents, and the robots mark changes back up into the original page...

Of course, there was more to the thesis of the Intelligent Book than just gadgets, robots, and editable pages -- and of course Google Wave solves many different and bigger issues than I've described here. But it's always quite reassuring to see commercial software endeavours heading in similar directions to ones I've advocated in my research, even if only in small ways and in unexpected fields. Makes me feel as if maybe I'm not just a lone nutcase baying in the wilderness after all.

Tuesday 19 May 2009

CNN story on teen pregnancy

A story on the CNN website started with this very emotive statement:
She had many plans for the future: to go to college, start a career, meet the man of her dreams, raise a family -- when the time was right. It was all cut off by an unexpected pregnancy. The baby became her life, consuming her energy and forcing her dreams to the back burner of her life. She is 19 or younger and Latina, and has had her first baby.
I wonder whether, socially, Western countries have set up a double standard. Legally we consider the young women involved to have the right to get pregnant and have a child (they are over the age of consent), but then very often we deride and scorn them if they do. "They've thrown away their future, college, a chance of a good career", we lament. We don't seem to think for a moment "Hang on, if this country has decided that is an acceptable age to engage in sex and fall pregnant, then logically we should ensure that social structures such as college do not excessively disadvantage people with children". If college is so discriminatory and unsupportive that having a child "cuts off" a mother's chances of going to college and having a career, why don't we fix it so it doesn't?

As it stands, there is a massive social pressure for young mothers to have a termination. Effectively, we're pushing the message that children are a blight, a curse, and something young mothers should not be having (though we consider it a sign of healthy normality if they engage in the activity that creates them). Twenty years later, when the same mother is struggling to conceive through IVF in her late thirties, as she's now in a financially better situation to take a career break, of course we moan "why didn't you have your children earlier?"

In short we seem to have a duplicitous social model at the moment where we polish our liberal halos proclaiming "We don't try to push religious morals onto secular young women. (But if they don't fit our social norms of what they do and at what age, boy are we going to disadvantage them for it.)"

Friday 15 May 2009

A whinge about the Australian health system

At the moment, there's a bit of a ding-dong battle going on between Australian Labor and the Liberals over healthcare. The usual accusations are that Liberals want to do away with public healthcare and push everyone onto private insurance, while the Liberal supporters moan that Labor wants to do away with private insurance and have socialised healthcare.  The two parties' supporters, of course, often have arguments about it on forums and in comments about news articles.  I'm not especially political, but there's a rhetorical attack, borrowed from Republicans in the US, that gets used quite often on forums: "be warned, if they socialise medicine, it'll turn into something like the NHS"

Well, in case any Australians happen to read this post, perhaps via Google, I'd just like to express this personal opinion:

Every British ex-pat I know in Australia, my own family included, longs for the Australian system to become more like the NHS. Under the NHS we had a home water-birth attended by two midwives; no cost. (In Brisbane, from what we can tell, that would be prohibitively expensive.) Midwives or health visitors then came round frequently as a matter of course over the next few weeks to check things were well, help with breastfeeding, etc, regularly over the following. No cost. And no having to search for one. All the GPs were trained in how to do six-week baby checks (except of course we flew to Aus before then), and the local practice had nurses trained in many of the regular adult checks, so somethings that you'd get charged $100 for a doctor's appointment in Aus wouldn't even require a doctor's appointment under the NHS.

Everyday healthcare in Brisbane involves cost and a fair amount of inconvenience. A week or two ago, the campus practice nurse suspected I might have measles, which is a notifiable disease and is important to diagnose quickly for public health reasons. But they had no appointments, so I had to catch a bus (yup a nice crowded one where I could spread it around) an hour across Brisbane to get to a GP who would be able to give me an appointment that day. (Thankfully, it wasn't measles.) Our child's GP, meanwhile, is on the other side of the city from where we live, because apparently it's really hard to get a pediatrician, and that's the closest GP we heard about who was taking on patients and was known to do six-week baby checks.

Meanwhile, it seems Australians are pressured into taking out expensive private insurance that from what I can tell reading the small print, doesn't actually seem to cover much of anything. Although it keeps stressing how important it is you check whether your doctor participates in this particular company's GapCover scheme and what their copayments are, yadda yadda, whole bunch of small print economics details I really won't want to be thinking about if I ever need an operation.

The key difference seems to be that in a socialised healthcare system like the NHS, it is a government responsibility to ensure that doctors and healthcare are readily available and easy to deal with, and so the public at least has some possibility of holding them to account. Under a private provision system, even with Medicare, if medical services are not available or not easy to deal with "well, you'd have to take that up with the private company in question".

Wednesday 28 January 2009

in Australia

Between Facebook, email, and all the other forms of electronic communication, almost everyone who might read this already knows, but Fiona, Euan, and I arrived safely in Brisbane two weeks ago. The first couple of weeks has been a mish-mash of trying to sort out Euan's citizenship, re-enrolling in Medicare, looking for a house and car, and all the rest of moving into a new country.

I've just about got over the panic of "how are we going to look after Euan in such a hot country?", but there are still many things I'm trying to get back used to. Like hills, and heat. My role here is nominally three years, and I'm aware that Brisbane is a fairly small economy for people in computing, so it's likely we'll be back in Cambridge some time soon -- and there are many things and people I miss. But for the moment it's great that Euan's grandparents will get to see him regularly in his early years, and our family and friends here have been very supportive in helping us to make the move.

Wednesday 21 January 2009

Oops wrong blog

Is it clumsiness? Dyslexia? Some Freudian notion that tries to turn one topic into another? Whatever it is, I keep finding myself making posts to the wrong blog. A personal post about my son briefly showing up on a work blog, or a work post on my own blog. Ah, it's a befuddled world in Billingsleyland at the moment. Thankfully, it's fairly quick to delete them, but I do wonder if the early adopters out there, using RSS readers that eagerly grab the updates, end up still reading material posted in the wrong place.