+++*

Symbolic Forest

A homage to loading screens.

Blog : Post Category : Geekery : Page 10

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.

Summer railway

In which we have a trip out by train

Never mind “Spring Bank Holiday”: it’s June, and it feels like it’s summer already: last weekend, we had a day at the beach, and both ended up horribly sunburned. As shorts aren’t an option for work, I winced every time I moved my legs. Yesterday: a bank holiday weekend, and beautiful sunshine again, so we went off for a cream tea and a steam train ride.

The footplate of a steam locomotive on a summer’s day is a horribly hot and airless place to be. Nevertheless, riding behind a steam engine seems like such a naturally summery thing to do. So we travelled down to the South Devon Railway,* for a day’s relaxation sitting in railway carriages and watching trains go past.

The South Devon Railway is, as steam railways go, an unusually scenic one. Being in Devon it’s surrounded by lush, verdant countryside; it follows the River Dart down from Buckfastleigh, past rough, rocky rapids; weirs and once-busy mill-races; finally alongside the more placid deeper, lower stretches of the river, down to its tidal weir just by Totnes station. It doesn’t take much effort for a train to trundle downriver; as we sat in the front carriage with the windows open, we could hear the locomotive clanking its way down the valley with barely any steam on, the vacuum pump making a light chiff noise for each revolution of the wheels. Every so often, a gentle touch of speed was needed, and we heard the deeper huffhuffhuffhuff of the cylinders, four huffs to each vacuum pump chiff. We passed sleepy red cattle, wading fishermen, and groups of wading photographers standing on mid-river rocks to take photos of the passing train.

Country trains often ramble a little, and pause unexpectedly. Midway along the line, we halted in a loop, and waited quietly for another train to pass. Other passengers, not used to this sort of thing, looked around and wondered what the problem was. We were too far away from the signalbox to hear the block bells chiming; but we could hear the rattle of the signal wires as the signals for the down train were pulled off, then we watched it slowly chuff past us before we started on our way again.

This is not Photo Post Of The Week, incidentally. That’s because the photos below aren’t ones I took yesterday; as usual, my photo uploads are far too backlogged for that. These, though, are from the last time I visited the South Devon Railway, about three years ago. The fixed stop signal has been repainted since, but not much else has changed.

Buckfastleigh station

Watering an engine whilst rounding the train

GWR tablet catcher, Buckfastleigh

* Things it is important not to confuse pt. 373: the South Devon Railway, the line from Exeter to Plymouth designed by Brunel, opened in the 1840s, and bought out by the Great Western Railway in the 1870s; with the South Devon Railway, the heritage railway formed in the early 1990s to take over the Dart Valley Railway’s tourist line from Totnes to Buckfastleigh and turn it from a business-oriented tourist attraction into a more charitably-run steam railway. You may spot a problem of similarity with the names there.

Hello, Operator

In which we consider switching OS

Right, that’s enough of politics. For now, at least, until something else pops up and ires me.

Back onto even shakier ground, so far as quasi-religious strength of feeling goes. I’m having doubts. About my operating system.

Back in about 1998 or so, I installed Linux on my PC. There was one big reason behind it: Microsoft Word 97. Word 97, as far as I can remember it, was a horribly bug-ridden release; in particular, when you printed out a long document, it would skip random pages. I was due to write a 12,000 word dissertation, with long appendices and bibliography,* and I didn’t trust Word to do it. I’d had a flatmate who had tackled the same problem using Linux and LaTeX, so I went down the same route. Once it was all set up, and I’d written a LaTeX template to handle the university’s dissertation- and bibliography-formatting rules, everything went smoothly. And I’ve been a happy Linux user ever since.

Now, I’m not going to move away from Linux. I like Linux, I like the level of control it gives me over the PC, and the only Windows-only programs I use run happily under Wine. What I’m not sure about, though, is the precise flavour of Linux I use.

For most of the past decade, I’ve used Gentoo Linux. I picked up on it about a year after it first appeared, and liked what I saw: it gives the system’s installer a huge amount of control over what software gets installed and how it’s configured. It does this in a slightly brutal way, by building a program’s binaries from scratch when it’s installed; but that makes it very easy to install a minimal system, or a specialist system, or a system with exactly the applications, subsystems and dependancies that you want.

There are two big downsides to this. Firstly, it makes installs and updates rather slow; on my 4-year-old computer, it can take a few hours to grind through an install of Gnome or X. Secondly, although the developers do their best, there’s no way to check the stability of absolutely every possible Gentoo installation out there, and quite frequently, when a new update is released, something will break.**

I’m getting a bit bored of the number of times in the last few months that I’ve done a big update, then find that something is broken. Sometimes, that something major is broken; only being able to log in via SSH, for example, because X can’t see my keyboard any more.*** It can be something as simple as a single application being broken, because something it depends on has changed. It turns “checking for updates” into a bit of a tedious multi-step process. I do like using Gentoo, but I’m wondering if life would be easier if I switched over to Ubuntu, or Debian, or some other precompiled Linux that didn’t have Gentoo’s dependancy problems.

