Wrapping up GUADEC 2017

I’m now back home after attending GUADEC 2017 in Manchester, followed by a week of half-vacation traveling around the Netherlands and visiting old friends. It was a fantastic opportunity to meet others in the GNOME community once again; having gone to a few hackfests and conferences in the past two years, I now recognize many friendly faces that I am happy to get a chance to see from time to time.


Here’s what I attended during the conference; I’ll link to the videos and provide a sentence or two of commentary.

  • The GNOME Way, Allan Day (video) — for me, one of the two highlights of the conference, a great statement of what makes GNOME tick, and a great opener for its 20th birthday.
  • Limited Connectivity, Endless Apps, Joaquim Rocha (video) — although already familiar to me, it was a nice overview of the product that I work on at Endless.
  • State of the Builder, Christian Hergert — one of these days I will start using Builder as soon as I can find some time to get it to learn my preferred keybindings.
  • The Battle over Our Technology, Karen Sandler (video) — the second of the two conference highlights, a timely reminder of why free software is important.
  • Seamless Integration to Hack Desktop Applications, Simon Schampijer (video) — my coworker and fellow-person-whose-last-name-gets-pronounced-wrong Simon showed off one of the most empowering features that I have ever seen.
  • Progressive Web Apps: an Opportunity for GNOME, Stephen Pearce (video) — I have been reading a lot about progressive web apps recently and am both excited and skeptical. (Stephen also made a webkit game in GJS in just one day.)
  • Different Ways of Outreaching Newcomers, Julita Inca (video) — it was fantastic to see this legendary GNOME mentor and organizer speak in person.
  • Lightning talks by the GSoC and Outreachy interns (video) — I always admire the intern sessions because I would have soiled myself had I had to speak to a 300-person conference room back when I was an intern. Hopefully next year the interns will have a session earlier in the day so their audience is fresher though! Also a shout out to my coworkers Kate Lasalle-Klein and Robin Tafel who are not interns but also gave a lightning talk during this session about working together with the GNOME design team. (If you’re looking for it in the other lightning talk video, you’re not finding it because it was in this session.)
  • Fantastic Layouts and Where to Find Them, Martin Abente Lahaye (video) — a great introduction to Emeus, the constraint layout manager, with a surprise appearance from an airplane hack.
  • Replacing C Library Code with Rust: What I Learned, Federico Mena Quintero (slides) — I am mentoring a Summer of Code student, Luke, who is doing some investigation into converting parts of GJS into Rust, and this talk really helped me understand some things from his work that I’ve been struggling with.
  • Continuous: Past, Present, Future, Emmanuele Bassi (video) — this talk made me want to help out on that lonely, lonely build sheriff mountain.
  • A Brief History of GNOME, Jonathan Blandford (video) — I had seen it before, but an hour well spent.
  • GNOME to 2020 and Beyond, Neil McGovern (video) — by turns optimistic and pessimistic, the new GNOME executive director talked about the future.
  • What’s Coverity Static Analysis Ever Done for Us?, Philip Withnall (video) — my coworker and fellow-person-with-an-excellent-first-name Philip talked about static analysis, which I cannot wait to start using on GJS.
  • Building a Secure Desktop with GNOME Technologies, Matthew Garrett (video) — the excellent “raise your hand if your system is bugging you to install an update right now” line made this talk for me.
  • GNOME Build Strategies and BuildStream, Tristan Van Berkom (video) — not quite what I expected, but luckily I got a better idea of what BuildStream does from the unconference session.
  • Bringing GNOME Home to Ubuntu, Tim Lunn (video) — it was a pleasure to meet Tim in person, who did the SpiderMonkey porting work on GJS before me, and whose commits I have often referred to.
  • GitLab, Carlos Soriano — I’m really excited to kick Bugzilla out of my workflow as soon as I can.
  • Microsoft ❤️ Linux, Julian Atanasoae — If nothing else Julian is brave to get up in front of this audience and sing the praises of Microsoft. I am skeptically optimistic; sure, Microsoft is doing some great things for open source, I even had a slide about some Microsoft tools in my talk, but on the other hand let’s not forget they were still trying to undermine and destroy our community not too long ago.
  • How to Get Better Mileage out of Glade, Juan Pablo Ugarte (video) — Slides created in Glade, what more could you ask for?
  • Lightning talks (video) —The highlight for me of the second lightning talk session was Sri’s self-described “rant.” There were a few talks in the lineup that I felt it was too bad didn’t get any time.

