+++*

Symbolic Forest

A homage to loading screens.

Blog : Post Category : Geekery : Page 9

Photo post of the (insert arbitrary time period here)

Or, back to the railway

Back to the railway and the quiet post-viral timetable it is running at the moment. One nice thing about this timetable is that it gives me the opportunity to take my camera along and photograph the trains when they’re stood still, and the station when there’s no trains about. Normally you’re too busy to have chance for that sort of thing.

Bewdley station

Pannier tank

Bewdley North signalbox

2857 at Bewdley

Photo post of the week

Dw i wedi mynd i weld Sion Corn

Up to North Wales for the weekend, to help out with the trenau Sion Corn. My Welsh isn’t good enough yet to actually speak it, but good enough to understand when I hear one of the drivers trying to persuade a small boy that the loco is actually powered by a dragon inside the firebox, a la Ivor The Engine. The boy wasn’t having any of it.

The weather was grey, steely and windy. At times you could see across the Traeth; at times visibility was down to a hundred yards or so. Naturally, the time it decided to rain sideways was about five minutes after we’d decided we’d have time to walk over to Harbour Station before the rain started.

Cleaning out the ashpit

In the middle of The Cob

Overnight the storm grew worse, and in my bunk I could hear the wind outside and the rain hammering on the window. The next morning I was up early, so we could do a short-notice early-morning shunt to get a loco out of the Old Shed; as we shunted, it was pitch-black and cold but at least the wind had died down a little. As the locos started to warm up and come to life the dawn broke to show that there seemed to be just as much water, or more, on the landward side of the embankment as on the open-sea side. The salt marshes between the Cob and the Cambrian line’s embankment were a choppy, whitecapped sea, and inland the flooding went up the Traeth almost as far as if the Cob had never been built.

Flooded fields at Pont Croesor

Late arrival

Or, missing the train

I keep meaning to tell the tale of one of the most optimistic heritage railway passengers I’ve ever seen.

I took the kids to Totnes Rare Breeds Farm last week. If you don’t know Totnes: the town is on the west bank of the River Dart. The railway running past the town, coming from Plymouth, crosses the river, and on the east bank of the river forks in two. The right-hand fork is the main line, running eastwards to the head of the Teign estuary and thence along the coast to Exeter. The left-hand fork is a steam railway which runs up the valley of the Dart as far as Buckfastleigh, famous for its abbey and its tonic wine very popular in Scotland. Just to confuse you, both railway lines were originally built by the South Devon Railway, but nowadays the steam railway is reusing that name and the main line is just, well, the main line into Cornwall. Anyway, in the V where the railway forks, just on the east bank of the river, is Totnes Rare Breeds Farm, and it has no road access, indeed, no public access at all other than via the railway. If you want to arrive on foot, you must walk to the steam railway station (they have a footbridge over the river), through the station, across a little level crossing and into the farm. The level crossing has gates, just like a full-sized one, which the railway’s signalling staff lock shut when trains are arriving and departing.

We were sat feeding boiled eggs to a 93-year-old tortoise,* even older than The Mother Grandma, with another family, when I heard a sound from the station: the sound of the vacuum ejector on the train waiting to depart. In other words, the driver had just started to release the brakes ready to go. I checked the time: just coming up to Right Time for the next train. Looks like it will be a perfect-time departure.

“We’d better get going,” said the dad of the other family, “we need to catch that train.” And they got up and left. I thought it might be a bit cruel to tell them they’d almost certainly already missed it. The gates would already be locked, and even by the time they reached them, the train would probably be moving.

* one volunteer told us it was 94 and another 92 so I’m splitting the difference

Sitting by the fire

In which we regress

So it didn’t snow. I was back on the railway yesterday, and everything went rather well. None of the equipment failed, I didn’t do anything stupid, and I didn’t drop any tokens, which is always my biggest worry. It was a relatively quiet shift; I sat in the big armchair with the coal stove roaring away next to me, handwriting a diary piece about how sitting in the big armchair with the coal stove roaring away next to me and the clock ticking on the wall reminded me of visiting my grandmother’s house on winter Saturday afternoons when I was small. I was the first person to arrive at the station; and by the time I left all the station staff had already locked up and left too, it was getting dark, and all the lights were on. Although it didn’t snow, it felt all day as if snow was potentially on the menu.

