Calling all speakers! A hardware button to toggle display mirroring

I’ve been really frustrated that my favourite keyboard shortcut to toggle display mirroring doesn’t work on TouchBar MacBooksso I’ve made a button that can emulate it!

Of course since I’ve got this working I’ve discovered there’s a weird work-around to get it working on the TouchBar, but it’s still quite a fun device, and you could use it to emulate any key (missing that Escape key, anyone?)

What you need :

That’s it! It should be way less than $20. You’ll also need a soldering iron.

Solder the switch to the Trinket as in the pictures – you’ll need to break one of the legs off.

Then you’ll need to install the Arduino IDE, and add the Adafruit boards. Checkout Adafruit’s brilliant guide to installing the Arduino IDE for their boards.

Download the code from the Cmd-f1-emulator repository on GitHub.

In the Arduino IDE, open the preferences and change the sketchbook folder to be the ‘Arduino’ folder inside the repository that you just downloaded. Restart the IDE, and then open the file CmdF1Emulator from the sketchbook. Make sure that the correct board and programmer are selected (Adafruit Trinket 8Mhz and USBTinyISP, respectively – check the instructions on working with the Trinket on Adafruit if you’re new to this).

Press the reset button on the Trinket and upload the code to it.

It should now work! It uses the Keyboard Trinket code provided by Adafruit, although I had to adapt it – apparently the Mac doesn’t act on the keyboard shortcut unless it thinks it’s made by Apple. That was a day wasted trying to figure that out! I adapted the Keyboard Trinket library to provide an Apple USB device ID to fool your computer into thinking it’s an Apple keyboard.

Ideally you should really put it in some kind of case – maybe just wrap it in Sugru? Or else there are some Trinket cases on Thingiverse you could check out.

Let me know if you decide to make this simple project and how you get along!

Upcoming ST4i and CreativeJS workshops

ST4i Amsterdam, second batch of tickets on Tuesday, and 2 UK CreativeJS workshops on sale now.

CreativeJS workshop

There’s no let up this year as the first batch of ST4i Amsterdam workshop tickets sold out in 10 minutes, but don’t worry – the next batch will go on sale Tuesday morning 11am local time. If you want a reminder, register your interest and I’ll send you an email.

But if you’re worrying that I might have ditched my CreativeJS series about graphics and animation in JavaScript, let me reassure you – I have 2 workshops coming up, both connected to conferences.

19th March CreativeJS Oxford (as part of Smashing Conference)
8th April CreativeJS York (as part of DotYork conference)

Both conferences are worth attending in their own right so be sure to check them out either way.

How to ask to get paid to speak

Spoken Nerd

New speakers often feel awkward about asking for a speaker fee, and some conference organisers take advantage of this by not offering you one. Some don’t even offer reimbursement for your travel costs.

They’ll continue to do this as long as we still accept it – so here’s my advice for making sure you’re properly remunerated for your time and effort.

First of all – here’s how I would respond to someone inviting me to speak at a conference :

Hi xxxx,

Thanks so much for inviting me to speak at xxxx conference, it looks like a great event and I’d love to be a part of it.

My fee for 2014 is £xxx, plus travel and accommodation, with payment in full 14 days before the event. If that works for you then let me know and I’ll book it in.


Sometimes they’ll come back saying that they don’t have budget, or make you an offer. It’s at that point that I ask, very directly, usually in one sentence.

What is the capacity and ticket price for the event?

I usually don’t even put any niceties around this question, which may come across as a bit mean, but I like to think it makes me sound confident. Some simple maths will then enable to you figure out if they can really afford you or not.

Bear in mind that conferences are very expensive to run. That said, spending £100k on a venue and then not paying speakers is a choice, not a lack of budget.

Trying it on

Many, many conferences will put pressure on you to accept a lower fee, or no fee. They’ll tell you that it’ll be a great opportunity for you, or ask if your company will cover the costs. Please do not accept this. Any professional conference should be able to pay their speakers.

Some are so cheeky that they’ll tell you that you’re saving the price of the entry ticket. Like you would ever pay for a ticket if you’re a speaker! This is guaranteed to make me mad.

How much to ask for?

This is probably the hardest question. I think an absolute minimum would be around £200 – at this point it’s more an honorarium than anything else and it’d probably cover your extra expenses – airport transfers, meals, incidentals etc. So you’re still not really getting paid.

