Hi, I’m Mark Rickerby, writer/programmer/designer working at the intersection of software architecture and storytelling. My practice moves across many different disciplines, so it’s hard to succinctly describe what I do. I’m happiest when I’m inventing things and teaching others to do the same.

I’m based in Sydney, Australia, where I work as Head of Product Development at Digivizer and run Editorial Technology, an independent software consultancy focused on interactive fiction and creating coding. In my spare time, I’m developing Muturangi, a branching novel that explores questions about surveillance and collective consciousness.




Frequently Asked Questions

What is this place?

This is my personal website. It’s been around for more than ten years, with a cadence occasionally interrupted by moving between cities, countries and working for insane internet startups.

Why doesn’t this site work properly on mobile?

Because I’m too busy getting Muturangi working on mobile. Check back soon.

Why are the old URLs so inconsistent?

This site was originally a blog/wiki hybrid (bliki?) with topics, archives and notes all mashed into the same top level namespace. I haven’t moved any of the legacy content because cool URIs don’t change.

What’s a ‘maetl’ then, eh?

maetl was a name I started using on forums around 1999-2000, and seemed to take on a life of its own the more I used it. The word itself originates from Autechre’s debut album Incunabula, a naïve mathematical masterpiece of early 90’s electronica. Apparently the track was named when the pair were goofing around in the studio, calling each other ‘mate’ in silly voices. There’s also a typeface, designed by the legendary Mike Cina.

Why is there no writing between 2011 and 2014?

I was suffering from depression and bipolar related problems. I was paying more attention to slower moving long-form writing. I was draining away my creative focus on Twitter. I was too busy working on software.

When are you coming back to Twitter?

Update: am back on Twitter now, with predictable consequences.I’m not sure. I love Twitter, but I’ve been ridiculously productive since I went cold turkey on it, so maybe I’ll be back when I hit a fallow period of creativity.

Aren’t programming and writing complete opposites? How do you do such different things?

This question has its roots in a fear of mathematics that a lot of literary people have as a consequence of it being forced on them by poor teachers who valued rote learning more than creativity. In my early 20s, I had a kind of imposter syndrome where the more programming I did, the more I believed that I wasn’t cut out to understand programming and that I’d never ‘get’ it. This experience of failure and frustration taught me that the left/right brain dichotomy is bullshit and that the different modes of thought in programming, writing and design are all interrelated. It took a lot of effort and a lot of mistakes, but I practiced all these skills because I enjoy making things on screens and inventing worlds with text and images, which kept me motivated to learn more and more. Visual, spatial, symbolic, linguistic, logical and computational thinking are all just different modes of rationality and creativity, none of which are mutually exclusive. Just because you don’t have aptitude or talent in every single one of these modes doesn’t mean you can’t practice and improve your abilities in any of them. I’m not saying that specialisation isn’t valuable, but I do think it is massively over-valued in our society where the specialist paradigm enjoys a near-complete monopoly across most corporate hierarchies and job titles. I’m a generalist, not a specialist. We do exist, regardless of what your corporate org chart suggests.

Surely you can’t do all those things at once?

Like most people, I find it difficult to work on too many things at the same time. Conversely, I’ve found that I need multiple ongoing projects to move between as befits my creative obsession and motivation which changes every day. It’s a difficult balance, and one I have yet to master.

How do you write so much, so quickly?

A mild form of hypergraphia at times, although I usually think of myself as a really slow writer. Mostly, that’s because I spend a lot more time editing than actually writing. When words come quickly, it’s usually freestyle, replete with overcomplicated syntax and rhythm stress that needs to be toned down in order to be comprehensible.

Why do you write?

I guess it all started with reading.

I get non-fiction, but what’s the point of reading novels?

What’s the point in binge watching two seasons of your favourite long-form TV show? Novels are capable of exploring the psychology of human experience and exercising empathy in a way that no other form of media yet invented can. For e.g, see: Atonement.

Why is this FAQ so long?

It’s a convenient place to throw various half-edited snippets of text and explanations while I reorganise the rest of this site. It will probably get smaller over time as I clean stuff up and move things off to their own pages and write more detailed essays on these topics.

What’s your novel about?

The basic premise goes like this: What happens to New Zealand when the South Island becomes an independent state? The manuscript evolved as a mashup of speculative fiction, satirical social commentary and a tragic Bildungsroman, exploring the fragmentation of individual and collective identity through the experiences of people living on the extremist fringes of New Zealand and Australian society.

How long is it?

Somewhere between 80,000 and 150,000 words. I’m not totally sure. I’ve written it in a software repo, so there are hundreds and hundreds of text files with some accidental duplication. After working on it for 5 years, I have more material than I could ever hope to publish, and I’m currently in the process of stripping it down into something shorter and more focused.

Why are you writing a novel about New Zealand?

I never consciously planned to write about present day reality. It was an accident; it was stupid; I’ll never do it again. As a consequence of this lack of journalistic integrity, my writing has been perturbed by far too many awkward incidents, ranging from a ‘psychic’ octopus becoming a celebrity in Germany at the time I was writing the wheke related sections, to the Christchurch earthquakes reconfiguring the entire basis of a story that was originally about Christchurch being destroyed by other means. More recently, Snowden’s NSA leaks have forced me to re-edit a lot of material relating to government surveillance and data collection by the GCSB, reflecting the fact that readers are now generally aware of ubiquitous mass internet surveillance being a fact rather than fiction. The last straw was the 2015 news that the GCSB and SIS might be merging. This of course mirrors a scenario I intuited in 2010. The real world moves much faster than I can write about it. This is an obvious mistake that experienced novelists would understand and avoid, but I did not know it at the time.