I do wish the children could come with me to the railway, but I doubt that getting them in the same room as a cast-iron coal fired stove is a good idea: it would result in severe burns and trips to casualty, if not a full-scale conflagration. It is a shame, though, that I spend all day working on the line and then am not home until after they’re in bed.

Today, well, we have a strict no-romance-on-the-14th rule in this house; so instead of doing anything special we went into town and did the usual mundane weekend shopping: new gloves for the children, some stuff from the craft shop; a new USB cable. The Child Who Likes Fairies has learned the word “gouache”.

Inconsistency

In which different tools behave in different ways

One of those days when everything seemed to go wrong at work this afternoon. Partly because of things I broke, partly because of things that other people had messed up before I got there, partly because of things that seemed to go wrong entirely by themselves.

For example - warning, dull technical paragraph ahead - I hadn’t realised that Visual Studio can cope remarkably well with slightly-corrupt solution files and will happily skip over and ignore the errors; but other tools such as MSBuild will throw the whole file out, curl up and cry into their beer. Visual Studio, whilst ignoring the error, also won’t fix it. Therefore, when git is a git and accidentally corrupts a solution file in a merge, you will have no problems at all on a local build, but mysterious and hard-to-fix total failures happen whenever you try to build on the build server.

Update, September 8th 2020: At some point I will write a proper blog post about what happened here, how to spot it is going to happen, and how to fix it, because although MSBuild is going away now we are in the .NET Core world there are still plenty of people out there using .NET Framework, and they still occasionally face this problem.

Disassembly, Reassembly

In which we try to use metaphor

The past two days at work have largely just been the long slog of writing unit tests for a part of the system which firstly, was one of the hairiest and oldest parts of the system; and secondly, I’ve just rewritten from scratch. In its non-rewritten form it was almost entirely impossible to test, due to its reliance on static code without any sort of injection.

For non-coding people for whom this is all so much “mwah mwah mwah” like the adults in Peanuts: a few weeks ago I was doing some interesting work, to whit, dismantling a creaking horror, putting its parts side by side on the workbench, scraping off the rust and muck and polishing them up, before assembling the important bits back together into a smoother, leaner contraption and throwing away all the spare screws, unidentifiable rusted-up chunks and other bits that didn’t seem to do anything. Now, though, I have the job of going through each of the newly-polished parts of the machine and creating tools to prove that they do what I think they were originally supposed to do. As the old machine was so gummed-up and tangled with spiderwebs and scrags of twine, it was impossible to try to do this before, because trying to poke one part would have, in best Heath Robinson style, accidentally tugged on the next bit and pushed something else that was supposed to be unconnected, setting off a ball rolling down a ramp to trip a lever and drop a counterweight to hit me on the head in the classic slapstick manner. All this testing each aspect of the behaviour of each part of the device is, clearly, a very important task to do, but it’s also a very dull job. Which is why an awful lot of coders don’t like to do it properly, or use it as a “hiding away” job to avoid doing harder work.

Nevertheless, today it did lead me to find one of those bugs which is so ridiculous it made me laugh, so ridiculous that you have a “it can’t really be meant to work like that?” moment and have to dance around the room slightly. I confirmed with the team business analyst that no, the system definitely shouldn’t behave the way the code appeared to. I asked the team maths analyst what he thought, and he said, “actually, that might explain a few things.”

Repetition

In which we get annoyed with AWS

The problem with writing a diary entry every day is that most weeks of the year, five days out of seven are work. It’s hard to write about work and make it interesting and different every day; and also not write about anything too confidential.

