Monthly Archives: September 2007

Fixing mod_proxy

I’ve spent much of the past week fixing Apache bugs.  In fact, I’ve done rather a lot of it for a couple of months, going back to the run-up to 2.2.5.

Over this past week, I’ve been undertaking a challenge that’s been outstanding for some time: to iron out defects in mod_proxy’s HTTP/1.1 protocol compliance.  Many of these are quite esoteric, and involve a lot of donkeywork to set up testcases and run tests, so tackling them is, a priori, a lot of work for relatively little return.

Fortunately a good deal of groundwork has been done.  On Monday, I signed up as a user of the Co-Advisor testbench.  This gives me access to a test/diagnostic tool, and a suite of testcases covering a good deal of the more esoteric aspects of RFC2616 (the HTTP protocol spec).

Coadvisor’s creator Alex Rousskov ran Apache through the test suite some years ago, and is responsible for several of our longest-standing bug reports.  After querying one of those bugs, I entered into correspondence with him, following which he offered me, in my capacity as an Apache developer, full use of the test suite.

Progress so far has been good, with five actual mod_proxy bugs fixed and tested (two of which are new bugs I detected using the tool).  Many of these would’ve been a major PITA to test without Co-Advisor.  In general, there may be several testcases attributable to a single bug, but in terms of testcases, we have:

  1. 2.2.6 out-of-the-box
    SUCCESS 296 cases, VIOLATION 42 cases, FAILURE 31 cases
  2. 2.2.6 with configuration options fixed for protocol compliance (TraceEnable On and ProxyVia On):
    SUCCESS 307 cases, VIOLATION 31 cases, FAILURE 31 cases
  3. With fixes made this week:
    SUCCESS 338 cases, VIOLATION 18 cases, FAILURE 13 cases

Note that FAILURE here means the testcase didn’t run, which may or may not mean a bug, while VIOLATION means a definite bug.  But that’s with the proviso that a few of the testcases are themselves suspect.  Indeed, the majority of the remaining violations are going to need some clarification of whether Apache or the testcase is in error.  We could be into the realms of debating how many angels can dance on a pinhead.

Anyone interested in the details of this exercise should see the tracking bug report here.

The Bride of Flowers

What is Welsh music?

At a superficial level, it’s a great tradition of male voice choirs, and some lovely traditional ballads that most of the world thinks are English[1]. Anything more?

When the Independent Ballet Wales come to perform a new work The Bride of Flowers (google finds the story here), based on a story from the centrepiece of Welsh culture The Mabinogion, I was interested to see what they’d make of it. But Welsh music it is not: the score is by a young English composer Eleanor Turner, and draws heavily on English and other European traditions.

Having said that, the work as a whole is quite stunning and individual. It’s a fine story in best fairytale-ballet tradition[2]. The scene and lighting were gorgeous, and when characters were transformed to and from birds (the eagle and the owl[3]), it was done with a stunning shadow-play that brought forth audible gasps from the audience. The dance seems to grow from the scene and (often very subdued) light, and the blend of the visual, the music and the dance formed an organic whole that was more than the sum of its parts. At its best it was almost like the childhood wonder of a new sensory experience.

I’m completely ignorant of the technicalities of dance, so it’s only the music I can really describe. The composer was also the harpist, and the centrepiece of all the music. With her were a violin, a cello, and a solo Tenor voice. It sounded much bigger than a four-person band, but was alas recorded rather than live, perhaps due to budgetary constraints.

After a dark and evocative start, the second scene was the first of several to take a very traditional and derivative form: a theme and variations in the pure classical tradition of Beethoven et al. The theme was The Ash Grove, probably the only genuinely Welsh tune in the whole score. Overall, the major influence was the English tradition of the first half of the last century, particularly Vaughan Williams and Holst. But in a darker and more sinister scene we hear something that’s more Stravinsky or Ravel. And in the second act, a scene that’s pure Italian bel canto: Bellini or Donizetti. Not to mention the voices of Britten and Schubert in the two tenor songs!

Yes, that’s a lot of patchwork, and that kind of thing usually brings out the cynic in me (and if I’d heard the score in isolation, I’d probably not have been so impressed). But Turner is far more than a pastiche: her music has a life of its own, and adds something to all the ingredients. This is a young composer who has achieved a high level of mastery and musicianship, and has many years ahead of her to develop her own voice and individuality. I shall watch with interest.

[1] I’ve even seen “all through the night” taught as english!

[2] I didn’t hear Tchaikovsky in the music, yet I found myself humming Swan Lake on the way home by … hmm … evocative association?

[3] Must re-read The Owl Service – this is the same owl.

An excess of fruits

September is peak season for blackberries. And this year, it’s been great, with warm, dry, sunny weather for ripening, after an unusually wet summer.

But this last week it’s turned colder and we’ve had some heavy showers. Today’s pick of blackberries was adequate, but no longer up to the standard of what I got a couple of weeks ago. The season is winding down, though there are still quite a few unripe ones, that could become nice if we get decent ripening weather (and if the bloody council doesn’t trim them all to oblivion).

I can’t do my usual, which is to turn some of them into a crumble or pie and freeze the rest, ‘cos the freezer is too full. So I’m going to try and combine some of them with excess apples and chillies in a chutney. That’s not something I’ve cooked before, so it’s a new culinary venture. Wish me luck!

Here be dragons!

I’ve just received a huge bag of chillies through the post.  They look hot!

It’s all noodl’s fault.  He’s back in Blighty from Thailand.  I’d joked on IRC about wanting some nice chilli from .th, and he took me at my word, bless him!

