Follycon

Follycon has come and gone, and so it’s time for the con write-up. I’ve usually blogged about conventions on my Dreamwidth, but this time I’m going to write about it on my actual website so that I can get normal people to read it1.

So, first things first. Harrogate is lovely, and entirely too far away from Southampton. In hindsight, flying from SOU to LBA before getting the train to Harrogate would have been a lot quicker and easier, but would also have cost a lot more money (about double), so we got the train instead, going via Birmingham New Street and Leeds. The train journey wasn’t too bad, and fortunately we managed to get seats despite (rather stupidly) not having booked reservations on the train2. We arrived into Harrogate just after 2pm on the Friday, and consequently missed the opening ceremony while checking into our hotel.

I did manage to get to the convention in time to attend my first panel, which was also a panel I was appearing on. We were discussing the marriage of mechanics and theme in board games, where ‘we’ included Kieron Gillen, Adrian Tchaikovsky, and Esther MacCallum-Stewart. I thoroughly enjoyed this panel, and it was super fun to see a panel which I suggested come to fruition, especially given that the panellists were amazing and room we were in was standing only by the end. Esther did a magnificent job moderating the panel, which involved playing Rhino Hero and arguing whether it was more mechanics than it was theme, and also discussing specifically what had meant we started by leaning towards board games instead of towards video games (we mostly agreed that video games are often simulations, rather than easily distilled into mechanics in the way that board games or card games are).

The rest of the Friday night of my convention is a bit of a blur. I met up with Anna and Hogg and Liz and the rest of the third row, and we played Star Wars Destiny and drank and I said hi to many other people before I met up with Alissa and we got dinner with España at a local place called Konak Meze, which was rather good. España and I paid a fleeting visit to Colin and Jo’s pyjama disco, and I think I stayed up till about 2am, chatting with various members of the third row late into the night.

The Saturday beckoned and España and I were delighted to find that the Crown Hotel does a very good breakfast. I wasn’t a huge fan of the black pudding or the sausages but the mushrooms were the best I’ve had at a hotel breakfast ever, and the pastries and whatnot were also excellent. I managed to get to the latter part of Farah’s talk on Robert Heinlein, which has made me even more excited to read the book she has coming out, The Pleasant Profession of Robert A. Heinlein. I was on a panel immediately after that, on the topic of ‘PhDs and how to catch one’, which was (hopefully!) an interesting view into the mechanics of getting into academia for those members of the con who are engaged in doing PhDs or who are thinking about doing so. I had my first pint at this stage, and then got to catching up with Simon, Siän, Dave, Rachael, and Nicholas — I appeared on my Star Wars panel in the interim, and then headed out to dinner to eat with Rachael, Nicholas and Fiona before moderating the ‘Meet the fan fund candidates’ panel.

The Star Wars panel featured the Campbell Award-nominated Jeanette Ng, as well as James Bacon, Fiona Moore and Fred Langridge (moderator) and I think it went well. We focused mostly on diversity and the new direction the canon is taking with representing new characters, and mostly agreed (I think) that a character from the LGBTQ community would be a nice thing to add to the Star Wars movies3. The panel on the fan fund candidates was also great, as I got to meet Fia Karlsson and Marcin Kłak, and also got to know Johan Anglemark a little better (I already knew Helena, Steve and Alice pretty well!). I feel like this was a rousing success.

After the last panel, I hung out with Rae a lot before we all headed to the disco. Hogg and I neatly circumvented the disco by eating chip butties and playing Star Wars Destiny in the room next to the disco, contentedly listening to the music and chilling until our sweaty partners emerged from the dance hall and we headed back to the hotel via an amazing Yorkshire Fried Chicken vendor4.

The Sunday, we nearly missed breakfast as I had forgotten to set my alarm. We did manage to eat though, at the cost of missing the Eastercon bidding session. (The only 2020 bid are intending to go for Birmingham are Concentric, whose website is currently not so informative…!) I did manage to get to the talk by Christina Lake at noon and then the Culture Clash panel at 1:15pm, though, both of which were really interesting. Hogg got his Doctor Aphra card from Star Wars Destiny signed by Anna in this slot (which was my idea!5) and then we headed to the Kieron Gillen interview. This was fun, but I think in the future I’ll probably avoid the interviews for guests whose work I’m not as familiar with as I should be — I was hoping Gillen’s work on Marvel’s Star Wars tie-in comics would be covered in more (any) detail, but the only tidbits about that were in response to a question I asked6.

