How to make your speaker line up more diverse

An organiser of the London Node User Group requested feedback on how to get more members of minorities to speak at their event. This is my contribution … which happens to possibly apply to any other event who wants to get a bit more diverse:


Excuse me for crashing into the discussion, but as someone who’s a “minority” and has also been invited to many conferences on the basis of “being a minority”, I feel like I know a bit or two about this 🙂

(Disclaimer: I’ve been a couple times to LNUG so it’s not a total kool-aid-man convo-crash, ok?)

If you want to get people from minorities to speak on your event, you’ll have to do outreach. It’s as simple as that. Putting an ad that says “hey, minorities welcome” on your site is nice to start with, but having the most previous speakers being white guys will send a message of “oh, yeah, we have a problem, but we’d like you, member of a minority, to fix this for us”. So yes, you need to be encouraging, but you also need to do the hard work.

What this means is that you’re going to have to cultivate your networks and include more members of minorities on them so your network grows. You’re going to put a lot of energy on this. You’re also going to be amazed when this works. And surprised and confused when people tell you to f*ck off—specially if you just approach them because they’re a minority.

Why? Because you really need to learn about them, not take the laziest approach. What are they doing in their professional life? Why should they be speakers? What is it they work on that could provide a unique insight to the meetup? And no, the answer is not that they are a member of a minority.

This is going to take an awful amount of time. But it’s the right thing to do. So—kudos to you for realising you have a problem! Well done! 🙌

And now you need to start the work. Thankfully, the Internet exists and it can help you grow your network and educate yourself:

  • If you don’t know members of minorities, look at the websites of existing conferences or meetups. Look for minorities. See if any of them are in your area. Maybe they are going to speak at a local meetup? Then attend it. Watch their talk. If not, watch their talks online. See if they would be a good match for your meetup. If so, make a note.
  • While you’re on that, also follow them on their blog/twitter/facebook/wherever it is they put their online presence. See what they talk about when they’re not giving a talk. See who they talk to. Minorities tend to talk to minorities (although in their context, they might be the majorities). Learn. Don’t interrupt. Listen an awful lot. Learn more. Maybe the thing they talked about in a meetup isn’t even remotely as interesting as the other things they talk about normally with their friends. You’ll find lots of things you don’t understand if you are not friends with minorities already, so use your favourite search engine to find info about things that puzzle you. Don’t ask minorities to educate you. Do your homework.
  • If you don’t know where to start, there are people on twitter compiling lists like “women in tech”, “poc in tech”, “lgbt in tech”, and so on. Follow a list and also maybe thank the creator because they’ve done an amazing lot of work for you already.
  • Once you know what these new interesting people do, it’s the time to invite them!
  • When you invite people don’t tell them things like the following because you’ll look so freakingly lazy that it’ll be a miracle you get an answer:
    • “hi you’re an awesome female/POC/minority developer can you give a talk at our meetup?”
    • “hi I saw you do node, can you talk about it in our meetup?”
    • etc
  • Instead, tell them what you saw they talked/wrote about and why you’re interested in hearing about it in your meetup. E.g.:
    • “hi, I saw your talk on doing art with node.js and I thought this could be a really interesting topic for our local node.js meetup”
    • “hi, we’ve been running a series of talks on modular frameworks and I thought your talk about frameworks could be a good conclusion to wrap the series”
    • etc…
  • Don’t be fixated on the topic. Make it clear that this is a suggestion, not a requirement. Sometimes people have ideas for a new talk and would love to try them out in a local meetup before submitting to a conference. Tell them you’d be open about this, it makes things more interesting and welcoming!
  • If they say no, don’t be offended. Members of minorities are also at a disadvantage when it comes to things such as free time, so attending a meetup to talk for free is a precious extravaganza few can afford. Some people can barely afford tube tickets!
  • Also, don’t ask them to get you in touch with more people of minorities, because they have better things to do than your own outreach work. If they do offer to do that spontaneously, thank them! Because that is a very nice and expensive gesture on their part.

The above is about people who already have spoken or have put their thoughts online and maybe have got the attention somehow. But you might also want to use your meetup to discover and catapult (not literally!) new speakers. One way to do this is to talk to people of minorities in the meetup, and get to know what they do. Oftentimes you’ll realise that you have amazingly skilled attendees, but you never paid attention to them because your biases were blinding you. That woman sitting quietly in a corner? Not a recruiter–actually the head of development at an agency doing amazing 3D stuff on the browser. The POC nodding as the speaker’s laptop crashes? Lead developer at a company that specialises in aggregating crash data. And so on.

Speaking to people of minorities at meetups without appearing like a total weirdo is quite hard, it turns out. But you could start by bias-checking yourself, and doing simple things such as welcoming visitors if it’s the first time they join you, introducing yourself, asking them “what do you do?” instead of starting with a bias-loaded question like “so, are you a designer?”. And then make a mental note of that, don’t force the conversation too much, and try to remember next time you see them. And build a network gradually. You don’t want to freak people by interrogating them the first time you meet them, or they’ll never go back.

The more varied and diverse your meetup is, the more attractive it will be for people from minorities.

