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 Asia 2016

Previous notes on this conference were decidedly minimalist due to my massive jetlag and lack of rest. Let’s fix it now that I’m back to London–and also the videos are out!

I arrived to Singapore the day before the conference started, i.e. I was to be on a stage less than 24 hours after setting my feet on Singaporean land. This, you imagine well, is nothing less than a recipe for disaster. I slept little on the plane, and when I arrived to the hotel I just had a shower (ah that first shower after a long haul flight…!), went to the mall downstairs to get some food and came back to keep obsessing over my slides until I couldn’t resist it anymore, and went to finally sleep in a proper bed, although not enough, but I would not have been able to sleep more because I was agitated about the talk anyway.

So I was not in my best shape. I was cold, tired, unable to really articulate complicated thoughts. The only thing that was getting me going was adrenaline at that point, and copious amounts of it, judging by the crash afterwards. But let’s not anticipate events…

The venue

It was very nice and warm outdoors, specially coming from London where it was dark and chilly to the bone and we were wearing not only scarves but also gloves! and even hats! One of my favourite things about hot weather is that it’s the perfect excuse to have iced lattes. And so cold drink in hand I went to the theatre where the conference was held.

The entrance hall was fine, but indoors… indoors was a totally different experience. You needed one or two additional layers of clothes to be comfortable—more so if you’re not feeling great, as I was. Still, I sat and listened to the speakers before me.

Much as I love JS, I tend to have a sweet spot for CSS conf talks. They gravitate more towards design, UX and (would you believe it) CSS, which are topics which don’t usually attract the same level of attention, but affect everyone the same or more. So I was genuinely excited for the talks!

The talks

Rachel Andrews: Laying Out The Future With Grid And Flexbox

I had seen an earlier version of this talk last year at Fronteers in Amsterdam. Back then I sort of missed more examples, but this time there were plenty of them, and it was a very informative and useful talk. Plus many of the techniques will be available in stable browsers some time this year—do watch it and start learning so you can start using Grid this year! (you can already use flexbox today).

Kenneth Ormandy: Syntax Highlight Everything

When Kenneth started speaking, super fast and super charged, my first thought was “oh wow I don’t think I can handle this in my current state”… but I pushed myself to listen and the more I listened the more enthralled I became. There was so much good material, although the title seemed a bit contrived and slightly disconnected from the actual talk content: started talking about syntax highlighting but ended up going through new CSS font features…? But maybe if I rewatch it again I’ll think otherwise:

Chris Lienert: Access All Areas

A poignant talk on accessibility and best practices. Definitely got me thinking.

Sarah Drasner: Functional Animation

Sadly I didn’t finish watching this one, but what I saw was really good. Lots of info about do’s and don’ts about animation on the web, user flow, UX… all very good stuff! Happy to finally see the whole talk now!

And my talk: make websites, not apps

Normally, I find it this “hot outdoors-freezing indoors” concept baffling. But in this context it was debilitating.

Half way during my talk I noticed my hands were shaking because of the cold. The only other time I’ve felt like that was during my talk at CampJS 2015, but we were outdoors and it was almost winter, and at least I had a hot cup of coffee in my hand back then! Here I was just trying to squeeze some sense out of my tired, jetlagged brain while working really hard to vocalise and not shiver uncontrollably. Ahhh!

Still, I think it wasn’t too bad: I got the message across. Many people reached out to me afterwards, saying they felt very empowered by my advice and excited to keep practising their craft –CSS– and becoming even more proficient at it, without feeling demeaned or less of a developer because of they not using or developing JavaScript, or not developing apps.

Others were also excited by the prospect of rendering engines such as Servo‘s WebRender making their life easier so they can write readable CSS without worrying about implementation details or using obscure hacks.

Even more, someone got inspired by the key concept in my talk (building along the Web’s direction) and gave a lightning talk:

Thanks, Souvik! (slides are here, but unfortunately I don’t think the lightning talks were recorded).

So I will call it a success. I am not done with “banging this drum” yet, and a proper write up is coming, but you can check out my talk in the meantime:

(gosh, I sound so tired)

In which Sole eventually becomes really debilitated and leaves the venue to rest

My talk was the last one before lunch. Joshua Koo (mighty three.js contributor which wrote the text class amongst other cool particle stuff) suddenly became our restaurant guide, as a local. So we went to this indian vegetarian place, and it was lovely.

The issue is that we sat in a long table, and more and more people kept adding themselves to the group. What was initially 4 people grew to 6, 8, 10… I lost track. And people started to wait for each other’s food before starting to eat, which is fine in a table of four, but not when you have lost track of how many people are in the table. Cold bread is bad bread.