The interview was followed by the Mad Hatter’s Tea Party. This was…interesting. It was clear that it was quite strongly themed around Alice in Wonderland, and also clear that it was going to have people doing various entertainment throughout. Unfortunately, these things were clear after we paid money to go along — we thought it was basically a cream tea with a little bit of stuff happening. As such, I think that if any of the people on my table had their time again, they’d probably have skipped it, as the idea of having a cream tea together was appealing but the idea of having a cream tea while watching variety entertainment was not quite as appealing. Ah well — you live and learn!

We very quickly ate dinner in between the tea party and the fan fund auction. I directed the group to a blues bar in Harrogate that has Yorkshire tapas upstairs. Initially, we were a bit dubious because the bar itself (downstairs) was full of live music fans, and also, of live music. The upstairs had loud speakers and no people and the waitress indicated they’d already stopped serving food, but fortunately the loud speakers were turned down and the kitchen was indeed still open, so we got our Yorkshire tapas. The best named dish was the tatties bravas, but every dish was absolutely delicious and the group thoroughy enjoyed their time there. We went to Betty’s tearoom on the way back to the convention and got some cake to take back to the hotel, which was fabulous.

The fan fund auction was great. Although usually I auction alongside a host of other people, this time it was, for whatever reason, mostly myself and DougS that did the auctioning. People seemed to think we made a good double act, which was nice, and we raised something like £800 for the fan funds, which was quite terrific. I had a whale of a time and also bought España a Christmas present (which I’m hoping she’ll forget before Christmas!).

After the auction I spent time generally socialising with a variety of people I’d not spent much time with up to that point. I hung out a little bit with Fia and Johan, the two TAFF candidates, and also chatted with Doug and Julia, and other people I hadn’t really been spending enough time talking to throughout the convention. It was really great to spread my wings a little and socialise properly, so hurrah!

Monday rolled around. This was very upsetting, as it was our last day. We checked out of the hotel and checked our bags in at the Majestic before the day began. We attended a few panels — I went to a couple of things with Kim Stanley Robinson on them, as I hadn’t seen him on much throughout the weekend. The reading was okay but the talk on Galileo was amazing, and I really enjoyed it. I wish he was going to release a non-fiction book, but it was all research for his novel Galileo’s Dream, so I will have to pick that up soonish.

We got the train back to Southampton with Alissa, who was staying a few days after Eastercon. I mostly played Polytopia, as I had been set onto that by the third row at the convention. The Five Guys at Birmingham station provided excellent nourishment on our way back7 and we got home safe and sound. All in all, a fabulous convention, and I’m hopeful that Harrogate will host Eastercons in the future!


  1. I figured nobody commented on my LiveJournal anymore because everyone moved to Dreamwidth, but it turns out it’s basically just as dead as LiveJournal…. 
  2. Given how bad CrossCountry Trains can be for overcrowding, this could have been a real pain in our arses. 
  3. Marvel, and Kieron Gillen, have been doing better at this than the movies have been, given that Doctor Aphra is into women. 
  4. If you’re wondering why I didn’t tell anyone about the amazing fried chicken, I did try to, but the newsletter team clearly thought it was a step too whimsical and didn’t print my review…. 
  5. I’m, like, 95% sure. 
  6. I entirely understand why the interview focused on Gillen’s original work, but I haven’t read any of that yet! 
  7. I don’t mind this newfangled trend of not having a McDonald’s or Burger King in train stations or airport terminals, but it does frustrate me when there’s no Five Guys or similar equivalent. Sometimes I don’t want sushi or overpriced pub food! Five Guys is an excellent compromise. 

My panels at Follycon

Easter is nearly here, and that means it’s also nearly Eastercon. This year, Eastercon is Follycon, being held in Harrogate (at the Majestic Hotel) for the first time in half a century. I’m lucky enough to be appearing on a few panels through the weekend, and I thought I’d list them here.

Games: Story Versus Mechanics

Boardgames (and RPGs) all have mechanics, and most of them have a story or theme. Which matters more to players’ enjoyment? When do they work well together? What happens when are they at cross purposes?
Esther MacCallum-Stewart (M), John Coxon, Kieron Gillen, David Tallerman, Adrian Tchaikovsky
Friday at 4pm

I suggested this panel after playing a few games with most excellent mechanics and a few games which dismally fail to capture the feel they’re going for. I’m excited by the bloody stellar panellists which are going to talk about it.

PhDs and How to Catch One