Why ‘Muturangi’?

I grew up in Porirua, around Mana and Plimmerton. Despite the all-encompassing conquest of Te Rauparaha whose later battles with the British swept away the previous history of the region, the coastline had various geographical features that were imbued with heroic significance, tracing the faint outlines of a deeper mythology. One of the most compelling local legends was the story of Kupe’s anchor stone, which was said to have been cast ashore on a beach near Porirua harbour. The mystery of Te Wheke o Muturangi became the framing for a story which encompasses the experiences of my childhood and an epic journey towards the discovery of an idealised dystopian version of Aotearoa.

When will it be finished?

When it’s finished.

Why is it interactive?

The structure of the narrative was always pulling in this direction. It ended up being easier to go with the flow rather than fight against it with the preconcieved notion of what a novel should be.

How are you building this?

I’m using a combination of static HTML generators and a hypermedia API to power a browser based app. I’m writing each individual scene in separate plain text files and using Twine to sketch out prototypes of the story graph. The API is powered by Ruby on Rails and a Neo4j graph database which treats each scene as a node and the character choices as edges between the nodes. Reader sessions are handled with CouchBase but this is mostly opaque to the client because the hypermedia API encapsulates the state transitions. The browser app itself is written in jQuery, D3 and Ember. Hopefully it doesn’t cave-in on itself and burst into flames.

I didn’t understand any of that.

Just read that last sentence.

Will it be open sourced?

Maybe. I’d love to collaborate with other novelists interested in exploring such a framework and OSS might be the best way to facilitate this.

What’s the difference between novels and games?

Games are based on feedback loops and interactions with systems of rules. Novels are long-form works of narrative fiction. Turning such rough summaries into strict definitions often leads to antagonistic pedantry along the lines of “Well actually, Minecraft isn’t a game.” Whether Minecraft is or isn’t a game is an arbitrary judgement call that doesn’t explain very much about what makes it compelling and interesting to millions of people. The same is true of teasing apart a precise distinction between novels and games. Many works are obviously categorical but there are some works that blur the boundary. See also: Gamebooks.

How do games relate to the ‘death of the novel’?

The history of the novel is of an unavailing (and often futile, often failing) struggle to reinvent and reimagine the form. Games are something else entirely.

Will my job be replaced with an algorithm?

If you are genuinely worried about this, I suggest looking closely at where the messages about robots taking over the world are coming from. Who are the people making these claims? What are their professional motivations? Whose interests are they guarding? The robot revolution is primarily a narrative about the future of industrial society. It’s not the only narrative, and none of these narratives are historical materialist certainties. Humans have the unique ability to consciously influence themselves and the world around them, so awareness of a thing happening has the potential to derail or destabilise the continued existence of that thing. You could also look at this question in a less philosophical way: If your job is boring, meaningless, mechanical and rote, you should welcome it being automated. This is an opportunity to discover a more meaninfgul career path that involves something that can never be fully automated by machines, such as providing emotional support and empathy to people who need it.

Should I learn to code?

Think about the crossroads of should and must. If you have a vision for something concrete you want to build, your chances of successfully learning to code will be much greater. Programming isn’t a magic dialectical object that’s either ‘known’ or ‘not known’. It’s a gradual continuum of understanding and experience. Learn as much or as little as you need to realise your ideas and ambitions.

How do I learn to code?

If you want to learn programming in a lasting and valuable way, you’ll need to consciously avoid the software pop culture and its frenzy of fashion trends. Don’t worry about doing things ‘properly’ or picking the ‘right’ language. Start with anything that works and don’t be afraid if you don’t understand everything at once. Write lots of little things and throw them away. Build a larger project and throw the first version away. That’s a lot of wasted code, but not at all wasted time. After a year or two of tinkering, you’ll be comfortable enough to ignore the surface syntax and make informed decisions about deeper skills to focus on. Right now, you just need to practice mashing keys, running scripts and breaking things. For an absolute beginner, Learn Python the Hard Way is as good a place to start as any. If you’re a little further along, Eloquent JavaScript is an excellent introduction to the wider context of getting computers to do what you want them to.

What language should I start with?

Flip a coin: heads is Python, tails is JavaScript.

You’re recommending bad languages to beginners. It’ll fill their heads with wrongness about dynamic typing, mutable state and imperative flow control.

Your intricate knowledge of programming languages and their problems prevents you from understanding how difficult it is for beginners to handle the clusterfuck of build chains and frameworks required to get a basic ‘hello world’ running in most languages. What’s so wrong about starting with the thing that’s guaranteed to be on someone’s computer and doesn’t require installing anything weird and unfamiliar? I’d much rather encourage software engineers to develop better impulse control around equivocating notions of correctness than force beginners to be inculcated into the dominant programming culture before granting them permission to do anything. Wouldn’t you rather have beginners experience the thrill of discovering for themselves that OO is fucked and coming to their own independent conclusions about functional programming and static typing, rather than having it shoved down their throats?

Programming isn’t about culture. It’s about being objectively right and wrong.

You are wrong. See my comment about impulse control above.

I disagree with that.

That’s cool. You should be critical of everything I say. But have you ever watched a designer messily mangling JavaScript or ActionScript into something crazy and awesome they never would have thought of if they cared about correctness or self-identified as a programmer or engineer? There are good reasons why I’m saying what I’m saying.

You’re encouraging ignorance which causes the legacy code and mess that bogs down our industry.

A fairly large proportion of the worst legacy code I’ve seen was written by professional software engineers who claimed to care about correctness. This problem emerges at the intermediate and advanced levels of programming skill, not the beginner level.