How I wrote 5K words with no time at all.

Writing time is sacred. That was my #writertip this week.

So, what do you do when there is no time? Simple – you find time. 

Note that I don’t say make time. Nobody makes time. If you don’t have enough time then you need to find some, and I’m going to explain how l did that. First though, I’m going say that I am assuming that you don’t have some time consuming hobby taking up a bunch of your time. If you do, think about whether you enjoy that more than writing. What do you want more? Because nobody is going to publish the things you are thinking about writing. End lecture.

If you’re still with me, let’s talk about squeezing an extra hour out of the bog standard 24.

Right now, I’m writing this blog. I’m also watching Supernatural in my lounge with my wife. I’ve made my writing life completely portable and the results have been amazing.

In the last week I’ve written multiple blog posts and put five thousand words onto the book I’m working on right now. I haven’t sat down at my desk once.

Going mobile with your writing

First thing you need to do is move your writing into the cloud. Take your pick of platforms; Google Drive, Office Online, Dropbox, Evernote… Personally I use Google Drive – it has great offline support and works on everything. I also Evernote but more as a scrapbook and for notes. My blog runs on WordPress.

What all these platforms have in common is simple

  1. They run and store data in the cloud.
  2. They have apps with offline access for Android/iOS.

Next, grab yourself an inexpensive tablet. (Because an expensive one is unnecessary – if you really want one, crack on). Do make sure it has a decent battery, specs beyond that are an unimportant.

Now, get yourself set up with the apps that go with your chosen platform and install a good keyboard application. The stock Android keyboard is decent, but I prefer the handwriting recognition keyboard from Google and a stylus. Amazon do a basic stylus for less than £10.

And… You’re good to go. That’s it.

For the next week, you and that tablet are going to be inseparable. Have it with you at meal times. Have it with you when you watch TV. Take it to bed, wake up with it. Lunch time in work. Break time in work. Learn to write with one eye on the hob when you’re cooking.

What you write won’t be flawless, but that’s what edits are for. You’ll have words – actual written words with zero hours locked away in front of your keyboard. I’m a very fast typist and 5K words would normally only take me a few hours but in a week when I had “no time to write” it feels like a very respectable tally indeed.

A productive writer writes wherever and wherever they can. #writetip

And yes, you can do all of this on a mobile phone too if you really want to!


Why I use WordPress instead of “Eating my own dog food”

A lot of writers have day jobs. We don’t talk about them much. They ruin the glamourous image people have of us – lurking in coffee shops, sucking up the wifi, using all the plugs, and making one small cup of tea last an eternity.  Personally I’m lucky in that I not only have a day job that I love, but it’s also a day job that lets me use my creativity every day. I make my living with words, they just aren’t always about superheroes or ghosts or robot-dinosaurs.

One of the products I work with every day is our CMS and e-commerce product,.Gravit-e, and I love it. We built it from the ground up and we have very happy customers. Some of our customers are former (or as we call them “reformed”) WordPress users who come to us because they can’t get everything they want and need on WordPress.

So, if I’ve got this incredible tool at my fingertips, why do I run my personal site on WordPress?

Short answer: I’m the World’s Biggest Tinkerer.

I love technology. I love hacking away at code and, if I’ve got a spare few hours, I’ll reinvent the wheel three times over (minimum). Looking back over the past few years I know I’ve rebuilt my personal site ten times or more… but I’ve posted a fraction of the content I could have.

Anyone who knows anything about building a strong web presence will tell you

Content is King

And, in my role as an “Author/Publisher/Entrepreneur”, a strong web presence is crucial to what I do.

Live is better than perfect

My spin on Sheryl Sandberg’s quote is a reminder to me that an amazing  website that only exists on my laptop is not as useful to me as an imperfect website that is live and reaching my audience (Hi Mum!)

I’m not saying that quality doesn’t matter. You can tell from this blog, I hope, that I only post when I have something to say. I’m still committed to creating content worth creating… I’m just not going to spend my writing time building Yet Another Content Management System.

From now on, when it comes to my website, I’m going to let others do the heavy lifting. I may tweak a theme here, a plugin there, and I’ll still be hacking at writing tools. But when I come here, I’ll be coming here to write.

Today’s writing advice is simply this – Writing time is sacred. Use it wisely.

Authorsite V0.3 – Time to start making it configurable

After another few hours of hacking, and I think Authorsite is starting to really take shape. It’s still monochromatic, it still has lots of widget areas, and it is slowly developing a sort of “newsprint” look that I personally really like.

The next challenge will be learning how to use the WordPress Customiser and making sure that all of the options either work or are removed before I start thinking about what options I might want to provide to users myself.

Other changes:

  1. Swapped the main text font – turns out Cutive doesn’t have an ellipsis character. Lora is the new main text font.
  2. Wider, block coloured footer (or “colophon” as WordPress calls it)
  3. More work tidying up the wooCommerce output

All of the typography is now running in rems, which means everything is relative to a base size. This should make it easy later to introduce some media queries and have the font size be a bit cleverer when dealing with different devices (I’m relying on vw at the moment).

The main authorsite.css has had a bit of a tidy up as well, so things are logically structured for anyone who comes along after me.

Authorsite V0.11 – A site looking slightly less like a dog’s breakfast

More changes to Authorsite today as a I chase down the “perfect” super-flexible, minimalist, monochromatic theme for writers and authors on WordPress.

I’ve changed the layout of categories, archives, searches etc. to make the Featured Images smaller and increase the amount of text on the page at any one time. It also makes the Featured Image worth having when you drill down to a specific article, rather than it just being a same-size and same-place repeat of what you’ve already seen. Sidebars and footers are currently decked out in a very fetching shade of Gainsboro, something I would like to make configurable in the final version.

wooCommerce support has been further improved with some more formatting, but there is definitely more work to do in this area. One particular area I am happy with is where I’ve added some CSS to reformat the “List of Products” widgets if they are placed in one of the widget areas that are intended to be used in a landscape orientation rather than portrait. I’m planning to add another three widget areas in a concealed/collapsible menu, something that I’ve not seen on any other free theme so far.

The underscores (AKA _s) base theme continues to be a boon and a nightmare in equal measure. It is a great way to start out with building your own theme, but the default CSS strays into setting font-size, padding, and margins too much for my liking. I want a vanilla theme to be just that – vanilla. I had planned to keep the styles.css of _s untouched and just add my own overrides to my own .css file, but I will need to review the content of that file now to tidy things up.

Authorsite V0.1 / Why does my site look weird?

True to my word, I’ve been working on a new WordPress theme specifically tailored to writers who want a flexible writing workspace with enough features to help them promote and sell their books.

I’m not ready to put the theme up on just yet, but quite a bit of progress has been made including

  1. Fixed top of page menu
  2. At least 9 fully working widget areas
  3. 50-70% complete wooCommerce support
  4. Fully responsive
  5. Monochrome colour scheme

Having not built a theme before some things are taking a little longer than I would like and I’ve yet to look at what is required in the WordPress Customiser to ensure that my design choices are forced on anyone who wants to use my theme.

In the meantime, I’m pretty happy with how the front page is shaping up now. It feels more like a “landing page” and less like a blog, which is what I was going for. The #yearofbrandingdangerously continues…

Can I Negotiate the Terms of a Publishing Contract?

You’ve done it! You’ve got a contract in your hand from a publisher. Pen clutched in trembling hand, you can’t wait to put your signature down. But you should wait. You really, really should. Wait, think, and make sure you’ve read that contract from top to bottom. Because not all contracts are created equally and it’s absolutely OK for you to ask questions.

The Disclaimer

I am not a lawyer. I am not a solicitor. I am not a barrister or notary public. I have seen a lot of publishing contracts and learned the hard way not to sign a bad one.

Why I think it’s always OK to ask questions about a contract

If a contract is worth having, it’s worth having from a publisher who has picked your work out from a field of available talent. They want you, just like you want them.


What I mean by this is that there are some publishers who throw contracts around like confetti. Sometimes these guys are just chasing rights – they are landing grabbing as much intellectual property as they can in the hope that they strike some gold. Other times they are trying to build a publishing portfolio fast so that they can land-grab some space at Amazon and cross-promote their titles. Sometimes, people are just crazy.

I’m not saying that these guys don’t represent some good people, it’s just that, for the writer, it’s the publishing equivalent of playing the lottery… except you and your fellows are the balls. The publisher is not interested in who drops, just as long as someone does. Sometimes these publishers are the easiest to negotiate with but, in my experience, they are normally the ones who are the hardest.

These are the guys who will give you a hard time for questioning them, and say things like “It’s just a contract, everyone else just signs it, what’s your problem?”

