Monthly Archives: March 2007

A blast from the past

Got a begging ‘phone call this afternoon.

Not the usual spam at all, but one from my alma mater. They would like their alumni to make contributions of a financial nature, and they’re targeting people like me who they suppose to have money.

‘Twas a young lady who called (I expect that’s best marketing practice when targeting middle-aged men). I didn’t catch her name, but she’s a third-year undergrad. She caught me at a good time, so we had a bit of a chat, and she told me of some recent developments at the old place.

Turns out she’s a singer (too), and Girton now has a real musical reputation. Well, that’s quite a contrast from my time, when it had very little, and the organ scholar in my year was making valiant efforts (some funnier than others) to get at least something going. So we exchanged anecdotes on music then and now, all of which was mildly interesting.

But it occurs to me: if I donate to education (other than through my taxes), should that donation really be targeted at Cambridge? Yes, I loved my time there, and would recommend it to anyone. But it’s one of two universities in my past: some years after my Cambridge days I did research at Sheffield.

Now Sheffield is well-reputed, but not ivy-league, and it doesn’t have the luxury Cambridge does of a large surplus of the strongest applicants in every year. Nor does it have Cambridge’s historical legacy of immense wealth (admittedly, neither does Girton). Yet my impression was that many of the Sheffield students I encountered were doing much better work than my contemporaries and I had done at Cambridge.

Which of these institutions should be more deserving of my hypothetical largesse? Answer I think: neither as such. If I were to donate to either of them, it would be have to be to something rather more specific. And yes, today’s girton girl mentioned a specific project, but minor building works in the tower area don’t really catch the imagination very powerfully. Cambridge’s strongest claim to precedence would perhaps be in the context of helping some brilliant but impoverished young person realise a dream.

I wonder how many of our non-ivy-league universities make this kind of efforts to tap their alumni?

Non-air travel

OK, I’ve just booked my travel for ApacheCon. And with some effort, I managed to book without flying.

Now, my ‘local knowledge’ tells me there’s the Eurostar via Brussels, and there’s a ferry from Harwich to the Hook of Holland. So that’s two viable options, right?

Well, sort-of. Eurostar have been spamming me since I used them to get to OSCon in Brussels last year, so I really don’t want to give them my business if I can possibly help it (quite apart from the brokenness and pain of their website). That leaves the ferry as preferred option – reconfirmed when an online query shows the minimum cost of the Eurostar (London-Amsterdam) as nearly £200.

But how to book the ferry? Google gets me stena line’s own site and a bunch of other ferry sites. But they won’t let me book myself on without a car (except on the hydrofoil thingies, which are probably less eco-friendly than flying, and which I strongly suspect of having no outdoor/deck space). Bah, Humbug.

OK, the man in seat 61 to the rescue. I can book a through ticket rail+ferry from London to Amsterdam using the dutchflyer site. And the price is pretty reasonable too, though (as ever) it’s more than the headline rate. But now I’m stuckwith travelling at a silly time of day: outgoing, the only available sailing is in the morning. That’s an obscenely early departure from London. Fortunately I can get it, by taking the sleeper train in to London the night before. So I go ahead and book it. The website is annoying, but (eventually) works, so that’s one up on Eurostar, but still worse than (say) ebookers or easyjet sites for air travel.

Now the cost of that ticket is comparable to flying, so that’s OK. And I have to get from here to London either way[1]. But now I’m stuck with taking that sleeper instead of a normal train. OK, let’s book it. Aaargh … now the sleeper really does bump up the price: it’s far and away the single most expensive leg of the journey.

Buggrit, the eponymous “they” really do try to make us travel by air. Bah, Humbug!

Anyway, all done now. If you’re an Apache-person, see you in Amsterdam:-)

[1] OK, I could also fly from Bristol and avoid the ultra-misery of Heathrow. But travelling from here, Bristol is nearly London, anyway.


When I got back on Sunday night (about 12:30), them downstairs were moving out. About three hours later, they were finished with a lot of heavy stuff, and cleaning (yep, I could of course hear it all, as usual).

This is good news for my sleep patterns: now I can go to bed at midnight, or even earlier if I feel like it, with the expectation of sleep. No heavy tread and slamming doors to shake the whole floor under me. And a better chance of a lie-in in the morning when I feel like it.