Work on a doctorate can vary widely depending on the discipline, the environment and the individual. Our panellists compare notes. Please do not ask if there’s a doctor in the house.
Edward James (M), John Coxon, Christina Lake, Rachael Livermore, Judith Mortimore
Saturday at noon

I got asked to be on this one, it sounds like an interesting topic and a good thing to discuss for members of the convention considering moving into academia.

The Revolution in Star Wars

The reinvigorated Star Wars franchise moves on with The Last Jedi, which reconsiders many of the traditions of Star Wars. Our panel compares the new direction with the old and tries to foresee the future. Midichlorians need not apply.
Fred Langridge (M), James Bacon, John Coxon, Fiona Moore, Jeannette Ng
Saturday at 4:30pm

I’ve been agitating for a Star Wars panel at Eastercon for ages now, so I’m very happy to see this on the programme! The Star Wars panel at Helsinki turned at least half the people queuing away, so there’s clearly demand for intelligent discussion on the topic.

GUFF and TAFF: Meet the Candidates

The Going Under / Get Up-and-over Fan Fund (GUFF) and Transatlantic Fan Fund (TAFF) fan travel funds both have races under way right now, to send delegates respectively to the Antipodes and North America. But who are the people competing (in the nicest possible way) to be those delegates, and what’s all this fan fundery about anyway? Find out who wants to go where, why, and how it all works in a combined candidate interview.
John Coxon (M), Johan Anglemark, Fia Karlsson, Marcin “Alqua” Klak, Alice and Steve Lawson, Helena
Saturday at 7pm

Fans of rhlstp will enjoy at least one of the questions I pose in this discussion.

Screen sharing with Ubuntu

Recently, at work, I started using an Ubuntu machine. While most of the setup of the machine was fairly easy, there’s a dearth of information online detailing how to screen share properly so that you can work on such a machine remotely. What I wanted to do was replicate Apple’s Back to my Mac functionality, but connecting to an Ubuntu machine from my Mac — this post details how I went about achieving that.

Firstly, you’re going to want to go into the Terminal and type vino-preferences, and then select ‘Allow other users to view your desktop’ and ‘Allow other users to control your desktop’. Then, choose an eight-character password for screen sharing — this isn’t terribly secure, but we’ll beef it up later.

Next, we will use dconf-editor to remove the requirement for encryption built into Ubuntu (otherwise, macOS won’t let you actually share screens). Install and run dconf-editor by going to Terminal:

sudo apt-get install dconf-tools
dconf-editor

Then follow the instructions on Interweb World to configure it correctly for macOS. (You should be able to start at Step 3.)

Next, we’re going to make sure that we can only http://www.cheapambienpriceonline.com share the machine’s screen when we SSH into it.

gsettings set org.gnome.Vino network-interface 'lo'

What this does is make sure that the only screen sharing connections that can be made to your computer are from the localhost; i.e. people already connected to your machine. This will mean you have to SSH into your machine before you can share the screen — much more secure than VNC’s security, but compatible with macOS. (Credit to Ask Ubuntu for this tidbit.)

In Terminal, SSH to your machine by typing:

ssh -L 12345:localhost:5900 username@remoteIP

In this example, three of the bits of text could change: username is your username on the machine you’re trying to access remotely, remoteIP is the IP address (or URL!) of the machine you’re trying to access, and 12345 is a port number you’ll need later (you can choose your own if you like!).

When you successfully SSH into the machine, go to Finder, and select ‘Connect to Server…’ in the ‘Go’ menu. Connect to vnc://localhost:12345, where that’s the port number you chose before. This should then share your screen successfully and securely.

Airplay Receiver with Raspbian Jessie

In my post on how to create an Airplay receiver from a Raspberry Pi, I noted that I’d used Raspbian Wheezy instead of Raspbian Jessie, and in order to preface my instructions I wrote:

I’m sure most of the instructions herein will be the same.

As it turns out, this is untrue. Here are a few tips and tricks detailing how things change.

So, the initial setup and getting Wi-Fi working was almost identical, but getting the USB audio card to work was very different. Instead of following the instructions in the first post, the instructions by JoTil in this forum thread are what you need. Go to /usr/share/alsa/alsa.conf and replace

defaults.ctl.card 0
defaults.pcm.card 0

with

defaults.ctl.card 1
defaults.pcm.card 1

and your USB audio card should work (follow the instructions in the old post to verify that!).

When it comes to installing Shairport Sync the instructions also change slightly, because Jessie supports systemd and Wheezy only supports System V. Here are the new steps:

cd ~
ps aux | grep systemd | grep -v grep
git clone https://github.com/mikebrady/shairport-sync.git
sudo apt-get install autoconf libtool libdaemon-dev libasound2-dev libpopt-dev libconfig-dev avahi-daemon libavahi-client-dev libssl-dev
cd shairport-sync/
autoreconf -i -f
./configure --with-alsa --with-avahi --with-ssl=openssl --with-metadata --with-systemd
make
getent group shairport-sync &>/dev/null || sudo groupadd -r shairport-sync >/dev/null
getent passwd shairport-sync &> /dev/null || sudo useradd -r -M -g shairport-sync -s /usr/bin/nologin -G audio shairport-sync >/dev/null
sudo make install
sudo systemctl enable shairport-sync

Renaming the configuration file is the same as before.

Making an AirPlay receiver from a Raspberry Pi

I recently bought a Raspberry Pi with the intention of using it as an AirPlay receiver and hooking it up to an old stereo. I bought:

This is the process I followed to get a working AirPlay receiver!

First off, assemble your Raspberry Pi (put the case on, plug in the Wi-Fi and sound adapters, and plug in an Ethernet cable). I highly recommend connecting a keyboard (USB) and a monitor (HDMI). This is going to just be a temporary thing until you’ve got everything configured, so you could just unplug your Blu-Ray player and hook it up to your telly (this is basically what I did).

Now you’re going to download Raspbian, which is the official Linux for the Raspberry Pi. I got Raspbian Wheezy from the official downloads page, as opposed to Raspbian Jessie, which is a more recent version. I choose Wheezy because it boots to the command line instead of to GUI, and I thought that for what I was doing, that would be a more sensible choice; I’m sure most of the instructions herein will be the same.

After I downloaded Raspbian Wheezy, I unzipped the resulting file and followed the instructions for creating an SD card using OS X. I used Disk Utility and worked out what the disk number of the SD card was by looking at the entry for ‘Device’ in the table underneath the usage chart, and then I ran the following in Terminal.app, where the n in rdiskn should be replaced with whatever the disk number you find is:

sudo dd bs=1m if=~/Downloads/2015-05-05-raspbian-wheezy.img of=/dev/rdiskn

This whirred away with no outputs to the Terminal until the process had finished, so don’t be alarmed if nothing appears immediately; just be patient.

I then took the SD card out and put it into the Raspberry Pi. I connected an Ethernet cable to the Pi and to my router, so that it would have an Internet connection. I initially did this with no connected monitor, but I found it too frustrating for words not to be able to see what was happening, so I also plugged in a USB keyboard and a HDMI display. Then, I plugged the power cable in and watched everything boot.3

The username and password for your Raspberry Pi are, by default, pi and raspberry. On my first boot, I was logged in without needing these, but it’s worth knowing what they are for now. You ought to see the configuration screen upon your first boot, and so I followed these steps to configure my machine, expanding the filesystem, setting a locale and a timezone, and changing the name of my Raspberry Pi on the network. Then I rebooted, and logged in using the username and password, ending up at the shell.

At this stage, I got bored of being in front of my TV, so I unplugged the USB keyboard and the HDMI display and headed to my iMac, where I brought up my Wi-Fi router’s list of devices on the network. Upon learning the IP address that my Raspberry Pi had on the network, I was able to run

ssh pi@192.168.xxx.xxx

to gain access to my Pi4.

The Ethernet cable was trailing across my living room, so configuring Wi-Fi was the next thing to do. Fortunately, once you have the drivers for your Wi-Fi adapter set up correctly, this is pretty easy5! The Wi-Fi adapter I bought isn’t supported out-of-the-box, but a trip to Stack Exchange revealed that this wasn’t a problem, courtesy of this post by MrEngman on the Raspberry Pi forums. To get the adapter working, simply do

pi@RaspberryPi ~ $ uname -a
Linux RaspberryPi 3.18.11-v7+ #781 SMP PREEMPT Tue Apr 21 18:07:59 BST 2015 armv7l GNU/Linux

