Gepost op vrijdag 27 maart 2020 om 13:44u.

Node conf EU 2019: A Codious adventure

About a year ago, I learned about node conf EU, the largest Europe based Node.js conference. I immediately did some research and it was love at first sight. Because it is such a large conference and our company focusses on Node.js as primary back-end technology, I was able to convince my bosses to make arrangements. What you will read next is my full experience of this awesome conference, so please follow me!

The Journey

The Node conf EU 2019 was hosted in Kilkenny Ireland and Codious is based in Belgium.
This meant that we had to go through a whole journey to get there.
First of there is no direct flight from a Belgian airport to Kilkenny, instead we had to fly to Dublin and the distance between Kilkenny and Dublin is roughly 130 km (80 miles) if you take a car.
Luckily there was a train from Dublin to Kilkenny that could take us there, low cost and pretty fast.
However… the train station is nowhere near the airport. Again, the Irish thought about that as well and have bus transportation from the airport to the train station. To sum up: we had to take a plane to Dublin (~1h 45m), a bus to the Heuston bus station (~1h) and finally a train to Kilkenny (~1h 25m).
That is about 4 hours and 10 minutes (quick math’s) without the waiting times in between.
Having to travel for half a day is not that fun, right? But I must say, I would do it again, because the conference was that fun!
I also had the advantage that I did not have to do it alone, I was there with some awesome coworkers and in between waits we had some beers, some food and interesting chats.

Ireland

After all that travel, we were finally in Kilkenny Ireland!
It was my first time in Ireland (and British Isles in general) and I must say, it was fantastic!
Short list of what stuck with me:

The Conference

In very short: Node conf is a conference about – you guessed it, Node.js.
It is the largest Node.js conference in Europe and attracts people from all around the world.
It’s a four-day conference with talks, workshop and recreational activities. I want to start off by saying that they did an amazing job in planning and taking care of logistics: The day before the first conference day, there was a reception so that a lot of the people could already collect their badge (and goodie bag of course), by doing this they avoided long waiting lines on the first day of the conference.

The venue

The conference was at the Lyrath estate, a beautiful historic 17th Century Estate House, home to a hotel, a spa and a convention center. All lunches and dinners (except for 1) were at the hotel’s restaurant and were very tasty and catered. The main talks were at the biggest room of the convention center. What I really liked was that there were tables for everyone to sit at with water, a pen and a notebook.
Conference location

The watch

What about the watch you ask? A few years ago, the node conf organizers thought of a nifty way to enhance the conference experience: a digital badge! This year, they went even further and gave every attendee a digital watch called Bangle.js (or nodewatch), a Hackable, Open Source JavaScript and TensorFlow-driven Smartwatch. NearForm and Gordon Williams created the watch that runs on Espruino for a kickstarter and we were the first ones to get our hands on it. They organized workshops during the conference to learn how to use and write apps for the device. I don’t know about you, but I thought this was an incredible creative and fun idea of Node conf Eu!
the watch

The talks

First of I would like to say that all talks were interesting and worthwhile, but some of them stood out for me and I will tell you a bit more about them. I am not going to go over all the talks as it would be a bit much. But if you are interested, you can find a link to all the talks at the end of the article.
Let it crash! (Juian Duque – Heroku )
YouTube video
Julián had some interesting insides on why you should let your Node.js app crash instead of trying to recover from specific types of errors.
He started off with giving some good practices to monitor your code like adding healthchecks and proper logging.
But what should you do if something does go wrong: you let it crash!
Why? First of a Node.js process is very lightweight with a small memory footprint, so if you make sure the startup is lean (not a lot of operations) it will be very fast and easy to restart. There are a few extra hooks you can use if your process exits so that you can have a more graceful shutdown and log important information:

Exit hook

Before exit hook

SIGTERM

SIGINT

uncaught exception

unhandled rejection

So, when should you crash? If you have an uncaughtException or an unhandledRejection!
DO NOT try to recover from any of these errors because it can lead to memory leaks, a bad application state or hanging sockets. Other good practices Julián discuses: have graceful shutdowns and use loggers (e.g: Winston)
Braille.js. Bringing together accessibility, JavaScript and IoT (Theodore Vorillas – Workable)
YouTube video
Theodore’s talk was one of my favorite talks and the technical part was not the only reason. The reason why he decided to create Braille.js was very noble. He talked about how hard it is for people with vision impairment all over the world. The statistics Theodore shows don’t lie: Some of the things that cause these numbers are the high cost of both Braille books (6 – 8 times more than regular books) and Braille equipment (e.g.: Braille display: 500 – 8000 dollars). Theodore thought about what we can do as a community and tried to build a prototype of a device that can help us teach yourself Braille.
He set up some criteria/goals to build the hardware: He used an Arduino uno as hardware and johnny-five so that he could use NodeJS (instead of C). He explained how the made the physical Braille cell, he told us that every letter is represented by an array of 6 ‘pins’ that can have a value of 0 or 1.
He showed some details of the implementation and gave a demo and I must say, I was impressed! If you have that chance, watch the full video of this talk, you won’t regret it! The project and more information can be found at https://github.com/braillejs.
Shaping electron: we get by with a little help from our friends (Shelley Voor – GITHUB)
YouTube video
From the moment Shelley started talking, you could tell she is an amazing speaker. The talk was very smooth and well explained. Shelly explains how Electron’s dependencies work together and how they are used to enable you to write applications with Electron. For those of you who don’t know Electron: in short Electron is a JavaScript framework for creating desktop apps with web technologies.
Electron (mainly) relies on V8, NodeJs, chromium and gin. Electron does not replace the native language but rather transforms to it.
Node’s task in Electron mainly consists of file system and network capabilities by using native bindings. V8 allows Electron to create JavaScript objects in C++, by initialization of the native binding. Gen makes it easier for Chromium and V8 to work together, it allows us to marshal types.
Gen uses a dictionary to write bindings.
Visualizing cloud architectures in real time with d3.js (Julie Ng – Microsoft)
YouTube video
Julie is a cloud solution architect at Microsoft and has been working with could technologies for what she calls forever. When applications started to grow an became more complex, she felt that It got harder to monitor and manage the microservices. Julie noticed a problem with traditional architecture diagrams: Classic diagrams show intent but in a very static way, they are not real-time and thus quickly outdated.
Also, what do the arrows indicate? Dependencies? Data flow? (The arrows mason, what do they mean?)
Julie thought to herself: we can do this better… I like to code… why not do it in code?
Something like that already exists, but it has its flaws. E.g.: Automated architecture diagrams from azure. The biggest issue with it is that is shows ALL information that is currently there and that is way too much and can get out of control.
Here is a look at Julie’s approach: To combine all these things and make is visual, she chose d3.js for data driven documents and she created Newton Graph.

The workshops

Every day of the conference, there were a variety of workshops in the afternoon. We were asked to reserve a spot a few weeks before the conference started. There were a lot of interesting ones, and I almost felt sad I could not attend more than 1 each day. The workshops were worked out very well with manageable groups and motivated mentors.

Out of the ones my team and I attended, ‘Code and learn’ by James Snell was my favorite. We were taught how to contribute to open source and got a chance to make a contribution to the Node Js library itself!

Final thoughts

I would strongly recommend employers to sponsor their employees to go to conferences in general. Last but not least, I would like to thank the Node conf organization, sponsors, the speakers, the attendees, Ireland, my colleagues, my HR officer and my bosses for this amazing experience!
the watch