"The disconnected ensemble", at JSConf.Budapest

Here I am in Budapest (for the first time ever ?)! I'm back in the hotel after having a quick dinner on my own. I didn't join the party because I had a massive headache and also I was getting so sleepy, no coffee could fight that (also probably the two things were related). But once I started wandering towards my hotel I found myself feeling so much better, and stumbled upon a cosy nice place and ended up stopping there for some food.

When I came back from the speakers' dinner yesterday, I practiced setting up all my stuff and going through the demos again, which are in fact ran on real, physical devices, i.e. phones.

Because this is early days it is sometimes a bit flimsy and although it is generally quite robust, we shouldn't forget the fact that I'm running Nightly builds and using pre-production APIs which are also barely documented. I'm probably one of the few developers using those APIs without also having written their implementations too, so I'm surely doing things wrong.

And yesterday night was one of those "everything is crashing and I hate my life" moments:

  • The "master device" i.e. the Nexus 4 that acts as provider of musical toys got confused and wouldn't stop serving me Animated GIFs of cats. Which is good but not what I wanted.
  • So I uninstalled the catserver app, but then the app with the musical toys disappeared as well (wut!?)
  • I connected it to my laptop to push the app again. The laptop would not find the device. Turns out it was the USB cable, so replacing it with another one was enough. Still, panic: what if adb has stopped working completely and I can't push the app to the phone!!!???
  • Then my two Flames refused to connect to the WiFi. No, make it that they refused to even enable the WiFi. Thankfully, I fixed that by restarting (like so many things in life).
  • But then one of the Flames would report NFC available and up, but would not respond to NFC bumps. I somehow fixed that by removing the cover and putting it back again after gently caressing the NFC antenna contacts (wut?!)
  • Then I found that bumping the Nexus 4 against my Nexus 5 would end up in either no result, or on the Nexus 4 restarting Gaia (i.e. not a hard restart but just the UI)

There were more things but those were the most terrifying. I fixed everything and went to sleep, but I kept waking up every 2 hours with my brain going all...

  • this is going to crash on stage
  • the Nexus 4 will run out of battery and you'll be done
  • the Nexus 5 will give up being a hotspot in your face
  • the WiFi will be jammed by other people in the conference
  • your slides will crash
  • this will teach you not to commit yourself to live demos next time
  • why hardware demos?
  • etc etc etc

And I kept telling to my brain:


But it didn't really work because it kept waking me up. Urgh.

Turns out that everything has gone quite smoothly, nothing has crashed, and also the organisers of the conference have been super great, because they didn't forget my request for a table with a camera pointing to it, in which I could install all the equipment and people in the audience could see what was going on, so it's been super coooool. Thanks, organisers! :D

I also want to thank Sufian for willing to join this pop up band and play JS-Theremin without any hesitation! Yay! 8-)

If you're intrigued about this live act, I'm doing this talk next week in Manchester for UpFrontConf and in Melbourne for CampJS. Also, yes: I'm going to spend an incredible amount of time travelling, but I'm also super excited because I haven't been to Manchester in almost 20 years and I've never been to Australia sooooo I'm all pumped. WEEEEEEEEEEEEE! ??