Space Editor 0.8.7

New for this release:

Correctly handles stations (old versions converted them to large ships…oops!)

now only displaces entities when you clone them, export / import does not displace items… so be careful of collisions!

Download from github


Space Editor 0.8.6

I was going to leave this until tomorrow…but I got excited.

v0.8.6 adds support for mirroring blocks.

So you can go from this:


to this:


With a couple of clicks.

Get it here:

download from github

Space Editor 0.8.5

Yet another new release, this one has:

An all new layout (most functions now available via right click)
Ability to edit any of the positional information
Auto update feature


Download from github

Space Editor Open Sourced

As promised:

Nothing new in the code itself, hoping to have character placement and position editing by tomorrow.


Space Editor 0.8.2 released

Another day another release….


I noticed this morning that I’m not handling the player character very well. If you’re piloting a ship when you save, then load that save into SpaceEditor, then save… it loses the player character, and corrupts the save. Not very useful. So, my longterm goal (ie: in the next day or so) is to properly handle the player character, and let you pick a ship to control, or dump him (you) in the depths of space as you see fit. For now however, this release just refuses to load a save if you’re piloting a ship.

Also, I’ve made the treeview a bit nicer (changed the entity IDs to useful names like ‘Big Ship’ etc) and added a ‘delete’ button (by popular request).


SpaceEditor Released

(I’ve since released a newer version of this software, which you can find here)

Just a quick post about a project I’ve been working on over the weekend: SpaceEditor.


