Category Archives: Events

How to organise a WebGL event

I got asked this:

Going to organize a series of open, and free, events covering WebGL / Web API […]

We ended up opting for an educational workshop format. Knowing you have experience with WebGL, I’d like to ask you if you woudl support us in setting up the materials […]

In the interest of helping more people that might be wanting to start a WebGL group in their town, I’m posting the answer I gave them:

I think you’re putting too much faith on me

I first learnt maths and then OpenGL and then WebGL. I can’t possibly give you a step by step tutorial that mimics my learning process.

If you have no prior experience with WebGL, I suggest you either look for a (somewhat) local speaker and try to get them to give an introductory talk. Probably people that attend the event will be interested in WebGL already or will get interested after the talk.

Then just get someone from the audience excited about WebGL and have them give the next talk

If you can’t find any speaker, then you’ll need to become one, and for that you’ll need to document yourself. I can’t write a curriculum for you, as it will take way more time than I currently have. WebGL implies many things, from understanding JavaScript to understanding 3D geometry and maths, to how to set the whole system up and running on a browser.

Or can start by learning to use a library such as three.js and once you become acquainted with its fundamentals, start digging into “pure WebGL” if you want, for example writing your own custom shaders.

Or another thing you could do is get together a bunch of people interested in WebGL and try to follow along the tutorials on WebGL or the examples on three.js. So people can discuss aloud what they understand and what they don’t, and help and learn from each other.

I hope this helps you find your way around this incredibly vast subject! Good luck and have fun!

Now you know how to do this. Go and organise events! EASY!

It’s actually not easy.

Notes on FOSDEM 2015

FOSDEM finished a few hours ago and I’m almost literally fusing with the couch from where I’m writing this, bad body posture and all. It’s the best I can do.

I presented the latest project I’ve been working on, node-firefox, at the Mozilla track today. I was screencasting my talk but there were mechanical difficulties (namely the VGA plug disconnected), and Quicktime went bananas with the resolution change, so you’ll have to wait until the recordings for 2015 are published to watch the talk. By the way, kudos to Ioana Chiorean for her well researched introductory notes for each speaker. She never ceases to amaze me :-)

It was really challenging to give this talk because there was people getting in and out of the room all the time, other people speaking out loud, and others playing games on a tablet (with sound effects!) and it was all so distracting that at some point I said something like “sorry, I’m really distracted”. I don’t know if that’s a “speaker faux pas“, but it was the truth! Ahhh! At least neither my live demos or Nightly crashed, so there’s that ;-)

I will write a post on node-firefox soon–probably for the Mozilla Hacks blog.

I spent most of Saturday finishing code + the talk so I only had the chance to watch a few talks by other Mozilla colleagues, and they were really interesting. Probably my favourite was Marco Zehe’s plea for rethinking the way we approach accessibility: it should not be an afterthought or a “nice to have” feature, it should be built-in from day zero. And it’s not only about blindness, it’s about motor impairment, cognitive impairment, color blindness… It’s not only about being able to “tab” between elements, but also about being able to understand their meaning. So many things we take for granted! We need to build for the people, but I feel we need to change our front-end culture of chasing the shiniest and nicest framework in order to get there.

I also wasn’t really thrilled about getting into the event itself. I found on Saturday that it didn’t have a code of conduct, or rather, it had a “social conduct policy” that verged on the antisocial:

The FOSDEM organisers were surprised to hear that harassment is a common problem at open source conferences around the world…

For an event this size, I expected them to have a code. I didn’t even bother to check! Even more, Mozilla is supposed to not to sponsor or attend events without a Code of Conduct. This was really disappointing. A year ago, I decided to never attend another conference without them. And there I was in Brussels and with a talk on my hands. What do I do? Do I just give up or just go ahead and do it?

I decided to do it anyway.

I sometimes go to places I don’t really feel like going to, so that someone else won’t feel like they’re the only one “not man”. It helps normalising the fact that women do exist in this field. It also puts a strain on me, but I want to think/hope that it will be less straining over time, as more and more diverse attendees join me.

