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 seb@seblee.co or point them at pixelpyros.com. Thanks!

PixelPyros development – working with lasers part 2

In the first part of this series, we looked at the basics of how scanning lasers work, so now we’ll cover the equipment that you need and how it all connects together.

lasersPhoto: FFP Laser systems

Reminder : lasers are dangerous and you can permanently damage your retina. If you’re interested in working with lasers, please seek advice and supervision from qualified experts, and always wear eye protection.

25pincableThe ILDA laser interface uses standard 25 pin D-connectors.

First thing up on the equipment list: a hardware interface for the laser. The standard laser interface is called ILDA (named after the International Laser Display Association), and it’s an analogue format that uses standard 25 pin D-connectors, like parallel printers from the past. It’s a well established standard and most modern scanning lasers support it.

So we need something that can provide an ILDA connection and most ‘laserists’ (terrible term huh?) use a hardware/software combination like Pangolin to produce laser shows with pre-set patterns. These systems are pricey, closed-source and totally proprietary.

Thankfully there is an open alternative – a hardware ILDA convertor called Ether Dream. You send data to it over a standard ethernet network, and the Ether Dream converts it into the analogue ILDA signal. (This type of laser interface converts digital into analogue, so it’s referred to as a DAC – Digital to Analogue Converter.)

And thanks to the openFrameworks addon that wraps the Ether Dream SDK it’s easy to get started with it. (Thanks Memo!). [NOTE – this is a very old post, and I have since been working on my own very powerful openFrameworks add-on called ofxLaser ]

SONY DSCThe open-hardware laser controller – the Ether Dream

I’ll show you how to work with openFrameworks and ofxEtherdream in the next post, but before that, we’re gonna need a laser. For the PixelPyros tour itself LM Productions will be providing us with a crazy high power 11W PIKO laser worth around €30,000. It can handle 80,000 points per second (PPS) and it’s a white laser so I’ll have full RGB control.

pikolaserThe powerful PIKO laser even has a fancy touch-screen controller!

For the R&D part of the PixelPyros project, I need a laser of my own in the studio to experiment with – the 11W laser could easily burn a hole in the wall so it would be a bit over the top! I asked LM for advice, and they recommended the Laserworld CS-1000RGB SE with upgraded galvos capable of 50,000 PPS, priced at around £1,000. [Please note – this is a very old post and I DO NOT recommend buying this laser. There are far better alternatives to get started with]

The LaserWorld CS-1000RGB SE – a white laser capable of 50KPPS

At 1W, it’s 11 times less powerful than the PIKO laser, but about 2,000 times brighter than an ordinary laser pointer, and still too bright to work with in a small space. I thought that all white lasers had granular control over each colour channel, so I was disappointed to find out that each of the 3 colours were either just on or off. Which meant I couldn’t reduce the brightness – if I want a laser with attenuation, i.e. granular control, I need to get a better laser. (Naturally the expensive PIKO laser is fully adjustable).

In the meantime all I could do is get some tinted acrylic to make the laser less blindingly bright, which helps my eyes!

Next up – the results of my experiments with the laser and the practicalities of getting good clear laser lines and dots.

PixelPyros development – working with lasers part 1

Photo : Dave Wilson

Over the next few weeks I’ll be working hard on new features of PixelPyros, and I thought it’d be fun to share what I’ve learned. I’m going to start with lasers. Because, well, because lasers.

First, a quick word of warning: Lasers are dangerous and you can seriously damage your eyes or even go blind. If you’re interested in working with lasers, please make sure you seek advice and supervision from qualified experts, and always wear eye protection.

Photo : Rachel Richardson-Castro

One of the few things that humans and cats have in common is that we love lasers, so I’ve felt compelled to add lasers to PixelPyros for a while. Modern projectors are pretty bright, but they can’t get anywhere near as bright as real fireworks. Lasers on the other hand can make super bright points of light – so bright that they look like they are emitting light rather than just reflecting it!

My thinking was that I could use lasers to pick out the bright points in the fireworks, and still use the projectors for the detail. I’m not sure exactly how this will look. I just know that I want really beautiful super bright points of laser light. 🙂

To get started I needed to find people who owned some big lasers, and I was put in touch with LM Productions in Eastbourne. They’ve been experts in laser stuff since the 80s and we got on like a house on fire. Thankfully they’re excited about the project and they’ve come on board as our production company – they’ll be be providing not just lasers, but also the massive Christie projectors and sound system.

Let’s rewind a little and take a quick look at how lasers are controlled. Anyone who’s ever used a laser pointer knows that you can point it at the wall to make a little point of light, and if you move it around quick enough, the persistence of vision effect kicks in and it’ll appear to leave a trail as it moves.

The tiny mirrors used to move the laser. Photo: Mersen

A scanning laser can be moved around electronically to make shapes and patterns. Well, actually, the laser itself doesn’t move at all – it’s reflected off two mirrors. Each mirror is rotated on a single axis – one controls the horizontal position and the other controls the vertical position of the laser.

Slide 1
How the mirrors move the laser, in a very confusing diagram I stole off the internet

Each mirror is attached to a galvanometer, or galvo, which controls its rotation. Galvos use electro-magnets to convert electrical energy into movement – they’re also used on the needles on old-fashioned VU meters. They can be incredibly fast and accurate, cheaper units can move the laser to 30,000 points per second, professional ones can handle 80,000.

VU meters use a galvanometer to move the needle. Photo by Dafydd Thomas

To make distinct shapes, we turn the laser off, move to the start point, turn it on, then move it around all the points in the shape, then switch it off again. Do this again for as many shapes as you want to project. Obviously the fewer points there are the faster your laser moves and this makes the image less flickery.

You can get lasers in most colours, and also ‘white lasers’ – units with integrated red green and blue lasers that can make any colour.

In the next part I’ll talk about the hardware you need, and how to hook everything up and communicate with the laser controller directly.

PixelPyros digital fireworks – tour funded!

Thanks to your amazing response to my request for help finding venues, I’m excited to announce that the PixelPyros tour is now definitely happening – we have 9 dates in 5 UK cities across two months starting at the end of September.

It’s been an insanely busy time – as soon as we had a confirmation of interest for each location we put forward our Arts Council funding application. As it was such a large grant it would take 12 weeks to process. So you can imagine how we felt when we found out 3 weeks early that our application had been approved!

That was just a few weeks ago and since then we’ve been working so hard to get the final details together. I’ll be blogging about my process here, starting with my experiments with lasers (I told you I was adding lasers to the show, right?).

In the meantime here are the dates :

28th September Brighton – The Level
18th October TBA (midlands)
1st November TBA (midlands)
14th November TBA (north)
15th November TBA (north)
16th November TBA (north)
17th November TBA (north)
6th December TBA (north)
7th December TBA (north)

I’ll be announcing where each of the dates are over the next week or two (we’re not allowed to go public until we have all the paperwork sorted).

Follow @PixelPyros on twitter for updates.

Securing my WordPress sites

I’ve recently had a horrible bout of spam bots attacking CreativeJS.com, 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 flickr.com/donsolo
Robot attack by flickr.com/donsolo

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!