There were also so many talks that were programmed opposite the talks that I decided to go see. It seemed like that happened more often than last year! (Either my interests have broadened, or the quality of the talks is increasing…) I will be watching many videos in the coming days, now that they have been released, but I was especially sad not to see the two talks on animations by Jakub Steiner and Tobias Bernard because they were opposite (and immediately after, respectively) my own talk!

And the video of my talk is now published as well, although like many people I find it excruciating to watch myself on video; the rest of you can watch it, I’ll watch this instead.


The unconference part of the conference (where people propose topics, get together with like-minded attendees in a conference room, and talk or work together) was held in a nice workspace. I had one session on GJS on Monday where we first discussed how the Ubuntu desktop team (I got to meet Ken VanDine, Iain Lane, and Chris Coulson, as well as connect with Tim Lunn again) was going to deploy Mozilla’s security updates to Javascript (and therefore GJS and GNOME Shell) in Ubuntu’s long-term support releases. Then Stephen Pearce joined and suggested a GJS working group in order to make development more visible.

Later I joined the GNOME Shell performance session where I rebased Christian Hergert’s GJS profiler code and showed Jonas Adahl how it worked; we profiled opening and closing the overview.

On the second day I joined the Continuous and Builder sessions. Builder was looking good on a giant TV set!

On the third day I attended the BuildStream session and I’m quite excited about trying it out for a development workflow while hacking on a component of a Flatpak runtime, which is a shaky task at best using the current Flatpak tools.

In the afternoon I technically “had another GJS session” though it’s my experience on the third unconference day that all the sessions melt into one. This time many people went on a hike in the afternoon. I was very sad to have missed it, since I love hiking, but I was having an allergy attack at the time which made it difficult for me to be outside. However, I spent the afternoon working on the GObject class stuff for GJS instead, and chatting with people.

Social events

This GUADEC conference had the best social event on Saturday night: a GNOME 20th birthday party, complete with cake, old farts Q&A panel, trivia quiz, raffle, and a blast from the past dance floor with music from back when GNOME started. There was even an afterparty way into the small hours … which I did not go to because my talk was in the first slot on Sunday morning!

Apart from that there were many opportunities to connect with people, from day 1 through 6. One thing I like about GUADEC is that the days are not stuffed full of talks and there is plenty of time to have casual conversations with people. One “hallway session” that I had, for example, was a conversation with Marco Barisione, talking about the reverse debuggers RR and UndoDB. Another was with with Sri Ramkrishna, following on from his lightning “rant” on Sunday, about what kind of help beginning app writers are looking for, whether they can get it from tutorials or Stack Overflow, and what kinds of things get in their way.


Many thanks to the GNOME Foundation for sponsoring my attendance. I’m really glad to have been able to join in this year.


Modern Javascript in GNOME – GUADEC 2017 talk

I gave a presentation at GUADEC 2017 this morning on modern Javascript in GNOME, the topic of the last few posts on this blog. As I promised during the talk, here are the slides. There is a beefy appendix after the questions slide, with details about all the new language features, that you are welcome to use as a reference.

Thanks to the GNOME Foundation for the travel sponsorship, to my employer Endless for paying for some of this work, and especially to Rob McQueen for the last-minute loan of a USB-C video adapter!

Official badge from the GUADEC website: "I'm going to The GNOME Conference GUADEC Manchester, United Kingdom"

Rain in the Desert

My employer, FOM, held their yearly national physics conference again in the town of Veldhoven. It’s always a good opportunity to catch up with people and learn about whatever’s been going on recently in Dutch physics research.

This year, the chairman of the executive board, Niek Lopes Cardozo, opened the conference with a short speech. To my astonishment, he concluded by urging the conference attendees to use Twitter during the conference! This was underscored by two giant projected video screens out in the main hall, scrolling messages from the #FOMveldhoven stream.

How does one set about the task of tweeting about a physics conference? I’m all for getting physicists, who are among the most conservative of scientists, to use exciting new technologies, but in this case I was skeptical. It sounded to me like the proverbial Underpants Gnomes’ half-baked business plan:

  1. Use Twitter.
  2. ???
  3. Profit!

…coming the way it did, with little more explanation than “Tweet for Science!” Possibly there was some metaphorical idolatry involved too, as if a consultant had advised FOM that they needed to “leverage the power of social media” and then leaned back in expectation of managers bowing down before him.

I have the unfortunate habit that when I see somebody’s golden calf, I have to poke at it until it falls over. So I decided to plunge wholeheartedly into it, skeptically but with an open mind.

This was new ground for me. I did already have a Twitter account, although I barely post more than once a month. I use it mostly to read other people’s messages. I thought this would be a nice experiment to try and see what ways I could come up with to put it to actual useful use at a conference.