Then on my way in, there was a group of Spaniards discussing out loud how German women are or not attractive. I’m highlighting “Spaniards” here because I am a native Spanish speaker, and I can be pretty sure there was no “misunderstanding” or cultural barrier here. I perfectly understood what they said. And when I hear that, I start wondering if they’re going to be discussing the rest of women they see at the event, the type of thoughts that are going through their minds, and that makes me uncomfortable.

Walking down the halls, I got those looks I hadn’t got in a few years—more specifically, since I stopped attending heavily sexist demoscene parties: “Oh, a woman!”. My colleagues that attended FOSDEM before had assured me it was a great event and it was all OK, but they are all men and their perception surely doesn’t include getting treated as an anomaly of sorts.

Thankfully, many attendees have called for a proper code of conduct. FOSDEM has replied, in a convoluted way, what many interpret as “we will have a code of conduct”:

Code of Conduct, message received. Booklet statement not evolved for 3 years, our way of handling issues has and will continue to improve. #

Some other attendees had made a fool of themselves declaring that CoC are not needed and “women are actually not interested in technology and engineering”. Pau, your behaviour is a good reason why women won’t apply to speak at FOSDEM. Have you stopped and considered that perhaps, maybe perhaps, women have less opportunities to change plans on a month’s notice and that’s why they can’t attend? Gah…

This “incident” aside, I had difficulty enjoying the event because of its busyness. The fact that it was all free and open for anyone to attend meant there was A LOT of people around, and while there were limits on the number of people inside a room for security reasons, there was no limit on the number of people circulating or just being on the halls. It was noisy and hot and damp, and as we say in Spanish “it smells like humanity” :-P . So if you have issues with crowded places, perhaps FOSDEM is not a place you want to be in.

I certainly won’t go back until they sort out their Code of Conduct and inclusiveness issues.

CascadiaJS 2015

I can’t attend this year, as I have to be somewhere in Europe at that time, but the two Cascadia events (2013 and 2014) I’ve attended have been some of the best conferences I’ve ever been to, both from the point of view of speaker and listener. Everybody is extremely supportive, respectful and welcoming, the organisers care an awful lot about you, I always come back with new friends and ideas, and learn a ton of stuff.

Their CFP is open until the 15th of March; please submit a talk! Or just attend and enjoy it! Trust me–you will!

I feel CascadiaJS 2013 was the first “proper talk” I gave. It took me a bunch of attempts until I got it sort-of-right! I also had lots of help from more experienced speakers, but specially Angelina Fabbro, who patiently sat down through my initial talk drafts, despite the terrible jetlag they were experiencing, and helped me edit and reshape the talk until it had the right flow. Then, the audience at Cascadia was wonderful, they were super forgiving of all the mistakes I was committing, and just laughed and engaged with me in a way that made it essentially impossible to give a bad talk.

A group of us were going to get lunch at La Taqueria in Vancouver, and Raquel Velez, who I admired, was there. I was fairly new to conferences and Mozilla in general, and I only knew Angelina from that group. I shyly introduced myself to Raquel, and she was approachable and open and made me feel super at ease. And then we sat down at a little park nearby to eat the tacos, and had this beautiful picture taken:

One of my fondest memories of the conference!

Sadly Raquel wasn’t at Cascadia 2014 but the rest of us did meet for dinner again last year, and with more new friends we found at the conference (hiii Florida!). It was great to discuss how things had changed, or not, and just generally be merry.

Another great memory of 2014 was CJ Silverio’s talk. I generally don’t get really moved in the same way that North American audiences get. Maybe I’m this boring grumpy ice-hearted European person, but listening to CJ made me, for the first time ever, want to stand up and clap like there was no tomorrow. I was part of that thing they call “standing ovation”. I felt like it wasn’t only me-there was more people like me. We were not alone! This is what Cascadia is great at.

Not the first time I link this video, and probably not the last one either:

My offer to you, potential speaker

I know I will miss being there this year, but being the troublemaker that I am, I want to sort of be there somehow. So if you’re unsure about proposing a talk, or propose the talk and get accepted and then are panicking because it’s actually your first talk and you don’t even know where to start, get in touch with me and I’ll help you. Go do it! :-)

