Last week I had the good fortune to visit Montreal and attend the Node+JS Interactive conference, 2019 edition. It’s nice being able to attend a conference anonymously without the expectations that would materialize whenever I attended Magento’s Image conference.
These are just some quick high level thoughts on the talks I attended — if time allows I’ll come back and post video links when/if they appear.
During this talk Colin made a few candid comments about the difficulty of getting the native grpc module compiled and working everywhere — my system one thinking brain thought this might be some anti-C/C++ bias, but as I’d learn later in the conference that’s certainly not the case.
How Node.js Bootstraps Itself: 2019 Edition
Keeping on the native code theme, this talk, given by Joyee Cheung, was exactly the sort of high level introduction to “what the heck even is nodejs” that I’ve been looking for. Compared to large frameworks in the dynamic language spaces (Symfony, Django, Ruby in Rails, etc.), C and C++ projects can often seem like sprawling messes where the boundaries between subsystems aren’t always clear. Joyee’s talk was a map of all those sub systems, and how they interact with one another.
Workshop: Build your First VS Code Extension
My first workshop, and a bit of a mixed bag. First — both workshops I attended just weren’t long enough. Presenters did what they could to jam in as much content as possible. I have no idea what goes into scheduling a conference, but I hope the organizers can give these workshops the space they need to breath.
Introduction to libuv: What’s a Unicorn Velociraptor?
My day two started with another talk from Colin Ihrig — this time an introduction to libuv. This talk was the first time I really understood what libuv was about and for. Usually when peoplw write or talk about libuv and node they say something something event loop async — but Colin’s talk made me realize that a better introduction to libuv might be “it provides you cross-OS APIs that do systems programmer-y things, including asynchronous input/output.
This was also the talk where I realized my initial impression of Colin’s comments about the grpc native module were flat-out wrong — it’s pretty clear that a libuv core maintainer’s not going to have an anti-C/C++ bias (or if they do, it’s a pretty well informed one). There’s probably a lesson to learn about first impressions in there.
Like his GRPC talk, Colin laid out the fundamental concepts at work in libuv that would allow folks interesting in getting involved understand what the project is all about. He also shared an interesting story about libuv’s testing systems, and how the project was able to “cheat” themselves into much better code coverage by adopting the node project’s test suite into their own continuous integration system.
James Snell’s Broken Promises talk contained a lot of useful information about ways promise code can go wrong in the real world, and how that can have disastrous implications for your program’s performance.The talk was, for me, hurt a bit by the character James was playing on stage — a lot of “why are people even doing this crazy stuff but they are”.
The longer I’ve been doing this the less and less resonance the idea “your/their shitty code” has for me. Yes, there’s a lot of code out there where the programmers clearly don’t have a full (or any) understanding of the API they’re using — but if you’ve worked more than a week in this business you’ve probably done similar things when faced with a deadline.
The redux/hooks transition (or whether it is a transition) is another undercurrent that ran through the conference this year. From what I’ve gathered both these projects are systems for managing your component’s state — i.e. if you’re wondering where you stick your ajax/service/https calls to fetch state and then assign that state to your React component, these projects are for you.
The workshop was useful to me, but (like the other workshops) suffered from a lack of time. Presenters David Clements and Matteo Collina made the best of it though and I’m looking forward to them taking their two man show onto the vaudeville circuit.