I’m a lover of hot chillies.  Several times a week I’ll indulge in a stirfry or curry, and we’re just heading into the season of turning big vegetables into rich soups.  Not to mention dips and infusions.  But now I’m going to have to broaden the repertoire further: perhaps take advantage of superabundant blackberries and apples and brew up some chutney.  Or even try homemade chilli jam (yes, there’s a local shop that sells chilli jam, and it’s delicious).

/me breathing fire for the forseeable future!

ODBC for Apache DBD

Nice bit of serendipity here.  I’ve been Cc:d on an email discussion in which I have a slight interest, where Tom Donovan just posted a link to http://code.google.com/p/odbc-dbd/.  He’s written an APR DBD driver for ODBC, as a third-party project at google code.  And it’s under the Apache License, so unlike the MySQL driver before it was relicensed, there are no legal issues in bundling it with APR, the webserver, or any other relevant project.

I haven’t tried it myself, nor am I likely to in the forseeable future.  But assuming it works, it’d be good to see it available in the distros.

Banging the war drum

Sir Richard Dammit[1], head of the British Army, is reported as wanting some kind of celebration of the return of British troops from invading Johnny Foreigner in the latest armaments industry trade shows.

Let’s see now. Powerful country wages war of aggression in foreign lands. After huge losses to the victims of invasion, they are eventually beaten off and return home. What happens?

A historical parallel in Europe and within living memory would be German troops returning home in 1945. OK, it’s not an exact equivalent: it only becomes that if a victim proves stronger than us and we get bombed into the ground at home, too. So just a moral equivalent. Were the Wehrmacht celebrated? I doubt it. So why the **** should we expect to celebrate today’s moral equivalents?

Right. So that’ll be banging the war drums for the next arms show, which various folks are speculating might be in Iran. And it’s sufficiently out of character[2] with utterings previously reported from Sir Richard as to lead me to suspect he may have been .. ahem .. encouraged to speak on the subject by someone with an Agenda.

[1] Well, that’s how his name always sounds on the wireless, and it appeals to my inner schoolboy.

[2] OK, that’s a very tenuous speculation: I have no knowledge of his character on which to base it.

Poor Prudence!

After a month of appearing sensible, the Bank of England appears to have caved in and bailed out not just one bank’s depositors, but the banking system as a whole. More proof – if it were ever needed – that the prudence years are long gone. We’ll inflate our way out of letting the city bankers – and indeed multiple-home-owners – face the consequences of their gambling.

Whether or not this could be fixed using interest rates is now immaterial. They’re not even going to try. Expect some smoke-and-mirrors over the coming months, to pre-empt and limit the damage to headline rates.

Worst, pumping more money in will only prolong our housing bubble. The major cause of it was oversupply of mortgage money, aided by smaller amounts of public money.

Poor old prudence. And poor taxpayer.

Big music, small hall

We performed the Verdi Requiem on Sunday. The venue was the civic hall in Totnes, which is a new one on me, and on most of us. The concert was organised by the Torbay Symphony Orchestra, so all we had to do was come and sing.

The day started with a coach from Plymouth, for an afternoon rehearsal. After that we had free time to get a bite to eat, and enjoy South Devon’s most fashionable and expensive town before the performance in the evening. After the show we had time for a pint before the coach back.

The Verdi Requiem is of course a large-scale choral/orchestral work, full of glorious music. It’s exactly the kind of thing one joins a large choir for[1]. Despite that, it’s pretty easy music to learn, and (as always with Verdi) beautifully written for the human voice[2]. A wonderful sing.

We’d been warned about the venue. The civic hall is an ugly building, set in a town full of beautiful buildings. Inside, it has something of the feel of a [village|church|school] hall about it. But the acoustics worked well, and it was well-ventilated, so it was easy enough to forget its ugliness and enjoy the music.

All in all, a great day out!

[1] Actually I joined the Plymouth Philharmonic for Vaughan Williams’s Sea Symphony, another large-scale work, and one I’m even more passionate about than this Verdi. I’ve been with the choir ever since.

[2] Music can be wonderful yet murder on the voice: Beethoven springs to mind as often dreadful to sing, and Bach can be hard work. Verdi is the complete opposite: utterly singable. Singability can be surprising: for example, Britten’s music is complex yet incredibly singable.

Race to the bottom

The government (or rather, taxpayer) is underwriting deposits at Northern Rock. And implicitly at other banks that get into trouble.

Right, the first effect of that is that innocent depositors are safe. Can’t fault that.

But what else does this imply? At a stroke, bank deposits acquire the safety of government bonds, in addition to the security they already had. Professional investors in charge of billions can see that, and suddenly their market changes. Government bonds become less attractive. Public sector borrowing (ahem, the taxpayer again) will need to pay higher interest rates, for the benefit of professional city investors.

And in the general race to the bottom, banks get rewarded that little bit more for gambling with people’s money, and the prudent get to lose out. As usual.

Update: 9 a.m. and shares in Northern Rock and other dicey banks are indeed up!

Kissing babies?

When a politician is seen kissing babies, you know exactly what’s going on. Yet the meeja have a bit of a soft spot for that, and give them an easy ride.

By contrast, when Gordon Brown invited Margaret Thatcher to Downing Street, the chattering classes decided he’s cynically exploiting her for party political advantage, and have been pretty merciless.

But … hang on a minute … Mrs T is not a baby, she’s a grown (though now old) woman, and an extremely capable politician. Not just that: she’s surrounded by advisors. When she accepts an invitation from Mr Brown, she’s giving (highly) informed consent to the event, and all it implies.

Brown must be doing something right, when his critics latch on to a non-issue like this to cry wolf about. That could in itself be a motive for the meeting: a war of attrition on the credibility of his critics. But that won’t have escaped Mrs T. And of course both of them are conscious of the context of unrest at the TUC conference, and her history with the unions.

One or both of them may have made a mistake. But exploitation it ain’t!

  • Privacy