These are the guys to run from. If they don’t understand their own contract, how are they going to cope negotiating with anyone else?

Trust your instincts. If the contract looks like it was downloaded for free from the Internet, it probably was.

No, the publisher you want is the publisher hard won. The publisher who wants to invest their time and effort in you and who therefore should be more than happy to answer your questions about the contract (even if the answer is “I’m really sorry, we can’t/won’t change that, and here’s why…”).

At the end of the day, always remember that your work has value. Signing a publishing contract that brings you no value is no better than giving your work away. In fact, in some instances, it’s worse because you’ve not only given away your work but you’ve given away the future of your work as well.

With that in mind, here are the things that I always look out for when I’m reading a publishing contract.

Christopher’s Top Things to Watch Out For in Publishing Contracts

Publishers asking for rights that they don’t need.

What rights are you actually signing away? If someone is putting your work in their print magazine, they should want something like the “First Worldwide English Serial Rights”. They don’t need all your rights and they don’t need them across all media.

Rights are normally made up of four components – Territory, Language, Medium, and Duration (or Sequence).

So, in the example above, we are selling the rights to be the first printing of the work in English on the entire planet. Ever.

The Writers Write website has a good list of the different rights that you may be asked for when signing a contract.

Limit what rights you sell and you retain the option to sell secondary rights and first rights in other forms. I’ve been able to sell the same piece of work to multiple publishers this way, completely legitimately. Sell a slice, not the cake.

Batman – The Exception that Proves the Rule

Publishers who are asking you to work on a property that they hold the rights to. This comes up a lot working in comics where there tons of licensed properties. You’re never, ever going to “own” your work on Batman unless you’re a contractual genius sitting on a “must have” character. Mostly, this is going to be work for hire and whilst you will be creditted and paid and may receive additional royalties and credits on the back-end, the rights will belong to the owners.

Some creators do receive royalties from characters they have created but outside of “creator-owned” comics this is rare and often the result of long and bitter court action. The ownership of Superman, for example, has been being battled out on court since 1947.

Exclusivity and terrain

The world is shrinking, at least in n publishing terms.  Many publishers will want rights “worldwide” to cover the eBook market. However, this is not a necessity. Amazon, the biggest eBook platform by far, is divided up into territories and releasing your book on the incarnation is not the same as releasing it on .com, .de, .fr, etc.

In the book publishing world these are referred to as “secondary markets” and they can be very lucrative.

The bad news, by contrast, is that if you’re selling to a website or online publication only worldwide rights are going to cut it. Refer back to rule one, however, and ensure you are only selling the digital rights.

Not reverting rights that they don’t use.

Just because you have a publishing contract, that doesn’t mean you are getting published. There a million and one reasons why the publisher may choose not to publish your work, or be unable to publish your work, even after the contracts are signed and sealed.

In the film world this is referred to as buying (or selling) “an option” – it effectively means the buyer is buying the option to use the rights sometime in the next X years and, whilst they hold the option, nobody else can use those rights. Unused options should revert to the original owner of the intellectual property after the agreed period.

Make sure that unused rights revert back to you after a sensible amount of time. A year to eighteen months is not atypical, and quite common in the film industry for options, but I’ve seen as high as three years or more as well.

Back End Deals – Payment terms, timelines, and accountability

Back end deals – where you only get paid if your book makes the publisher a profit are rife at the moment. In the independent comic book industry, they are practically everywhere. You either “work for hire” (and own no rights) or you are on the back end.

You may have heard the refrain “Pay the Writer“. There’s no doubt that a lot of writers hate back-end deals and see them as little better than working for free. For many, back-end deals are little more than “Jam Tomorrow”.

I actually don’t mind back end deals, as long as there are some provisions in place to make sure that everybody is on the same page when it comes to how much profit your book is making.

The core of any good contract is reciprocity. It’s a cliche, but the contract should be a “win win“.

My approach to this is simple – there are costs associated with publishing a book, a magazine, making a movie, whatever. If you don’t see any money until these costs are covered, shouldn’t you know what these costs are?

For example, if the publisher is promising to advertise your book, then those costs will need to be covered before you see any money as well. So, doesn’t it make sense if you know how much the publisher is going to spend on advertising?

This stuff can get complicated when your book is one of a bunch being launched at the same time and there are some shared costs between publications, but that’s even more of a reason for everything to be transparent and agreed in advance.

For example, if you are sharing an advertising budget with five other books and yours outsells all the others, does that mean that you end up covering more than 1/5th of the cost of the advertising budget?

