A geek’s guide to writing

March 2, 2012 | 2 comments

NOT one of THOSEI’ve had this idea for a story for years. We live in a world where truth is curated for us, everything we do can be tracked and used to infer things about what we’re going to do next, and identity is defined by what we broadcast. What happens when we no longer fit into the narrative?

This year, I’m writing it. It’s called Profiled, and I’ll be releasing it in installments later this year, alongside a blog about taking a lean startup approach to writing a novel. You can sign up for free here. (And yes, these posts and the signup form are my minimum viable product.)

I can’t tell you too much about my actual writing thought process, because I don’t know what to say. I’m getting into the story, which is probably a good sign, but there’s no getting away from the fact that I’ve never done this before. I need professional advice and editing. More on that another time.

Nor can I talk authoritatively about how to write in terms of the structure of language or narrative. Instead, I thought I’d tell you a little about my setup:

Sitting down to write

Years of Internet work (and obsessive Twitter checking) have left me with a very short attention span. I’m shockingly easy to distract.

For a while I was using Dr Evil’s Write Or Die, a little Adobe Air app that forces you to write a certain number of words in a pre-defined timeframe. Plug in 500 words and 25 minutes, and you’re off, racing against the timer. The app punishes you if you pause significantly. If you’re feeling particularly masochistic, it’ll even start to delete your work, word by word.

I wrote my first published short story this way, but this is a very stressful way to write a longer piece. Also, Adobe Air is unholy. So for Profiled, I’ve been experimenting with the same methodology I use in my day job: the Pomodoro Technique.

I give my Pomodoro session a brief title based on what I intend to write about (although I don’t hold myself to it), hit “OK”, and write until the timer goes off. Pomodoro gives me five minutes’ break, and then I start again. It’s a great way to write regularly and sustainably.

Keeping track of my writing

I’ve got both LibreOffice and Microsoft Office on my computer, as well as TextWrangler, OmmWriter and a number of other editors. But what really works for me is Scrivener.

I’ve got to admit that I was skeptical about all the hype around Scrivener, but it just works. It’s got a distraction-free text editor, it allows me to rearrange portions of my story as I see fit, and is unrepentantly geeky in the way that it stores my writing. It’s like dealing with a well-designed Git client for creative writing. If you’ve been hesitating over the “buy” button, I can confirm that it’s worth every penny.

(Side note: I did once start a poetry anthology as an open source Github repository. It turns out, though, that I’m not a poet. I’d be very interested in collaborating with poets on something similar though.)

The whole thing – like virtually all of my documents – is backed up on Dropbox (I’m a paying user), which allows me to keep track of versions and sync across any of my devices. Cloud services have changed the way I use my computers, and that’s no different here.

Research

Inevitably, almost all my research has been on the web. I’ve never been someone who keeps bookmarks, or leaves a bunch of tabs open overnight. My browser windows never stay open for more than a few hours. So when I do want to keep something, I need another approach.

Obviously, I use Evernote. It’s magic: notes, bookmarks, images and audio notes are all synced across my devices, available to me offline and easily searchable. The Chrome plugin is seamless. I wouldn’t use anything else.

Not-promotion

This has been my biggest struggle. I’m used to the instant gratification of social media, and there’s nothing instantly gratifying about writing long-form pieces. I previously shared a taster, but this was from my first draft – it’s likely to change significantly before I’m done. Should I have shared it at all? Probably not. In fact, I’m not convinced that my extended social media use is good for me at all – but that’s a subject for another post.

For now, my plan is to hold back and write, while gauging interest in the project. I’d love your input, both on the software I’m using above, and the themes that I’m incorporating into the story. But it won’t be ready til it’s ready.

In the meantime, you should definitely subscribe to updates here.

Uncreative thinking for such a creative industry

July 28, 2011 | Leave a comment

I wrote a post – okay, a rant – over on Google+ about sexism in the software industry:

Tim O’Reilly had to post a code of conduct for his conferences, which made immediate waves. (Quite a few of the women I know who aren’t in the tech sphere shared it with me.) I’ve heard accounts of women having to deal with all kinds of come-ons, and being physically assaulted as if it was nothing, at tech events. Even in the comments to his post here on G+, people were suggesting that their Asperger’s Syndrome meant that they didn’t understand how to deal with social situations, and should be excused from this kind of thing. Bullshit: none of the aspies I know are misogynist pricks. That’s because, while they are awkward in some social situations, they have at least half a brain.

The whole thing’s over here. And of course, you can add me on Google+ here.

Bug tracking

March 9, 2009 | 4 comments

All software has bugs; the trick is to find them and remove them as quickly as possible while balancing against the other development you have to do. This is where bug trackers come in: they allow developers to project manage these activities while allowing users and other members of their organization to submit issues while not interrupting the development workflow.

Even though every software project needs a decent bug tracker, finding one isn’t easy. Everything seems to have a downside:

  • Bugzilla, while very powerful, has a near-psychotic user interface – or at least, I nearly went psychotic trying to use it. I’m the technical lead of an open source project with a computer science degree and twenty-five years of programming under my belt; an ordinary user stands no chance of reporting issues in a meaningful way.
  • Lighthouse is really simple and integrates well with email and things like Basecamp. Unfortunately, it’s so simple that certain features – like a drop-down menu that allows users or developers to suggest the priority (or complexity) of an issue – have been deliberately left out of the mix with no hope of inclusion. That means there’s no way of saying that a massive privacy flaw is more important than a minor rendering error, except by integrating with another product.

In the end, Trac seems to be the best solution. Integrations with the Eclipse development environment and Subversion source code repository (through plugins) are a definite advantage, and although the web interface leaves a lot to be desired, it’s nothing like Bugzilla.

The perfect bug tracker needs to encompass these two values:

  • Project developers must find it a significant help, not a hindrance.
  • Users (and project managers) must be able to easily submit useful bug reports, issues and feature requests, and follow progress on them.

Useful bug reports are ones that aren’t duplicated and effectively describe the problem so that the guesswork required on the part of the programmer is minimized. In some ways, both bullet points would be satisfied by a bug submission wizard that falls back to an integrated form once users have become used to the process. At any rate, it requires some empathy on the part of the user interface designer, and more of an emotional approach to the interface design.

In the most perfect world, this would also be fulfilled:

  • In an open source project, external developers must find it easy to contribute code through the same interface.

I’d be interested to hear recommendations for any other products – or to hear any bug tracker horror stories from developers and users alike.

Image Lucanus cervus taken by CCCvrcak and distributed under a CC attribution license.