Any decent conference should offer all of their speakers around £500 – £1000. Higher profile speakers can get £2000 – £5000 (I’m somewhere in this range). So-called ‘web celebrities’ could get more than this, maybe up to £10,000. And famous people (like Wozniak) could get many times more than this.


Some organisations are non-profit events, running reasonably priced conferences. I’m much happier to negotiate down or even waive my fee for those events. But always ask about the nature of their non-profit status.

Some conferences are run at a loss by a company that is none-the-less gaining huge benefits and exposure. You can be pretty sure that the organisers are getting their usual salary – so why should you do it for free?

And look out for events that have major corporate sponsors.

So check the ticket prices, nature of the organisation, and what happens to the profit if there is any, then make a judgement on that.

Community events

Some conferences are genuine community events that are run by passionate people and low ticket prices. Often they’ll be able to at least cover your expenses, but sometimes in exceptional circumstances, I’ll support these events by paying my own way.

Reaching out

Naturally most of this assumes that the conference has contacted you, and this does put you in a stronger position. If you have to reach out to events, then you may have to sell yourself a little harder, and compromise a little more. But having the confidence to ask for a fee is also part of marketing yourself and makes you look professional.

You are the product

Please remember that you are the product that conferences are selling. So it is more than fair that you get some of that income for the considerable time and commitment that you are investing.

Just say no

When I was starting out I would do any event if my costs were covered. I think I did 50 events one year! These days I insist on getting paid for my time so I speak at fewer events – I have to refuse bad offers. But that’s OK, it’s a natural filter.

There are really really nice ones

Please don’t think that all conference organisers are horrible – there are probably just as many really well-run friendly conference organisers.

Speaking is a fantastic chance to share what you’ve learned and meet your peers. I absolutely love it and would recommend it to anyone who likes to talk. Good luck!

[UPDATE] Also check out this great post by Jenn Lukas on how to set your speaker fee.

Keynotes and comedy nights

I’ve got a couple of really fun speaking engagements coming up.

Festival of the Spoken Nerd

16, 17, 18 April 2013


I was invited to do a short slot at the Spoken Nerd’s new material night in London last year and it seemed to go down so well that they’ve invited me to do 3 nights at their big London show at the Bloomsbury Theatre! It’s a great fun night, I can’t recommend it enough, and I can’t wait to bring glow stick controlled fireworks to the show!

Future of Web Design London

13-15 May 2013
Screen Shot 2013-03-07 at 17.15.13

I’m really pleased to be doing the opening keynote at this year’s FOWD. I’ve never been to one before but it looks like a stellar line up. Use discount code “seb” for 10% off! I’m doing a talk called “Mind the Gap” about merging the abyss between coders and artists.

Worthing Digital 28th March


I’ll be talking about my work and my long journey to get here. So if you’re based near Worthing, come and say hi!

Upcoming speaking engagements

After the dust has settled from a crazy few weeks putting PixelPyros together (more on that soon) I thought it’d be good to mention the conferences I’ll be speaking at over the next few weeks.

dConstruct, Brighton UK

Sept 7 2012
I’m really excited to be speaking at dConstruct, and most proud that I’m only the second native Brightonian to be invited there! (The first was Aral Balkan a few years ago). The conference looks at the intersection between culture and technology, and this year’s topic is “Playing with the Future”. Which is a great fit for me considering the playful nature of my work.

I’ll be talking about PixelPyros, PixelPhones, and bringing back the glowsticks for some audience controlled fun. And, at Jeremy’s request, I’ll be talking about the “why” rather than just the “how”.

onGameStart, Poland

Sept 19-21 2012
HTML5 is rapidly becoming a viable gaming platform, so it’s nice to see one or two conferences popping up that cover this subject. I’ll be talking about some of the techniques that you can use to make simple games, and hopefully demystify some areas that seem complicated. Expect some live coding of course!

LXJS, Lisbon, Portugal

Sept 28-29 2012
I hear that Lisbon is beautiful and this is a really friendly and well run conference. I’m looking forward to coming to do more live coding, and making some JavaScript fireworks.

CodeKen, London

Nov 6-7 2012
CodeKen is a conference all about the joy of coding, and I’m delighted that I’ll be giving the opening keynote presentation. It’ll be the first outing for PixelPhones in a while, and I’ll look at some of the technology behind it. And of course getting it up and running with the audience.