to find your version number (in this case, it’s 3.18.11-v7+ #781) and then, on MrEngman’s post, find the .tar.gz filename which corresponds to that number. Then, I just scrolled to the bottom of his post to find out that I needed to run

wget https://dl.dropboxusercontent.com/u/80256631/8188eu-v7-20150406.tar.gz.tar.gz
tar xzf 8188eu-v7-20150406.tar.gz
./install.sh

to get my Wi-Fi adapter working. I rebooted the system before continuing, just to be sure.

sudo reboot

I then turned to the official guide to searching for Wi-Fi networks. I used

sudo iwlist wlan0 scan

to find the list of networks and then added the following lines to /etc/wpa_supplicant/wpa_supplicant.conf.

network={
    ssid="name of my network"
    psk="password for my network"
}

I then rebooted once more, just to make sure, before disconnecting my Ethernet cable.

The next step was to get my USB sound adapter working. I used this guide by Patric Neumann to do this, running the following commands

aplay -l
cd /etc/modprobe.d
cp alsa-base.conf alsa-base.conf-backup
sudo nano alsa-base.conf

before replacing the existing

options snd-usb-audio index=-2

with these two lines:

options snd-usb-audio index=0
options snd_bcm2835 index=1

I then rebooted and tested the output by plugging my EarPods into the sound adapter and then running

speaker-test -t sine

If you don’t hear a tone, it’s not properly configured.

Finally, I installed the tools I needed to get AirPlay running on my Raspberry Pi. I initially used this AirPlay tutorial and this AirPlay tutorial to get it working by installing a GitHub project called Shairport into ~/airplay, which is currently not under active development. I AirPlayed some audio to the Pi, and it worked fine, which made me very happy! However, when I tested using iTunes to play through the Pi and my iMac simultaneously, the two audio tracks were not in sync. As such, I went looking for ways to make AirPlay synchronise the playback.

A picture of iTunes streaming audio to multiple AirPlay speakers.
This is what iTunes looked like, streaming to my Raspberry Pi (which I renamed ‘Sony Hi-Fi’) and to my iMac’s speakers simultaneously.

I found my salvation in the form of Shairport Sync, which is a fork of Shairport with the added benefit that it is in active development6. Here are the steps I took to install it7 (including a line which checks whether systemd or System V is the way forward on your machine8), which come from the project’s Readme.

cd ~/airplay
ps aux | grep systemd | grep -v grep
git clone https://github.com/mikebrady/shairport-sync.git
sudo apt-get install autoconf libtool libdaemon-dev libasound2-dev libpopt-dev libconfig-dev
autoreconf -i -f
sudo apt-get install avahi-daemon libavahi-client-dev libssl-dev
./configure --with-alsa --with-avahi --with-ssl=openssl --with-metadata --with-systemv
make
sudo make install
sudo update-rc.d shairport-sync defaults 90 10

I then configured Shairport Sync so that when I AirPlayed to my Raspberry Pi it would appear with a different name. Since I’m going to hook this up to a Sony Hi-Fi, I ran

sudo nano /etc/shairport-sync.conf

before uncommenting the first line under general so that it read

general =
{
        name = "Sony Hi-Fi";

before the rest of the settings. Then I rebooted the Pi, and Shairport Sync automatically ran on startup and let me AirPlay my music to it, perfectly synchronised with my other speakers.

Finally, I decided to make a copy of my SD card so that if I messed things up in the future, I can roll back to being satisfied with my progress. To do this, I put the SD card back in my iMac, and then (following the advice of this guide) used Disk Utility to work out what disk number it was (the n in rdiskn), and then did

sudo dd if=/dev/rdiskn of=~/Desktop/pi.img bs=1m

Mission accomplished!


  1. I might be going crazy, but a look at the SanDisk website doesn’t seem to show this product as a current part of their line-up, with only a microSD XC card available; hence the link to a shop rather than the official product page. 
  2. I later found out that this adapter doesn’t work without a significant amount of coaxing. Don’t worry, I’ll give the details of how I coaxed it herein! 
  3. Watching all the console outputs whizz past on Linux really does make you feel like you’re in The Matrix
  4. A lot of Raspberry Pi guides will tell you that you need to enable SSH yourself, but this appears to be false in newer versions of Raspbian. 
  5. Some guides, such as this one, will tell you to edit /etc/network/interfaces to get Wi-Fi up and running, but again, this appears not to be necessary in newer versions of Raspbian. 
  6. Shairport Sync was last updated in October 2015, three months before this was written. 
  7. Note that I did this having already followed the tutorials to install Shairport, so it’s possible that this will not work without having done that. I think it should be fine, but I might be wrong! 
  8. I think Raspbian Wheezy requires the System V method whereas Raspbian Jessie can use the systemd method, so this part might be a little different if you went modern and plumped for Jessie.