Writing about work itself would quickly become pretty dull, I fear, however interesting I tried to make it. Today, I wrestled with the Amazon anaconda. Amazon have a product called Elastic Beanstalk, which is a bit like a mini virtual data centre for a single website. You pick a virtual image for your servers, you upload a zip file with your website in it, and it fires up as many virtual servers as you like, balances the load between them, fires up new servers when load is high and shuts down spare ones when load is low. If you’re not careful it’s a good way to let people DDoS your credit card, because you pay for servers by the hour, but all-in-all it works quite well. The settings are simple, but deliberately fairly straightforward: how powerful a server do you want to run on, how many of them do you need at different times of the day, and a few other more esoteric and technical knobs to tweak. Elastic Beanstalk isn’t so much a product in itself, as a wrapper around lots of other Amazon Web Services products that you can use separately: virtual servers, server auto-scaling and inbound load balancing. The whole idea is to make tying those things together in a typical use-case a really easy thing to do, rather than having to roll your own each time and struggling with the hard bits. The only thing that’s specifically Elastic Beanstalk is the control panel and configuration on top of it, which keeps track of what you want installed on your Elastic Beanstalk application and controls all the settings of the individual components. You can still access the individual components too, if you want to, and you can even change their settings directly, but doing so is usually a Bad Idea as then the Elastic Beanstalk control layer will potentially get very confused.

Today, I found I couldn’t update one of our applications. A problem with an invalid configuration. Damn. So I went to fix the configuration - but it was invalid. So I couldn’t open it, to fix it. It was broken, but I couldn’t fix it because it was broken. Oh.

That’s how exciting work is. One line of work held up, whilst I speak to Ops, get the broken Elastic Beanstalk replaced from scratch with a working one. In theory I could have done it myself, but our Ops chap doesn’t really like his part of the world infringed unilaterally.

The woman at the desk opposite me is on a January diet. One of those diets that involves special milkshakes and lots of water all day. Personally, I’d rather have real food.

Curious problem

In which we have an obscure font problem, in annoyingly specific circumstances

Only a day after the new garden blog went live, I found myself with a problem. This morning, I noticed a problem with it, on K’s PC. Moreover, it was only a problem on K’s PC. On her PC, in Firefox and in IE, the heading font was hugely oversized compared to the rest of the page. In Chrome, everything was fine.

Now, I’d tested the site in all of my browsers. On my Windows PC, running Window 7 just like K’s, there were no problems in any of the browsers I’d tried. On my Linux box, all fine; on my FreeBSD box, all fine. But on K’s PC, apart from in Chrome, the heading font was completely out. Whether I tried setting an absolute size or a relative size, the heading font was completely out.

All of the fonts on the new site are loaded through the Google Webfonts API, because it’s nice and simple and practically no different to self-hosting your fonts. Fiddling around with it, I noticed something strange: it wasn’t just a problem specific to K’s PC, it was a problem specific to this specific font. Changing the font to anything else: no problems at all. With the font I originally chose: completely the wrong size on the one PC. Bizarre.

After spending a few hours getting more and more puzzled and frustrated, I decided that, to be frank, I wasn’t that attached to the specific font. So, from day 2, the garden blog is using a different font on its masthead. The old one – for reference, “Love Ya Like A Sister” by Kimberly Geswein – was abandoned, rather than wrestle with getting it to render at the right size on every computer out there. The replacement – “Cabin Sketch” by Pablo Impallari – does that reliably, as far as I’ve noticed;* and although it’s different it fits in just as well.

* this is where someone writes in and says it looks wrong on their Acorn Archimedes, or something along those lines.

Vampire-Spotting

In which we suspect that some TV cameras might be taking the train

Regular readers over the past couple of years might have noticed that I quite enjoy spotting the filming locations of the paranormal TV drama* Being Human, filmed in a variety of easily-recognisable Bristol locations: Totterdown, Bedminster, Clifton, St George, College Green, and so on. Not for much longer, though, we thought: although the first two series were Bristol-based, the third series is apparently being moved over to Cardiff. Whether it will be the recognisable Cardiff Cardiff of Torchwood, or the generic anycity of Doctor Who, remains to be seen; but this was all clearly set up when, at the end of Series Two, the protagonists were forced to flee the house on the corner of Henry St and Windsor Terrace for an anonymous rural hideout. No more Bristol locations for us to spot, we thought.