Notes on the Web Audio Conference

I’m writing this from Paris after two days of web audio discussions on the Web Audio Conference: I think my brain hasn’t processed everything yet and I couldn’t even attend all the talks and events as I’ve got to prepare for FOSDEM and work on my normal duties too.

So I’ll be somewhat vague and generic to start with, and possibly keep editing the post to add links to things.

If you follow me on twitter you might have seen a lot of tweets during the conference. Lots of libraries and tools were presented. It was great that, as Jan Monschke mentioned, they all were open source and encouraged contributions. It is also, I believe, a symptom that there is SO MUCH WORK to do on this field that people feel underpowered and unable to build all that we need in order to get as creative/expressive as we’d like, or at least, as we can be in other platforms.

So that was cool. However, I can learn about tools and libraries from the comfort of my home and chair. What is really cool is being able to take part in “the hallway track” discussions and do some “networking”, but this is something the conference didn’t really facilitate. The schedule was really TIGHT, and didn’t leave time to process / discuss the new ideas with the people around you, let alone think about them yourself. It all felt really crammed together.

Granted, there was some time for questions after each talk, but I don’t think that’s the right moment or place.

Correction/update: there is an afternoon “hacks” session at Mozilla today which can be used for networking/discussion.

There were a few more aspects that were Not Cool At All, such as the whole line up of speakers being mostly white and male. I think I could count with one hand the number of women on the room (me included) and I’d still have free fingers. In other contexts this would have been outrageous. I tried to encourage diverse groups to send their proposals, and it didn’t work, but I don’t want to make myself feel exclusively responsible for this.

Finally, some members of the conference staff were overly zealous and made me feel incredibly uncomfortable: repeated bag searches on the way in, by the same security officer. Being addressed/yelled at in French, and policed all the time even when in our office. I was yelled at when trying to get some water from the table before lunch because it wasn’t the right time yet (but there wasn’t any other water to drink!). Some of my colleagues were told not to take drinks from the office kitchen’s fridge even if they are Mozilla employees (!!). Some people need to chill down. C h i l l d o w n.

The Web Audio conference is a wonderful and so very much needed forum. At times it even felt like a magic pioneering place, a one of a kind meeting that we were fortunate and privileged to be part of. I want/expect it to get better and better in future editions :-)

Introduction to Web Components

I had the pleasure and honour to be the opening speaker for the first ever London Web Components meetup! Yay!

There was no video recording, but I remembered to record a screencast! It’s a bit messy and noisy, but if you couldn’t attend, this is better than nothing.

It also includes all the Q&A!

Some of the things people are worried about, which I think are interesting if you’re working on Web Components in any way:

  • How can I use them in production reliably?
  • What’s the best way to get started i.e. where do I start? do you migrate the whole thing with a new framework? or do you start little by little?
  • How would them affect SEO and accessibility? the best option is probably to extend existing elements where possible using the is="" idiom so you can add to the existing functionality
  • How do Web Components interact with other libraries? e.g. jQuery or React. Why would one use Web Components instead of Angular directives for example?
  • And if we use jQuery with components aren’t we back to “square one”?
  • What are examples of web components in production we can look at? e.g. the famous GitHub time element custom element.
  • Putting the whole app in just one tag yes/no: verging towards the NO, makes people uneasy
  • How does the hyphen thing work? It’s for preventing people registering existing elements, and also casual namespacing. It’s not perfect and won’t avoid clashes, some idea is to allow a way to delay the registration until the name of the element is provided so you can register it in the same way that you can require() something in node and don’t care what the internal name of such module is.

Only one person in the audience was using Web Components in production (that would be Wilson with Firefox OS, tee hee!) and about 10 or so were using them to play around and experiment, and consistently using Polymer… except Firefox OS, which uses just vanilla JS.

Slides are here and here’s the source code.

I’m really glad that I convinced my awesome colleague Wilson Page to join us too, as he has loads of experience implementing Web Components in Firefox OS and so he could provide lots of interesting commentary. Hopefully he will speak at a future event!

Join the meet-up so you can be informed when there’s a new one happening!