I was so hungry. I think I had had a muffin or something ridiculous like that, very early in the morning, and didn’t snack on anything on the first break. So I was really suffering as my food was in front of me and I was not able to eat it due to following the ‘social construct’, and meanwhile it was getting cold, and because I hadn’t slept or eaten much, I was also getting colder and colder. Eventually I gave up and started grabbing bits of the bread, and someone else kind of started doing the same, and the people whose food hadn’t come yet gave us the ‘approval’ to eat, so we could stop pretending to just be content with some morsels, and eat for reals.

We talked about various experiments we were working on. Joshua has always so many ideas going on! Sounds familiar? I showed him my early 3d presentation framework prototype, which heavily relies on his text to 3D code!

Unfortunately after about 15 minutes my adrenaline seemed to be gone. My brain refused to listen much more—I guess it preferred to focus on the food I had just given it. I started to zone out, and become more of a listener than an active person at the table. Soon after we went back to the conference venue for the next talks. Sarah was speaking, and it sounded so great and informative, but 2 minutes after I sat down I started to not only feel really cold beyond anything I had felt before, but also see things flying past my eyes. At which time I decided it was stupid to keep torturing myself, and I went back to the hotel for “a 15 minutes nap”.

It was way more than that.

I woke up with the usual disturbed sleep weirdness: dry mouth, a terrible headache, hungry again, and specially: not cold, and not seeing flying things past my eyes! Wonderful!

The conference was almost over—and with that and my massive headache, there was no point in going back. And I had already done my talk! It was OK. I walked around the neighbourhood. I found a strange shopping mall full of used text book shops. Shop after shop of text books, and other books, and office supplies and office furniture. Also a massive art and crafts store. A most peculiar shopping mall. Colonial houses mingling with practical high density colourful blocks. Clean streets. I walked through all that in a sort of dream state—am I really here? How is this so warm and nice, it was very cold yesterday? Or was it the day before yesterday already?

I had dinner, and went to bed again, happy to have met so many nice people and have inspired at least a handful of them. The community was very open and respectful, and it was really wonderful to talk to them, hear what they are working on, what they’re concerned about and learn about how the tech scene is right now in Singapore. I am still genuinely sorry that I was in such a terrible state and couldn’t make the most out of the conversation 😭

Thanks to Thomas, Aysha and Zell for having me! It was a pleasure 😃

Talking about Servo in Hackference Birmingham 2016

I visited Birmingham for the very first time last week, to give a talk at Hackference. Apparently the organiser always swears that it will always be the last hackference, and it has been “the last one” for the last four editions. Teehehe!

I spoke about Servo. They didn’t record the talks but I did an screencast, so here’s it:

📽 Here are the slides, if you want to follow along (or maybe run the demos!). The demos come from the servo-experiments repository, if you want to try more demos than the ones I showed.

If you watched this talk at ColdFrontConf, this one has more clarifications added to it, so complicated aspects should be easier to follow now (specially the explanations about layout calculations, optimisations, parallelisation and work stealing algorithms).

People enjoyed the talk!

Someone even forked one the dogemania experiment to display other images:

And Martin got so intrigued about Servo, he even sent a PR!

I didn’t get to see much of the city, to be honest, but two things caught my attention:

a) it was quite empty even during ‘rush hours’
b) people were quite calm and chill

That’s perhaps why Jessica Rose is always saying that Birmingham is The Absolute Best place. I will have to find out some other time!

A very funny thing / activity / experiment happened in the slot before my talk. It was a reenactment of the BBC’s Just A Minute show, which I have never watched in my life. Essentially you have 4 participants and each one has a little device to “stop the show” when the active participant messes up. The active participant has to speak for a minute on a given topic, but they cannot hesitate or repeat words, so it starts getting challenging! This was organised and conducted by Andrew Faraday, who also helped run the Web Audio London meetup a while ago and is always an interesting nice person to talk to.

So this, this was hilarious beyond anything I expected. I guess because I didn’t expect any funny thing in particular, and also because I didn’t have any preconception of any of the participants being a “funny person” per se, so the whole comedy came from the situation and their reactions. It had some memorable moments, such as Terence Eden’s “unexploded item in bagging area” (in relation to the Samsung Galaxy Note 7 exploding fiasco, plus the very annoying voice that anyone who’s ever used a self-service checkout till in the UK will recognise 😏).

After so much laughing, I was super relaxed when the time for my talk came! Every conference should have Andrew doing this. It was excellent!