The bad news is that, though they were noisy, they weren’t really bad neighbours. The real underlying problem is the inadequate construction of the building, that transmits far too much vibration. So I just have to hope that when the agent finds a new tenant, it’s someone with a lighter touch and tread.

In the meantime, zzzzzz ….

In or out [part 3]

The other recent event that prompted this reflection concerns my own modules. Several modules originally by me are now in the apache 2.2 core distribution. Some of these started life at WebÞing. And other modules still at WebÞing have been discussed for possible inclusion.

Now my second most popular module has been included in /trunk/. Or not. Well, sort-of. The module that was recently introduced to /trunk/ implements the same idea as mod_line_edit. It’s an output filter that, to all intents and purposes, looks like processing outgoing text through sed. Coincidentally, I recently wrote about why mod_line_edit beats sed when used in an Apache context.

[CUT *2 – ill-advised words]

Now, mod_line_edit is one I’d already contemplated offering for inclusion, and would’ve done if anyone had suggested we need the functionality in core. So it shouldn’t matter that the new module is called something else, right?

But it does matter, for different reasons, and I’m pissed off. Basically, I have a number of as-yet-unpublished improvements to mod_line_edit. Some of them are quite significant. I have every intention of publishing them in due course for the benefit of all users. So either I have to reimplement a bunch of this stuff in the new module, or continue to update mod_line_edit separately as an external module. And probably still have to merge it somewhere down the line:-(

I have yet to decide.

In retrospect, I could have avoided all this crap by including mod_line_edit at an earlier date. That is, if it was well-received at the time it was proposed.

Of course, all the usual open source arguments apply here. But with a difference: it’s equally open-source in or out, so the question is one of visibility, and of convenience for the community of Apache committers. If it had been in, then it might have had enhancements from other Apache developers, independent of what I’ve done, by now. But at the same time, I’d have relinquished (or rather shared) control over it, so all my enhancements would be subject to community scrutiny, for better or worse. Probably better.

But we are where we are. Bah, Humbug.

Minimum pension == £95155 salary

As the budget comes round again, there are constant cries amongst the chattering classes, about council tax being unfair on poor pensioners in big houses.

Now, these pensioners probably own their houses (if they didn’t, they’d have no option but to move somewhere smaller). So they’re getting the benefits of ownership.

Question: how much does a hard-working person with no assets have to earn to keep up with the poorest pensioner?

OK, we need some working assumptions here. The level of means-tested benefit for pensioners is £114.05 per week (£5947/year) with no tax due, so we’ll take that as the income to compare against. Actually it’s worth quite a lot more, because that figure excludes a range of additional benefits. And since it’s pensioners in bigger houses who are said to be hard done by, let’s put them in an average house worth £200000.

Keeping the equivalent as close as possible, how much does the working person need to keep up? Let’s put the worker in a similar average house. But since the latter owns nothing, he has to rent it at about £800 per month. And he doesn’t get the benefit of house price rises: since the mid-1990s, that is doubling every five years.

So to keep pace (not catch up – he still doesn’t own a house at the end of it and hasn’t closed that £200000 gap), the worker needs to make £200000 in those five years. Plus the £6000 to live on and the £9600 rent each year. We can discount things like council tax because they both pay it (though in fact the pensioner will get a rebate, so in reality the worker needs even more than we’re calculating).

Anyway, that leaves our worker needing to earn £278000 over five years, just to avoid widening the gap. At a constant rate, that’s £55600 per year net. But that comes from taxed income. A quick tax calculation (including the component called “national insurance”, which is compulsory and non-negotiable) reveals that this implies a headline salary of £95155, putting you in the top 1% of earners.

The cost to the employer is even more: there’s an employment tax under the “national insurance” label. At 12.8% on everything over £5058, that adds £11532 to the cost. So just to prevent that wealth gap widening implies a total cost of £106667!

Now if we change our working assumptions a little, and shift from house prices doubling in five years to the long-term average of 7 years, these figures are reduced by £11429 per year (net), 19371 (gross), 21850 (cost). But £75784 is still an extremely high headline salary.

Of course that’s not the whole story, and if you earn £95000 you can get a mortgage to buy that house and enjoy the benefits. But that still leaves the possibility of earning £40000 without ever being rich enough to buy a house. And that leaves you paying tax at the maximum rate, for the benefit of people far richer than you will ever be!

Yet most of the pressure is to kill off all taxes on property, and move to yet more income tax! Moral: if you have old (typically family) wealth, noone questions your right to be rich. But if you work hard you get no help, and no sympathy from the taxman!

Equinocturnal chill

I’m not sure of the exact time, but the equinox is about now. And we’ve got a sudden cold snap. Or what passes for cold here: the BBC weather page says tonight’s minimum will be -5°, though the daytime remains mild and sunny, and it’s just the one night below zero forecast. This is as cold as we’ve had all winter!

I mentioned before that we had a big tree in blossom as far back as the beginning of February. Until a couple of days ago it’s been a persistently very warm spring, with a mix of wet (more than average) and sunny. The daffodils are out now, which is right, but so are a great many other plants that shouldn’t be flowering until much later! What’s largely missing are the insects to pollinate them: I’ve seen the occasional bumblebee, but no honeybees or butterflies yet this season. I wonder which of the plants will suffer from that, and whether missing so many flowers will adversely affect the insects?

[UPDATE] The BBC weather forecast was, as usual, a pile of ****.  The core of the “arctic blast” passed, but the night never went below zero!

Sustainable living?

There’s a ‘go greener’ meme going round. I tried copying it here then editing in place, but wordpress’s editor mangled the markup horribly and – worse – re-mangled it when I fixed it but left in a typo. So lets ignore the instructions, and just tackle the list of actions in brief.

1,2,3,15,22. Low-energy lightbulbs and appliances. Yeah, of course, been on them for years. Don’t forget to use them efficiently too: for example, don’t put more water than you need in the kettle. (3), (15), (22) are examples.

4,14: N/A; don’t have a water tank

5,11,23: This is southwest England. We don’t have hot or cold weather here, so I don’t use either heating or aircond. In fact we don’t have any extremes of weather at all.

6. I make strenuous efforts to avoid junkmail. Not that it stops the buggers.

7. I don’t eat meat (and what’s “feedlot beef”?)

8,18. I’m able-bodied. Why should I want a car?

9. I recycle things that the recycling centre accepts, and more importantly re-use things myself. But should do more: there are some bad omissions, and I often generate a bag of non-recycling waste in just three weeks.

10,16. If I had the luxury of a garden or other land then composting and/or tree planting would become relevant.

12. I buy local fruit&veg, and occasional processed food (the latter being from very small-scale producers). But most things have to come from further afield. I don’t worry about long-distance transport that doesn’t involve airfreight or refrigeration. I gave up buying organic when it got devalued and became just another subsidised marketing effort for agribusiness.

13. I try to avoid air travel, and am regularly faced with stupid difficulties booking alternatives: the painfully broken Eurostar website, and the difficulty booking any bloody ferry without taking a car these days.

17. Is frozen food really that bad? I don’t buy much of it, but I do freeze food I’ve cooked. That’s efficient: I can cook in bulk, meaning less energy-intensive cooking.

19. Erm, are there non-biodegradable soaps/etc these days?

20. I use tapwater at home, but buy too many other drinks bottled, and usually take a bottle when travelling.

21. I plead guilty to leaving the tap running while brushing teeth. Not that we have a problem with water here.

24. Switch to reusable products? Bah, doesn’t that presume you were using disposables in the first place?

25. I’ll occasionally borrow something, but it’s too much hassle to do that very much.

The original wanted new suggestions, so here are a few

  1. Telecommute. Electrons are cheaper to transport than humans!
  2. Cook efficiently. For example, when using the oven, plan a cooked dessert at the same time as an oven-cooked main course and baked spud. Or when steaming vegetables, put the pasta/rice/etc in the water underneath them.
  3. Cook in bulk and freeze where possible (e.g. soups).
  4. Don’t printout things you can equally well read on screen. And avoid printing silly cover/banner pages.
  5. Take showers rather than baths.
  6. Re-use beats recycling. Buy one robust bottle of water or ice-cream container, re-use it indefinitely. Re-use carrier bags as long as they’re fit for it, and if one gets too dirty but is still intact, use it one last time to carry stuff to the bottle bank.

And there’s a final one that dwarfs the total effect of all the above. But I’ll leave that for another day.

Free Sotware

Apropos of nothing very much …

I just saw the typo “free sotware“. So I thought, what would that be? Free but nasty Booze?

Yep, I like this. A good name for software that’s free-of-charge but not open source.

In or Out [part 2]

One event that prompts this reflection is Helmut Tessarek’s recent announcement of mod_auth(nz)?_ibmdb2, which he developed as a third-party addon. From the description, it looks good: the module has seriously useful capabilities like cacheing database lookups, and he’s included a set of useful-looking admin tools.

The announcement prompted this discussion, the crux of which can be summarised as:

  • Him: Here’s this new module with a great feature set
  • Me: Nice, but it would have been even nicer within the DBD framework, with benefits for both you (DBD architecture’s efficiencies) and us (rich implementation and nice utilities).
  • Him: Agreed. But the module needs features that aren’t supported in Apache’s DBD framework.

This is IMHO a classic case where it would be of great benefit for him to participate directly in the developer community, and I’ve suggested he does so if he has more time to continue this work.

First, if he discusses with us how the DBD framework fails to meet his needs, we can then consider whether this merits changes to DBD. The worst outcome is that we can’t reasonably do that, and it’s back to square one.

Second, it would be great if the cacheing and the utilities could apply equally all authnz backends, according to each sysop’s needs. Or, at the very least, to other SQL-driven backends.

Third, and much less importantly, the cache’s backend might have generalised using apr_dbm.

So, his kitchen-sink authnz module, which is great in the old style of Apache 1.x and 2.0, would instead have been modularised to:

  • A review of DBD
  • A DB2 driver for DBD
  • A general-purpose authnz cacheing module.
  • A set of general-purpose utilities.

The volume of code and the work required to implement it should be substantially the same. It’s just taking best advantage of the Apache 2.2 architecture, and at the same time making a great new contribution! A strong case for better in than out, in my view!

So, what can we identify here that makes it better in than out? I think the key point is that it interacts with the “bleeding edge”: namely, the DBD framework and the authnz framework, both of which are new in Apache 2.2. In doing so, it may tread paths that are firmly on the core developers wishlists, and offer valuable insights.

In or out? [part 1]

Apache’s modular architecture works well for third-party developers, who can create and maintain their work independently if they prefer not to participate directly in the developer community.  There are some great and popular third-party modules out there.

From the end-users perspective, things may look different: there may be no obvious reason why module A is part of the core distribution while module B is a third-party addon.  In a corporate situation it can present a problem, where Apache itself is approved but a third-party developer is not considered trustworthy, or requires additional hassle and paperwork.

There are modules providing core functionality that are necessarily included.  And there are big kitchen-sink modules that should clearly remain independent: obvious examples are scripting modules like Perl, PHP and Python.  But between these are a range of modules that could be either in or out.

Take mod_rewrite.  That’s big, complex, and popular.  It’s  included in the core distribution, but it’s not really core functionality.  If it had been written new in 2005 rather than 1995, it might easily have remained a third-party module.

Or take ldap support.  That’s suitable for inclusion because its developers are active members of the dev community and are happy to maintain it that way.  But it could equally be a third-party addon.

But similarly, there are quite a few third-party modules that, from a functionality POV, could be core.  If LDAP authnz, then why not radius or kerberos?

A few widely-used third-party modules that spring to mind:

  • Configuration with mod_macro
  • A whole slew of bandwidth-management and DOS protection modules
  • Application firewall with mod_security
  • Fast CGI with mod_fastcgi or mod_fcgid
  • Filtering with mod_proxy_html, mod_line_edit, etc
  • XML processing with mod_xslt, mod_transform, etc
  • Perchild-like MPMs

Now, how is the besuited manager, or even his nonspecialist IT dogsbody, to evaluate the quality and trustworthiness of each of these external sources?  The module index is a plain directory and plays no role in vetting or QA.  You can try to evaluate whether the third-party developer is sufficiently trustworthy in its own right.  Google can tell you that a module is widely used and respected by experts in the field.  All of which is more effort, with no guarantee of a satisfactory outcome.

To be continued at a future Round Tuit, but hopefully while a couple of recent/current events are still topical!