So: should I change or should I go stay? Can I be bothered to do a full reinstall of everything? What, essentially, would I gain, that wouldn’t be gained from any nice, clean newly-installed computer? And is it worth losing the capacity to endlessly tinker that Gentoo gives you? I’m going to have to have a ponder.

UPDATE: thanks to K for pointing out that the original closing “should I change or should I go?” doesn’t really make much sense as a contrast.

* The appendices took up the majority of the page count, in the end, because of the number of illustrations and diagrams they contained.

** Before any Gentoo-lovers write in: yes, I am using stable packages, and I do read the news items every time I run “emerge –sync”

*** I was lucky there that SSH was turned on, in fact; otherwise I’d have had to start up and break into the boot sequence before GDM was started.

Slash, slash, slash

In which spending cuts may be a good thing

Following on from yesterday’s post about government spending cuts: there is, of course, one thing that would save quite a bit more money than freeing up some unused phone numbers. Regular readers of this blog will – especially if they were regular readers about a year ago – be very bored of me droning on about the West Of England Partnership‘s* ongoing guided busway scheme, which consists essentially of turning former and current railway alignments such as the Bristol-Bath Railway Path or the Bristol Harbour Railway into private roads for the exclusive use of First Group, at public cost. Rather high public cost, at that, as for any road scheme; and the first phase of the project would have no purpose other than to replace the current Ashton park-and-ride services with new, less useful, park-and-ride services from the same car park. Follow this link to read more.

Well, the local press has suddenly noticed that cancelling this scheme might be a nice easy way to cut the Department for Transport’s budget down a bit; and other local bloggers have had similar news on another poorly-thought-out local transport scheme. That big hole in the government budget, it appears, is suddenly going to mean no money for new roads, whether that be a replacement for Hartcliffe Way, or paving over the Harbour Railway so that bus routes 903 and 352 can avoid Hotwells Road.**

You might also notice a quote from Councillor Hopkins in that article. “An alternative might be a much cheaper ultra-light rail system, which was tried out on a short stretch of Bristol’s dockside several years ago.” He’s referring to a machine called the Parry People Mover, a small lightweight railcar powered by a flywheel that gets charged up at stops. I don’t see it happening, either. Parry People Movers have been tried at various sites, including the Bristol Harbour railway, but they’ve never seemed to last very long except for one location, Stourbridge (West Mids), a very short line with no intermediate stops. They need a railway line to run on, and reinstating the railway to Ashton Gate then extending it to Ashton Vale would be as expensive, probably, as building a road. Similarly, you couldn’t extend a Parry People Mover line into the city: you’d have to lay tramlines, for one thing, and if you were doing that, you may as well go with a real tram that doesn’t have to wait for a 5- or 10-minute recharge at each stop.

So: a short-for-cash government means no new buses and no new roads. In the long run, no new public transport is a Bad Thing; but new roads, public or private, always mean more traffic, higher emissions, and more oil used up. Hopefully, an enforced pause will mean we can wait for a while, until we can design a transport scheme that’s actually useful, not just one that’s easy.

* I do wonder sometimes what other local councils, like, say, Somerset, Devon, Dorset or Cornwall think of the CUBA local authorities claiming the name “West of England” for themselves and themselves alone.

** Because that, essentially, is all that first phase of the “Bus Rapid Transit” scheme, for all the work it needs, amounts to.

Spearhead From Space

In which we worry that the PM is a potential Doctor Who villain

Since the election, I’ve felt a bit sorry for Gordon Brown, what with all the people who have rushed to gloat and put the boot in since his progressive downfall started. Last week’s Have I Got News For You featured a montage of his strained-looking toothy smile, his clunky body-language, as if the ability to smile and shake hands smoothly was indeed what really mattered in a leader. I can sympathise partly because my own smiles are often as bad as his, especially if I’m trying to pose. When I’m smiling for the camera, everyone else shuffles their feet and small children run away crying; so when people make fun of Gordon Brown for suffering the same problem, he definitely gets my sympathies.

People’s reaction to his clunkiness, though, just goes to show how much people are concerned today with style and slickness over intellect; and Gordon Brown’s defeat, which people are already treating as much less narrow than it actually was, is only going to reinforce that. When we see David Cameron and Nick Clegg standing together, I get an uneasy squirming horror-film feeling that something is not quite right: that we’re not watching real people, but some sort of shiny artificial human-mimicking lifeform whose twin bodies are slowly converging onto one set of features. By the end of this parliament, we’ll be ruled by Cameregg, one creature with two identical bodies, identical faces with features so blandly generic you could barely pick them out from a crowd. Ed Balls, and the Miliband brothers, might well be part of the same species: some sort of bizarre alien trying to put on a human face but turning into an inhuman everyman. It might just be the effect of modern spin-driven media-friendly politics – or maybe the Autons are real after all.