Other interesting talks and things:

  • Felienne Hermans’ on machine learning and bridge playing AIs built with DSLs built with F# – I basically don’t know much about any of these subjects, so I figured this could be an interesting challenge. You can watch this recording of this talk from another conference, if intrigued.
  • Martin Splitt’s aka geekonaut talk on WebGL – if you have the chance to watch it, it will be quite informative for people who want to get started in WebGL and learn about what it can do for you
  • I’m certainly not a Web Audio beginner, but I tend to watch those talks anyway as I am always curious to see how other people present on Web Audio. Hugh Rawlinson‘s presentation on Web Audio had a few interesting nuggets like Audiocrawl, which showcases the most interesting things in Web Audio. He also worked on meyda, which is a library to do feature detection using Web Audio.
  • Jonathan Kingsley gave one of the most depressing and hilarious talks I’ve seen in a long time. IoT is such a disaster, and the Dyn DDoS attack via IoT devices, just a couple hours after this talk, was so on point, it almost seemed deliberate.
  • Finally Remy declared his love for the web and encouraged everyone to get better and be better to others – and also stressed that you don’t need to use all the latest fashions in order to be a web developer. It’s good when renowned speakers like Remy admit to not to like frameworks, despite also seeing their strengths. A bit of balance never hurt anyone!

The conference had a very low key tone, let’s say that it was a bit “organise as you go”, but due to the small scale of the conference that wasn’t much of a problem. As I mentioned before, everything was pretty chill and everyone was very approachable and willing to help you sort things out. It’s not like a had a terrible problem, anyway: my biggest problem was that my badge had been temporarily lost, but no one told me off for not wearing a badge while inside the venue, and I eventually got it, heheh. So yeah, nice and friendly people, both attendees and organisers.

I also liked that everything was super close to the train station. So there was no need for additional transportation, and we could use the many food places in the station to have lunch, which was super convenient.

Oh and Jessica as MC was the best, I really enjoyed the introductions she prepared for each speaker, and the way she led the time between talks, and she was really funny, unless presenters that think they are funny (but aren’t).

If you have the chance, attend the next Hackference! It might the last one! 😝

Here are other conference write ups: from Dan Pope and from Flaki (who stayed for the hackathon during the week-end).

“Hands-On Web Audio” at London JS meetup

I gave my “Hands-On Web Audio” talk at the London JS meetup, held at the offices of Just Eat. It was broadcasted as a Hangout, and also recorded so you can replay or see if you couldn’t attend:

BAAAAH they seem to have deleted or disabled the video. BAHHHHH!

If you want to play along, the slides are live here and here is the source code as well. Disclaimer: depending on your computer, they might be a bit too much in both Firefox or Chrome. There seems to have been a regression and the intro sound is extremely stuttering in “slower” computers (slower as in “a MacBook Retina”).

It was a bit awkward because their big screen was actually six TVs and most of the content in my slides is centered vertically on the slide, which coincided with the middle of the frames, so it was quite unreadable. That is why you’ll hear a number of comments akin to “oh this is very inconvenient” from me, during the talk.

After I finished the talk itself, we had a round of questions, and I also showed how to debug web audio with the Web Audio editor in Firefox DevTools.

Feedback on the talk seems really positive and I’m happy people got interested in playing with the Web Audio API and making dubstep! YES!

Great talk! I left inspired to go play. I’d used some features of the audio API before but Sole’s enthusiasm and dubstep obsession triggered a string desire to get creative with it again.

Spectacular demo by Soledad. She really knows what she’s talking about

I’m really happy that people were happy and interested in the API 🙂

Side note, 1

A few people asked me about the slides: how are they made?! are they WebGL?! can they use the system to make their own slides?

Answer: they are WebGL, and they use three.js underneath. Right now the system is quite hardcoded, but I’m happy to announce that I’m working on refactoring the code so anyone can build their own 3D slide deck, using their own demo scenes. So I guess I am building a slide deck framework… 😬 #sendhelp

You can have a look at the project here, but don’t send me requests yet, kthx. An online demo is available as well. Right now it can only render basic H1-H4 and P nodes… in 3D! Not bad!

Side note, 2

I was really excited that I made it to the meetup (!), because I forgot my phone home that morning. I found out when I was in the office already, and I didn’t want to go back. So I printed the map and started cycling to the meetup place. Except I didn’t know very well the area, so I got lost twice. Not too bad though, I stopped and produced my paper map and let people look at me with weird looks (“she’s looking at a paper map!”). Anyway, I used:

a) my brain, instead of trusting everything to a GPS enabled device
b) those little maps in the street showing where you are

and I made it!

The way back was easier as I knew the area before. I tracked my route using my fitbit, and was really pleased to see that I had reached almost 30km/h on my humble Brompton.

It was coincidentally also Cycle To Work day yesterday, so I was doubly pleased that I cycled to work and also to meet up.

Should there be a Cycle To Meetup day too? I think so 😏