I have 2 other important art commissions and a couple of CreativeJS workshops so it’s going to be a busy month or two!

Battle of the Browsers

image by Andi Smith

I had a great time at the State of the Browser conference in London on Saturday – it was nice to see representatives from FireFox, Chrome, Opera and MSIE all getting along so well.

Getting along well is all nice and stuff, but isn’t it more fun if there’s a bit of tension? So to stir things up a bit I live coded a fun but completely irrelevant test that would pit the browsers against each other and stretch them to their limits.

It’s based on this micro tutorial on and works on a pixel level, directly manipulating the 2D canvas data to render pixel particles.

Although it was a completely unfair test (I even cheekily ran IE in a VM as punishment for not making a cross platform browser 😉 ) it’s still kinda astonishing that JS can render millions of particles without catching breath.

image stolen from the Mozilla blog

When asked, most people assumed that Chrome would be fastest, but it was actually FireFox that won the challenge with around 3.6 million particles. This is most likely because they’ve implemented typed arrays in their canvas image data object (coming in the next Chrome, apparently).

Run the test for yourself here and play with the code on JSBin. Keep the mouse pressed until the red bar hits the right hand side (Which means we’re running at 5 fps).

For sensible write ups of the event that mostly ignore irrelevant particle tests :

Remy Sharp
Andi Smith

On the road again – Germany, London, Amsterdam, Denmark, USA


After opening the excellent DiBi in Newcastle, I’ve got a fairly crazy couple of months to get through – I’m really going to have to learn to say no… 🙂

First there’s BTPlay in Cologne, Germany, there may be a few tickets left so get in touch if you want to come.

State of the Browser – April 28

Moving on to next Saturday, where I’m doing a lightning session at the London Web Standards’ State of the Browser event. I’ll be live coding some 3D particles and then seeing which browser can handle the most. It’s a completely arbitrary competition of course, and it’ll probably be totally unfair. Fun!

SourceDevCon – May 3-4

After a successful launch in Croatia, Grgur and his team are bringing this web dev conference to London. He’s even managed to get Douglas Crockford to come along, so that’s great, you know, if you wanted to ask about semi-colons.

Mobilism – May 10-11

This is PPK‘s mobile web development conference and after a sell out last year, they’ve moved to the larger (and gorgeous) Tuschinski theatre in Amsterdam. The speaker list is excellent. But for my presentation I’m going to be trying some brand new things with PixelPhones.

Reasons to be Appy – May 29

The first of John Davey’s rebranded “Reasons” conferences, this is a fun short and affordable one day event in London with excellent speakers such as Brendan Dawes and Keiichi Matsuda.

Following that, there’s the Multimedia Teachers’ conference in Denmark, the Eyeo Festival and Reasons in New York. More information coming soon.

Upcoming creative coding conferences in Europe

Here are a couple of events that I’ll be speaking at over the next couple of months and definitely worth checking out.

FITC Amsterdam

27th-28th February 2012, Amsterdam, Netherlands

I think this might be my fifth FITC Amsterdam in a row! I’ll be flying through this time (it always happens right around my birthday) and presenting some live JavaScript coding things in a 90 minute session right at the start of day 2.

In another session in the afternoon, I’ll be interviewing Ricardo Cabello (AKA Mr doob) live on stage. I’ll ask him about his recent projects with Google, the three.js 3D library, and how he managed to become such an amazing creative coder. The interview will be recorded for the next Creative Coding Podcast episode.

I’m also looking forward to catching up with old friends Mario Klingemann and Grant Skinner, but sadly, in a truly disastrous planning malfunction, Golan Levin is leaving right before I arrive!

FITC Amsterdam info and booking.

Beyond Tellerrand Play

24th-27th April 2012, Köln, Germany

Having grown from FFK, Play12 promises to be an inspirational event. Last time I was there I got stuck thanks to volcano Eyjafjallajökull, although I was stuck along with Joshua Davies, Jesse Freeman and the Influxis guys so it could have been a lot worse. 🙂

Josh will be there again, and so will the godfather of creative coding, Keith Peters. There’s also a presentation from Google doodle developer Marcin Wichary. I’ll be speaking and running 2 workshops there (including one for non-coders).

Beyond Tellerrand Play info and booking.