As part of my work studying on my Comedy Writing MA, I’ve learned how important it is for a comedy writer to get into the habit of writing jokes regularly. One way to do that is have a comic Twitter account and tweet daily.

So, I’d like to announce my new parody account: The Double-0 Agents Mailing List, a ‘behind-the-scenes’ view into the internal mailing list of MI6’s elite agents.

Here are a few of my favourite classified messages so far…


Why, this time around, you don’t have to begin at the beginning

My latest novel, The Man with the Tick, has just been released. It’s the third in the Interstellar Caveman series (check out the description on my website), and is an action-packed mystery full of adventure which will also — I hope — make you chuckle.

If you’ve read the first two in the series (Interstellar Caveman and Faulty Prophet), you’ll know that they form a single two-part story featuring the redoubtable — or should that be doubtable — Colin Douglass. I don’t recommend reading the second book without having read the first.

However, The Man with the Tick is different…


I recently experimented with a graphic design app to mock up some posters for my novel series, Interstellar Caveman. I thought I’d briefly share them here.

Nobody could remember where Earth was or what had happened to it. It was all most embarrassing.

Poster number 1, above, displays the opening line of the first book. I think it’s my favourite.


Why one of my favourites scenes simply had to go

As with movies, scenes from novels are sometimes deleted too. I’ve done this numerous times with my own stories already.

Scenes are deleted during the editing process. Whereas a movie scene is deleted after it’s filmed (or maybe exorcised from a script prior to filming), a scene from a novel is deleted once the whole book exists in draft form. In both cases, the scene is deemed expendable once it’s seen in a wider context. It can hurt to chop it out — believe me, it hurts! …


A quick commentary on ‘Bad Programming Practices 101’

Apress released by latest book a few weeks ago, Bad Programming Practices 101.

(Or, to use its full, ultra-SEO-tuned title, Bad Programming Practices 101: Become a Better Coder by Learning How (Not) to Program.)

As its full title might suggest, this is not your typical programming textbook. I wrote this accompanying article to explain how it differs and what motivated me to adopt its unusual style.

The usual stuff

The book’s audience mainly includes programmers-in-training, people like:

  • Computer science students
  • Freshly-minted programming professionals
  • Apprentices

i.e. people who want to improve their skills and become more productive, but have little or no experience. Such…


My talk at re:publica 2017

On 10 May, 2017, I held a talk at re:publica 2017 with this title. This article is a written version of that presentation’s message.

I want to make a case to those of you interested in IT education: the current movement to teach programming to school-aged children (usually called “Teach Kids to Code”) needs some work.

I think that teaching children how to code is a noble and well-intentioned goal. It’s important that our kids are technologically literate and well-prepared for the increasingly digital future.

But I also think that something is missing from Teach Kids to Code (let’s call…


How our modern online communications are secured

When computer networking first came along in the 1960s and 1970s it opened up wondrous new avenues and opportunities but it also created new headaches that demanded our attention. Many of them were solved in turn — like how make the network robust (via topology), reliable (via error detection and correction), and heterogeneous (thanks to protocols).

But another problem that emerged was security. Before networking became a major feature of computing, computer security was hardly the hottest topic around. As long as a computer was a standalone system, the responsibility for keeping data secure belonged to the user. That usually…


Edsger Dijkstra develops an intuitive way to juggle multiple processes at the same time

When reading the history of their subject, it might seem that computer scientists develop a solution to a problem only to find that their solution opens up a whole new field (and a whole new group of problems). In some of these situations, a computer scientist can be forgiven for not anticipating the complications that result from their work. But multi-tasking must have seemed a pretty safe bet as a harbinger of chaos. It was almost certain that allowing multiple users concurrent access to a system’s resources might raise a problem or twelve. As multi-tasking, multi-user computers went mainstream in…


How laziness drove John Backus to develop programming languages

“Much of my work has come from being lazy. I didn’t like writing programs, and so…I started work on a programming system to make it easier to write programs.”

— John Backus (1924–2007)

Computer scientists are positively lazy. I say positively lazy on purpose. When a computer scientist is faced with a task, he does his utmost to concentrate on the parts of a problem that matter. Anything laborious that he can delegate to an automaton to avoid needless work is all the better. …


How electronic computers emerged from the chaos of the Second World War

Konrad Zuse stands out as a remarkable individual in the history of computer science. He was the first to develop a true binary computer as well as, arguably, the first programming language. However, he suffered early in his career from being in the wrong place at the wrong time. Living in Nazi Germany during the Second World War, he worked practically alone with no access to the British and Americans who were pioneering the field. His fellow computer scientists around the world might have been hugely impressed by his computer, the Z3, had they known about it. The Nazi government…

Karl Beecher

Budding novelist. Recovering academic. Available now: INTERSTELLAR CAVEMAN (http://amzn.to/2X9C9RP)

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store