Unfortunately, the results were underwhelming. It was a lot of inane chatter that in my opinion was a waste of time to read and participate in. Neither can I say that my own messages were very scientifically newsworthy — and it follows from symmetry that if I didn’t think other people’s tweets were interesting then they probably didn’t think mine were.

Here’s what kinds of things went on:

  • The usual let-off-steam tweets about trains being late.
  • Lots of chatter in Dutch from FOM. Of course people are free to tweet in whatever language they like, but projecting tweets on a big screen at an international conference in a language that less than half of the attendees speak is not going to make them disposed to participate.
  • Tweets about Twitter itself: can we get #FOMveldhoven to trend, who’ll be the most active Twitterer at the conference, etc. Meta-conversation is the refuge for people who really don’t have anything to say.
  • Tweets about lunch.
  • People exclaiming which talk they were going to, or at, or had just visited. This was the first reasonably useful Twitter phenomenon at the conference. There were not really any people advertising their own talks, but I found out why that was when I went to give my own talk: I was too busy setting up my laptop and concentrating to get out my phone and type a message, and it would have been disruptive to the person who went before me anyway.
  • Tweets about dinner.
  • People repeating the statistic of how many people there were at dinner including someone who didn’t get the chairman’s joke that it was a “world record in Veldhoven” (one-horse town where the conference is held) and tweeted that it was a real world record.
  • Tweets about how fascinating the after-dinner talk was. I thought the talk was fascinating too. So much so, that I paid attention to the speaker while he was speaking. When I got out my phone afterwards, I was half-amused and half-shocked to see how many people had publicly claimed they were listening raptly on a medium that made it impossible for that to be true. (You’d think this was the nadir, but it wasn’t. Read on.)
  • A snide political remark from me about the junior minister of Education which I later thought better of and deleted. Not my proudest moment.
  • Drunk tweets from people in the nerd disco.
  • The absolute nadir: “Rain in the desert! I saw a beautiful girl at #FOMveldhoven” (later deleted) and “Is this being moderated? Beer and boobs #FOMveldhoven” Congratulations assholes, you’ve just undone more progress for women in physics than any “20% female professors by 2020” policy can do. And seriously, only a physicist could be so socially retarded that, instead of telling a woman she’s beautiful, he manages to tell hundreds of others they’re ugly.

I’m convinced that the lack of useful content is because nobody really knew how to put Twitter to work at a physics conference. For example, it didn’t occur to me to post the slides from my talk online until the day after it was over — but I was surprised that I was the only one who posted any slides at all! Twitter is a powerful tool, but it won’t work for you if you don’t know how to use it, and I don’t know how to use it. Apparently hardly anyone else did at this conference either.

Accordingly, following along with the conference on Twitter would have been nice if it hadn’t been shoved into our faces quite so much. Exhorting the attendees in the opening speech and projecting the tweets on a big screen makes people feel expected to join in. Feeling expected to follow along with it makes it all the more annoying when it turns out to be a waste of time. It should have been optional.

I’d like to amend what I tweeted near the beginning of the conference. I said, “Twitter isn’t magical. Tweeting random crap from a conference doesn’t automatically make it nifty.” Twitter can actually make magical things happen, but like most magical things in this world, you can’t just wave a wad of cash around and say “I’ma get me some of that.”

Presentation Poetry

I attended a lunch talk on Tuesday in which the speaker opened by saying how much he enjoyed mathematical modeling. So much, in fact, that it had inspired him to write a poem, which he recited for us from his first slide. He was no T. S. Eliot, but that would have been a bit too much for a lunch talk anyway. As it was, the audience didn’t quite seem to know what to do with the poem, but there’s physicists for you.

Whenever I give a talk or present a poster I always try to search for some gimmick that will stand out in people’s minds, and give me a way to distinguish my message from that of the other talks or posters. I’ve never quite been able to do that to my own satisfaction. What I usually end up doing is taking particular care to produce well-designed, uncluttered slides and hoping the audience notices the difference. They probably don’t, since my ideal of scientific information design is to be neat and unobtrusive.

The best way to make an unforgettable impression is to get your audience to laugh at something entirely frivolous right at the start, but I think you need to have been a scientist for longer than I have if you want to get away with that and still be taken seriously. Starting off with a four-line poem, on the other hand, was cute and stylish. It was unobtrusive like good slide design, but not unnoticeable. It made those who could appreciate it smile; and those who couldn’t simply had a “What?” moment before the real scientific content started. It certainly didn’t detract from taking the speaker seriously.

Now, if only I could find a similar gimmick that fits my personality more than poetry.