Planet Uknot

October 18, 2017

Roger Bell_West

Building a File Server 4: maintenance

In this (probably final) part of the series on building a file server, I'll talk about keeping the thing running once you've got it. This is specific to the ZFS approach.

October 18, 2017 08:03 AM

October 17, 2017

Zoe O'Connell

Retiring Lords – should we use age of length of service?

There has been some press coverage today of another proposal on Lords retirements, this time to limit the length of service to 15 years. This isn’t the first time this has been proposed, and something similar with a ten year limit was part of Liberal Democrat ideas for House of Lords reform during coalition.

Firstly, let us take a look at the proposal I discussed previously, namely retiring peers on the basis of age. Is there any correlation between age and how often a peer contributes? How much someone contributes to politics is a largely subjective measure, but for the purposes of this discussion I have used the number of days a member is mentioned in Hansard over the last year. The raw number of mentions is a less helpful measure as a few people have over a thousand mentions due to extended back-and-forth discussions in less well-attended debates. (Click for larger versions of the charts)


Age of Peers vs. Number of days contributed


There’s certainly some link between age and contributions, with 90-year-old members of the house understandably contributing less than those in their 40s. But there is no sudden drop-off and it is hard to identify an age at which members are no longer pulling their weight.

The new proposals do not appear to retire existing life peers, so we would still have the problem I outlined in my previous post about needing members to retire to make more space any time soon. But if this proposal did go ahead, is there any drop off in length of service and contributions?

Length of service for peers vs Days contributed

As we can see, there is definitely a tendency for long-term members to be about less often but perhaps not as much as would be expected, and there is no obvious point at which peers suddenly stop attending. The most prolific Lords tend to be within their first five years but there are plenty of newer peers who don’t contribute as well as a number who manage plenty of engagement – cross-bench peer Lord Hyldon contributing on over 100 days over the last year despite having been a member for nearly five decades stands out, for example.

So it would appear that term limits for peers are not perfect, but a better way of dealing with the excessive number of Members of the House of Lords than mere age.

The post Retiring Lords – should we use age of length of service? appeared first on Complicity.

by Zoe O'Connell at October 17, 2017 02:24 PM

Jonathan Dowland

Electric Dreams

No spoilers, for those who have yet to watch it...

Channel 4 have been broadcasting a new 10-part series called Electric Dreams, based on some of the short fiction of Philip K Dick. The series was commissioned after Channel 4 lost Black Mirror to Netflix, perhaps to try and find something tonally similar. Electric Dreams is executive-produced by Brian Cranston, who also stars in one of the episodes yet to broadcast.

I've read all of PKD's short fiction1 but it was a long time ago so I have mostly forgotten the stories upon which the series is based. I've quite enjoyed going back and re-reading them after watching the corresponding episodes to see what changes they've made. In some cases the changes are subtle or complementary, in other cases they've whittled the original story right out and installed a new one inside the shell. A companion compilation has been published with just the relevant short stories in it, and from what I've seen browsing it in a book shop it also contains short introductions which might be worth a read.

Things started strong with The Hood Maker, which my wife also enjoyed, although she was disappointed to realise we wouldn't be revisiting those characters in the future. The world-building was strong enough that it seemed like a waste for a single episode.

My favourite episode of those broadcast so far was The Commuter, starring Timothy Spall. The changes made were complementary and immensely expanded the emotional range of the story. In some ways, a key aspect of the original story was completely inverted, which I found quite funny: my original take on Dick's story was Dick implying a particular outcome was horrific, whereas it becomes desirable in the TV episode.

Episode 4, *Crazy Diamond*

Episode 4, Crazy Diamond

One of the stories most hollowed-out was Sales Pitch which was the basis for Tony Grisoni’s episode Crazy Diamond, starring Steve Buscemi and Sidse Babett Knudsen. Buscemi was good but Knudsen totally stole every frame she was in. Fans of the cancelled Channel 4 show Utopia should enjoy this one: both were directed by Marc Munden and the directing, photography and colour balance really recall it.

The last episode broadcast was Real Life directed by Ronald D Moore of Battlestar Galactica reboot fame and starring Anna Paquin. Like Sales Pitch it bears very little resemblance to the original story. It played around with similar ideas explored in a lot of Sci-Fi movies and TV shows but left me a little flat; I didn't think it contributed much that I hadn't seen before. I was disappointed that there was a relatively conclusive ending. There was a subversive humour in the Dick short that was completely lost in the retelling. The world design seemed pretty generic.

I'm looking forward to Autofac, which is one of the shorts I can remember particularly enjoying.

  1. as collected in the 5 volumes of The Collected Stories of Philip K Dick, although I don't doubt there are some stragglers that were missed out when that series was compiled. ↩

October 17, 2017 11:33 AM

Roger Bell_West

Timeless season 1

2016-2017 science fiction, 16 episodes. A time machine has been invented, and stolen, by someone whose goals are unclear but probably bad; a team is assembled in haste to take the second machine to try to catch him.

October 17, 2017 08:00 AM

Website refresh

I thought it was about time I updated the website. I’ve moved it to a new, more reliable server (hopefully, no more of it regularly disappearing off the Internet every week!), put it behind CloudFlare to improve performance, and, finally, changed the design. It’s still running on WordPress, and eagle-eyed readers will spot that it’s now based on the default ‘twentyseventeen’ theme, but I’ve tweaked it a bit to look more the way I want it to.

All I need to do now is actually write stuff more often!

by Mark at October 17, 2017 07:41 AM

October 16, 2017

Roger Bell_West

The Victorian Internet, Tom Standage

1998 non-fiction, an informal history of the age of the telegraph.

October 16, 2017 08:02 AM

October 15, 2017

Roger Bell_West

Alien Frontiers

Alien Frontiers, designed by Tory Niemann, is a dice-placement game for 2-4 players.

October 15, 2017 08:00 AM

October 14, 2017

Roger Bell_West

Midland Air Museum

The Midland Air Museum is round the back of Coventry airport, next door to the now-deceased Electric Railway Museum, and I visited it on the same day. It has a strong focus on Armstrong Whitworth and related companies, which had a factory here. All photos are cc-by-sa as usual.

October 14, 2017 08:04 AM

October 13, 2017

Roger Bell_West

Psmith in the City, P. G. Wodehouse

1910 comic novel, compilation from magazine publication in 1908-1909. Mike and Psmith end up toiling in the New Asiatic Bank. This suits neither of them.

October 13, 2017 08:02 AM

October 12, 2017

Roger Bell_West

Red Kite perching

A few days ago a red kite perched on a tree conveniently aligned with my window. All images are cc-by-sa as usual.

October 12, 2017 08:02 AM

October 11, 2017

Roger Bell_West

Clean Sweep, Ilona Andrews

2012 modern fantasy short novel, originally published as blog posts on the author's web site. Dina Demille keeps a faded bed-and-breakfast in small-town Texas. But it's actually a way station for travellers from other worlds.

October 11, 2017 08:03 AM

October 10, 2017

Roger Bell_West

Electric Railway Museum final open day

The Electric Railway Museum is losing its site, and its last open day was last Sunday (8 October 2017). All photos are cc-by-sa as usual.

October 10, 2017 08:03 AM

Andrew Elwell

Plotting Lustre MDS stats

At $dayjob we have several large filesystems - for example our /scratch system has 3.1 PB of space using over 1000 HDDs. Although each vendor offers their own dashboard for monitoring they're all a little bit crap and don't integrate with anything else.

Cue an afternoon setting up influxdb (trivial) and grafana (also trivial) on a spare VM and a simple python script run on the metadata servers:

[admin@snx11038n003 ~]$ cat
import urllib
import time

def grabbit(mds):
post = ""
with open(('/proc/fs/lustre/mdt/%s/md_stats' % mds), 'r') as f:
for line in f:
k,v,null = line.split(None,2)
if k == "snapshot_time":
post += 'metadata,fs={3} {0}={1} {2}\n'.format(k,v,ts,mds)
with open(('/proc/fs/lustre/mdd/%s/changelog_users' % mds), 'r') as f:
tmp =
# we can cheat here as they have the same format - 3rd item in list is current changelog count, and then
# from the 6th item on we get changelog id / position to pull into a dict
head = int(tmp[2])
clog = dict(zip(tmp[5:][0::2], tmp[5:][1::2]))
post += 'changelog,fs={2} head={0} {1}\n'.format(head,ts,mds)
for cl,count in clog.items():
post += 'changelog,fs={3} {0}={1} {2}\n'.format(cl,count,ts,mds)

p = urllib.urlopen('http://influxbox:8086/write?db=lustre&precision=u',post)

while True:
sys.exit("Whoa, that went a bit Pete Tong!")

And a couple of clicks in Grafana can soon knock up a dashboard:

by Andrew Elwell ( at October 10, 2017 02:14 AM

October 09, 2017

Zoe O'Connell

Sex and the Census

Longtime readers of this blog will recall that I have previously written about the census in some detail. And if you’ve been about the last day or so, you’ll have seen the fuss over the news that the Office of National Statistics might make declaring your sex optional in the 2021 census.

The full details are not known as the Sunday Times story is from a leaked report and contains few details. This did not stop the Times breathlessly rushing to get quotes from two well-known anti-trans “feminists”. It seemed no trans people were asked for quotes.

The misreporting around this issue is even more widespread than usual for trans-related stories. Misreporting caused by concerns that facts will get in the way of a good headline that further demonises trans people. So here are some myths already doing the rounds, debunked.

Myth: Gender will no longer be recorded in the census, or we will have inaccurate data on gender
There are many forms in existence in which make gender optional, and most people still tick the appropriate option. Religion is a far more sensitive issue and even when the question was made optional in the 2011 census, only 7% of people chose not to provide an answer.

And the Office for National Statistics are likely to use “imputation” to fill in the gaps – a system they routinely use and causes problems analysing statistics for minority communities, such as trans people and poly households. In a nutshell, if you put your name as Mary and don’t tick “Female”, the ONS may still record you as female in statistics.

Myth: This will erase women’s identity
Tick the box, or don’t tick the box. Your choice, nobody else’s. Established religion has not disappeared since the question was made optional in 2011.

Myth: Trans people and only trans people will not answer the question, which is why it’s optional
Most trans people identify more strongly with one gender than the other, and are likely to simply tick the box they most closely identify with. The groups most likely to skip this question are, roughly in order of likelihood:

  1. Those who think it is “none of your damn business”. (A view that’s been held by some feminists quite separate from trans concerns for some time)
  2. Respondents who didn’t understand the question, perhaps because of language issues
  3. People who simply couldn’t be bothered.
  4. Non-binary people

I predict that we will see some attempts to extrapolate the non-binary population of the UK based on 2021 data. I doubt such extrapolations will be valid.

Did the Office for National Statistics get this right?
In a word, no. At least, it doesn’t look like they have but it is hard to say until the final report is published – it may be that there has been selective quoting from the report in the original article (£) and the ONS considered other factors more important. In particular, I find it a little over the top for a government report to state that asking about sex rather than gender is reallys “unacceptable”. But that may have been one side point in a longer article, or reporting the views of a focus group.

And “Other” was rejected because it was “thought to homogenise trans people and differentiate them from the rest of society“. That statement suggests that whoever wrote the ONS report has a tentative grasp of trans issues at best, as it is only true if you start from the assumption that all or most trans people will tick “other”. Liberal Democrat Conference speakers cards have an “Other/Prefer Not To Say” option on them for gender for over a year, and we have not had any complaints about that. If we were going to get complaints about getting an equality issue wrong, that’s precisely the environment in which I would expect them to surface.

And finally, there seems to be some conflation in the quotes between non-binary and intersex issues. It is unclear why the ONS has lumped intersex people in with non-binary people in this way, as they are overlapping but still distinct groups in much the same way as being Irish and having red hair are.

The post Sex and the Census appeared first on Complicity.

by Zoe O'Connell at October 09, 2017 09:30 AM

Roger Bell_West

September-October 2017 Trailers

Some trailers I've seen recently, and my thoughts on them. (Links are to youtube. Opinions are thoroughly personal.)

October 09, 2017 08:02 AM

October 08, 2017

Roger Bell_West

The Fountains of Paradise, Arthur C. Clarke

1979 Hugo- and Nebula-award-winning science fiction. Vannevar Morgan is determined to build a bridge linking Earth to geosynchronous orbit, but humans and physics are going to get in his way.

October 08, 2017 08:03 AM

October 07, 2017

Roger Bell_West

The Last TringCon, 30 September 2017

This small one-day boardgaming event happened twice a year in a village hall in Deepest Buckinghamshire. This was my sixth visit; I wasn't expecting to get to it, but YSDC Games Day was moved.

October 07, 2017 08:01 AM

October 06, 2017

Roger Bell_West

The Mind Readers, Margery Allingham

1965 classic English detective fiction; eighteenth of Allingham's novels of Albert Campion. Someone seems to be developing mechanically-assisted telepathy, but what does it have to do with Campion's nephew?

October 06, 2017 08:01 AM

October 05, 2017

Roger Bell_West

Mystery Science Theater 3000 season 11

After an eighteen-year gap, bad film is mocked once more.

October 05, 2017 08:04 AM

October 04, 2017

Roger Bell_West

Nightshades, Melissa F. Olson

2016 modern fantasy novella, first in its series. There are vampires in the world; the FBI is hunting down the bad ones.

October 04, 2017 08:01 AM

October 03, 2017

Roger Bell_West

Building a File Server 3: software

In this part of the series on building a file server, I'll talk about software.

October 03, 2017 08:01 AM

October 02, 2017

Jonathan Dowland


I'm very excited to (finally) announce that I've embarked upon a part-time PhD in Computing Science at Newcastle University!

I'm at the very beginning of a journey that is expected to last about six years. The area I am going to be working in is functional stream processing and distributed systems architecture, in the context of IoT. This means investigating and working with technologies such as Apache Spark; containers (inc. Docker); Kubernetes and OpenShift; but also Haskell. My supervisor is Prof. Paul Watson. This would not be possible without the support of my employer, Red Hat, for which I am extremely grateful.

I hope to write much more about this topic here in the near future, so watch this space!

October 02, 2017 02:49 PM

Roger Bell_West

Dead Water, Ngaio Marsh

1964 classic English detective fiction; twenty-third of Marsh's novels of Inspector Roderick Alleyn. An island village gets rich off tourism following the "miracle cure" that happened at its spring, but the new owner of the island plans to shut all that down. Murder ensues.

October 02, 2017 08:01 AM

Zoe O'Connell

How do we solve a problem like the House of Lords?

There has been a bit of a fuss in the media recently about the House of Lords. This is a perennial discussion and this time it was triggered by a BBC documentary “Meet the Lords”, which apparently portrayed the upper chamber as a bunch of out of touch scroungers.

I say “apparently” because I have not watched it. I know many members of the Lords, and certainly that description does not hold true for the ones I know and I don’t much feel like watching something I know to be inaccurate. That may be because the Lords and Baronesses I’m most familiar with are part of the 400-odd working peers who regularly turn up.

Not that I begrudge Lords membership to the others because many will have done their time. Yes, they can retire under current rules. But there is little incentive to do so and retiring might upset the political balance that exists if one party’s members retire quicker than another’s.

But it is very clear that having over 800 members is unsustainable and reform is needed. And the latest discussion has gone back to the idea of a mandatory retirement age. 80 is the most common cited retirement age, although 75 is also sometimes quoted. I should state here that I am against this idea, not just because it is not enough (as we’ll see momentarily) but because age and the ability of someone to contribute to politics are not necessarily correlated. The data used for this post has been extracted from the UK Parliament Data Service who also provide details on attendance and speaking, so I might try to see what correlation exists between age and attendance in a subsequent blog post.

Back on topic, I was interested in how retirement at 75 or 80 would affect the size of the House of Lords. I had a hunt around for this but other than some fairly rudimentary estimates for the size of the house in 2022, I could find no other information on the topic so performed my own investigation.

We can have a pretty good guess at what the Lords will look like under current rules, because statistical data on life expectancy is available and calculating retirement is easy. What we cannot predict is how fast Prime Ministers will create new peers, but a very conservative estimate would be no less than 12 a year. (The averages for Heath and Brown) It’s hard to know how fast peers will retire voluntarily as the rules allowing this are new, but 18 retired last year so a restrained Prime Minister should just about be offset by voluntary retirements.

As we can see, even retiring peers at 80 doesn’t shrink the upper chamber quickly. The membership will drop below the current size of the Commons (650) in 2020, versus 2027 under current rules, but 400 is reckoned by many to be a more sensible size and even without new appointments that level isn’t reached until 2028, 11 years from now. (Versus 2033 under current rules) The more aggressive approach of retirement at 75 does immediately make the Lords smaller than the Commons, and 400 members is reached by 2023.

You may have noticed the long tail on the graph above. This is not because we have some immortal members of the House of Lords, even though it might feel like the opinions of some more senior members hark back to some distant and long-forgotten past. This is because even without new appointments by the Prime Minister, there remain just over 100 hereditary peers plus the Church of England bishops. Removing those posts and letting the same rules apply to those members as currently applies to life peerages does not really affect the overall outcome much.

Whatever the solution to the House of Lords is, mandatory retirement age might be a step in the right direction, butoes not seem to be it. We’re back to needing more fundamental reform, such as an elected upper chamber.

And finally, if you wonder about how all this affects party balance: In every conceivable scenario of retirements, both with and without hereditary peerages and the bishops, the Conservatives remain the largest party in the Lords but they never quite achieve a majority whilst the bishops are present. However, scrapping hereditary peerages and Bishops woudl result in a Tory majority in the upper chamber some time between 2036 (Retirement at 75) and 2044. (Current rules)

The post How do we solve a problem like the House of Lords? appeared first on Complicity.

by Zoe O'Connell at October 02, 2017 07:30 AM

October 01, 2017

Roger Bell_West

Thirsty Meeples September 2017

Back to the boardgame café, after a skipped month because of holidays and such like. With images; cc-by-sa on everything.

October 01, 2017 08:02 AM

September 30, 2017

Roger Bell_West

Apprentice in Death, J. D. Robb

2016 SF/mystery; fifty-fourth (roughly) of J. D. Robb's In Death series. A sniper is shooting people in New York – at random, or with specific targets in mind? Lieutenant Eve Dallas investigates.

September 30, 2017 08:01 AM

September 29, 2017

Roger Bell_West

Top Gear season 2.24

2017 motoring show, 7 episodes. Much to everyone's surprise, it's actually trying to be a car show again.

September 29, 2017 08:03 AM

September 28, 2017

Roger Bell_West

Fisheye lens

Another bit of kit I borrowed recently: an Olympus BCL-0980 fisheye lens.

September 28, 2017 08:00 AM

September 27, 2017

Roger Bell_West

The China Governess, Margery Allingham

1963 classic English detective fiction; seventeenth of Allingham's novels of Albert Campion. Timothy Kinnit learns, on the eve of his elopement, that he was adopted, and tries to find out more about his parentage; then he becomes a suspect in a suspicious death and a housebreaking.

September 27, 2017 08:01 AM

September 26, 2017

Roger Bell_West

Pyramid 107: Monster Hunters III

Pyramid, edited by Steven Marsh, is the monthly GURPS supplement containing short articles with a loose linking theme. This time it's another batch for the Monster Hunters setting.

September 26, 2017 08:03 AM

September 25, 2017

Roger Bell_West

Building a File Server 2: hardware

In part 2 of this series on building a file server, I'll talk about hardware selection.

September 25, 2017 08:04 AM

September 24, 2017

Roger Bell_West

Marlow Tabletop and Board Games 18 September 2017

This Meetup-based boardgames group continues to meet at the Marlow Donkey.

September 24, 2017 08:04 AM

September 23, 2017

Andy Smith (

Giving Cinema Paradiso a try

Farewell, LoveFiLM

I’ve been a customer of LoveFiLM for something like 12 years—since before they were owned by Amazon. In their original incarnation they were great: very cheap, and titles very often arrived in exactly the order you specified, i.e. they often managed to send the thing from the very top of the list.

In 2011 they got bought by Amazon and I was initially a bit concerned, but to be honest Amazon have run it well. The single list disappeared and was replaced by three priority lists; high, normal and low, and then a list of things that haven’t yet been released. New rentals were supposed to almost always come from the high priority list (as long as you had enough titles on there) but in a completely unpredictable order. Though of course they would keep multi-disc box sets together, and send lower-numbered seasons before later seasons.

Amazon have now announced that they’re shutting LoveFiLM by Post down at the end of October which I think is a shame, as it was a service I still enjoy.

It was inevitable I suppose due to the increasing popularity of streaming and downloads, and although I’m perfectly able to do the streaming and download thing, receiving discs by post still works for me.

I am used to receiving mockery for consuming some of my entertainment on little plastic discs that a human being has to physically transport to my residence, but LoveFiLM’s service was still cheap, the selection was very good, things could be rented as soon as they were available on disc, and the passive nature of just making a list and having the things sent to me worked well for me.

Cinema Paradiso

My first thought was that that was it for the disc-by-post rental model in the UK. That progress had left it behind. But very quickly people pointed me to Cinema Paradiso. After a quick look around I’ve decided to give it a try and so here are my initial thoughts.


At a casual glance the pricing is slightly worse than LoveFiLM’s. I was paying £6.99 a month for 2 discs at home, unlimited rental per month. £6.98 at Cinema Paradiso gets you 2 discs at home but only 4 rentals per month.

I went back through my LoveFiLM rental history for the last year and found there were only 2 months where I managed to rent more than 4 discs, and those times I rented 5 and 6 discs respectively. Realistically it doesn’t seem like 4 discs per month will be much of a restriction to me.

Annoyingly, Cinema Paradiso have a 2 week trial period but only if you sign up to the £9.98 subscription (6 discs a month). You’d have to remember to downgrade to the cheaper subscriptions after 2 weeks, if that’s all you wanted.


I was pleasantly surprised at how good the selection is at Cinema Paradiso. Not only did they have every title that is currently on my LoveFiLM rental list (96 titles), but they also had a few things that LoveFiLM thinks haven’t been released yet.

I’m not going to claim that my tastes are particularly niche, but there are a few foreign language films and some anime in there, and release dates range from the 70s to 2017.

Manual approval

It seems that new Cinema Paradiso signups need to be manually approved, and this happens only on week days between 8am and mid day. I’ve signed up on a Saturday evening so nothing will get sent out until Monday I suppose.

It’s probably not a big deal as we’re talking about the postal service here so even with LoveFiLM nothing would get posted out until Monday anyway. It is a little jarring after moving away from the behemoth that is Amazon though, and serves as a reminder that Cinema Paradiso is a much smaller company.

Searching for titles

The search feature is okay. It provides suggestions as you type but if your title is obscure then it may not appear in the list of suggestions at all you and need to submit the search box and look through the longer list that appears.

A slight niggle is that if you have moused over any of the initial suggestions it replaces your text with that, so if your title isn’t amongst the suggestions you now have to re-type it.

I like that it shows a rating from Rotten Tomatoes as well as from their own site’s users. LoveFiLM shows IMDB ratings which I don’t trust very much, and also Amazon ratings, which I don’t trust at all for movies or TV. Seeing some of the shockingly-low Rotten Tomatoes scores for some of my LoveFiLM titles resulted in my Cinema Paradiso list shrinking to 83 titles!

Rental list mechanics

It’s hard to tell for sure at this stage because I haven’t yet got my account approved and had any rentals, but it looks to me like the rental list mechanics are a bit clunky compared to LoveFiLM’s.

At LoveFiLM at the point of adding a new title you would choose which of the three “buckets” to put a rental in; high priority, normal priority, or low priority. Every title in those buckets were of equal priority to every other item in the same bucket. So, when adding a new title all you had to consider was whether it was high, medium or low.

Cinema Paradiso has a single big list of rentals. In some ways this might appeal because you can fine-tune what order you would like things in. But I would suggest that very few people want to put that much effort into ordering their list. Personally, when I add a new title I can cope with:

  • “I want to see this soon”
  • “I want to see this some time”
  • “I want to see this, but I’m not bothered when”

Cinema Paradiso appears to want me to say:

  • “Put this at the top, I want it immediately!”
  • “This belongs at #11, just after the 6th season of American Horror Story, but before Capitalism: A love Story
  • “Just stick it at the end”

I can’t find any explanation anywhere on their site as to how the selection actually works, so the logical assumption is that they go down your list from top to bottom until they find a title that you want that they have available right now. Without the three buckets to put titles in, it seems to me then that every addition will have to involve some list management unless I either want to see that title really soon, or probably never.

I’ll have to give it a go but this mechanism seems a bit more awkward than LoveFiLM’s approach and needlessly so, because LoveFiLM’s way doesn’t make any promises about which of the titles in each bucket will come next either, nor even that it will be anything from the high priority bucket at all. Although I cannot remember a time when something has come that wasn’t from the high priority bucket.

Cinema Paradiso does let you have more than one list, and you can divide your disc allocation between lists, but I don’t think I could emulate the high/normal/low with that. Having a 2 disc allocation I’d always be getting one disc from the “high” list and one disc from the “normal” priority, which isn’t how I’d want that to work.

Let’s see how it goes.


I did not know when I signed up that there was a referral scheme which is a shame because I do know some people already using Cinema Paradiso. If you’re going to sign up then please use my referral link. I will get a ⅙ reduction in rental fees for each person that does.

by Andy at September 23, 2017 11:38 PM

Roger Bell_West

The Devil You Know, K J Parker

2016 fantasy novella. The greatest philosopher of all time is offering to sell his soul to the Devil. All he wants is twenty more years to complete his life’s work. But the demon assigned to the task is deeply suspicious. For one thing, it seems like an obviously bad deal for the human. For another, the philosopher asked for him by name.

September 23, 2017 08:01 AM

Zoe O'Connell

In response to Janice Turner: An unpublished letter to The Times

Last Saturday, The Times published an opinion piece by Janice Turner in which she tells a version of events that took place at Speakers’ Corner last week during a protest by trans activists. By the time of publication, Janice’s narrative of an elderly woman being beaten up had already been proven false by video circulating on YouTube. This is my letter to the editor in response to that piece, sent on Saturday afternoon – The Times have chosen not to publish it.

Dear Editor,

I am writing in response to Janice Turner’s article “The battle over gender has turned bloody”.

Janice seems to be unaware that the incident which occurred during a protest last week was videoed and that it was posted on YouTube. The video tells a very different story to the one she presents, in which she claims a trans activist committed an unprovoked assault on a 60 year old woman. Or perhaps she has taken a leaf out of Donald Trump’s campaign playbook, and wants to try to establish her view as the pure and unadulterated truth regardless of the evidence to the contrary.

What the video shows is Janice’s “60-year-old in specs and sensible shoes called Maria”, who she clearly want to portray as someone defenceless, holding a trans activist in a headlock and trying to kick them repeatedly. I understand the police were called, viewed the video and concluded no action was needed because Maria’s injuries had been sustained as a result of her being pulled off by one of the activist’s friends.

Although stills are available, the video has since been taken offline. Presumably because the person who posted it realised that crying foul when you sustain injuries in the process of assaulting someone else is not a good PR tactic.

I condemn all violence. If Janice wants to condemn violence, she too should condemn all violence. Not just those incidents that help prop up her narrative of hate.


Councillor Zoe O’Connell

The post In response to Janice Turner: An unpublished letter to The Times appeared first on Complicity.

by Zoe O'Connell at September 23, 2017 08:00 AM

September 22, 2017

Roger Bell_West

Food pills and energy density

In Marty Jopson's new book The Science of Food, he demolishes the idea of food pills by looking at the energy density of fat and working out the mass of fat-pills one would need to eat. But why would one restrict oneself to the energy that an unmodified human body can get from food?

September 22, 2017 08:03 AM

September 21, 2017

Andy Smith (

Tricky issues when upgrading to the GoCardless “Pro” API


Since 2012 BitFolk has been using GoCardless as a Direct Debit payment provider. On the whole it has been a pleasant experience:

  • Their API is a pleasure to integrate against, having excellent documentation
  • Their support is responsive and knowledgeable
  • Really good sandbox environment with plenty of testing tools
  • The fees, being 1% capped at £2.00, are pretty good for any kind of payment provider (much less than PayPal, Stripe, etc.)

Of course, if I was submitting Direct Debits myself there would be no charge at all, but BitFolk is too small and my bank (Barclays) are not interested in talking to me about that.

The “Pro” API

In September 2014 GoCardless came out with a new version of their API called the “Pro API”. It made a few things nicer but didn’t come with any real new features applicable to BitFolk, and also added a minimum fee of £0.20.

The original API I’d integrated against has a 1% fee capped at £2.00, and as BitFolk’s smallest plan is £10.79 including VAT the fee would generally be £0.11. Having a £0.20 fee on these payments would represent nearly a doubling of fees for many of my payments.

So, no compelling reason to use the Pro API.

Over the years, GoCardless made more noise about their Pro API and started calling their original API the “legacy API”. I could see the way things were going. Sure enough, eventually they announced that the legacy API would be disabled on 31 October 2017. No choice but to move to the Pro API now.

Payment caps

There aren’t normally any limits on Direct Debit payments. When you let your energy supplier or council or whatever do a Direct Debit, they can empty your bank account if they like.

The Direct Debit Guarantee has very strong provisions in it for protecting the payee and essentially if you dispute anything, any time, you get your money back without question and the supplier has to pursue you for the money by other means if they still think the charge was correct. A company that repeatedly gets Direct Debit chargebacks is going to be kicked off the service by their bank or payment provider.

The original GoCardless API had the ability to set caps on the mandate which would be enforced their side. A simple “X amount per Y time period”. I thought that this would provide some comfort to customers who may not be otherwise familiar with authorising Direct Debits from small companies like BitFolk, so I made use of that feature by default.

This turned out to be a bad decision.

The main problem with this was that there was no way to change the cap. If a customer upgraded their service then I’d have to cancel their Direct Debit mandate and ask them to authorise a new one because it would cease being possible to charge them the correct amount. Authorising a new mandate was not difficult—about the same amount of work as making any sort of online payment—but asking people to do things is always a pain point.

There was a long-standing feature request with GoCardless to implement some sort of “follow this link to authorise the change” feature, but it never happened.

Payment caps and the new API

The Pro API does not support mandates with a capped amount per interval. Given that I’d already established that it was a mistake to do that, I wasn’t too bothered about that.

I’ve since discovered however that the Pro API not only does not support setting the caps, it does not have any way to query them either. This is bad because I need to use the Pro API with mandates that were created in the legacy API. And all of those have caps.

Here’s the flow I had using the legacy API.

Legacy payment process

This way if the charge was coming a little too early, I could give some latitude and let it wait a couple of days until it could be charged. I’d also know if the problem was that the cap was too low. In that case there would be no choice but to cancel the customer’s mandate and ask them to authorise another one, but at least I would know exactly what the problem was.

With the Pro API, there is no way to check timings and charge caps. All I can do is make the charge, and then if it’s too soon or too much I get the same error message:

“Validation failed / exceeds mandate cap”

That’s it. It doesn’t tell me what the cap is, it doesn’t tell me if it’s because I’m charging too soon, nor if I’m charging too much. There is no way to distinguish between those situations.

Backwards compatible – sort of

GoCardless talk about the Pro API being backwards compatible to the legacy API, so that once switched I would still be able to create payments against mandates that were created using the legacy API. I would not need to get customers to re-authorise.

This is true to a point, but my use of caps per interval in the legacy API has severely restricted how compatible things are, and that’s something I wasn’t aware of. Sure, their “Guide to upgrading” does briefly mention that caps would continue to be enforced:

“Pre-authorisation mandates are not restricted, but the maximum amount and interval that you originally specified will still apply.”

That is the only mention of this issue in that entire document, and that statement would be fine by me, if there would have continued to be a way to tell which failure mode would be encountered.

Thinking that I was just misunderstanding, I asked GoCardless support about this. Their reply:

Thanks for emailing.

I’m afraid the limits aren’t exposed within the new API. The only solution as you suggest, is to try a payment and check for failure.

Apologies for the inconvenience caused here and if you have any further queries please don’t hesitate to let us know.

What now?

I am not yet sure of the best way to handle this.

The nuclear option would be to cancel all mandates and ask customers to authorise them again. I would like to avoid this if possible.

I am thinking that most customers continue to be fine on the “amount per interval” legacy mandates as long as they don’t upgrade, so I can leave them as they are until that happens. If they upgrade, or if a DD payment ever fails with “exceeds mandate cap” then I will have to cancel their mandate and ask them to authorise again. I can see if their mandate was created before ~today and advise them on the web site to cancel it and authorise it again.


I’m a little disappointed that GoCardless didn’t think that there would need to be a way to query mandate caps even though creating new mandates with those limits is no longer possible.

I can’t really accept that there is a good level of backwards compatibility here if there is a feature that you can’t even tell is in use until it causes a payment to fail, and even then you can’t tell which details of that feature cause the failure.

I understand why they haven’t just stopped honouring the caps: it wouldn’t be in line with the consumer-focused spirit of the Direct Debit Guarantee to alter things against customer expectations, and even sending out a notification to the customer might not be enough. I think they should have gone the other way and allowed querying of things that they are going to continue to enforce, though.

Could I have tested for this? Well, the difficulty there is that the GoCardless sandbox environment for the Pro API starts off clean with no access to any of your legacy activity neither from live nor from legacy sandbox. So I couldn’t do something like the following:

  1. Create legacy mandate in legacy sandbox, with amount per interval caps
  2. Try to charge against the legacy mandate from the Pro API sandbox, exceeding the cap
  3. Observe that it fails but with no way to tell why

I did note that there didn’t seem to be attributes of the mandate endpoint that would let me know when it could be charged and what the amount left to charge was, but it didn’t set off any alarm bells. Perhaps it should have.

Also I will admit I’ve had years to switch to Pro API and am only doing it now when forced. Perhaps if I had made a start on this years ago, I’d have noted what I consider to be a deficiency, asked them to remedy it and they might have had time to do so. I don’t actually think it’s likely they would bump the API version for that though. In my defence, as I mentioned, there is nothing attractive about the Pro API for my use, and it does cost more, so no surprise I’ve been reluctant to explore it.

So, if you are scrambling to update your GoCardless integration before 31 October, do check that you are prepared for payments against capped mandates to fail.

by Andy at September 21, 2017 09:06 PM

Roger Bell_West

The Librarians, season 3

2016-2017 modern fantasy, 10 episodes; the Librarians, who hunt down magical artefacts, take on a god and a government agency.

September 21, 2017 08:01 AM

September 20, 2017

Steve Kennedy

Alivecor Kardia

Alivecor make products that read your EKG. The Kardia Band was previously reviewed and although convenient as it's always on your wrist (it's an Apple Watch add-on) it's extremely susceptible to movement, external interference and lots of other constraints so it's not always easy to get an accurate reading. It also takes a while to process the result as a lot of noise has to be filtered out.

The Kardia Mobile is much easier to use. It's a unit with two electrode pads on it (underneath there's a battery compartment which holds a CR2016 coin cell) which should give about 12 months of use.

Download the free iOS or Android Kardia app and then set-up an account. Then take a reading and the app will search for the Kardia Mobile device and pair with it (it uses Bluetooth 4 so a recent'ish iOS or Android phone must be used with a recent OS).

The app will wait a while, while you put your first and second fingers from both hands on either pad, then relax and the app will record your EKG. It needs to read about 30 seconds to get a sensible heart rate reading.

After the reading is saved it will tell you if there are any abnormalities or anything. As the pads are large and the signal is being received from across the body, the results are much cleaner and less susceptible to interference (compared to the Watch version).

The EKG Characteristics are single lead ECG, 10 mV peak-to-peak input dynamic range, 30 second to 5 minute recording duration, 300 samples per second sampling rate at 16 bit resolution.

There are extra features such as unlimited storage and history, summary reports for your doctor, blood pressure monitoring and tracking weight and medication (though the last two need manual intervention) that are available through the premium service which is available as an in-app purchase.

There's also a phone attachment strip that allows the Kardia Mobile to be carried with the phone (glues on to the phone).

The Kardia Mobile costs £99 direct from Alivecor.

by Steve Karmeinsky ( at September 20, 2017 05:50 PM

Xiaomi Huami AMAZFIT A1603 Smartband

Xiaomi make lots of stuff, but they also work with partners and specifically Huami who make wearables (under the AMAZFIT brand). In the US it's known as the Amazfit ARC.

Though the functionality is almost identical to the Xiaomi Band 2, it looks much nicer and the silicon strap has a 'hatch' effect on it which is very comfortable to wear. The actual unit is permanently attached to the strap and has a soft 'brushed' metal feel. Underneath there's an optical heart rate sensor and charging pins and the top is a UV coated scratch resistant OLED display.

Like most trackers it measures steps but also sleep (you obviously have to wear it at night), distance and active calories. The battery life is VERY good (Huami claim 20 days). It can also display notifications from your phone (currently iOS and Android are supported).

As a bonus it's also water proof and can be used when swimming, though it doesn't track swimming.

There's a USB charging cable that is magnetically polarised so it 'snaps' on to the charging pins on the bottom of the unit, this also stops you getting it the wrong way around.

There is an Amazfit app available and through it's pretty basic, it does support all the devices features and notifications, alarms etc can be set through it. However, it the ARC also works with the Xiaomi Mi Fit app, which has a lot more features and links with Apple Health and Android Fit on the relevant platforms. The Mi Fit app also seems to have a few more advanced features like being able to track heart rate when sleeping which give more accurate results (though reduces battery life).

It's definitely a cut above the Mi Band2 in terms of looks and comfort and on a par with traditional fitness trackers from established US companies, though at a very competitive price. However, the apps of more expensive western vendors are generally quite a bit better with more functionality.

The list price is $99 from the US Amazfit site, but various Asian sites have it available for around £30 including shipping.

by Steve Karmeinsky ( at September 20, 2017 05:49 PM

Roger Bell_West

September 2017 Trailers

Some trailers I've seen recently, and my thoughts on them. (Links are to youtube. Opinions are thoroughly personal.)

September 20, 2017 08:01 AM

September 19, 2017

Roger Bell_West

Hand In Glove, Ngaio Marsh

1962 classic English detective fiction; twenty-second of Marsh's novels of Inspector Roderick Alleyn. Friction in a pair of country houses is the precursor to murder, but everything's tangled in the extreme.

September 19, 2017 08:00 AM

September 18, 2017

Roger Bell_West

Building a File Server 1: planning

Many people these days want to store more data than can be conveniently accommodated on one hard disc. You can buy boxes to store files, or build your own. I've built and upgraded several, and in these posts I'm going to talk about how I did it.

September 18, 2017 08:02 AM

September 17, 2017

Roger Bell_West

The Elder Ice, David Hambling

2014 Lovecraftian horror novella. In 1920s London, ex-boxer Harry Stubbs is working for a firm of lawyers that's looking for valuable assets to pay off some of Shackleton's creditors. But what did he really find on those polar expeditions?

September 17, 2017 08:04 AM

September 16, 2017

Roger Bell_West

Warehouse 13 Game

Here's another boardgame kickstarter that may be of interest, based on a television series I quite enjoyed.

September 16, 2017 08:02 AM

September 15, 2017

Roger Bell_West

Murder in the Dark, Kerry Greenwood

2006 historical detection, sixteenth in Greenwood's Phryne Fisher series (1920s flapper detective in Australia). Phryne is invited to a decadent Christmas party at Chirnside Manor; someone's trying to discredit and kill the hosts. She might not have gone, except that someone's sent her a coral snake to discourage her.

September 15, 2017 08:04 AM

September 14, 2017

Roger Bell_West

Lies that git will tell you

I do actually like git. I find it needlessly obfuscatory and deliberately confusing in its syntax and terminology, but it basically does its job reasonably well. However, there are some popular blatant untruths that I think people would do well to know about.

September 14, 2017 08:01 AM

September 13, 2017

Roger Bell_West

Extension tubes

Thanks to a blog reader, I borrowed some more macro equipment.

September 13, 2017 08:00 AM

September 12, 2017

Roger Bell_West

The Women of Nell Gwynne's, Kage Baker

2009 steampunk SF novella, very loosely connected with the Company series. The finest brothel in Whitehall is also a nest of spies, but very discreet ones.

September 12, 2017 08:02 AM

September 11, 2017

Roger Bell_West


2016-2017, 13 episodes. Hayes Morrison, daughter of an ex-president and living with a party-girl reputation, runs a unit that reviews old cases.

September 11, 2017 08:00 AM

September 10, 2017

Roger Bell_West

Type 31e Frigate: First Thoughts

Now that construction has begun on the Type 26 Global Combat Ship, some early announcements have been made about the next British military shipbuilding project: the Type 31e frigate.

September 10, 2017 08:02 AM

September 09, 2017

Roger Bell_West

Red and amber filters

There is a practice common to the road systems of many countries which we don't use in the UK. Why not?

September 09, 2017 08:03 AM

September 08, 2017

Roger Bell_West

Dreamsnake, Vonda N. McIntyre

1978 Hugo-, Nebula- and Locus-award-winning science fiction. On a post-apocalyptic earth, various small groups of people scratch out a living; Snake is a healer, using bioengineered venomous serpents to produce drugs that cure ills and relieve pain.

September 08, 2017 08:00 AM

September 07, 2017

Roger Bell_West

Science Fiction Nitpicking

Why do science fiction fans have a reputation for caring about nitpicky details that no normal person would regard as important?

September 07, 2017 08:01 AM

September 06, 2017

Roger Bell_West

Marlow Tabletop and Board Games 4 September 2017

This Meetup-based boardgames group continues to meet at the Marlow Donkey.

September 06, 2017 08:00 AM

September 05, 2017

Roger Bell_West

Earth 2788, Janet Edwards

2014 young adult science fiction, collection of short stories in the Earth Girl setting.

September 05, 2017 08:01 AM

September 04, 2017

Jonathan Dowland

Sortpaper: 16:9 edition

sortpaper 16:9

sortpaper 16:9

Back in 2011 I stumbled across a file "sortpaper.png", which was a hand-crafted wallpaper I'd created some time in the early noughties to help me organise icons on my computer's Desktop. I published it at the time in the blog post sortpaper.

Since then I rediscovered the blog post, and since I was looking for an excuse to try out the Processing software, I wrote a Processing Sketch to re-create it, but with the size and colours parameterized: sortpaper.pde.txt. The thumbnail above links to an example 1920x1080 rendering.

September 04, 2017 09:34 PM

Roger Bell_West

Polaroid macro lens set

I picked up a cheap set of macro lenses for the GF1.

September 04, 2017 08:03 AM

September 03, 2017

Andy Smith (

When is a 64-bit counter not a 64-bit counter?

…when you run a Xen device backend (commonly dom0) on a kernel version earlier than 4.10, e.g. Debian stable.


Xen netback devices used 32-bit counters until that bug was fixed and released in kernel version 4.10.

On a kernel with that bug you will see counter wraps much sooner than you would expect, and if the interface is doing enough traffic for there to be multiple wraps in 5 minutes, your monitoring will no longer be accurate.

The problem

A high-bandwidth VPS customer reported that the bandwidth figures presented by BitFolk’s monitoring bore no resemblance to their own statistics gathered from inside their VPS. Their figures were a lot higher.

About octet counters

The Linux kernel maintains byte/octet counters for its network interfaces. You can view them in /sys/class/net/<interface>/statistics/*_bytes.

They’re a simple count of bytes transferred, and so the count always goes up. Typically these are 64-bit unsigned integers so their maximum value would be 18,446,744,073,709,551,615 (264-1).

When you’re monitoring bandwidth use the monitoring system records the value and the timestamp. The difference in value over a known period allows the monitoring system to work out the rate.


Monitoring of network devices is often done using SNMP. SNMP has 32-bit and 64-bit counters.

The maximum value that can be held in a 32-bit counter is 4,294,967,295. As that is a byte count, that represents 34,359,738,368 bits or 34,359.74 megabits. Divide that by 300 (seconds in 5 minutes) and you get 114.5. Therefore if the average bandwidth is above 114.5Mbit/s for 5 minutes, you will overflow a 32-bit counter. When the counter overflows it wraps back through zero.

Wrapping a counter once is fine. We have to expect that a counter will wrap eventually, and as counters never decrease, if a new value is smaller than the previous one then we know it has wrapped and can still work out what the rate should be.

The problem comes when the counter wraps more than once. There is no way to tell how many times it has wrapped so the monitoring system will have to assume the answer is once. Once traffic reaches ~229Mbit/s the counters will be wrapping at least twice in 5 minutes and the statistics become meaningless.

64-bit counters to the rescue

For that reason, network traffic is normally monitored using 64-bit counters. You would have to have a traffic rate of almost 492 Petabit/s to wrap a 64-bit byte counter in 5 minutes.

The thing is, I was already using 64-bit SNMP counters.

Examining the sysfs files

I decided to remove SNMP from the equation by going to the source of the data that SNMP uses: the kernel on the device being monitored.

As mentioned, the kernel’s interface byte counters are exposed in sysfs at /sys/class/net/<interface>/statistics/*_bytes. I dumped out those values every 10 seconds and watched them scroll in a terminal session.

What I observed was that these counters, for that particular customer, were wrapping every couple of minutes. I never observed a value greater than 8,469,862,875. That’s larger than a 32-bit counter would hold, but very close to what a 33 bit counter would hold (8,589,934,591).

64-bit counters not to the rescue

Once I realised that the kernel’s own counters were wrapping every couple of minutes inside the kernel it became clear that using 64-bit counters in SNMP was not going to help at all, and multiple wraps would be seen in 5 minutes.

What a difference a minute makes

To test the hypothesis I switched to 1-minute polling. Here’s what 12 hours of real data looks like under both 5- and 1-minute polling.

As you can see that is a pretty dramatic difference.

The bug

By this point, I’d realised that there must be a bug in Xen’s netback driver (the thing that makes virtual network interfaces in dom0).

I went searching through the source of the kernel and found that the counters had changed from an unsigned long in kernel version 4.9 to a u64 in kernel version 4.10.

Of course, once I knew what to search for it was easy to unearth a previous bug report. If I’d found that at the time of the initial report that would have saved 2 days of investigation!

Even so, the fix for this was only committed in February of this year so, unfortunately, is not present in the kernel in use by the current Debian stable. Nor in many other current distributions.

For Xen set-ups on Debian the bug could be avoided by using a backports kernel or packaging an upstream kernel.

Or you could do 1-minute polling as that would only wrap one time at an average bandwidth of ~572Mbit/s and should be safe from multiple wraps up to ~1.1Gbit/s.

Inside the VPS the counters are 64-bit so it isn’t an issue for guest administrators.

by Andy at September 03, 2017 08:17 PM

Sean Cardus

Brew Day – BBOC Vanilla Porter

I’ve decided to take part in this year’s “Black Beer of Christmas” Facebook group brew-off(up?). The idea is to brew a beer, bottle it and send a batch of it to your local hub. Shortly afterwards, you’ll get a box back with a selection of other brewers beer! This year’s theme is Porter, so I’ve decided to have a go at brewing a Vanilla Porter. Recipe: 4.5kg Munton’s Maris Otter / Propino Blend (5.9 EBC) 1kg Munich Malt (20 EBC)...

Read More Read More

by Sean at September 03, 2017 11:24 AM