Fathom recently attended the NodeconfEU conference at Lyrath Estate in Kilkenny, Ireland.
NodeconfEU is an annual event that brings together member of the global NodeJS community. The main event organizer was Nearform, who were the main sponsors along with IBM and Microsoft. Red Hat, Google and Nodesource also sponsored.
We’ve picked out a few of the things we liked below but there were many other highlights.
Nearform’s CEO, Cian O’Maidin welcomed us and spoke about the need for companies to give as well as take for Open Source ti flourish. Then, on to the talks. The program included both talks and hands-on workshops, as well as a great program of social activities.
We had in-depth coverage of some of the newest features making their way into NodeJS and the V8 engine. There was much coverage of performance, both how to optimize your own code and how the platforms are being improved.
Gil Tayar had a very interesting talk on the new Native ES modules that are coming to NodeJS (and the browser). On the surface, they look incredibly similar to CommonJS modules, but the differences are important. In his talk Gil described these differences, the consequences of these differences, and how to start preparing for Native ES Modules. According to Gil, we need to really understand them because it is going to be a difficult transition “because the differences are subtle and they bite”.
Trivikram Kamat gave a very interesting talk on how we can get involved in contributing to Node.js Core. Later, there was a workshop with pre-prepared simple contribution tasks. It was very satisfying to make a Node core pull request and have it accepted, no matter how trivial the task. It’s on our TODO list to follow up and make some more meaningful contributions in the future.
Gabriel Schulhof’s talk gave us an overview of N-API, the new API for building native add-ons. It is independent tfrom the underlying JavaScript runtime and is maintained as part of Node.js itself. This API will be Application Binary Interface (ABI) stable across versions of Node.js. It is intended to insulate Addons from changes in the underlying JavaScript engine and allow modules compiled for one major version to run on later major versions of Node.js without recompilation. Later, Michael Dawson headed up a workshop in which we developed some simple modules with C and C++ code.
Bryan Hughes had a really great session on best practices for documenting Open Source Software. It never ceases to amaze us how people can write such incredibly good software and fail so miserably in documenting it. We believe that good documentation is the key to adoption and Bryan is a great advocate for just that. Critically, he offers great practical advice on how to get it right.
There were a number of talks that touched on performance. We mentioned N_API above, Emil Bay talked about Web Assembly or WASM, Peter Marshall had a great talk on Orinoco, the new V8 Garbage Collector, providing insight into the challenges of incrementally changing a garbage collection model. Matteo Collina gave a great talk on how to analyse your own code and identify performance bottlenecks. He also led a workshop using NodeClinic to help with that analysis with some real world examples.
And, there was something for the IoT folks too. Nearform produced a digital conference badge, powered by Espruino, the embedded JS engine. As well as displaying your name, it could remind you of events (e.g. lunch) with two motors for vibration and RGB LEDs to flash. It also had a rechargeable Lithium battery with USB charging, accelerometer and compass, buttons to control the menu items and Blutooth to talk to base stations that communicated back to a server. And, there was a workshop with Gordon Williams showing us how to program the badge.