Money is hard. Why doesn’t this duck die on impact?

My rules are simple:

  1. Make sure you know the high level figures – what is going out vs. what is coming in.
  2. Agree on an accounting schedule – when will figures be calculated?
  3. Agree that both you and your publisher get to see those figures

If possible, try to also agree that any expenditure over a given figure requires the agreement of both parties. Don’t expect, or demand, infallibility from your publisher when it comes to making decisions – share responsibility as well as reward and your relationship should be a happier one.

What happens if the company becomes insolvent?

In the same way that rights should revert to you if they are unused, check to see what happens to your rights if the publishing company becomes insolvent. This is different to the expiry of an option.

This actually happened to me, back in my early comic book days. I signed, along with my artist, a contract for an ongoing horror series. We produced the first issue, it went to print, and then the company died.

We wanted to carry on with the story. The company wanted to sell our contract and intellectual property rights on in order to cover their debts. The contract was ambiguous on this point but, thankfully, we were able to negotiate with them and reach an amicable agreement (we got the rights back). However, it could have gone either way and I do know other people working with the same business were not able to reach the same agreement that we did.

Force Majeure

Unavoidable problems, Acts of God, etc. When you put your mind to it, there are a million-million and one reasons that something could go sideways during publication of a book.

If there are any requirements upon you in your publishing contract, anything that you have to do, then make sure you have provision for “Force Majeure“. Heaven forbid but if you end up laid up in hospital, for example, you don’t want to be worrying about finding yourself in breach of your contract.

“Best Endeavours” and “Reasonable Steps”

The Devil, they say, is in the detail. Detail, therefore, is to be avoided at the all costs.

Watch out for phrases like “Best Endeavours” and “taking reasonable steps”. Ambiguity is not your friend and one man’s reasonable is another man’s completely unreasonable…  At the end of the day there’s nothing wrong with having some wiggle room, just don’t expect to be able to hold your publisher to account too stringently on anything were “having a decent crack at it” is the measure of success.

In Conclusion

Winning a publishing deal should feel just that – you are WINNING.

Your publisher is winning too – they are winning you, your work, and your talent. They have the right to win too.

Negotiation is about finding the “win win” and avoiding the “lose lose”. If you think you “won” and they “lost” there’s a good chance you don’t understand what just happened.

So, read your paperwork, dot and cross letters as needed, question anything you don’t understand, or that looks wrong, or that seems unnecessary or inappropriate. Then, and only then, if it still feels like winning… Sign the damn thing.

Congratulations, you’re published.


The library kept all of its books under lock and key, behind three-inch thick glass etched with runes from every major arcane school of thought, watched twenty-four hours a day. They weren’t especially dangerous books, they weren’t even magical in and of themselves, and they certainly weren’t rare. However, they were dangerous. Since words had started to come to life, all books were dangerous.

It had started in Berlin, by most accounts, with a disgruntled wife who scrawled the word “HUND” across her unfaithful husband’s forehead with a Sharpie while he slept. By morning, her husband was gone and there was a puppy in his place. Of course, she had been little more than a footnote in a grocery store tabloid at first, but then it happened again. And again. And again. It spread, quickly, and soon became so widespread that nobody could ignore it anymore. Words were becoming things. Words were changed things. All you needed was a pen… and you were master of the world.

There was panic. There were riots. The people turned to their governments and the governments did what governments always do – They banned things.

They banned printing. They banned pens. They shut down the Internet and closed all of the schools. Signs were torn down in the streets. The written word was a weapon and could not be allowed. They wanted to burn books, of course, but nobody knew what would happen if you aerosolised words. Nobody wanted an airborne weapon, a drifting plague of wild information and imagination that could do, well, anything. Instead, the silos were built. No matter how tall or small a library was, it was siloed – sealed in a thick concrete shaft that was dropped into position over the building and then sunk deep into the ground. Inside, the libraries were refitted with alarms, vault doors, and the special safety glass. Nobody knew if any of it would work, but governments never let a simple thing like that get in the way of taking action.

Two generations on and almost nobody knew what a library was. The silos were still there, still guarded, but their walls had moss on them and birds had begun to roost in the cracks. The words were still locked away. In many ways it was a better world. It was certainly a simpler one.

There were those, of course, who still knew the true power of words. Some of them used that power to control the world. Others used that same power to try and stop them. The great secret war of words raged, but nobody recorded a moment of its passing.

The war was why Milo got given the typewriter by his great-grandfather. The old man’s eyes were too weak, his hands to riddled with arthritis to use it now. It was a young man’s weapon.

“You’re become to be just like me, kid,” he told him. “A WMD.”

“What’s that?”

“A Writer of Mass Destruction.”

The Girl on the Other Side of the Mirror

Bodies had been dropping for the six weeks of summer when Melody’s phone finally rang. Six long weeks of heat, of death, and of strange stories. Murder was one thing. New York could cope with murder. But these were just murders. There was something different about them – something weird.

Weird enough that, finally, someone had called Melody.

She’d been a cop, “back in the day”. But then there had been the case. The Case, with a capital C, that every detective catches before the end. The case that makes your career, or breaks your career. The case that, sometimes, breaks you too.

Melody’s case had been a big one, front-page news for eight weeks solid. They called the killer “The Ragdoll”, because when a killer is on the loose nothing sells papers and gets clicks on your website like giving the killer a twee little nickname for them to play up to. It also encouraged copy-cats, psychics, cranks, amateur sleuths and made sure that if you were the cop who caught the case that you, forever, were “The Ragdoll Cop”.

It was a circus. It was a game. It made some cops heroes, some cops millionaires. It put some cops in the asylum.

Despite all the books, the blogs, the magazine articles and the column inches, there was still a lot that people didn’t know about The Ragdoll. It isn’t something that cops talk about much, but there is such a thing as your garden variety psycho. Just a guy or a girl who gets broken on the wheel of the world and snaps back mad and crazy. Sometimes get hurt so badly that hurting is the only thing they know, the only thing they understand. But that wasn’t Ragdoll. What he was wasn’t something that a person, any kind of person, could ever turn into. Ragdoll was something else entirely, from a place somewhere else again. Melody had busted a man from the wrong side of the mirror, and that was a case guaranteed to break anyone.

Melody let the phone ring three more times before she picked it up. She wanted to let it ring out, but a cop is still a cop even after your break that cop and abandon them, even after you tell them to put themselves back together again from whatever’s left. Melody was a New York cop through and through, what other shape would she even know how to make?

“Miss Peace? Miss Melody Peace?”

Melody listened patiently as her former Captain made small talk and pretended that he’d believed her all along about the Ragdoll case. Lots of platitudes, lots of veiled references to “higher ups”, “the top brass”, and “city hall”. Lots of musings on what had been “best for her” and “best for the force”.

“Cut to it, Boss,” she said finally, when she felt his penance was served for the day.

Then she listened patiently as the Captain explained to her the case as best he could. He avoided the obvious words – “magic”, “mirror”, “Ragdoll”. The man’s capacity to dissemble was endless. Eventually, Melody put him out of his misery.

Eventually, Melody put him out of his misery.

“I’ll do it,” she said, interrupting him much to his own relief. “Three hundred a day, plus expenses. And I’ll need a car.”

She hung up shortly after, having told the Captain “not to worry” and delivered her own little stream of platitudes and half-truths about what would come next. Lies were the fundamental lubricant of magic, without them the friction between what was real and what was not would set the whole world ablaze.

Melody sat for a moment, just breathing, before she picked the phone back up and made a call of her own. You didn’t work on the wrong side of the mirror and not make a few contacts, collect a few favours. It was time to call one in.

She dialed. Her contact waited five rings before she answered.

“Mary? It’s me. Melody… Yeah, I know. I think so. Another one. Yeah. I need you to come over. Come on over. Come on over. Come on over. Mary… Mary… Mary…”

Upstairs, in Melody’s bathroom, a mirror shattered and Melody heard footsteps crunching across the broken glass.

“You could have used the door!” she shouted up the stairs. “I had glass panelling put in!”

“No fun,” Bloody Mary replied, stalking down the stairs. “Now, where have you been keeping my axe?”


Hypergraphia was originally published in colour in the pages of the anthology Insomnia Publications “Choices”.

The story was illustrated by the very talented Valia Kapadai. There’s a high body count and Valia and I came up with the idea of asking people to support the anthology not only by buying a copy but by letting us murder them in various graphic ways. Take up was disturbingly high… see if you can spot any of the UK Indie Presses Alums on the killing floor.

Magpye: Circus of the Dead / Chapter 00 / The Story of a Bird

This is the story of a bird.

