Monthly Archives: January 2014

mod_form updated

mod_form is one of my old Apache modules.  It serves to parse a standard form, and make its contents available to application modules in Apache.  One fewer wheel for application modules to reinvent.

Like many of my older Apache modules, I wrote it for my own applications, but released it as open source in case it might be of use to anyone.  I hadn’t heard of anyone using it, but then I wouldn’t necessarily: I’ve seen my forgotten works pop up in a few different contexts, sometimes as-is, sometimes developed a lot further than I ever took them.

A day or two ago I got email from Peter Pöml, telling me that it is used by MirrorBrain to parse arguments.  But this usage requires a patch: mod_form as-was consumes the data so they no longer exist for anything else that needs the unparsed data.  A very simple patch: just copy the data before parsing and leave the original untouched.

The patched version has been in use since 2007.  But now it seems Fedora packaged it un-patched for MirrorBrain, leaving potential breakage in unexpected places.  Whoops!

Peter’s patch is simple and beneficial, and carries no risk of breaking anything.  So I’ve just applied it: download it now and you’ll get Peter’s improvement.  mod_form is not versioned (I never considered it important enough – maybe I’ll rethink if it’s being packaged in the mainstream) so it won’t be immediately obvious.  Blogging here for the benefit of anyone googling the story.

POSTSCRIPT (Jan 10): Peter mailed me again.  It seems my information was incomplete, and the Fedora package was patched after all.  There’s also another patch (from SUSE) for Apache 2.4 per-module logging, which I’ll look at when I have time.

Contrarian Travel

Our rail companies regularly do line maintenance and engineering work at weekends and holiday periods, when much of their market – above all commuters – is quiet.  Works often mean diversion and delays, so for some years I’ve (wherever possible) avoided weekend rail travel.

This christmas/new year period is no exception: they’ve taken advantage of it to conduct some major works.  But what has changed in the last couple of years is that the online timetables now take account of all planned disruption.  So we can now plan a journey with reasonable confidence.  If your journey is shown as running normally, it’s because you’re unaffected by works, not (as before) because the timetable is a work of hopeful fiction.  My main reason to avoid weekend/holiday travel is nullified.

Other disruption is alas less predictable, and our recent weather has provided it.  It’s been warm, wet and windy, and storm damage has led to disruption that the timetables cannot generally deal with.  To their credit, national rail now make very creditable efforts to provide up-to-date information about unscheduled disruption such as weather, too. Today[1]’s weather forecast was – correctly – for more heavy rain and strong but not extreme wind.

So I embarked on the long journey home hoping for the best but prepared for the worst.  Taking the first train of the morning at 7 a.m. at least leaves plenty of time.  While not at risk of overcrowding, the early train was much busier than I had expected at that hour on New Years Day, and happily it was perfectly on time.  The second train was less busy, and also perfectly on time.  Disruption?  What disruption?

The third and longest leg is the intercity route from London to Southwest England, which I joined at Westbury.  Westbury is always a miserable station to wait at, and today’s weather certainly didn’t help when the train arrived something over ten minutes late, on top of the twenty minutes scheduled change.  But once on the train I was compensated by the luxury of a nearly-empty carriage, and I accepted the explanation that it had been slowed for safety reasons.  If there’s a landslip or a tree down on the line, you don’t want to hit it at 200Km/h!  Later there was another stretch where we again slowed to a crawl.  15 minutes or so late in Plymouth, but one can’t blame them in the circumstances.  My sister-in-law took nearly as long to travel one third of the distance by road!

What really impressed me was how the train passed through flooded areas.  Extensive surface flooding on the Somerset Levels approaching Taunton was deep enough for the wind to whip up crested waves, and at a higher level than the tracks.  Yet (presumably) by some miracle of engineering, the tracks themselves were clear of floodwater and the train was able to pass the stretch at speed.

Fortunately (and because I’d checked the tide tables) we passed the coastal stretch around Dawlish/Teignmouth at low tide.  A few hours later those stormy-weather waves would’ve been breaking over both the track and the train.

[1] [I fell asleep writing this.  Just returned to it Jan. 3rd, but read Jan.1st for “today”.]