Aquarionics Current Affairs Personal Projects stories

Week Zero, or possibly Week 52

I fell out of the habit of writing in 2016. Well, kind of. My Facebook output skyrocketed, and the number of things that went on outputs I actually own fell a lot.

I’ve got a lot of things in the Draft folder. Some have been sidelined because they still feel a bit incendiary, some because the time they were relevant passed, and some just stupid. I spent a lot of the summer working on an idea for a new project, which then failed so hard it left no impact in the wall at all, so there’s a post-mortem on that. But that’s just depressing to write, and without any conclusions to draw it just seems like a stick to beat me with.

A Ballot form with the options "bad choice" "worse choice"2016 hasn’t been a great year in the global space, and my personal 2016 has been significantly mixed. Feeling like I’m stagnating professionally and personally has been an anchor on an already less great year, and while I’ve been getting more social and made a number of new friends who have massively improved my life, I’ve failed to leave Oxford for nearly anything that wasn’t larp or funeral related in a year. Mostly, this is due to a commute that’s eating my days, which means my value of decompression time at home heightens, reducing my desire to go anywhere or do anything.

Having said that, LARP has successfully got me out of the house more than any other thing this year. We successfully landed Odyssey with two of our best-run events ever – I’ll accept some credit for that, but the entire team was without peer; I did two new games purely as a player – Slayers and Tales out of Anchor – as well as successfully starting a purely PC Empire character, who I’m enjoying playing a lot.

The end of Odyssey. Photo by Charlotte Moss –

The end of Odyssey gives me some free mental space for a couple of other LARP things, and mostly I’ll be focusing on Trajectory, I’m intending on publishing some Theory of Operation type stuff here as it coalesces in mine and ccooke’s heads.

At the end of 2015, I screwed up my major projects. PiracyInc got backed into a corner where I need to sit down and rearchitect the whole thing, and the Novel – Hereinafter Stark Mockery – hit a brick wall where I realised a number of the underlying genre tropes had gone toxic. I’ve started salvaging the book, and will attempt to do so with the game, but I need to put my free time in order.

And then there’s this. AqCom’s been coasting on without major revision for years now, and I want to fix that. So I’m going to try to go back to the Week N series that kept me doing things through 2015, or at least feeling guilty for not doing them. A few times this year I’ve referred back to entries I made years ago to see when something happened, and not having that facility in the future will irritate me, so we shall give it a try.

All of which lays out my plans for 2017:

  • Reclaim my days
  • Repair my projects
  • Write more fiction
  • Write more LARP
  • Write more this
  • Travel to new places, meet interesting people, don’t kill them

Next plan: Go to NYE party. Celebrate. Then prepare for 2017 with a red rag and a baseball bat.


Mad Engineering – Voice Activated Kettle

Over the christmas holidays, I generally attempt to do a technical project in something that’s new to me. I think I bit off more than I could chew with the main thing, which was a look at Amazon Lumberyard and Gamelift, so I went for something smaller scale that I was more likely to actually complete. So, the voice activated kettle:

(Yes, vertical video. Yes, I do know better. Yes, it was 4am)

I’ve previously mentioned that I own a wifi kettle. Well, this Christmas Santa brought me an Amazon Echo Dot, and so it’s only logical I try to join the things. (Caution: Logic is only theoretical, and can be dangerously subjective).

The Internet of Things has gained a reputation for poor security, and the iKettle specifically so a year and a bit back, but one of the advantages I’ve generally listed for the kettle is that it’s not on the public internet unless you’re stupid. If someone knows you have the kettle and can physically point a directional aerial at it, they knock it off your network, stand somewhere outside your window for four hours brute-forcing a randomised PIN, they can get your wifi password and be on your network. Also boil your kettle. I recognise it’s a flaw, but I count it an accepted risk. I believe it’s fixed in the new hardware revision anyway.

Anyway, the kettle isn’t on the public internet. A lot of IoT devices are, since their apps connect to a publicly available API (either as a primary or secondary connection option) which then connect to the devices, providing a handy access route. Most of the time these use industry-standard access key systems, and are usually secure enough. A lot of the cheaper end of the market don’t, which is why you get the “DDoSed by my doorbell” stories.

Amazon Echo uses their Alexa APIs to provide custom skills, which are centralised and don’t work over local networks, so in order to make this work I needed to be stupid, and put my kettle on the public internet.

A noddy web interface. Yesterday.
A noddy web interface. Yesterday.

Fortunately, I’ve done most of the heavy lifting for that already. A while ago I stood on Mark J Cox’s shoulders to write Retort, A Flask (of course) based app that runs on my local network and provides a REST-based API to the socket-based kettle protocol. This has been quite happily running on my home server since I built it a year and a half ago with a noddy little javascript interface. It’s accessible over the internet via SSL and basic auth, which means I can turn on my kettle from the bus home if I like.

So when on Christmas Day (shudup) I went looking for how to build Alexa “Skills”, I found that all I needed to do was to write a new endpoint to that API and give Alexa a username and password.

Configuring the actual Skill was a little trickier. Alexa uses a lot of tricks to fake natural language parsing, but basically you provide a list of possible actions (“intents”) and then a set of sample ways to trigger those actions (“utterances”), but the closer you get to colloquial or natural commands, the harder things seem to get working. The documentation for designing these interfaces suggests the format should stick to “Alexa, <verb> the <noun> to <action>” formula, and as you can see from the video that works, but when designing text interfaces I prefer being able to provide colloquial aliases, and while “Alexa, Tell the kettle to start” works, even with it defined in the utterances file “Alexa, Put the kettle on” seems to match the internal guesswork as a Smart Home defined device (the reaction is “Can’t find a device called “kettle” in Aquarion’s account”). Maybe that’s a better model to use for the Skill, and I should refactor around that. I’m also having large problems around setting specific temperature, as the API seems to send things with “?” in the temperature slot, or send a SetTemperature intent but with no slots defined, so there’s still debug to do.

The Alexa Skill is, of course, not publically available. It’s tied to my kettle, and in order to set this up for someone else they’d need a new Skill App, a full Retort installation (and, of course, the kettle). I could set up a centralised app location where you put in your IP, username and password and it brokers Alexa calls to kettles, but I’m pretty sure the technical bar to installing this app puts it in the low tens, all of which can do all this themselves.

Side note: I recorded the video at 4am (It’s the holidays, my sleep schedule is shot to ribbons). I made the tea, then started writing this up. It’s now ten past five in the morning, and third time lucky I actually got all the way from boiling the water, putting it in the teapot, remembering all this five minutes later, and drinking the tea. Voice activated kettles cannot save you from chronic disorganisation, be warned.


Commonly Known As Dirk

You are speaking with Svlad, commonly known as “Dirk” Cjelli, currently trading under the name of Gently for reasons which it would be otiose, at this moment, to rehearse. I bid you good evening. If you wish to know more I will be at the Pizza Express in Upper Street in ten minutes. Bring some money.

I keep this fairly low under the radar, so it’s fine if it’s not something you’ve spotted, and I understand if it’s going to be a shock, but: Douglas Adams is my favourite author. I love the bubbling undercurrent of anger in every Terry Pratchett book, and the depth of the built worlds of Neil Gaiman. I have a lot of respect for the attempted revival of stock theatre traditions that make up the other side of David Eddings’ work, and the flow and construction of P. G. Wodehouse tends to make me want to read it out loud. But Douglas Adams is my favourite, and I don’t feel the need to explain why.

This gives me an advantage, in a way. There is no chance in this flawed multiverse that any attempt to adapt one of his worlds is going to match my expectations. That bar is set so high in my mind that clearing it would happily provide us with a handy pair of space elevators. No, so long as an adaptation has something of itself to be true to, I can usually accept it as someone elses’ attempt to play in the same sandbox. I’ve enjoyed most adaptations, save the ones that seemed either soul-less or an attempt to *be* Douglas Adams’ long lost work, instead of its own thing with the books as a starting point. I could enjoy the Hitchhiker’s movie as a movie that started from the radio series. The TV series was a good TV series that started from the books. I wasn’t a massive fan of the Salmon of Doubt, because a lot of it felt invasive and remastered sketches, and the only thing I actively disliked was Eoin Colfer’s “…And Another Thing” which failed the “true to itself” thing, and fell down a pit of trying too hard to be a Douglas Adams book, instead of an Eoin Colfer Hitchhiker’s book.

All of which brings me to the two adaptations of Dirk Gently to the TV.

The BBC Dirk Gently was a case-per-episode show that kind of got the main character mostly right, and the style of story right, but attempting to fit a plot per episode didn’t really give it the chance to get the universe right. I liked it a lot, the music was absolutely spot on, Stephen Mangan gives good Dirk, filling in the scatty, messy, cat-like “I meant to do that” attitude very well, but it didn’t really have space to breathe.

The new Netflix version (Which is co-produced by BBC America, so is technically BBC as well, I suppose) I’ve watched all eight 45 minute episodes of over the last couple of days. It is as to the books as the movie of HHGG was to its books. It’s a full reimagining of the concept of the world as a miniseries. The universe works better than the BBC version, in that it embraces the whole crack-pot universe of the books where everything really is connected, there aren’t any coincidences, and the universe goes out of its way to put Gently in the middle of all of those. A friend on Facebook called it the Anti-Lost, in that it carefully wraps up almost all of its knots before the end of the series. It can’t quite resist putting mysticism over the top of Gently’s inability to be part of a coincidence, leaving it only slightly vague as to whether it’s actually a minor super power; but it then does use that overarching idea to Yang Dirk’s Yin with the concept of a Holistic Assassin, which is a very Adams thing to do. Samuel Barnett’s Dirk is a ball of directionless energy with occasional cracks in the facade, which is a switch from the books’ more slovenly and shady detective, but enough to be the same character.

There is no connection between the events of the books and the Netflix show, the latter of which mentions some past association with Thor, but without attempting to spoil anything it’s a confusing mess of coincidences that tangle up messily and get solved partly by the holistic thing being right, partly by intuition, and partly by accident. It also doesn’t do the Westworld annoyance of only knocking down dominoes in the last two episodes, there are sufficient large reveals on the way to keep you not only invested, but satisfied, I think.

It’s not perfect, it’s a little manic and the first few episodes are overstuffed. A lot of the episodes get weighed down by the – realistic – refusal of the POV character to want to interact with the plot when it gets dangerous, and needing some kind of inspiring speech to get him through the next gateway; but late in the series there are some glorious scenes calling people on their bullshit, so it at least has payoff.

Basically, I think it’s worth a punt. The first series is eight episodes, takes a couple to strip the protective coating off the concept, and ends well. It’s six hours of your life you could instead use learning another language, but that wouldn’t be as much fun.