Jed also wrote a very interesting guide about how they have grown their meetup to be welcoming and inclusive:

Phew! This is a lot of text already and I have barely started. I hope it gives you some ideas. Also hope to be able to join the meetups some time this year! I’ll be observing to see if you’re putting this in practice 😉

Notes on JSConf Australia 2016

I spoke at JSConf Australia in Melbourne at the beginning of this month. Like in CSS Conf Australia, the videos haven’t been published individually yet, but the event was streamed live, and you can watch it again… and again… and again…

My brain got into one of those intensely obsessive focused moments pre-talk so I will admit I could barely pay attention to the talks prior to mine—I’m really sorry, specially because I heard so many good things about them!

These notes will be shorter because of that. Apologies if you were expecting a full conference review… but sometimes you cannot get everything you want! 😔

And now to the talks!

Jessica Lord: “Electron: A Tale of Two Processes”

This one was a really enlightening talk about Electron’s architecture. I had no idea it worked that way, and my assumptions were basically wrong. It was good to be shown the truth in an amicable way—like Jessica’s! I really enjoyed this talk and that’s big, considering it was right before mine!

Ruth John: “How to be a Web A/V Artist”

Ruth explained the secrets behind her “Web VJ*” set-up and also managed to produce an even smaller MIDI controller than the last time I spoke to her. It’s as if she kept getting Bluetooth miniatures!

She introduced some comedic elements into the talk but I’m not quite sure they worked for everyone… I felt some of the “funny samples” (like the Windows 9x error sounds) were lost on parts of the audience… that were younger than expected!

*Web VJ sounds so much like a new and upcoming API. Maybe… maybe… navigator.webvj.... 😏

Michaela Lehr: “An Introduction to WebVR”

She had an slightly different take on WebVR, which was really refreshing. She also mentioned things rarely mentioned such as the fact that VR can cause strong psychological and physiological responses on some people, and we need to be mindful of that when we design the new experiences in the web. If certain things are VR only, are we going to exclude some people this way?

Lena Reinhard: “Debugging the Tech Industry”

I have huge respect for Lena—she’s always delivering these immensely difficult talks. It’s hard to be the bearer of bad news. And there are plenty in tech!

Weeks after the talk, I’m still thinking about the message, and trying to come up with ways in which we can build tech that is not “accidentally” hostile to everyone who is not the creator of said tech.

Live.JS + Karaoke(.js?)

After the talks were done and we took the “family photo” and announcements were done, the room was cleared and Matt McKegg and Ruth John set up shop to have one of their Live.js events, like the one in Singapore.

I challenged Matt to “dubstepify” his act, which sort worked because his music is super improvisational.

Once they were done, an impetuous bunch of karaokers took up the stage and starting singing with lots of energy and heart and soul, but also lots of misplaced notes. I described this as “this is when the bar is closed, the last patrons get out and they really want to keep singing the last song the bar was playing, and so they keep singing it in the streets”…

This is when I left—and I was so tired anyway, I could barely stand on my feet, no energy left to listen to extremely eager karaokers—let alone join in the party 😜


Like CSS Conf, this was a really chill and enjoyable conference. I had again lots of interesting conversations–more so on this day because people had seen me speak, so they wanted to ask me questions or just discuss ideas they had had!

I also learnt a few things. All good stuff!

If you are ever faced with the possibility of submitting a proposal for this conference, don’t even think about it—do it! It was really lovely and well organised—I’m very glad I was invited to apply and my proposal was accepted!

Also: Melbourne is such an interesting city… lots of things to look at and explore, from street art to museums to neighbourhoods to just buildings, and of course great food and coffee, although I still can’t stop feeling so confused with “Jingle bells” playing on the background while signs for “Happy summer!” and “Merry Christmas” live side by side on the storefronts!

I feel like I’m missing out on the part of Australian culture that has warm reggae Christmas songs instead. If that doesn’t exist—it MUST be invented!

And this is the last installment of “notes on…” for this year, at least!

Notes on CSSConf Australia 2016

I attended CSSConf Australia in Melbourne on the 30th of November. A couple days ago, I wrote some generic notes about my experience in this conference and JSConf. This post covers specifically my notes for CSSConf.

The videos for the talks have not been published individually, but the conference was streamed live via YouTube, so you can watch the archived stream (you will have to “jump” to each talk):

And now, to my notes!
Continue reading “Notes on CSSConf Australia 2016”

Notes on Web Audio Hackday Singapore 2016

The last installment of notes from my DevFest Asia 2016 trip! Here’s the official day website.

We did three brief presentations:

  • someone (I forgot his name, sorry 😳) introduced BandLab, which is an online service that lets you compose music and also collaborate on it, all together (a bit like “git but for music” except they didn’t use “fork” because it can sound “funny”). Very interesting project, it was enlightening to hear the features that are available depending on specific platforms and limitations, and also how they do use real instruments in their user testing because this is more of a tool to help musicians, not a tool to replace them
  • Matt McKegg introduced the Web Audio node school workshop, for anyone who wants to learn Web Audio but doesn’t know how / where to start
  • And I introduced the MediaRecorder API (here’s an article I wrote), and an experiment I had built for this hackday