Once, a long time ago, this bird sat on the left shoulder of death and, other than for the reaper’s steed, was Death’s only companion. Together, the rider the bird and the horse went out into the world and hunted for souls to take to the afterlife. The reaper and his steed knew only this duty, but the bird was prideful and greedy. It begged Death to give it souls of its own to hold dominion over.

Death refused, but the bird persisted, cawing in the reaper’s ear incessantly. Eventually, even Death’s patience was exhausted and, in a rage, Death cast the bird down into the shadowy space between the world of mortal men and the afterlife. It gave the bird dominion only over those incomplete souls could not move on to the next world and who were trapped in limbo as ghosts, spectres, and phantoms.

The bird, for its part, was also enraged. It grew capricious, cruel, and spiteful and hatched a plan to swell the ranks of its own kingdom at the expense of Death itself.

It became a spectral thing itself and, haunting the minds of wronged men, the bird taught mankind how to seek vengeance. It remade itself from an avatar of death into an avatar of bloody murder and revenge and vowed to one day become master of all of the dead.

That bird became the Magpye, and this is its story.

Writer Tip: Stop Bookmarking, Start Archiving

Tell me if any of these things have ever happened to you…

You find a webpage containing a great piece of information for a project. You bookmark it. And then…

  1. You forget all about it
  2. You lose the bookmark amongst the thousands of others you’ve hoarded
  3. Your bookmark synchronization service goes bananas and you lose the link
  4. You come back to the link and the page… has gone
But… it was right there…

I’m a total data hoarder and all of these things have happened to me more than a few times. It’s maddening.

As a writer, one of the first tips you are given is the importance of keeping a notebook or “ideas file” – a place to hoard ideas, snippets of dialogue or text, pictures of things you might want in a story later, and anything else you might need. I’ve a shelf full of paper notebooks full of this stuff (and the occasional shopping list) and its one of the reasons people say I’m never short on ideas – I’ve built up a hoard.

But, my writing life doesn’t always take place within reach of that shelf. My writing life happens all over the house. It happens in the supermarket, on trains, in car-parks, coffee shops, and (more often than I should probably admit) in the bathroom.

The go-to solution for most writers in this situation is Evernote, the grand-daddy of note taking applications. I’d love to say that I’m 100% digital, but I’m not. However, when it comes to artifacts I find on the web, I do have a system – and a tip to share with you.

Never save bookmarks.
Let Evernote be your scrapbook for the web.

Evernote can archive any web page, taking a copy of text and images and dropping them straight into your account. It can also strip out formatting you don’t need and make the whole article searchable, just like all your other notes. It can even save snippets if you have highlighted a section of text.

Forget your shelf of notebooks or scribbling in a notepad or back of a napkin – you’re carrying a indexed, searchable notebook of infinite size in your pocket already.

How to use Evernote to archive a web page on your phone

Next time you see a great web page on your phone and want to keep a record of it, don’t bookmark it.

Instead, share the page to Evernote using the share icon in your browser or the browser’s menu. Evernote will take a copy of the page and store it. If you want to use any of the advanced features, press and hold the Evernote button when it appears on the page during the save process.

How to use Evernote to archive a web page in your browser.

Evernote offers a powerful extension for Chrome that you can use to trigger the “Save to Evernote” process on any page.

Follow this link to install the Evernote Web Clipper in Chrome.

I’ve saved a lot of web pages using this method and since I started doing this I’ve never had a problem with losing a saved web page or not being able to find it when I needed it.  When I need an idea, I can even page randomly through my saved pages.

Don’t worry about losing track of where you found in the information in the first place. Evernote notes have a special URL field that is automatically populated with where you found the information, so it’s easy to check for updated information and cite your sources if you’re writing non-fiction.


Fixed Stuck Loader/Spinner in Webmin by Switching Webmin from Authentic Theme to Classic Gray Theme

Building a new server this week I installed Webmin from the Webmin repositories as normal.

The latest version, 1.830 comes with the new “Authentic” theme installed as the default. It looks pretty good, but wouldn’t work on my server because of syntax errors in a .js file.

The net result was that Webmin was stuck on the loading “spinner” and I couldn’t escape.

It was impossible to change the theme through the normal UI as it would not load anything. I needed to get back to the standard theme… but how?

Steps to Change your Webmin Theme from the Command Line

  1. Log into your server via SSH
  2. Edit /etc/webmin/config
  3. Change the line theme=authentic-theme to be theme=gray-theme
  4. Edit the file /etc/webmin/miniserv.conf
  5. Change the line preroot=authentic-theme to be preroot=gray-theme
  6. Stop webmin with /etc/webmin/stop
  7. Start webmin with /etc/webmin/start

Problem solved!

Ashes, Ashes, We All Fall Down

Richard was a ski instructor. In fact, he was the world’s last ski instructor… and that made him just about the most important person in the world.

Or what was left of it.

After the bombs, there were only three things that mattered.

There were the survivors, who mattered because they were all that was left of the world that had gone before. There were the mutants, who matter mostly because they ate the flesh of any survivor they could catch. And there was the snow.

At least, the survivors called it snow, but that was just their way of avoiding talking about what it really was. It was their way of avoiding talking about what had happened to all the buildings, to all the cars, to all the things… and to all the people that had been there before.

It was their way of accepting things, because calling it “snow” was a lot easier than calling it “ashes”, which is what they really were.

The snow fell all day, every day. It covered everything in drifts of the dead world before. Somehow the mutants had adapted to be able to run on it, but falling into a snow drift meant certain death for any of the remaining survivors.

And that was why Richard was important.

In the world that came after the bomb, a man who could fly on a carpet of snow was the most important man in the whole world.

Chasing Down Leads

Ben stalked along the tow path, following the canal. It had been three weeks, since she went missing. Three weeks of searching. Three weeks of hoping. Three weeks of being told to give up, to move on. Maybe it was hopeless, but Ben didn’t care. Ben never gave up. That was what made Ben, Ben.

“Come on, Ben,” said Gary. Gary was Ben’s partner, not that they saw eye to eye these days. Gary had been the first to say it was pointless looking, the first to say that she was gone. Ben wasn’t sure if he would ever forgive him for that. Gary was just being practical, Ben knew that deep down, but practicality didn’t come into it, not for Ben.

After all, she was his ball.

Humans didn’t get it, what it meant for a dog to lose their ball. They didn’t know what it felt like, to know your ball was out there, knowing you couldn’t find them. Wondering, endlessly, what might have happened.

Was she someone else’s ball now? Did someone else have their teeth in her, covering her in their filthy scent? Or maybe she was just lying in a gutter somewhere, lost and afraid.

Ben wasn’t sure which was worse. That was why he had to keep looking.

“Pepperami?” asked Gary.

Ben sniffed. Trying to bribe him with his favourite treat? Something stank about that. He didn’t want to think that Gary might be in on it, but he seemed awfully keen to get Ben off this case. It was just paranoia, he told himself. It had to be. Yeah… just paranoia.

“Come on, mate,” said Gary. “Let’s head home.”

Ben dug his feet into the soft loam at the side of the path. If only Gary would let him off the leash.

“Alright,” said Gary, seeming to sense Ben’s mood. “Just a little further.”

Ben didn’t need to be asked twice. He’d had a sniff of a rumour about a canal-boat, just a few minutes further down the trail from here. A canal-boat with kids on it. The kind of kids who find a ball when they were playing. The kind of kids, maybe, would might keep a ball.

Ben pulled Gary down the path. It wasn’t much of a lead, but it was all he had.


JQuery Hotkeys and KeyDown Explorer

Capturing keydown events at the document level in JQuery is an effective way of adding shortcut keys to a web-based application.

The code to bind a particular key combination is relatively simple:

$(document).ready(function() {
     $(document).bind('keydown', function (evt){
          /* Add your code here */

This code works in IE (Edge) and Chrome. Firefox, at the time of writing, does not support the keydown event on the document element.

The purpose of event.preventDefault() is stop default key-bindings from activating. For example, if you want to do something when F1 is pressed, you want to stop the browser from loading up its help page.

Sadly, this is also a little inconsistent between browsers. Chrome lets you block, for example, the default action of F1 whereas IE does not.

Owing to these inconsistencies I wouldn’t recommend using this document-level technique on a web-facing application. For an intranet/internal application where you have better control over what browser may be used then it can be very useful.

Obviously you can trap keydown events in any element you can address with JQuery using the same technique, just swap out document for the JQuery selector of the element you want to work with.

Exploring the JQuery Keydown Event

There’s a working example of the document-level technique in my JQuery Keydown Event Explorer – this app will help you explore what data is available on each keyDown and help you work out how to you identify your particular key-combination.

The app is well tested in Chrome.