Over the past week, we’ve been doing a lot of driving about moving house; we now know every intimate corner of every sensible route from south Bristol to east Bristol, or at least it feels like we do. So we were slightly surprised to see that, about a week ago, some more of these pink signs have popped up. “BH LOC” and “BH BASE”, as before.

We spotted them on Albert Road, near the Black Castle. “BH BASE” points along Bath Road, towards the Paintworks and the ITV studios. “BH LOC”, though, is intriguing. It points down the very last turning off Albert Road before the Black Castle end. That entrance only goes to two places: a KFC branch, and St Philips Marsh railway depot.

If you watched the second series of Being Human, you might remember that there was, indeed, a rather brutal train-based scene in a First Great Western carriage.** So, expect the third series to include, at the very least, an extension of that scene, if not a spin-off plotline. Or, alternatively, those signs aren’t really anything to do with Being Human at all, and it’s just coincidence that they pop up around Bristol a few months before each series appears on the telly.*** My money’s on that train from Series Two being the root of part of the Series Three plot; but, I guess, we’ll just have to wait, watch and see.

* Well, it started off as a comedy, and got more serious as it went along.

** I was impressed that the programme’s fidelity-to-location included shooting that scene in a genuine local train, rather than just finding any railway prepared to get a carriage soaked with fake blood. Of course, it was probably a convenient location too.

*** The third possibility, of course, is that someone in Series Three tries to cure vampires and werewolves of their respective curses by getting them to eat large amounts of fried chicken.

The Knowledge

In which we plot to go on the telly again

Regular readers of this site might be aware that, in the past year or so, I’ve appeared on telly a couple of times, showing off my inner geekiness. If you weren’t aware: specifically, I was a contestant on the 2009-10 series of Mastermind, parading my knowledge of French history (I won, hurrah!) and steam trains (lost, but not because of the trains).

It was all great fun and a grand couple of days out. Indeed, if you ever get the chance, I’d recommend going on either Mastermind, Countdown or Jeremy Kyle — they’re all filmed in studios alongside each other — because, if nothing else, the backstage food is very good* and it’s always nice to get pampered.**

Now, I’d never tried doing that sort of thing before, despite people saying “oh, you’re clever, you should enter [latest popular gameshow]”. And I don’t want to turn into one of those people who goes on every quiz show going, popping up every week somewhere across the TV schedules.*** But, even so, now the “you must not go on any other telly” bit of my Mastermind contract has (I think) expired, I’ve started casting an eye across the networks and thinking “maybe I could do that”.

I’m not sure that there’s much TV that I’m suited to, though. Definitely not that Channel 4 thing with Davina McCall, if it’s coming back, just because I don’t think I’m the sort of person who would get through their auditions. The more I look at the lists of game shows that are out there, the more I’m attracted to the ones where you don’t actually win anything material. Radio 4’s Brain Of Britain, for example — not TV but you get the point. I also quite fancy the thought of applying to Only Connect on BBC4, because I think I’m quite good at spotting links between things.**** The only problem is, that’s a team game; I don’t know anybody else who would want to do it (or even who watches it, apart from K), and I never know any of their music questions.

So — does anyone have any other cunning ideas? I will have to ponder it over, and see what I can enter. And, then, watch this space.

* Apart from their meringues, which were the worst meringues I’ve ever had – they had the texture of a stale bread roll.

** There were seeming armies of runners with nothing really to do other than be nice to nervous Mastermind contestants and their families. You couldn’t even try to get yourself a cup of water without a runner saying “oh, don’t get up, we’ll get that for you”.

*** Like the woman who beat me on em>Mastermind; at least, my mother said she’s spotted her on TV a few times before. I didn’t realise. Another of the contestants, too, was on A Question Of Genius not long ago.

**** If you don’t watch it: the aim is to spot connections between words or statements. A sample question: “12:00am, 1st January, 1970″ is one clue; “Newlyn” is another; the answer is “datum points”, because the former is the time datum for Unix-based operating systems, and the latter is the site of the altitude datum used by the Ordnance Survey. The full questions have 3 or 4 clues, but you get more points if you don’t use all of them.