This hackday was small, and I didn’t get to stay until the end to see the projects that people worked on, as I had to catch my flight to Australia, but it was good to catch up with Matt, Joshua and Chinmay and learn what they have been up to recently.

For example, Matt has been busy building Ferment, a sort of decentralised peer to peer website/app/service/whatever to share music from creator to creator. It’s built with Electron, Scuttlebot and also WebTorrent—I find it super interesting! I have watched a few talks on all these concepts before but I hadn’t really seen any application that “clicked” everything in place like this one. It’s super exciting to consider that each time you listen to a song you’re becoming another peer and can share it with more people, making the song way more accessible to more listeners. I am already using it, what about you?

Joshua has a folder full of Work-In-Progress projects so there’s no point in me listing all of them—but he’s recently been working on controlling the speed of videos using a bezier curve editor. He was super cool and tried to combine that with MediaRecorder but we found a bug, ooops! Here’s the bug report 😎

I also had the chance to talk to more local developers, and again I was terrible at catching names, but it was fun to see what other people are building with or using Web Audio for. Someone had built a sound board of silly sounds when she was bored with something else, someone else was using Pedalboard.js to experiment with applying live sound effects to the output of his electric ukulele without carrying a whole bunch of hardware with him.

Notes on Live.JS at JSConf.Asia 2016

I had sketched some ideas for the Web Audio Hackday before flying to Singapore, but I really had to finish them before the actual day came. So I spent Friday doing an intense labour of testing, testing and more testing with the latest versions of the browsers that implement MediaRecorder. Since I was on the business of talking and promoting this API, I was determined to get more people to try it out, but that meant that I needed to be prepared for the “surprises” that working with new and upcoming APIs entail. Namely, that what worked yesterday might not work anymore, and what didn’t might have started to work without prior warning.

That said, my infinitely curious self would not resist flying to such a beautiful city as Singapore and not exploring a little bit of it: I squeezed some time out of the morning to visit the Marina Bay gardens, which again I found baffling (botanical gardens which are cooled down instead of heated!), then did a lot of work, and then later in the afternoon I went to the CSS Conf/JS Conf venue, as Live.JS was going to happen.

And “What is Live.JS?”, you might be wondering. Basically it’s a collective that is dedicated to making audio visual shows using JavaScript. JavaScript!!! It’s a bunch of people, but that doesn’t mean that you will always get the same people in each “show”. In this case, it was

  • Matt McKegg, which would play music using his own Loop Drop instrument for live performances. He built it using Google Web Apps initially, then migrated to Electron when GWA was starting to stagnate. He uses two Novation launchpad controllers, and the sound generation itself is via Web Audio. And it is really impressive, if you ask me!
  • Ruth John, who was VJing. Not sure what the name of her software is, but she makes heavy use of CSS variables (to animate stuff), SVG to draw elements on screen, and of course Web Audio’s Analyser nodes to modify the values of variables, in response to the music being played. Also, Web MIDI so she can use external MIDI controllers to do things such as change layer opacities and switching between effects at the turn of a knob, etc.
  • Martin Schuhfuss, who was controlling the lights in the venue using the DMX512 protocol (which happens to be a close MIDI relative) and a Monumental Hack with CSS property interpolation to run light animations: colour, rotation, focus, etc. This was quite impressive to hear!

I personally I’m a big fan of Matt’s music since I saw him live in CampJS, so I was excited about this event. And of course, I was quite intrigued about the visual side of things. Hearing about the techniques underneath made me giggle and be in awe at the same time: “can’t this be done in a better, proper way, or are these hacks just used for the sheer pleasure of subverting the original purpose of the technology?”, I wondered.

In the meantime, “special cocktails” were served—although they were actually called “codetails” in the leaflet:

  • ES4: Old Fashioned
  • jQuery: Rum Punch
  • Outsourced: Curry and tonic
  • Unicode: Unicorn tears (non-alcoholic)

I had “a jQuery” as it seemed the sweetest of the punch, and chatted around with a bunch of people, then went and admired Matt’s total LoopDrop skills, and wondered again if I’d ever understand how it works for reals.

Then I focused my attention on what the lights were doing: many things. I guess my issue was exactly that: they were doing many things, and I was kind of expecting some sort of carefully built progression which would not happen, because the LiveJS people had just met a day or two ago, and Martin had only had access to the light equipment the same day, because obviously you don’t travel from Germany with a rack of professional light equipment. So there’s only so much you can prepare, and given that Matt’s music is so improvisational, I should probably not expect a heavily synchronised audiovisual show. Still, I couldn’t but admire two facts:

  • a browser was interpolating between CSS values and ultimately this was generating MIDI commands that caused spotlights to move and change colours.
  • that the DMX512 standard did indeed work well enough that he could just show up and control DMX512 lights with his software, without further changes

That was super cool!

People often fixate in the business value of JavaScript, but it’s important to also consider JavaScript as a creative medium which has lots of potential expressivity and also reach by virtue of being online. I’m glad that Live.JS exists to inspire and support this, and I’d love to see even more exploration in this field. Bring it on! 🤘🏼

Here’s the video of this event: