Conference: FullStack London 2019

JavaScript, Node.js & the Internet of Things

Piotr Zientara
Appnroll Publication
5 min readAug 8, 2019

--

photo taken on the first day

Three day conferences can be a bit of an endeavour, even if you’re not an organizer or speaker. Organising a conference is something I know quite a lot about as I arranged ConFrontJS 2018, with the support of the whole WarsawJS Community.

In this short post I wanted to emphasize the highlights of the conference that appeared to me as significant, worth remembering and sharing.

All of my questions were answered

I found answers to questions I wouldn’t normally ask, which came about due to confrontation, not with me but rather with speaker’s talks. You can find a series of three questions below that you might find interesting too (you can find all of the talk recordings in the conference program).

The talks I’ve chosen to discuss briefly focus on subjects that interested me as the previous CTO of App’n’roll: React, Performance, PWA and Browsers, in depth. I was also a little worried that there were very few DevOps talks in the programme, but Skała, my friend from the WarsawJS Community, who booked the flight and the hostel with me, gave me an awesome introduction to Kubernetes! This was an intellectual adventure and that was one of the many positive side effects of his company!

What are micro and macro tasks in the event loop?

Max Gallo in his lightning talk Banding time with RxJS made my day, as thanks to him I got the idea that there are actually TWO queues in the Event Loop (as implemented in V8):

There is one queue for micro tasks and one for macro tasks. The macro tasks can be resolved only when all microtasks are done, this means that microtasks are similar to a privileged queue at the airport, they go first until all of them are done. He explained it using the airport example with the priority queue and the normal queue at the airport — when tasks appear in the priority queue, they go first!

What is the UI Backend of the browser?

So, Rakhi Sharma taught me (personally, as I asked questions and got a more detailed answer after the talk) more about how the browser works behind the screens, from the perspective of the browsers code (AFAIK, she analysed C++ of Firefox’s render engine — not to be confused with the JS engine). You can watch the presentation here.

The ‘UI Backend’ is a technical term used to describe all that is rendered in the window as ‘UI Frontend’ i.e. the user interface of the browser — bookmarks, tabs, menus and so on. The part that enlightened me is that the render engine is separate to the JS engine so that both are rendered separately. Although, after loading all of the JavaScript and rendering the Document Object Model (DOM), the rendering and JS execution overlaps and happens in frames. This is something I learned when I watched another presentation ‘Done in 0.0166666666 Seconds’ by Alex Moldovan.

Why is the performance of the CNN website so poor?

Yep, the performance of this webpage in interactions with the user is really terrible (still true on 28th of July 2019 with hover events, but the mobile navigation bar looks fixed!). Go to a mobile view of the site and try to scroll so that the lazy loaded images go up, and then try to hover the links. There are seriously long delays. Why?

Dropped frames! We can see them in the performance inspector after doing some recording of the performance. One of the reasons they appear are long running handlers. Beware of this issue when you’re using the onscroll event!

Why did Trishul display a Polish flag using a Bluetooth API from his PWA?

It was very interesting for me how Progressive Web Applications (PWAs) are making progress and how much can be achieved using just the webAPI. Trishul showed us that we can even integrate via the Bluetooth API with a Bluetooth bulb and diode display. Here you can see some of the other amazing stuff PWAs can do using Trishul’s examples.

You know what? Small world! Trishul works in Munich together with my first JavaScript mentor (who’s Polish). My mentor taught me over four years ago in Warsaw, so I guess he inspired the flag colors! This leads me to confess the real treasure of this conference, that is, the people!

The people I met made a huge difference

A group selfie with a cow

From this perspective (forgive me, I’m not going to focus purely on things I learned as the title of the blogpost might indicate), the best results are achieved when organisers manage to deliver a warm atmosphere and create a feeling of security and acceptance. Attendees were open to ask questions, ready to make new friends and happy to join the party or go for a beer after learning for the whole day.

I was lucky to find myself on a DevOps workshop on using CircleCI, prepared by Angel Rivera. The coolest thing, which made all of the other great things happen, was that Cornelia who gave a talk on state management in Angular had an idea to go together to the nearest pub with the group that remained until the end of the day (that’s the group I always trust!).

The idea was just to have a beer at first but we end up partying hard! London style! That was the shortest way to learn more details about programming a Global Positioning System (GPS) from a US Space Force recruit (amazing)! It was as though we were collectively charging up our energy for the next conference, in the company of optimistic geeks!

To sum it up in a couple of sentences

A conference is like a box of chocolates. “You never know what you’re gonna get.”

That’s what makes it fun. You truly have a different experience by being part of and living the conference, instead of just watching the talks.

Hopefully, I could give you (dear reader) a taste of what it was like to be attendees, joining the conference live and adding some perspective. It was an experience worth having, I hope we see each other on a conference as good as FullStack London 2019! I can’t wait for the next one.

We’d love to hear from you

If you’re interested in hiring an epic development team, drop us an email (hello@appnroll.com) so that we can schedule a call.

If you’ve been inspired, let us know! Please feel free to share your experiences with us in the comments below or via social media (send us some photos or videos too), you can find us on Facebook, Twitter, Instagram, Behance and Pinterest, let’s connect!

To learn more about App’n’roll, take a look at out our website and our other posts.

--

--