Skip to content

New Year’s Day 2018 parkrun double finder

It is the 5th year that I have generated the New Year’s Day parkrun Double Finder list 🙂 Thanks to everyone that has provided feedback about missing doubles and event cancellations over the years, I really do appreciate you taking the time to tell me!

This year I made some changes to the back end, which should speed up development of future features such as ordering the list by closest to your current location, and determining which doubles you can travel between by foot, bicycle or public transport. I’ve also added support for Australia, Ireland, New Zealand and South Africa.

Click for parkrun double finder NYD 2018

As always, a reminder: This is not updated live, so event cancellations in the few days leading up to NYD might not be accounted for. Please check the social media (Twitter and Facebook) and website of the parkruns you intend to double at before setting out. I’d hate for you to be disappointed and miss a double! The good news is that if one of your intended events is cancelled, you have this great resource for finding an alternative 😀

Also, please double check the directions and driving/running/cycling/public transport travel time, and factor in time to get to and from your car. Make sure there is buffer time to allow for traffic and taking wrong turns. Make sure it is possible to travel safely! Please drive sensibly in bad weather conditions!

I hope you Enjoy your New Year’s parkrun double. Unfortunately there’s not one possibly for me this year, as I’ve moved to live in Calgary. Instead I’ll be Run Directing the first New Year’s Day event at Nose Hill parkrun 🙂 Have fun out there!


parkruns closest together

I’m doing some work on making the parkrun New Year’s Day Double Finder a little easier to work with (for me) and a little more useful (for you, assuming you’re a parkrunner looking for a New Year’s Day double).

When running the script, I noticed a few of the driving time calculations coming back as zero. “Presumably I’m being rate limited by the Google Maps API”, I think to myself. Then it dawns on me: why am I requesting this information from Google Maps every time I run the script? The driving time between two places is relatively stable (and I’m going to disregard traffic in this instance, as the morning of 1st January is fairly quiet on the roads, and the scope of this tool is just to provide an estimate).

The sensible solution to this is to pre-calculate the distances and driving times between all parkruns, then my Double Finder script can just look it up as necessary. So that is what I am working on at the moment (aside from job hunting).

As I was working on this, I realised it made most sense to start by calculating the driving time between parkruns closest together, as they’re most likely to fall into the category of “possibly double locations” (presuming they are open on 1st January, and don’t choose to start at the same time). Having done this, I can now answer the question, “Which two parkruns are closest to each other?“:

Country parkrun parkrun Distance apart
gb Brighton & Hove Preston Park 1.68 km
gb Richmond Park Old Deer Park 1.69 km
gb Dulwich Peckham Rye 1.82 km
gb Stretford Sale Water 1.86 km
ie Father Collins Darndale 1.90 km
za Alberts Farm Westbury 1.99 km
au Broadbeach Waters Surfers Paradise 2.04 km
gb Brockwell Dulwich 2.06 km
gb Brighton & Hove Hove Promenade 2.13 km
ie Tymon Bushy Dublin 2.15 km

(Flag icons courtesy of

It turns out it’s a very close run contest between Brighton & Hove/Preston Park, and Richmond Park/Old Deer Park. In fact, all of the top 10 are quite close to each other, all less than 1 parkun (5km) away. (In fact there are currently 187 pairs of parkruns that are less than 5km apart).

These distances are “as the crow flies”, having been calculated using the haversine formula using the latitude and longitude of each of the parkruns, performed by a combination of a Python script and some SQL.

Hopefully that was some interesting parkrun trivia. As I’m working on the Double Finder, I’ll see if I can dig out some other tidbits. If there’s any stats you’re interested in knowing, why not post them in the comments below?

#PROCJAM PuzzleScript + Tracery Rules

In a previous post I spoke a little bit about the inspiration behind the thing I’m working on for #PROCJAM 2017. To summarise, I am taking a tool called Tracery, which lets you define grammars for text and generate random text from them, and attempting to use it to generate some code in a language called PuzzleScript, which makes 2D, Sokoban-style games.

PuzzleScript character definition

PuzzleScript has a nice little visual syntax for defining objects within the game, which could be a nice source of fun procedural content generation (PCG) using Tracery, but I feel like art and characters are quite commonly tackled problems in the PCG world. I am really intrigued by the idea of generating the rules that underpin a game or puzzle, to better understand the challenges of making those rules coherent and making levels suitable for those rules. So that’s what I’m going to attempt for #PROCJAM!

imag0031359827097.jpgOne of the things I asked my Masters student to do, when he was working on a similar sort of task, was to do a brief survey of existing PuzzleScript games to see the variety of rules that have been used by authors. From that work, he identified some categories, such as the basic push rule, position swapping, objects that slide, objects that attachgrow or chase the player. However, from reviewing this work and attempting a small survey myself, I realise the scale of the task! Not only are there over 90 games in the PuzzleScript gallery, but many have subverted the PuzzleScript form and created complex combinations of rules that have subtle and unique meanings in the context of that particular game. Whilst that is exciting, and perhaps a hint that making interesting PuzzleScript games requires more than just the basic types of rules, it also helps me scope what I want to do here. I am going to make this about exploring generation of rules for Sokoban-style, block-pushing puzzles and see where I get. After I have something working, it will hopefully give me some new questions regarding level-generation and how to combine rules that thematically fit together.

Rule Format

Screenshot 2017-11-09 15.42.24I spent a little time getting a boilerplate Tracery going. It’s here in this commit on Github. It took me a few minutes to realise there’s a Tracery2 branch, and that’s the right and stable version to use! The other trick I discovered was that to escape square brackets (which are pretty essential for PuzzleScript rules), you must use a double slash in Tracery: \\[ and \\].

For coming up with the range of possible rules I might try to generate, I brainstormed a little to come with potential variations. I also read the PuzzleScript documentation about rules and directions, which led me to realise that perhaps the right approach is to take the documented syntax and codify it in Tracery to generate a bunch of rules. This will certainly result in a set of rules that don’t interact in any sensible way, but let’s go with it and see what we get.

The generator at this commit generates 3 rules, mixed between the objects and handling different events in different ways for some randomly selected directions. For example:

(1) RIGHT [ Player | Crate ] -> [ DOWN Player | DOWN Crate ]
(2) LEFT [ UP Player | Badger ] -> [ LEFT Player | LEFT Badger ]
(3) UP [ RIGHT Player | Crate ] -> [ UP Player | UP Crate ]


I think the immediate lesson here is that whatever the player presses should be the direction the player moves in (but the collided block might do something different) (except maybe if the player is deflecting or bouncing off the block?) (yes that’s 3 bracketed thoughts in a row – where are my footnotes, WordPress?). I quite like that, once the system generates more rules, there can be a different rule  for each direction. Perhaps it should use Horizontal or Vertical, to have some consistency, but maybe not. I can imagine generating a rule where an object can be pushed in one direction, pulled in another, but nothing else. But of course we’re not here to think about specific instances 😉

Next I’m going to expand upon these rules a little bit, maybe come up with a few linked rules (i.e. if one rule does X, it’s combined with a rule that does Y), and have them as potential branches in the grammar. I would also quite like to integrate this into a fork of the PuzzleScript source, so that I can generate new rules from within the editor and not have to copy and paste them in!

#PROCJAM PuzzleScript + Tracery Inspiration

This week is #PROCJAM. This is a virtual event taking place around the world, 4th-13th November 2017. It’s a bit like a game jam, but what you make is some software (or other artefact) that generates something else: it might generate stories, it might generate artwork, it might generate characters or levels for a game, it might even generate a whole game. It’s not strictly game related, but a lot of the work tends back towards games 😄 Read more…

New beginnings!

I’m going to kickstart this blog. Famous last words, eh? It has somewhat fallen by the wayside during the write up of my PhD (at least publicly, I blogged my progress in private posts to help keep me on track quite a lot in the last year or two), which is a shame because some interesting things have happened and would make for quite good blog posts: I finished my PhD, I ran my first marathon and I emigrated to Canada. Each of these will be topics of blog posts over the coming months.

At the moment I have a little bit of time. I left my job at the University of Southampton, because the commute from Calgary would have been a bit challenging, so now that I have landed and settled I am spending my days applying for software development and computer science teaching roles, and in between working on projects (such as #procjam,, parkrun New Year’s double finder and more!) and writing blog posts.

If you’re a regular WordPress user hit Follow to add me to your reader, or subscribe to my RSS, or follow me on Twitter!

New Year’s Day 2016 parkrun double finder

I’m rather excited that I’ve had a few requests for this year’s double finder already 🙂 I’ve been super busy at work which is why I haven’t run it yet, but now I have and here’s the current list of doubles you might be able to do on 1st January 2016!

Click for parkrun double finder NYD 2016

Please check that the double you wish to do is actually possible, before setting out:

  • Check the Christmas Compendium to ensure the times are what you think they are, and that the event is on (the organisers may make changes after I’ve published this).
  • Check both events’ Facebook pages and Twitter feed in case they’ve had to cancel or change plans due to weather or other circumstances.
  • Check directions and driving/cycling/running/public transport times to ensure it is actually feasible (the double finder is fairly permissive, so it may pick up some doubles that are only possible if you run a 5km World Record).

If you have any feedback, such as really liking it, or that there is a mistake of some sort, then please let me know either in the comments below or on my Twitter.

“Mr. Penumbra’s 24-Hour Bookstore” by Robin Sloan

Mr. Penumbra's 24-Hour BookstoreMr. Penumbra’s 24-Hour Bookstore by Robin Sloan
My rating: 3 of 5 stars

Mr. Penumbra’s 24-Hour Bookstore is an adventure story laden with geek references and an eclectic mix of characters, in which our unsuspecting hero picks up a night shift at a bookstore, through which he meets a few odd customers who lead him to discover an ancient secret society and a code-breaking puzzle that promises the answer to eternal life.

There is an intentional contrasting of the old-and-paper-based versus the new-and-technology-based. This is mostly framed from the perspective of the young, tech-savvy protagonist, so presents the paper-proponents as antiquated Luddites. There is the odd occasion that paper triumphs and the technology geniuses are proven fallible, but you can definitely detect the author’s bias 🙂

I found some of the references to technology to be a bit awkward and simplistic. I was also a bit put off by the huge amount of fawning over Google, without mention of nearly any of the other technology companies located in the Silicon Valley setting. This book is close to challenging The Internship in terms of most gratuitous use of Google in a story; luckily the rest of the book is good enough to excuse this, which is not the case with the aforementioned film!

Overall, this is very well written and a compelling enough mystery to make you want to read just a bit more. The story of infiltrating a secret society with the aim of eternal life is less than original, but the framing within the modern era and the slightly unexpected resolution gives Mr. Penumbra’s 24-Hour Bookstore enough freshness to make it an enjoyable read.

View all my reviews

“Stardust” by Neil Gaiman

StardustStardust by Neil Gaiman

My rating: 3 of 5 stars

Stardust is a fantasy adventure coming-of-age story about a teenage boy who travels into the mystical land beyond the wall to fetch a fallen star for the woman he loves.

This story is short and concise, but still conveys an epic adventure across many lands and many encounters. While we mostly follow the main character, Tristran Thorn, the doings of three other main antagonists (as well as a few others) are woven into the story.

Of course, this book has been made into a Hollywood movie, which I saw long before reading this, so a comparison is worthwhile. I was surprised by how closely the movie had followed the plot of the book. There were a couple of sections that the film omitted, though were no great loss. I did prefer the movie’s tretment of the lightning ship, but I’m undecided whether I liked the book’s technicality-resolved ending over the film’s action-packed finale.

A great story, but I think I would recommend the movie’s telling of it, as it has a little more meat in the right places.

View all my reviews

“The Psychopath Test” by Jon Ronson

The Psychopath Test: A Journey Through the Madness IndustryThe Psychopath Test: A Journey Through the Madness Industry by Jon Ronson

My rating: 4 of 5 stars

In The Psychopath Test, Jon Ronson takes us on yet another adventure trough an area of society that we may only vaguely have heard of and has us forming strong opinions and then opposing ones within hours!

The Psychopath Test follows a very similar format to Them and The Men Who Stare at Goats: the general subject is introduced through a mystery, a character is introduced that will be referred back to at various points throughout the book, the entire area is explored through Therouxian interviews and well-researched profiles, a diversion into something that doesn’t feel like it entirely fits in this book, before concluding that, after all that, maybe we’ve been thinking too hard about finding an absolute answer and the reality is a bit greyer than we’d like to think.

Despite that rather cynical portrayal of Ronson’s style, this book is a very good read, perhaps my favourite of the three. Ronson’s writing has matured significantly and the narrative flows almost entirely unhindered in this outing. I was most surprised at the conclusion this book built to, and it was a shame that the pharmaceutical-and-lobbyist angle wasn’t given more space. Maybe he’s saving that for another book?

If you’re a fan of Ronson’s previous books, definitely pick this up. If you’ve not read any of them, start with this. His persona and interview style is reminiscent of Louis Theroux, so the book is subtly entertaining throughout, and everything else he writes is thoroughly researched and well explained. Go read it!

View all my reviews

“The Men Who Stare at Goats” by Jon Ronson

The Men Who Stare at GoatsThe Men Who Stare at Goats by Jon Ronson

My rating: 4 of 5 stars

The Men Who Stare at Goats is a broad examination of the US use of New Age-inspired approaches to warfare, right from its post-Vietnam, 1960s-Californian roots through to it’s influence on techniques used in the War on Terror.

Ronson continues his investigations into events and reported activities that regularly get swept under the conspiracy theory carpet. Somehow Ronson presents a side of the argument that seems to give these theories credence, though I expect it’s more a matter of Ronson being unsure himself and reporting what he discovers. Unfortunately, there is rarely any hard evidence, merely stories told by people who claim to have been there.

In The Men Who Stare at Goats, the history of New Age techniques is presented by a mix between descriptions of what happened (largely sourced from other books) and interviews with people who served in the US Army special forces when these techniques were experimented with. There are a few side stories that fit into the narrative, as the ideas leaked out to other governmental agencies and even a few civilians who exploited opportunities to train people in these techniques.

This book is a fascinating, but slightly troubling look at the US approach to defence. While you could dismiss it as little more than rumour and hearsay, it would be worrying to not question why when seemingly presented with an approach to more peaceful encounters with enemy forces the only thing that stuck was how to torture prisoners in more creative ways. Worth reading.

View all my reviews