Adventures in Nodeland logo

Adventures in Nodeland

Subscribe
Archives
October 27, 2021

NodeConf, Node.js v17 and other Adventures in Nodeland - Issue #32

Hi Everyone! This edition is all about NodeConf and Node v17. I have been visiting Milan last week, it has been pretty amazing to relax after an hectic NodeConf week!

After I published a picture on social media about me being in Milan I met up with Tomas (the other Fastify lead dev) who was passing though Milan by chance. What an encounter: last time we saw each other in person was over two years ago in Austria for WorkerConf!

The next bit of news is that my NodeConf talk “Multithreaded logging with Pino” is now on Youtube together with all the others. Check it out:

Multithreaded Logging with Pino - Matteo Collina
Multithreaded Logging with Pino - Matteo Collina

I’m really proud of one of my teams. They are shipping a new GraphQL implementation that got a speed-up of 100x. How we did it? Here is the thread explaining it all:

Node.js

It’s October and it’s time to release Node v17.0.0 and promote Node v16.13.0 to LTS! I have been using Node.js as my daily driver for the last couple of months!

Read up at:

Node.js 17 is here!
Node.js 17 is here!
This blog was written by Bethany Griggs, with additional contributions from the Node.js Technical Steering Committee and project collaborators. We’re excited to announce that Node.js 17 was released today!
medium.com
Node.js 17 is here!
Node.js 17 is here!
This blog was written by Bethany Griggs, with additional contributions from the Node.js Technical Steering Committee and project collaborators. We’re excited to announce that Node.js 17 was released today!
medium.com

I spent some time implementing a load balancing concept inside Undici. This could be useful in case we want to interconnect some services directly without the use of Nginx or Haproxy. Check it out:

Implements BalancedPool by mcollina · Pull Request #1064 · nodejs/undici · GitHub
Implements BalancedPool by mcollina · Pull Request #1064 · nodejs/undici · GitHub
An HTTP/1.1 client, written from scratch for Node.js - Implements BalancedPool by mcollina · Pull Request #1064 · nodejs/undici
github.com
Implements BalancedPool by mcollina · Pull Request #1064 · nodejs/undici · GitHub
Implements BalancedPool by mcollina · Pull Request #1064 · nodejs/undici · GitHub
An HTTP/1.1 client, written from scratch for Node.js - Implements BalancedPool by mcollina · Pull Request #1064 · nodejs/undici
github.com

We have quickly implemented it inside Mercurius GraphQL gateway.

Added Load Balancing support to the Gateway by mcollina · Pull Request #608 · mercurius-js/mercurius · GitHub
Added Load Balancing support to the Gateway by mcollina · Pull Request #608 · mercurius-js/mercurius · GitHub
Implement GraphQL servers and gateways with Fastify - Added Load Balancing support to the Gateway by mcollina · Pull Request #608 · mercurius-js/mercurius
github.com
Added Load Balancing support to the Gateway by mcollina · Pull Request #608 · mercurius-js/mercurius · GitHub
Added Load Balancing support to the Gateway by mcollina · Pull Request #608 · mercurius-js/mercurius · GitHub
Implement GraphQL servers and gateways with Fastify - Added Load Balancing support to the Gateway by mcollina · Pull Request #608 · mercurius-js/mercurius
github.com

Pino

Every new features come with bugs, and I have put my fair share of them in the new pino@7 release. Here is me fixing one:

Flush on exit by mcollina · Pull Request #1185 · pinojs/pino · GitHub
Flush on exit by mcollina · Pull Request #1185 · pinojs/pino · GitHub
Fixes #1183
github.com
Flush on exit by mcollina · Pull Request #1185 · pinojs/pino · GitHub
Flush on exit by mcollina · Pull Request #1185 · pinojs/pino · GitHub
Fixes #1183
github.com

News

Over the weekend the maintainer of ua-parser-js was compromised and the module was released with malicious code. Read more at:

ua-parser-js vulnerabilities - GHSA-pjwm-rvh2-c87w - GitHub Advisory Database
ua-parser-js vulnerabilities - GHSA-pjwm-rvh2-c87w - GitHub Advisory Database
The npm package ua-parser-js had three versions published with malicious code. Users of affected versions (0.7.29, 0.8.0, 1.0.0) should upgrade as soon as possible and check their systems for suspicious activity. See this issue for details as they unfold.
Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.
github.com

After meeting Shawn in Manhattan and Honolulu I started to really appreciate his deep insight and economic reasoning of the tech industry. This blog post of Cloudflare vs AWS depicts a new Cloud reality that is unfolding as we speak.

Eating the Cloud from Outside In ∊ swyx.io
Eating the Cloud from Outside In ∊ swyx.io
AWS is playing Chess. Cloudflare is playing Go. #cloud #aws #strategy Read time: 7 minutes |
www.swyx.io
Eating the Cloud from Outside In ∊ swyx.io
Eating the Cloud from Outside In ∊ swyx.io
AWS is playing Chess. Cloudflare is playing Go. #cloud #aws #strategy Read time: 7 minutes |
www.swyx.io
Don't miss what's next. Subscribe to Adventures in Nodeland:
GitHub X YouTube LinkedIn