Blog

  • Brexit, Stage Right

    Alternately, “Brexit, Pursued by a Bear.” [1]

    When I was born, thirty-one years ago, the UK was in the middle of some tough economic times. The value of the pound was low, and interest rates were high. But in the intervening years, despite the recession at the end of the 2000s, the overall trend was up. People were getting richer, quality of life was increasing, and the country was cooperating ever more with its neighbours.

    Over the last eight hours, much of that was undone.

    Sterling one-day changes graph

    Yesterday, my country voted to leave the European Union. Today, the pound is worth as much as it was when I was born, back in 1985.

    The impact of leaving the EU will trigger many shockwaves still to come. Besides the forty years of prosperity that Britain is busy undoing for itself, the EU has also presided over forty years of greater European cooperation. Every time we argue with Europe over whether we need legislation on the shape of bananas, we miss the point—the EU has helped to prevent war. Members of the EU have not warred with each other in seventy years, and part of that is down to the sense of friendship and cooperation that the organisation has fostered among its members.

    It is the worst kind of nationalism and egotism that leads us to think Britain is so Great that it has no need for friends.

    Front page of The Sun, 23 June 2016

    So what have we learned, the morning after 17 million people voted for us to leave?

    We’ve learned that people believe whatever the newspapers sell, with tabloid headlines largely urging readers to vote “Leave”—which would handily give the likes of newspaper tycoon Rupert Murdoch more power over the UK.

    We’ve learned that lying works, as Nigel Farage backed out of the Leave campaign’s promise to redirect £350m of EU spending to the NHS just hours after the “Leave” result was confirmed.

    We’ve learned that racism and fear work, with many voting “Leave” on the dubious idea that leaving the EU would reduce immigration into the UK, and euroskeptic Baroness Warsi switching to the “Remain” camp over the “Leave” campaign’s “hate and xenophobia”.

    We’ve learned that experts aren’t trusted, at least not by prominent “Leave” supporter Michael Gove MP and many voters, which may be the saddest indication yet that referendums are not an ideal form of democracy for decisions as big as this.

    And we’ve learned that just as it always was, politics is where the old screw over the young. The young who have most to lose from leaving the EU overwhelmingly voted to remain, while the highest proportion of “Leave” voters were amongst the age group who are least likely to be around to deal with the fallout.

    Intention to vote "Leave", by age group

    Around Europe and the world, the reaction is mostly one of shock. And amongst those leaders in favour of our decision? Trump. Putin. Le Pen. And not forgetting everyone’s favourite terrorist group.

    Our country is not better off alone, wearing rose-tinted spectacles and longing for the “good old days” of a past that never was. Our country is better off with friends, working together for a future based on cooperation and peace.

    But yesterday, we made a different choice.

    This morning, the United Kingdom is less united; Great Britain less great.


    [1] You just come here for the obscure Shakespeare references, right?

  • The Constructorium Story

    “Hackerspaces”, or “Makerspaces” are very much an idea whose time has come. The analogy I liked to use most was that of a “community garden shed”—they are places run by the community, where any member can come along and work on their personal projects and collaborate with others.

    This is the story of the Dorset Constructorium, a hackerspace that never quite made it.

    Note: This is our story as I remember it, published in case others interested in starting a hackerspace of their own find some use in it. I welcome additions and corrections from other members of the group with a better memory of what happened when than mine. I’ve also left out people’s names for now, let me know if you are happy for me to use your name.

    Our group began in the Spring of 2013, the way things do—a couple of friends sat around a table and decided they should start a hackerspace. We came up with a goofy but catchy name, “The Dorset Constructorium”. We started a mailing list using Google Groups, which slowly grew to 40 or 50 subscribers, and an IRC channel that hit around a dozen. Throughout that year we used them to organise some meetings in pubs in Bournemouth and Wimborne, where we chatted and drank and discussed how we could move on from our current arrangements to become a real hackerspace.

    Evenings down the pub were all well and good, but we couldn’t be a hackerspace without a space.

    We started looking, making calls and sending emails to likely groups: companies, community centres, halls for hire. We filled up a spreadsheet with 20 or 30 possibilities, listing the advantages and disadvantages of each, but none were perfect. Many were simply too expensive for a small group to afford. Others were within our price range, but offered no permanent storage for our tools and equipment. Others still were too far away, or too concerned about the safety of the work we’d be doing.

    We knew we’d have to get more organised, manage money, and get insurance. Our original (somewhat naïve) plan was to be somewhat of a free-for-all in terms of structure, where we were all equals and did everything as a group; but we were moving into a world of bank accounts and insurers who would want names and signatures on their forms. We formed a committee—President, Treasurer and myself as Secretary.

    The Dorset Constructorium at AdidoSrc

    Around that time, one of our members offered us to team up with AdidoSrc, a group given space, pizza and booze by web development company Adido. We joined forces for three mid-week evenings in late 2013, before Adido suddenly pulled the plug—we were without a home almost as soon as we had found one.

    We carried on looking. Soon we had free web hosting provided for us by Bitfolk and developed our new Wiki into a place for us to share ideas and coordinate. We wrote a Constitution and a Code of Conduct—we were getting serious.

    2013 rolled into 2014, and the Constructorium strengthened its ties with the local Rep Rap Users’ Group, by then known as MakeBournemouth.

    Constructorium and MakeBournemouth at Makers Inc.

    Local café and “creative hub” Makers Inc opened around this time, and MakeBournemouth started running some themed evenings there, where people came along to build a certain kit together. The Dorset Constructorium joined in for four events… before the cafe closed, and we were homeless once more.

    In the ensuing downtime we expanded our web presence again, putting up a nicer-looking WordPress site to show visitors what we were all about, along with an online calendar for scheduling events, a Facebook page and a Twitter account.

    Hack Shack Interior

    Still holding out for a real space to call home, one of our members offered the services of their garden shed. After shifting out a decade’s worth of junk, we moved some of our tools in, and christened it the “Hack Shack”. Although it was and still is the closest we’d come to a hackerspace of our own, and we offered it four days a week for free, it wasn’t what our members had in mind; it never saw much use.

    2014 become 2015, and our last hope came in the form of our local library. While MakeBournemouth contemplated going the big-budget route—allowing members to work on commercial projects, charging more, and affording a space at full commercial rates—the Constructorium tried our luck with the opposite, declaring ourselves strictly non-commercial and aiming for a discounted or free space by pushing the community/charity angle.

    The library allowed us use of a back room to get started, and we had some excited conversations with the head librarian about the library getting 3D printers and our group running soldering and Raspberry Pi coding courses.

    Joseph at the Library

    We had big plans, but by then attendance at our events was waning. Our meetings in the back room of the library averaged only four of us, and we never found the time or the confidence to offer courses. Our Facebook page attracted some interest, but we were never able to provide the organised experience that new visitors were expecting. Before long, we stopped meeting there, and for the third time in three years, we were without a place to meet.

    And that, as they say, was that.

    The IRC channel became abandoned, the mailing list posts dropped off to zero. The President moved to another town, and the Tresurer we haven’t heard from in some time. My job has got busier, and what little time and energy I had has dwindled further. Unless any member of the group wants to take it on from here, I think it’s about time to call the Dorset Constructorium to a close.

    To all the members that made our group great over the years: thanks for the memories.

  • The Long, Slow Death of Facebook

    “Facebook has a big problem”, the tech media breathlessly cries. Despite using it every day, I’m not a fan of Facebook, and so am drawn to these articles like a moth to a flame. Let’s all enjoy guilt-free schadenfreude at the expense of a billion-dollar business! So, what’s Facebook’s problem this week? People are sharing more web pages and news stories, but fewer “personal stories”—plain status updates that relate to their lives.

    A while back I complained of a slightly different problem: a lack of customisability of the news feed:

    Does anyone know if there are secret Facebook settings to customise the news feed? Lately it’s been 90% stuff I don’t care about:

    • $friend liked $never-heard-of-you’s photo
    • $friend shared $clickbait-article
    • $friend is going to $event-miles-away

    All I really want to see is real status updates!

    In essence, I was fed up of every day scrolling past a wall of this:

    It turns out that Facebook’s controls for the news feed are pretty terrible. If a friend of mine comments on a non-friend’s post, “likes” it, or worst of all “reacts to” it, that’s automatically considered newsworthy for me. Facebook offers no way to customise the feed to remove these kind of posts.

    You can, however, choose to hide all posts from certain people, including those not on your friends list. So based on the advice I received, I started “hiding all from” everyone I didn’t recognise who appeared in my news feed.

    I’ve done this almost every day for the last couple of weeks, and in a way, it has been very successful. Almost all the strangers’ profile pic changes and distant events have gone, there’s fewer clickbait posts and memes, and mercifully almost no Minions at all.

    But what’s left?

    Not much.

    The media was right, at least as it pertains to my Facebook friends. What remains after you’ve removed all the crap is real status updates—from about five people. Out of 200-odd friends, very few are actually posting status updates and pictures. Mostly of their kids, because I’ve reached that age. The rest of my friends either largely share stuff I didn’t care about, so I don’t see them any more, or they post so rarely that they’re drowned out by the wall of baby photos.

    Although Facebook was our LiveJournal replacement, the place we went to stay in touch with our friends’ lives once we left university for our far-flung pockets of adulthood, it looks like for us that age of constant sharing may be on the decline.

    I’m not sure if I will be happy or sad to see it go.

  • A Base Hardware Set for USV Control

    Here’s a thing that I don’t have, wouldn’t have time to use, and really shouldn’t buy. But a thing that I really want anyway. It can do 40 knots.

    While I haven’t quite talked myself into buying it yet, I have been thinking about the hardware to make it autonomous, and whether I should develop a simple, standard set of hardware for the job.

    Although an Ardupilot would work pretty well, I don’t find it it particularly intuitive to use, and for obvious reasons I’d rather use the autonomous navigation software that my team and I have spent the last eight years writing—and that means a real PC. We’ve had it running on a Raspberry Pi Model B, although it’s a bit on the slow side, so the new Raspberry Pi 3 is the logical successor. It has built-in WiFi, but with such a tiny antenna that users report a very limited range, so a separate WiFi adapter will be needed as well.

    Control of the throttle ESC and rudder servo are via PWM signals in vehicles like this, and the Pi cannot properly generate by itself. When our graduates at work built a similar boat a couple of years ago, they used an Arduino Mega for PWM control, but that’s probably overkill—for my quadcopter I used this servo control board that fits neatly on top of the GPIO connector.

    What I’d also like to do is optionally pass through the PWM from an RC receiver to the boat, so I can easily swap between remote and autonomous modes. The board above has a 3.3v-5v buffer chip on the PWM channels which renders it output-only, but the USB equivalent has no such buffer and could be used for input and output.

    Handily, moving the servo control from the Pi’s built-in UART to USB frees up that UART for receiving GPS data, with I2C used for the equally important heading sensor. I’m using the CJMCU uBlox 6M GPS & HMC5883L Compass module scrounged from my quad.

    The two smaller boards should mount on top of the Pi using spacers and mounting holes in the boards, resulting in a neat self-contained unit capable of autonomous control and remote access via WiFi. The architecture looks something like this:

    That’s enough to get started with, and if it works well, it can be used as a standard platform on which to build additional features. The first expansion is likely to be a camera for remote FPV control similar to the All-Terrain Pi, and hopefully the Raspberry Pi 3 is also powerful enough for some simple machine vision processing to drive Autonomy’s collision avoidance algorithms.

  • Goodbye, Dungeon

    Today, Southampton’s Dungeon club announced that it would be closing this weekend. Although it’s been a long time since our university days, it’s sad to see it go. It’s one of the formative places of my youth—I was introduced to the place at age 18, full of nerves; by 21 the Hobbit and the Dungeon was our regular night out, and we couldn’t go to either without running into someone we knew.

    I dug through the archive to find some pictures of us all there, and came away with only two—these were before the days of high-res camera phones, after all. We were young, and clean shaven, and had glow-sticks braided in our hair.

    The Dungeon was a place where I found friends; found musical genres and subcultures I never knew before; found laughter and music and dance and magic under the ultraviolet lights.

    Thanks for the memories.

  • The Bookmark

    The second book is nearly finished now, the one that not so long ago I thought I had lost the knack of reading. For all my worries, I had not lost the knack of reading, or of filling my mind and body and soul with all that I read.

    An old map serves as a bookmark, chosen at random from the detritus that collected next to my bed in untidier times. It’s a tourist guide to a place in which we were not tourists, a place of oil and dust and quiet optimism that one day the tourists might come.

    It seems like an appropriate thing to mark a book with. Both are, in their own way, fundamental to human nature. The map takes a world, wild and free, and makes it small and neat and understandable; the book takes a story, wild and free, and does the same. It tames it, but just a little, just enough that in the reader’s head the spark of the wild story still lives.

    February blows cold outside the window, and I am tired and old. But inside, in the warm, a bookmark remembers the place where stories live again.

  • A Most Productive Week

    January, it seems, has become our decorating month. Last year around this time, we finally sorted out Joseph’s bedroom, replacing the magnolia and jungle theme with something more to his current taste (and much tidier).

    Joseph’s room, before and after redecoration

    This year it was the turn of our bathroom and bedroom, unwisely at the same time and with both sets of parents helping.

    It was long overdue—both rooms had mould problems that we’d been ignoring for as long as we could. Our bathroom has no windows, and the paint was starting to come off the ceiling.

    Attacking the mould in the bathroom

    Our bedroom had problems along all the external walls, just like every other flat in this building, and the colour scheme of “new build magnolia” fading into “mould grey” had been around far too long.

    Our grim-looking bedroom, after removing four bin bags and six large boxes of stuff

    Three coats of paint later, plus three days of hosting and cooking for the in-laws, the bedroom was looking much better.

    Bedroom after two purple coats

    And with the furniture put back and new curtains up, it looks better still. The four bin bags and six large boxes of stuff that we excavated haven’t yet moved back in, and hopefully things will stay that way.

    The finished bedroom

    The bathroom also looks a lot better in mould-free blue. We bought some new cupboards in white wood to replace the primary coloured plastic drawers we had before, and at long last a bin with a top on it.

    Mostly finished bathroom, minus the under-sink cupboard

    We’ve even somehow found time to declutter the hallway, get rid of some old books, remove a patch of mould from the living room, and clean the kitchen too.

    Togemura-san and his entourage on the newly clean kitchen window sill

    In total decorating has taken eight days, involved eight people, 13 litres of paint, £240 of decorating supplies and £65 of fish and chips. It’s written off four rollers, three brushes and one step stool, because apparently I am just that heavy. I’ve cooked stew for six, plus bolognese, roast lamb and risotto for five.

    Now we are finishing off the week with another six people around the table, with chicken pie and apple crumble all round. It’s been a most productive week—in all likelihood the most productive week of my life so far—and a rest has been well earned by us all.

  • Enforced Reading Time

    Whilst faffing around with my blog the other day—in a regular incidence of “it ain’t broke but I’m going to fix it anyway”—I discovered some old half-written short stories that never made it to the web. (These two, if you’re interested.) Scrolling through the list of files that comprise my past attempts at fiction, it was immediately obvious that I’d not written even a scrap of a story since 2013. Worse, it’s been four years since I wrote anything complete—a paltry 342-word story called “Silence”, which my wife pestered me into writing. The last time I wrote something complete for myself was 2011.

    More worrying was the train of thought that followed that—when was the last time I read a work of fiction out of preference over doing anything else? Not a book read in a holiday’s abundance of free time, not a bedtime story for my son, but a book read out of pleasure, when I could or should be doing other things? Probably Neal Stephenson’s “REAMDE”, also in 2011.

    I received two books for Christmas, and I’m slowly making my way through one of them: “Trigger Warning”, a collection of Neil Gaiman’s short stories. Even though each piece is well written and at most 20 pages long, I’m finding it hard going. Every little thing is a distraction. Joseph will talk about Minecraft, there’s my concentration gone for another five minutes. Another paragraph, and it’ll occur to me that the floor is dirty and I ought to hoover. Another two lines. I’m thirsty. I should make coffee.

    Can it be that not only am I out of practice at writing, I’m actually out of practice at reading too?

    It feels like I’m turning into a modern-day version of the parents of Roald Dahl’s Matilda; I read recipe books and Facebook shares and gadget blogs and clickbait articles and never once settle down with a real good book. Even now, Trigger Warning sits a mere two feet away from me, all is quiet and calm, and here I am ignoring it to tap away at a computer keyboard.

    Perhaps the answer is to force myself, to set aside an enforced reading time every day, until I remember how to do it again—until I remember how to get so stuck into a good story that I stop caring about hoovering the floor or who might be commenting on my Facebook status.

    Maybe with enough practice, I might even remember how to write again.

  • A Comfortable Year

    Looking back on previous posts from New Years’ Eve, 2015 almost feels like a disappointment. There’s no pictures of far-flung deserts and mountains this year—I haven’t been abroad with work for so long that British Airways sent me a nice letter, telling me I’d been demoted to a mere peasant in their eyes and could no longer abuse the facilities of the business class lounge.

    We did manage four days in Vienna, and whilst it went some way to broadening the family’s geographic and cultural horizons, it mostly consisted of us improving our understanding of how to sleep in high temperatures, and whether it is possible to live on a diet of schnitzel alone.

    The family on a carriage ride around Vienna

    But although our adventures have been small, they have been fun. And although the year has not been bursting with excitement, it has been a comfortable one and a good one.

    Joseph climbing a tree in the New Forest

    The summer also saw Joseph’s eighth birthday, and Alicia’s second. Joseph is now in year 4 at school, ever more obsessed with videogames and ever more difficult to drag away from the television, but a wonderful child nonetheless.

    Unfortunately his birthday coincides with each season of the Great British Bake-Off, which this year caused his birthday cake to be somewhat more structural than previous years. Not exactly the neatest thing I have ever produced, but well-received anyway.

    My Minecraft-themed cake for Joseph’s 8th birthday

    Alicia is just starting to talk using understandable words, so her Spanish is at about my level already. We joined her for her party up in Sheffield, where I roughly remembered how to make balloon animals, and Joseph nearly took out a group of small children along with the piñata.

    Joseph at Alicia’s birthday

    The autumn dropped a bombshell of drama in a friend’s life. Between constant worrying about her, and my largely attempting to fix the problem by regularly applying roast dinner and cake, I suspect I am in danger of simultaneously turning into both my mother and my mother-in-law, and I’m not sure which prospect is scarier.

    Nevertheless, we made it through to the end of the year—to Christmas and to my Grandparents’ 60th anniversary, and were surrounded by our family once more. This year we stayed home in Bournemouth rather than making our traditional Christmas Eve trip to Guildford, meaning that for the first time Joseph could leave out mince pies for Santa and open his presents under the tree on Christmas morning. Apparently the in-laws intend to make up for our absence over Christmas by coming down to help me redecorate the house in January…

    (Most of) The family together at Christmas

    A happy new year to you all; I hope 2016 brings you all you want and all you need.

  • Blast From the Past: Dragon’s Claw’s Chromatic Skill System

    Back in the dim and distant past of my school days, Dreaming Awake was called “Dragon’s Claw” and was going to be a video game rather than a book. As far as I can tell from trawling the Internet Archive, not much was posted about it online, but for some reason today I remembered the design work we did on its skill system.

    To my knowledge no game since has implemented something like this — probably because it’s not a particularly great idea — but it has a certain elegance to it so I thought it worth documenting.

    I think we called the skill system “Chromatic”, or maybe “Prismatic”. Something like that. It was based on the Hue, Saturation and Luminance method of specifying colours on a video screen.

    Mechanics

    If you’ve ever used a paint program on a computer, you’ve almost certainly encountered this style of colour picker before. There are three axes to it: Hue, which specifies the colour, Saturation, which specifies how ‘colourful’ (as opposed to grey) the colour is, and Luminance, which specifies the shade of the colour from black to white. (Some systems use Value instead of Luminance, the difference is somewhat technical.)

    In Dragon’s Claw’s system, the Hue of the colour represents the elemental association of the skill, along a continuum. So for example, Fire-based skills have a red hue (approximately 0 on the scale), Water-based skills have a blue hue (approximately 170 on a 0-255 scale). Something like the diagram below — there were more elements to fill up the remaining space, but I forget them now.

    The Saturation of the colour represents the transition between physical abilities and magical abilities, with the physical ones being less colourful and the magical ones more so. For example, the magic spell “Fireball” might be bright red, while “Flaming Sword” is still the same hue but more physical, so has a lower saturation.

    Luminance is a continuum between white and black, and represents the balance between “good” and “evil” abilities.

    If I recall correctly, while abilities were balanced fairly well across the hue and saturation spectra, the majority of abilities clustered towards the centre of the luminance spectrum as the abilities themselves could rarely be said to be good or evil.

    Each character had an innate “colour”, which represented their central position within the three-axis ability spectra. At level 1, a character would be able to use an ability only if it was within 1 integer of their colour on each spectrum. For example, if Rosa has a colour of Hue 0, Saturation 255, Luminance 128 (primary red), she can use any ability with Hue 255-1, Saturation 254-255, and Luminance 127-129. This is a pretty restricted set, although each character would have been designed such that they started with at least one ability.

    As each character increases in level, the “sphere” around their innate colour expands, and if any new abilities fall within that sphere, the character learns that ability. By level 100, each character can use a sizeable proportion of available abilities, but never the complete set.

    As the character uses abilities, their innate colour changes by a fraction towards the colour of the ability used. In this way, characters’ ability sets can be customised however the player wants, simply by practicing abilities in the right “direction”.

    Advantages

    I always thought this was a pretty neat way of determining which characters can use which abilities, and the fact that characters get better at certain types of ability simply by practicing them or similar ones, is definitely appealing.

    The concept of skills as a continuum also allowed for interesting benefits from the use of weapons. Swords, for example, might increase damage dealt by low-saturation (physical) skills, while staves might increase damage for high-saturation skills. A mace might benefit high-luminance (good) skills, while a dagger might benefit low-luminance (evil) skills.

    Disadvantages

    There are a couple of big disadvantages, not least that we never found a good way of representing a 3D cube of colours to the player — we were limited by the ability of 2D screens and human eyes to see all three axes at the same time.

    Certain areas of the spectrum were also rather sparse — certain hues, saturations and luminance ranges had a lot of abilities in them, while others had fewer, and characters with innate colours in those more sparse ranges would find themselves without as wide a choice of abilities as others.

    The system also scales badly with level as originally designed. Each increase in level expanded the “sphere” of a character’s potential abilities in three axes at once, so an increase of n levels results in an increase of n3 volume. The result of this is that characters’ rate of picking up abilities becomes exponential. A logarithmic increase in sphere radius would have been a better idea to control this.

    Alongside the difficulty in displaying the colour cube, it would also be difficult for players to discover the locations (i.e. colours) of new abilities that they may want. A lot of work would be needed in suggesting to the player which abilities they might want to practice, and what new things they would learn if they did.