Tag Archives: talks

Open letter to someone that should know better

I didn’t pick all the setup (the phones, the mixing table, the laptop etc) right after I finished my talk at JSConf.BP. To make the conference happen more smoothly, I just disconnected my laptop from the projector and left everything else there so the next speaker could do his duties without me being in their way. I rushed outside and essentially BREATHED a big sigh of relief.


(my setup)

There was a guy serving cold brew coffee on the lobby, and Karolina was waxing lyrical about how great it was, but I didn’t want to drink any before the talk because otherwise I get super HYPER and speak too fast. And at last… I could drink that coffee!

Allow me to reiterate that I was outside the main room, enjoying the coffee and talking to Karolina and to anyone who asked me things about my talk or just discussed parts of it, and so I wasn’t listening to the next speaker.

A little bit before he finished, Karolina went in, because her MC duties called for it. I decided to get inside again, and stood on the right side of the room, leaning against the wall and waiting for the speaker to finish. He tried to play some video but he was getting no sound out of it. Each time he pressed the volume button, he got the “forbidden” sign. I guessed why: HDMI devices report an output sound device which doesn’t actually accept volume changes, and he wanted to use the audio jack output which is the internal sound card, so he should either have changed devices or the conference should have connected the HDMI output to the sound system, but I expected he would find out. Or the technician would show up out from nowhere, as they always do, and fix it.

Either way, I was leaning on the wall, enjoying this semianonymity, and didn’t want to start yelling out of nowhere: CHANGE YOUR OUTPUT DEVICEEEEE!!!, because that’s quite rude.

Eventually he played the video, but without audio. Well!

When he finished I went up the stage to pick all my abundance of hardware. He was discussing with one of the organisers that he hadn’t got the audio to work or something, something, something. I joked that I knew what was the issue, as it happens all the time in our office when we have meetups, but I didn’t want to correct them in public because it was such a jerk move. And then I just went and picked my stuff and packed it all into my suitcase-backpack. Szabolcs guided me to where I could leave my belongings safely and out of the way, and that was it. I WAS DONEEEE and I could also now listen to the rest of the talks without worrying about my belongings being scattered around the stage! Yay!

Fast forward to Friday night, when I attended the after party where I essentially distributed stickers and had a good time talking to people I hadn’t had time to talk to before.

It was all great! until at some point someone said they wanted to discuss something privately with me… I was intrigued. What could this be?

So they told me that the speaker after me had dismissed our work and said that whatever we were working on, they were already doing at his company, and when they heard him say so, “they felt so bad because it really sounded so out of place!”.

And this was all news to me! Because, as I mentioned before, I wasn’t in the cinema when this happened! And so I told him, and I couldn’t really comment anything else without hearing it myself first.

As it happens, the conference was live streamed via ustream. Which was then archived. And so yesterday I decided to watch it out of pure curiosity (was that guy really being that out of place? or was it just the perception from the audience?).

But they were right. The next speaker had decided that even if my talk was “awesome”, if people cared about security they should look at his project which “already works”, “doesn’t need any of that master device” things and is “also open source”. Then he dictated the github url of said project.

This is probably the biggest well actually-ed I have ever been, and I wasn’t even there! So it’s like NEXT LEVEL WELL ACTUALLY. Congratulations… not!

You see, when you’re up in the stage you’re granted special powers. Everyone is going to listen to you for ~20 minutes, and that is an immense privilege that you need to use wisely. What you say during that time might have profound impact on the audience. You need to be very careful and work hard on being a good example, because they’re here to listen to and learn from you, and so if you behave poorly, they might think it’s OK to behave poorly as well.

And so when you chose to well-actually me, when I wasn’t present, and dismissing the work me and Mozilla are doing, well, that wasn’t classy. You’re telling people that it’s OK to not to be classy.

This is unacceptable. I expect way more from you.

You know what would have been lovely? You find me after your talk is done, and we have a coffee and you tell me about your amazing project. I would have looked at it, probably learnt incredible things from it, and I might even be writing about it right now, instead of this letter.

You could also have asked me why I am building this project the way I am building it, instead of dismissing the master-client structure. I could have told you that when you play music, you normally have a single, unique global clock. Have you ever seen an orchestra with multiple conductors? I bet you haven’t. This is the same.

Trust me, I can understand your terrible urge to be RIGHT above everything and everybody else and correct them on the spot. I used to be an insufferable know-it-all too, but that was when I was a teenager and didn’t know any better. Time has taught me that instacorrecting people in public tends to come back like a deadly boomerang—they end up finding the most embarrassing errors either in my reasoning or understanding, turns out the corrector is the one who’s wrong here, and I want to hide and blush to death under the table.

My advice? Don’t instacorrect. Make a note to investigate that thing that is making you twist in your chair, and think more about it before you even open your mouth or get to the twitters. Did you really understand it? Is the other person THAT WRONG? And even if they are, what are you here for—your talk or correcting other people?

There is a fine line between humility and self-deprecation. I know my project is not perfect (for god’s sake, didn’t you see the todo list already?), and our implementation is not perfect, but that doesn’t make it any less impressive on its own. And people find that it inspires and makes them happy.

We can do great things with JavaScript today, and we are working to make even greater things. We are not afraid to admit our shortcomings. But the way you pointed them out was really cringeworthy.

You should know better.