This is a basic savegame editor for the really rather excellent ‘Space Engineers’ (which you can find on steam here:

The game itself is a bit basic at the moment, it’s still in ‘early Alpha’ stage, so there’s not actually a great deal to do other than build ships and crash them into things. One thing that’s conspicuously missing at the moment is the ability to save / load your creations. You can save a whole ‘world’, but extracting your design from that world just isn’t enabled…yet.

That’s what this tool is aimed at. The current feature set is:

Load a save game (you need to browse to the ‘ file in your savegame folder)
Export any ships from that game into files (Make sure you have a ship entity selected in the tree before you press this!)
Import ship files back into a save game
clone a ship within the world (again, you have to have a ship entity selected!)

And it lets you do stuff like this:


I’ll be open sourcing the project as soon as I’ve tidied it up, but for now you can grab the executable here:

*UPDATE* check here for the latest version:

WARNING: this should be considered even more pre-alpha than the game itself. If it completely mangles that ship you just spent 3 days building, don’t say I didn’t warn you. Because I did. Just now.

Edit: New version released, this should be much quicker at loading…. I’ve updated the download link.

After a month or so of effort in my spare time, the new version of ‘Extended Life’ launches today. From an original site running joomla with the Hikashop plugin, I’ve migrated to a Magento based store with an integrated wordpress site. A responsive theme is used to enable a decent mobile experience, and the increased performance and sophistication of magento should ensure that sales increase as well!

Click the image below to go to the site.


Category based shipping in magento

One of the things that’s always annoyed me about Magento is the dearth of decent, free shipping modules available for the system. Out of the box you can do a reasonable amount with regards shipping, setting a flat rate or using one of the built in shipping methods…but if you want to do anything fancy (and in my experience, people always do) then you need to pay out for one of the many customisable shipping modules available.

It’s been nearly a year since I last looked at Magento, but a recent freelance project has meant me getting back into it and as the client has some very specific shipping requirements, I thought I’d write my own shipping module. I spent a few hours fiddling with config files, before rememebering why Magento always annoyed me so much (hint, it’s the config files) and used the rather brilliant magento module generator to get me started.

Here’s what I wanted from a shipping module:

  • Different shipping rates for individual products
  • Different shipping rates to different countries
  • Easy assigning of shipping rates to products

So, to tackle these problems I came up with a module that uses Shipping rules defined through categories. This means you can setup your rules, and then use the standard product / category concept in Magento to assign your shipping rates.

Once you install the module (see below for a download) each category gets a new attribute under its ‘general’ tab, named ‘Shipping’. That’s where you enter your rules. Rules are extremely simple, and consist of a series of lines, each of which is made up of ‘country code’ = ‘price’

here’s an example of one ruleset:


This translates to ‘If the delivery address is in the UK, free shipping. If it’s in the European union, shipping is 3.00, for the rest of the world it’s 5.00’.

You can have as many lines as you want (they’re processed top to bottom) and if you have multiple items in your basket that produce different shipping rates, the most expensive rate is picked (there’s no option to sum the rates together yet, I might add that in at some point).

You can add these rules to your actual, published product categories or do what I’ve done for this client and set up a seperate tree of ‘Shipping categories’ like so:


So there you go. Bit basic, but does what I needed it to do.

Here’s the download link (upload the ‘app’ folder from the archive into the root of your magento installation):

Play spotify through a different sound device (windows)

Just a quick post today about how to solve a common (maybe) frustration…

My setup when I’m working is that I sit at my desk in the kitchen, with spotify open to have some nice background music going on. However, my nice amp with its decent bass levels and all the rest is sat in the living room. That’s not really a problem, since I have one of these which allows me to play music from my laptop via bluetooth to the amp. However, the standard setup in windows means that you have one ‘default’ sound device, and that’s the one that spotify uses. So if I want my system sounds to come out of my laptop speakers (rather than, for example, conducting skype conversations via my amp) it means I have to play music through the laptop speakers as well.

Until I found this:

With the simple addition of this rather wonderful piece of (free update: equalify is no longer free according to comments from readers, it now costs $5) software I can happily play spotify through my amp via bluetooth while keeping everything else through my ‘default’ laptop speakers.

Here’s how it works. First, in windows select your default audio device. Remember, this should be the device you want everything except spotify to play through.

The easiest way to do this is to right click on the volume mixer icon in your taskbar and select ‘playback devices’. You should see a window like this:


right click on the device you want to use as the default (if it isn’t already set as such) and select ‘set as default’. Again, remember this is the device you want to play everything except spotify through.

Now, download and install equalify from here:

Once it’s installed, fire up spotify and you should see a new icon next to your search bar, like this: 1

Click it, and the equalify window should open at the top left of your spotify window. Right click on the equalify window and wight click to activate the context menu. Select ‘options’ and then ‘change sound device’ like so:


From the window that pops up, use the drop down to select the audio device you want to use and then click ‘Set New Output Device’:


Now restart spotify.

And that’s pretty much it, spotify should now play through the device you selected.

As well as allowing playback through different audio devices, equalify also acts as an equaliser… if you like that sort of thing.

All grown up: Monsters inc

This is the first in what may (or may not) be a regular series, which takes the universe of a children’s classic and intersects it with the cynicism and harshness of reality…. I thought I’d start with monster’s inc, since the idea of monster’s being able to pass into our world whenever and wherever they like lends itself to some interesting ideas.

1: Monstropolis

Sulley lent back in his chair, letting out a sigh of relief as the tension drained from his shoulders. These last 5 years had been tough, changing the way an entire civilisation procured its energy, not to mention changing the direction and mindset of a huge corporate institution…it hadn’t been easy, but things had finally started to turn around. He glanced at a framed picture on his desk, ‘Boo’, the little girl who’d made it all possible… she’d shown that human laughter was a much stronger and more energetic source of power than the traditional fear, and in doing so had paved the way for everything that had happened since their last meeting. Sulley smiled wryly, now that the conservative old guard had finally been put down and their leaders exiled in one of the strange worlds on the other side of the barren doors he could really start to consolidate his powerbase. It was a pity about Mike, if anyone deserved to be a part of the shining future that lay ahead it was him… but at the last minute the cyclops had blinked, his nerve had broken and Sulley had to choose between their friendship and the greater good.

The intercom on Sulley’s desk flashed, interrupting his reverie. The display indicated it was Dr Hertzner in the research labs, his permanently worried face filling the small screen.

“What is it Doctor?” asked Sully, trying to keep the impatience out of his voice. The Dr’s research project had hit some stumbling blocks recently, the new doors opening onto strange universes filled with physical impossibilities. Some of the explorers had come back… changed. Some of them hadn’t come back at all.

“We’ve found her.” The doctor found himself talking to an empty screen. On hearing those 3 words, Sully had leaped from his chair and was already bounding through the complex towards the research labs.

Boo, the girl who had catapulted Sully into a position of power… her door had been lost, presumed destroyed during the civil war but now, after months of probing the human universe with exploratory doors the doctor had finally found her again.

“we have no way of knowing how old she is you understand” The doctor’s monotone voice, more attuned to the lecture hall than the halls of power he now moved in irritated Sully as he gazed at the door in front of him. “Time in their universe is… different than time here. Once a doorway is established the flow of time is synchronised between a specific pocket of space on the other side, traditionally a child’s room but as we’ve seen with our recent..”

“Yes yes Doctor” Sully cut him off impatiently “So she may be much older than I remember, I understand… now stand aside”

The Doctor sighed and moved to the control console next to the doorway. The Ancients, founders of the monster civilisation now lost in the mists of time, had passed down grave warnings about the kind of research he was now involved in. The master control mechanism threw up a set sequence of co-ordinates for the doors, using those co-ordinates invariably created doors that led to the rooms of children in the human universe. The Doctor’s use of unapproved co-ordinates and the realisation that other worlds, other people lay on the other side of those doors had led to the priesthood’s revolt and the blood strewn mess of the civil war.

“Open the door Doctor” Sully grunted “I’m ready”

The Doctor made a final adjustment on the control panel, overriding the warning lights that just a few short years ago would have meant this door was consigned to the ‘never use’ scraphead and made the connection…

2: The human world

Somewhere else a similar warning light flickered into life. Rather than override it though the man watching this light stared, almost disbelieving what his eyes were telling him. After an almost comical double take, he picked up the phone next to his desk and almost yelled down it “It’s…it’s happening, get the director… she needs to see this”

In another part of the complex the director was dragged from her recurring nightmare of a snake drilling into her skull, back into the land of the living by the insistent blaring of the red phone she kept next to her bed. After a brief moment of confusion, she snapped into alertness and grabbed the handset. Minutes later she was running down the hallways towards the lab, her mind racing. It had taken years of waiting, millions of dollars of funding but the moment she had waited for had finally arrived. She was going to finally get her own back on that blue bastard who had swanned into her life, taken her from her home and subjected her to an ordeal she’d never truly recovered from. If it hadn’t been for the institute, a group of shadowy figures who understood what she’d been through and, more importantly, believed her she’d probably still be rotting in St Genevieve’s now. The institute had existed for in one form or another for decades, and their sole purpose was to research and eventually destroy the strange world of ‘monsters’ that had been haunting humanity for centuries.

Her gaze flickered to the side as she passed the entrance to the vivisection labs. In recent years the incursion teams had made great strides in capturing specimens of exiled monsters, apparently there’d been some sort of power struggle on the other side of the doors and the losers had been dumped unceremoniously over here. Although they’d been scattered across time and space due to the strange quantum effects that surrounded the interdimensional portal technology several of them had ended up in the 20th century to be captured by the incursion teams, interrogated and finally dissected… their bodies giving up hints that had led to the construction of the laboratory she now raced towards.

She arrived in the observation room to a scene of tense anticipation, looking down into the replica of a child’s bedroom she had a brief pang of nostalgia…the bedroom below was based on her own memories of her childhood home. The ‘child’ in the bed was a lifelike dummy, but it was the glistening metal box next to the bed that her eyes were drawn to. It had been discovered very early on that the portals, the doors that the monsters used to make their raids into this world were drawn to children. Prolonged research had finally discovered the strange quantum vibration produced by a child’s mind, a unique vibration that each doorway was attuned to. The supercooled box below contained a piece of the Director’s own brain tissue, clone cultured to resemble that of a child. She’d hoped that this would be enough to fool the weird, poorly understood science of the other side… and it seemed her gamble had finally paid off.

Light filled the room below, creeping out from around the doorway that stood in the shell of a closet. The director held her breath as the handle started to turn..the door slowly opened and, silhouetted against the light flooding through from the other side stood a figure she recognised from her nightmares


That one word, a hesitant question from the huge blue monster now creeping across the floor broke the strange paralysis that afflicted everyone in the room. The director blinked, and slammed her hand down on the red button next to her station. Below, Sulley froze as lights flared around him… and a few feet away, in another universe Dr Hertzner stared in horror at his control panel as the emergency shutdown failed, the doorway held open from the other side as blackclad troops poured into the laboratory.

Sulley looked up at the woman glaring at him from the observation room above… no longer the child he was expecting, but he’d finally found her.