Installing LaserShow Xpress on Windows 10

I thought I’d give LSX a try – it’s pretty cheap and seems like fun laser software. I had some trouble installing it on Windows 10 – kept getting the message “Code execution cannot proceed because msvcp100.dll was not found”.

It seems to be a problem with Visual C++ apps, and I found the solution on this post – you have to install the Visual C++ redistributable package, download here.

I’m not sure if this is a Windows 10 specific thing but hopefully posting this here might help.

Keyboard shortcut for “Mirror Displays” on Touchbar MacBook

It’s kind of a niche requirement but very important for someone like me who runs presentations with keynote split on two screens to running demos that need to be mirrored.

It was always Cmd-F1 on any non-touchbar equipped Mac, but sadly that stopped working on the new Macs, even if you hit the fn key to make the function keys appear.

I went as far as creating a hardware keyboard emulator, before I discovered this software solution (thanks Anders Anker!).

Step one :
In Keyboard Preferences, select Press Fn key to Expand Control Strip

Step two :
Hit Fn-Cmd and the decrease brightness button on the touchbar.

That’s it!

If you’re interested, here’s the post with full instructions on how to make the hardware version.

CreativeJS workshop diversity scholarships

UPDATE : Please note – applications have now closed

My CreativeJS workshop returns to Brighton on the 9th and 10th December, and (inspired by Remy and Julie) I’ll be offering 2 diversity scholarship places.

Diversity in tech is something I care deeply about, and although the problem won’t be solved overnight, this small gesture is a step in the right direction. Although this may not be relevant to you personally, you can still play an important part by passing this on help find others who may benefit from the scholarships.

What are the scholarships?

Scholarships are available for anyone in an under-represented group in tech. This includes (but is not limited to): people of colour, LGBTQIA+ people, women and disabled people.

I have 2 scholarships places which include the cost of the two day workshop, and up to £300 (per scholarship) towards the cost of travel and accommodation.

More information about the workshop.

How to apply

Please answer the following questions and email me. You don’t have to explain your personal situation (but you can of course, if you want to).

Who are you?
Where would you be travelling from (airport or city)?
What do you do?
Why should you get a scholarship?

Please note that your email will be treated with the utmost privacy, and we will not publicly announce who the diversity scholarships go to (though you’re welcome to say so yourself).

Deadline for applications: Friday 20th November, 2015.


I’ve taken most of the copy from Remy, who in turn was inspired by SassConf and OTSConf.

Again, if this doesn’t apply to you, please please can you pass on the message and reach out to anyone you know that might benefit from one of these scholarship places.

I need your help – November PixelPyros dates available

We’ve just heard that one of the PixelPyros tour locations is having trouble with its funding so may have to cancel, which could leave us with a gap in our schedule for November.


So I’m asking for help – if you know any event, council or company that might want a digital interactive fireworks display with lasers please tell them about us! We’re thinking that there must be a few organisations out there that might like something a bit special for Guy Fawkes night this year.

It’s part of the tour so it benefits from hugely discounted equipment costs – it’s probably half the price that it would normally be, ie roughly the same price as a decent real-life fireworks display (and much more pet-friendly and safe than traditional fireworks).

So feel free to put any potential new locations in touch with me at or point them at Thanks!

Securing my WordPress sites

I’ve recently had a horrible bout of spam bots attacking, so I thought I’d write a (rather mundane but hopefully useful) post about what I’ve done to combat them, as much to serve as a reminder to myself as much as anything.

Robot attack by
Robot attack by

Install Anti-spam plugin
Install All in One WP Security plugin
Check your log files and add malicious IP addresses to iptables

I moved all my hosting to Linode a few months ago – it’s been a steep learning curve understanding how to run a Linux server, but I’m glad that I got here. Don’t get me wrong – I love a GUI, but there’s also something I really like about low level command line access. I’m not sure what – maybe it’s just because my early computing experiences were so low-level.

Thanks to the excellent Linode tutorials (and help from CreativeJS team member Paul King) I’d got the server up and running, but I found that I kept getting intermittent outages – page requests were timing out (thanks to the free website monitoring tools Pingdom and StatusCake). It seemed like there were too many people accessing my pages, but Google analytics wasn’t reporting unusually high traffic.

Investigating the access logs I noticed multiple requests for the xmlrpc.php file. I think that this file provides an API for external applications to interface with WordPress, even allowing you to add comments – hence the reason why we were getting hundreds of spam comments.

Akismet was catching them, but I installed the Anti-spam plugin for WordPress which stopped them all dead. It was brilliant.


But I was still getting hundreds of requests for xmlrpc.php and it was clogging my sites up. The access logs showed that the client was purporting to be the “GoogleBot/1.0”, but I confirmed that it wasn’t using the method outlined on this Google Webmaster Central blog post.

I initially blocked the IP address in my apache httpd.conf file, which stopped the bot accessing the file, but at this point it was making around 50 attempts per second and my log files were getting so large that my server hard disk space had run out!

So I also added the malicious IP addresses to iptables which stopped the bots getting to my server at all, at least it was no longer registering in my access logs.

Finally I installed the amazing All In One WP Security and Firewall plugin which so far seems amazing, and probably renders my messing around with iptables and httpd.conf unnecessary.

So far the server seems a lot happier, it certainly feels good that I’m starting to get a grip on this sysadmin stuff!