View profile

Weekly newsletter of Matteo Collina - Issue #1

Matteo Collina
Matteo Collina
1 - Adventures in Nodeland
Hi Everyone! I’ve started a newsletter to share my thoughts on technology, the advancements of Node.js and to keep all of you up-to-date of what I’m working on. This newsletter might be weekly, biweekly or monthly… we’ll see how it evolves in the coming months.

I’ve started to help my friend David Mark Clements on implementing the changes we planned for the new major release (v7) of Pino, v7 which will feature a new transport system. What is a logging transport? A transport will let you transfer your log lines from the current machine to a remote server for long term storage and analytics: a popular one is pino-elasticsearch. Previously, we recommended to run transports as separate processes: in v7, we will leverage worker_threads to run transports. Read more at https://github.com/pinojs/pino/pull/614 and https://github.com/pinojs/pino/pull/937. In order to support these new transports, I have started working on https://github.com/mcollina/thread-stream: a stream-like interface to send strings to another thread, leveraging a ring buffer. It’s fast and support a flushSync() operation.
GitHub - nodejs/undici: An HTTP/1.1 client, written from scratch for Node.js
Node.js Undici is progressing at high pace. Undici is a new HTTP client for Node written from scratch, it’s faster and more reliable. Here are the more relevant PRs:
Fastify has reached v3.14.0, fixing a few bugs and adding new features. We fixed a compatibility problem with webpack and we marked the serverless use case as supported. We added fastify.printPlugins, which is incredibly useful with complex applications.
In the Fastify community, we shipped a new version of fastify-multipart, fixing a long-standing bug (https://github.com/fastify/fastify-multipart/issues/196 https://github.com/fastify/fastify-multipart/pull/207). fastify-autoload gained a new forceESM option https://github.com/fastify/fastify-autoload/pull/144, useful in combination with typescript and native ESM. I would also like to introduce you to a new Fastify plugin adds support for Vite, a new frontend toolkit from Evan You.
GitHub - galvez/fastify-vite: Fastify plugin to serve Vite applications.
As you might know, I’m Technical Director at NearForm. After the investment by Columbia Capital, we are hiring all profiles: https://grnh.se/5c39f3d43us. I have interviewed a 2-5 people every week for the last couple of months, and things do not seem to slow down! I might starting to have interview fatigue - it’s really hard work.
I have also been working with a few clients on production issues and software architecture in general. I have found that if you are using https://github.com/nodeshift/opossum, the Node.js circuit breaker implementation, you have to call .shutdown() otherwise it would leave forever, creating both a memory leak and “stealing” a bit of CPU work every second.
Shaping a better world
That’s all for now, thanks for reading! Did you like this issue? Let me know at twitter (@matteocollina), my DMs are open.
Did you enjoy this issue? Yes No
Matteo Collina
Matteo Collina @matteocollina

I write about my journey as a core contributor of Node.js, as an author and a maintainer of many modules - including Fastify and Pino. In addition, I speak at conferences, and I will add links to all my talks in case you missed one.

If you don't want these updates anymore, please unsubscribe here.
If you were forwarded this newsletter and you like it, you can subscribe here.
Created with Revue by Twitter.