friday afternoon
Oh dear.
More
stuff that fell through the cracks. One of them's
easily
fixed; the other will take a little more work.
life in the bay area
Has anyone else noticed that VTA's
light
rail is
always a couple of minutes early in the evening and
especially in the
wee hours? One week I missed trains three days out of
five. One of those
days I set out for the 0126, 0236, and 0346 trains home and
missed each one, and
eventually gave up
and spent the night at work. One time I mentioned the
schedule to the
driver, and he turned the tannoy on to say that his watch
was synchronised
to an atomic clock. I wish the clocks on the platform would
agree with his then.
I missed the train just now (by 20 seconds; it was two
minutes early by the platform clock), so I've come back to
work on the other problem.
wee hours of saturday
I just went to catch the 0020 train home. Just before I got
to the station at 0015 by my watch, the train went past.
@%$! So I turned back. Minutes later, I remembered
that
sometimes they inexplicably send dark trains five minutes
before the real ones. Sure enough, at the now distant
station, there it was: another train.
overriding settings
So I've fixed the other problem and checked
it in. I'm not 100% sure it's exactly right, but it's
checked in so people can test it.
It turned out to be a really interesting
problem: we have a linker sort of thing, and its behaviour
is governed by a bunch of settings. These are set from
their default values, from the default handling in a control
file, from specific overrides in the control file, from
explicit stuff on the command line, and from options on the
command line. And these all have to override each over in
the right order.
This would be easy if the override order was the same as the
order in which the program processes them. But that's
impossible: for example, you don't know the filename of the
control file until after you've processed the command
line options.
...I'd write about the cute solution now, but I'm sure
nobody
wants to
read about me missing another train!