Superturbocharging Firefox OS app development with node-firefox

Well, that’s funny–I finish writing a few modules for (potentially) node-firefox and then on the same day I discover the recording for my FOSDEM talk on node-firefox is online!

It’s probably not the best recording you’ve ever seen, as it is not recording the output of my laptop, but here are the slides too if you want to see my fabulously curated GIFs (and you know you want to). Here’s also the source of the slides, and the article for Mozilla Hacks that presents node-firefox and which might probably help you more than watching the video with the slides.

If you’re interested in watching the other Mozilla talks at FOSDEM they’re here.

jQuery UK 2015

I attended jQuery UK past week, sorry about the delay in writing about it :-)

The organisation was as smooth as it could be. They made sure we knew where, how and when to go to places and treated us really well, so it was a pleasure to be a speaker in this conference.

I must admit I was stupidly silly with regards to the conference at the very beginning. My programming bias elitism was yelling on my brain “oh I MIGHT NOT NEED jQUERY! Who needs it these days anyway!?”

But turns out that

  1. there’s lots of people who cannot afford to compromise on customer support, so they have to go the pragmatic way, and
  2. there’s a lot about newest web technologies we can share with them too!

So when they asked me to talk about Web Components I opted to frame it in the most pragmatic way too: how to use them without shooting yourself in the foot, so you can start working in a more modular way and taking in all those advantages.

I asked before starting and from an audience of… 300? 400 people? approximately 20 had heard about Web Components and about 10? had implemented them in a project. So I ran a quick introduction on what they were, why they were developed and how they looked like, before tackling them interoperating with the four main “frameworks”: jQuery, React, Ember and Angular.

A write up on the results of my research is upcoming, but in the meantime you can look at the slides if you’re so inclined. Be aware that something in Nightly was crashing with the slides at the time I presented, so if your browser crashes (including Nightly for Android)… you know why 😉

The talks I watched:

Addy Osmani gave an excellent talk on the state of Chrome’s developer tools and then explained how their team identified performance issues on Wikipedia, and how to fix them (this was related to Paul Irish advising people to not to use jQuery’s hide() method). Also, Paul is sorry for tweeting that without the proper context.

Natasha Rooney explained what Service Workers were and what problems they were meant to solve, but I am afraid if you had not a bit of background it would be a little bit confusing as the topic is *complex*.

Andy Hume explained various techniques on how to deliver fast experiences specially on mobile.

Alex Sexton infused us with a bit of South-West American culture and told us about don’t mess with Texas, then tried to find an equivalent for the web (don’t mess for the web?) with regards to hacking/building websites that cannot be hacked.

Jenn Schiffer explained all about vart.institute* and how it came to be. Also provided multiple screenshots of Dave Methvin keynoting at various jQuery events, which was quite amusing. And invited us to feel more empathy for people in the industry, which is a good thing if you ask me. *you can read it as fart and feel silly and it would also be totally OK

Estelle Weyl gave a very interesting talk on how to use forms and take advantage of all the cool features that browsers are already providing us but some people opt to rewrite in clumsy ways that go against all accessibility and usability best practices.

Ben Foxall did one of his shows (at this point we should call those a performance rather than giving a talk) where he involved everyone on the audience and elevated our phones from mere “phones” to interactive objects or “things” that transcend the simplest notion of “phone”.

I’m sorry I couldn’t watch the rest of talks, but it was great to meet Alice Bartlett, Rosie Campbell, Anne-Gaelle Colom, Rich Harris, Philip Roberts, David Rousset, and of course, Bodil Stokke!

After the last talk finished, we moved to the larger ‘hall’ style space where there were some snacks and drinks and people could mingle and ask questions if they hadn’t had the chance yet, so that was way better for me than going to a crammed pub, as I could walk between groups and speak to different people and not YELL ALL THE TIME. There were also some stands and also RETRO GAMES but I started talking to people and forgot to check out the games. AAAAH! Funny moment: Mike MacCana getting super excited about how he could help them setup multiplayer in DOOM using IPX.

All in all a very interesting conference for people who build websites and are willing to improve their practices or tooling… or both! I definitely learnt a bunch of things, so highly recommend checking it out next year!

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.

Questions time after a talk: what about no?

Expanding on my tweet:

I strongly dislike this.

My reasoning is that people often ask questions that…

  • they can themselves answer by going to the project’s websites. For example: “What is the LICENSE?”, or
  • are only of interest to them

In addition,

  • there’s a lot of WELL, ACTUALLY… that we don’t ACTUALLY need to hear, as in “you said X but I guess you ACTUALLY meant Y, am I right?” or “but why did you use X when Y is so much better?” (when they have an special non-disclosed interest in Y)
  • sometimes the question cannot be answered because you need time to check the answer, so it makes the speaker look stupid and it’s not their fault
  • or sometimes the speaker will give you a wrong answer because they are on stage and they are nervous and you just asked them a thing they didn’t rehearse and that will make them look stupid too

and therefore these five minutes would be better used for stretching your legs and leaving people’s brain some time to rest and digest before asking anything.

Or maybe do as Scotland JS did past year, and have a post-talk side track where people who are interested on expanding the subject of the talk can go and discuss further with the speaker.

(By the way, Scotland JS’s CFP is open, go submit, it’s a great conference! Notes on 2014: day 1 and day 2)