Last month was November, which seems to have more than its fair share of the modern kind of do-things-for-a-month observances: see NaNoWriMo, NaBloPoMo (perhaps now defunct), Movember, even AcWriMo. And, as I discovered some time in the middle of October, #makevember.
For a bit of background, I've been doing some fiddling lately with basic electronics and Arduinos and other microcontrollers. I spend my days at work writing software, and I've been pining for something a bit more physically creative. Maybe I'm approaching an early(-ish) mid-life crisis, or getting in touch with my own mortality or something. Microcontrollers and bleeps and bloops and lights and whirring motors have cropped up as a way to connect the non-physical nature of software with something that I can touch.
It was while noodling with this stuff that I came across the notion of #makevember, on Dominic Morrow's blog. The friendly and accessible manifesto of "make something you wouldn't normally make, as long as it's fun, with no pressure and shared with kindness" drew me right in.
So, for November, I made random things. Not every day, but enough to get into a bit of a rhythm. Some were ugly failures, some were daft, some were useful, all taught me something and all were fun. My favourites that I produced are:
Servo-driven blinkenlight: I know, off the top of my head, at least half a dozen approaches to making an LED blink. This was an attempt at a new one.
A SparkFun Weevil because I'm still new at this electronics hacking business and need all the soldering practice I can get.
And the pen wrap, which is very, very far from perfect, but also the project that was furthest from any existing experience or skills I have. My wife showed me the basics of using her sewing machine, and provided gentle encouragement as I discovered (a couple of times) why "measure twice, cut once" is a thing. I plan to have a second run at this sometime soon.
The best bit of #makevember, though, was watching with wonder all that was posted on the Instagram tag by folks who have much more talent and expertise than I do. I've been able to expand the list of those I follow on Instagram and on Twitter to take in some properly impressive and inspiring makers. I hope to follow this post up with one that includes some links and recommendations of who to follow. In the meantime, I'll be over here with my gradually reducing reluctance to take a screwdriver or multimeter to the things around me.
The Predator. Shane Black attempts to out-Shane Black Shane Black, and overcooks it at a couple of points. Takes the mythology to interesting places, but suffers for an almost total lack of likeable characters.
How to Train Your Dragon: The Hidden Kingdom. Not going to lie, I love these films. This is my favourite since the first one, and a well-executed concluding chapter. The design of the dragons is as brilliant as ever.
Peelers. Sort of zombie-fied patrons tear into everyone in a small-town strip club. You get what you expect going in to this one, plus surprisingly charming relationships between the various staff and customers. Lots of splatter and the occasional icky moment. If that's your kind of thing then this is a decent watch.
Three short novels (novellas? I'm a bit hazy on where to draw that line):
The October Man by Ben Aaronovitch. The Rivers of London/Peter Grant books are right up my street, and I've enjoyed them all. That goes for this instalment, too, which introduces us to Grant and the Folly's German counterparts. I'd like to see more of them in the future. Can we hope for a novel featuring some awkward international cooperation? Like most of the Rivers books, this rattles along in bright colours and enjoyable moments, with the author's usual attention to the detail of police practice and procedure. (I assume he gets the details right, anyway. It's very convincing and I wouldn't know any better.)
The Murders of Molly Southbourne by Tade Thompson. From the blurb on Amazon: "For as long as Molly Southbourne can remember, she’s been watching herself die. Whenever she bleeds, another molly is born, identical to her in every way and intent on her destruction.". I don't want to go further than that for fear of spoiling things, but this near-future-set book goes deep on the effect the creepy premise has on Molly and her family. Highly, highly recommended.
Ragged Alice by Gareth Powell. Our third tale of unsettling, fantastical murder, this one is all atmosphere. The setting pulls you right in to the grey of the off-season seaside town, but I wish it was a bit longer and allowed a bit more time to get to the know the main characters. If it wasn't so rushed there might not have been so many threads left hanging, too. Still worth a couple of hours of your time, though.
I accidentally stumbled into reading those three books one after the other. There are threads of genre and theme that run through them and make them even more interesting when put alongside each other. They have three very different styles and push different buttons, and the crime-and-policing-involving-the-supernatural is a favourite sub-genre of mine. These each connect with that in different ways, that I enjoyed.
Politically-speaking, nationally and globally, 2018 was a terrifying shambles. I can’t think of anything sane or useful to say about that that hasn’t been said. Yikes.
I didn’t make as much time to read this year as I normally do, but still read some great fiction. Since I finally owned up to myself a few years ago that I mostly read genre fiction, and that being bothered by that was simple snobbery, the list was mostly SF and fantasy. A handful of titles that stood out for me:
Red Sister by Mark Lawrence is a fun take on the tale of the kid with a crappy childhood finding a place in a school that teaches specialist and fantastic skills that render them a nigh unstoppable force. The second and second-and-a-half parts of the trilogy are also out there, and also worth a read. (After this, I read the author’s Broken Empire trilogy, which is both grim and dark, and is pretty good.)
Godblind by Anna Stephens is more of the grimdark, and is a gripping debut that is fit by the description visceral in more ways than one. The sequel, Darksoul, kept up the pace, and I’m looking forward to the concluding volume coming this year.
Semiosis by Sue Burke is generational SF, telling of a decades-long first contact with a sentient alien plant. It’s very different to anything else I can remember reading, and is a satisfying and compelling read.
Blackwater by Malcolm McDowell is, apparently (according to Goodreads), “one of the greatest horror novels ever published”. I hadn’t heard of it until I saw it mentioned in a Twitter thread retweeted by (I think) Chuck Wendig (more of him shortly). Another story that spans decades, this is an engrossing bit of Southern Gothic that kept me with its central Caskey family dynasty for several weeks. Lots of family drama and politics, and plenty of dread of the occasional ghostly encounter or monstrous violence.
Atlanta Burns by Chuck Wendig might count as young adult fiction. I’m not sure. I’d say I hope not, but that might just be because my kids are both still under ten. Wendig is a worthwhile follow on Twitter, and his novels don’t disappoint, either. The Atlanta Burns stories are of a high-school student suffering from post-traumatic stress who tries to banish some of her demons by helping other students deal with their tormentors. Often with violence. Things almost never go to plan for Atlanta, and half the time her involvement leads to more harm than good, but she keeps trying to fix the broken world around her anyway. It’s great stuff.
I still fear the day when last.fm goes away. I’m sure it’s bound to.
(Click the image for a nice big, wavy graph generated by LastWave.)
Missing from that is the all the time in the car in the first half of the year spent listening to the Hamilton cast recording, but very apparent is how a friend on holiday in the summer reminded my that the Levellers exist and I spent much of the rest of the year listening to their back catalogue on repeat.
2018 is the year we (through a recommendation from another friend) discovered Brooklyn Nine-Nine. Cloak & Dagger reignited my enthusiasm for Marvel TV adaptations. And A Quiet Place was as good as everyone said it was. And I finally made my way through [The Strain](https://en.wikipedia.org/wiki/TheStrain(TV_series)). I’m relieved to report that it is much better executed on TV than in the books.
Last year I took up a new sport, and even joined a club. The idea of me joining a sports club was (is) pretty unexpected, even if the sport involves as much standing in one spot as archery does.
In this part of the country, a lot of the indoor action involves shooting a Portsmouth round, and over the year I’ve taken my average score from mid-480s to mid-520s, with a PB of 533. I’d like to break that magical barrier at 540 by the end of the indoor season in March, but we’ll see how that goes. (540 is a big deal because that’s where the average score per arrow reaches 9.0.)
Outdoors, I achieved Second Class quicker than I expected. I’m hoping to manage First Class reasonably early in the 2019 outdoor season. Practice, practice, practice…
Archery is a very friendly sport. I’ve shot in several competitions around Yorkshire over the last year, and for a newbie who belonged right at the bottom of the rankings they were still welcoming and great fun. I’m planning more competition in 2019, too.
This has been the year that we go properly settled into life in Leeds, I think. We got moved into our own house and started to make it the home we want. After a few of years marked by exciting changes and moves (Northern Ireland to Toronto! Toronto to Northern Ireland! Northern Ireland to England!), we’ve been able to just be here and live, with the minimum of further change and chaos. It’s been a bit of a relief, to be honest. There is plenty of joy and satisfaction to be found in the normal.
And so to 2019
I’ve not really done one of these big annual review blog posts before. And I’m not a fan of New Year’s resolutions or that kind of thing. But there are a small number of things that I’d like to do over the next year.
Spend more time writing. I don't know in what form, but I want to get back into the habit of putting words together. This post is part of that. Short bits, long pieces, fiction, non-fiction; I miss it all.
My work-work has been going great in 2018. We’ve been able to build and ship some very satisfying features that have had me learning and practicing new things. That’s somewhere I want to do even better things in 2019.
And this is the year where I really do need to become less of a man. I’m not joking that if I don’t manage something like a 35% reduction in body weight then some small problems are going to become big problems, and other new problems are certain to appear. It won’t happen all at once, and this is something I’ve tried and failed at many times before, but the time has come when I have no choice. It’s important. So here we go again.
At work we use Buddybuild for continuous integration, running
our tests and shipping builds to iTunes Connect for TestFlight. On the whole we've had
pretty good experiences with their service. (The only CI service I've used that I like more is
Codeship. I love Codeship, but iOS isn't part of their setup. We use
their service for all our server code.)
I was recently doing the annual new-Xcode-new-Swift dance, and found that some of our UI
tests were failing. These ones were the tests that interact with the iOS on-screen
keyboard, and they were failing in a way consistent with the simulator acting as having
a hardware keyboard attached—that is, the software keyboard wasn't visible when the tests
expected it to be.
After a bit of a chat with Buddybuild support and a bit of digging around with Google, I've
added the following to our post-clone build script (buddybuild_postclone.sh):
# make sure the simulator doesn't have a hardware keyboard connected
xcrun simctl shutdown all
defaults write com.apple.iphonesimulator ConnectHardwareKeyboard 0
The first command closes any running simulators in the environment, to make sure that they'll
start up again and so let the second command take effect, which writes a defaults key and
value to tell the simulator to not use the hardware keyboard.
And now all our UI tests are passing reliably again. Simple, once you know the options