Matteo Collina
@nodeland.dev
Platformatic.dev Co-Founder & CTO, Node.js TSC member, Lead maintainer Fastify, Board OpenJS, Conference Speaker, Ph.D. Views are my own.
Pinned
Matteo Collina
@nodeland.dev
· Nov 5
Addressing Overprovisioning & Performance Issues in Node.js via Multiple Workers
We know scaling Node.js efficiently can be challenging—especially with the infrastructure costs that come from handling unpredictable traffic spikes. With Pl...
youtu.be
Node.js doesn't have a predictive way to manage traffic spikes, so over-provisioning for peak loads isn't optimized for the stable periods that follow.
We've all faced this issue.
This is why Platformatic is simplifying multithreading in our Node.js app server. 🧵
https://buff.ly/48yJoHD
We've all faced this issue.
This is why Platformatic is simplifying multithreading in our Node.js app server. 🧵
https://buff.ly/48yJoHD
Ever built a "simple" distributed system that turned into a 3 AM production nightmare? 💀
You started with Kafka (or RabbitMQ) and a few services. Now you're juggling retries, compensations, and correlation IDs like it's a circus act.
Time to talk about the workflow orchestration wars 🎧⬇️
You started with Kafka (or RabbitMQ) and a few services. Now you're juggling retries, compensations, and correlation IDs like it's a circus act.
Time to talk about the workflow orchestration wars 🎧⬇️
October 31, 2025 at 4:59 PM
Ever built a "simple" distributed system that turned into a 3 AM production nightmare? 💀
You started with Kafka (or RabbitMQ) and a few services. Now you're juggling retries, compensations, and correlation IDs like it's a circus act.
Time to talk about the workflow orchestration wars 🎧⬇️
You started with Kafka (or RabbitMQ) and a few services. Now you're juggling retries, compensations, and correlation IDs like it's a circus act.
Time to talk about the workflow orchestration wars 🎧⬇️
🔒 We just shipped application-level file system permissions in @platformatic.dev Watt!
The simplest way to segregate your Node.js microservices - leveraging Node.js's native permission model to control exactly what files each service can touch.
Here's why this matters 🧵
The simplest way to segregate your Node.js microservices - leveraging Node.js's native permission model to control exactly what files each service can touch.
Here's why this matters 🧵
October 28, 2025 at 3:36 PM
🔒 We just shipped application-level file system permissions in @platformatic.dev Watt!
The simplest way to segregate your Node.js microservices - leveraging Node.js's native permission model to control exactly what files each service can touch.
Here's why this matters 🧵
The simplest way to segregate your Node.js microservices - leveraging Node.js's native permission model to control exactly what files each service can touch.
Here's why this matters 🧵
Don’t comment on individual commits on GitHub. Thanks.
October 27, 2025 at 4:59 PM
Don’t comment on individual commits on GitHub. Thanks.
🚀 Noop Functions vs Optional Chaining: A Performance Deep Dive
I ran benchmarks comparing `noop()` vs `obj?.fn?.()` and the results surprised me.
Spoiler: Noop functions are 5.5x to 8.8x faster.
Here's what you need to know 🧵
I ran benchmarks comparing `noop()` vs `obj?.fn?.()` and the results surprised me.
Spoiler: Noop functions are 5.5x to 8.8x faster.
Here's what you need to know 🧵
October 22, 2025 at 3:59 PM
🚀 Noop Functions vs Optional Chaining: A Performance Deep Dive
I ran benchmarks comparing `noop()` vs `obj?.fn?.()` and the results surprised me.
Spoiler: Noop functions are 5.5x to 8.8x faster.
Here's what you need to know 🧵
I ran benchmarks comparing `noop()` vs `obj?.fn?.()` and the results surprised me.
Spoiler: Noop functions are 5.5x to 8.8x faster.
Here's what you need to know 🧵
Reposted by Matteo Collina
Having poured my soul into open source since 2008, I was nodding hard at @cory.laviska.com’s post.
“It's all take and no give. And I've already given more than enough for two lifetimes.”
There’s something especially irritating in watching companies profit off your work without contributing a dime.
“It's all take and no give. And I've already given more than enough for two lifetimes.”
There’s something especially irritating in watching companies profit off your work without contributing a dime.
October 22, 2025 at 3:24 PM
Having poured my soul into open source since 2008, I was nodding hard at @cory.laviska.com’s post.
“It's all take and no give. And I've already given more than enough for two lifetimes.”
There’s something especially irritating in watching companies profit off your work without contributing a dime.
“It's all take and no give. And I've already given more than enough for two lifetimes.”
There’s something especially irritating in watching companies profit off your work without contributing a dime.
🚀 New blog post: "From curl Commands to Type-Safe API Clients"
Ever copied curl commands from DevTools to reverse-engineer an API? What if you could turn those into production-ready, type-safe HTTP clients automatically?
Here's how 👇
Ever copied curl commands from DevTools to reverse-engineer an API? What if you could turn those into production-ready, type-safe HTTP clients automatically?
Here's how 👇
October 21, 2025 at 4:15 PM
🚀 New blog post: "From curl Commands to Type-Safe API Clients"
Ever copied curl commands from DevTools to reverse-engineer an API? What if you could turn those into production-ready, type-safe HTTP clients automatically?
Here's how 👇
Ever copied curl commands from DevTools to reverse-engineer an API? What if you could turn those into production-ready, type-safe HTTP clients automatically?
Here's how 👇
Reposted by Matteo Collina
Profiling Node.js used to feel like surgery with a rusty spoon 🩸— kernel tools, V8 magic, pain. Meet @platformatic/flame: zero-config, instant flame graphs.
npx flame run server.js → 60 fps insights, no fuss.
Performance, democratized. 🔥
@nodeland.dev talk 👉 youtu.be/v7oc80C9vlg
#NodeJS #OSS
npx flame run server.js → 60 fps insights, no fuss.
Performance, democratized. 🔥
@nodeland.dev talk 👉 youtu.be/v7oc80C9vlg
#NodeJS #OSS
Next-Gen Flame Graphs: Making Node.js Performance Profiling Actually Work // Matteo Collina
Remember when profiling Node.js meant wrestling with perf, sed scripts, and mysterious V8 internals? Traditional flame graph generation has been like performing surgery with a rusty spoon, requiring kernel-level tools and arcane command-line incantations. The barrier to entry is sky high. The time t
youtu.be
October 17, 2025 at 11:00 AM
Profiling Node.js used to feel like surgery with a rusty spoon 🩸— kernel tools, V8 magic, pain. Meet @platformatic/flame: zero-config, instant flame graphs.
npx flame run server.js → 60 fps insights, no fuss.
Performance, democratized. 🔥
@nodeland.dev talk 👉 youtu.be/v7oc80C9vlg
#NodeJS #OSS
npx flame run server.js → 60 fps insights, no fuss.
Performance, democratized. 🔥
@nodeland.dev talk 👉 youtu.be/v7oc80C9vlg
#NodeJS #OSS
🔥 BIG NEWS: @platformatic/flame and Watt Runtime now support heap profiling!
Finally tackle those memory leaks and optimize your Node.js apps with comprehensive insights into BOTH CPU time AND memory usage.
No more guessing where your memory is going 🎯
Finally tackle those memory leaks and optimize your Node.js apps with comprehensive insights into BOTH CPU time AND memory usage.
No more guessing where your memory is going 🎯
October 14, 2025 at 3:02 PM
🔥 BIG NEWS: @platformatic/flame and Watt Runtime now support heap profiling!
Finally tackle those memory leaks and optimize your Node.js apps with comprehensive insights into BOTH CPU time AND memory usage.
No more guessing where your memory is going 🎯
Finally tackle those memory leaks and optimize your Node.js apps with comprehensive insights into BOTH CPU time AND memory usage.
No more guessing where your memory is going 🎯
🎙️ NEW PODCAST: "Node.js Loves Python"
What if you could run Python ASGI apps inside your Node.js services? No proxies. No overhead. Just seamless integration.
@lucamaraschi & @matteocollina explore how @platformatic/python makes this possible 🚀
What if you could run Python ASGI apps inside your Node.js services? No proxies. No overhead. Just seamless integration.
@lucamaraschi & @matteocollina explore how @platformatic/python makes this possible 🚀
October 13, 2025 at 4:43 PM
🎙️ NEW PODCAST: "Node.js Loves Python"
What if you could run Python ASGI apps inside your Node.js services? No proxies. No overhead. Just seamless integration.
@lucamaraschi & @matteocollina explore how @platformatic/python makes this possible 🚀
What if you could run Python ASGI apps inside your Node.js services? No proxies. No overhead. Just seamless integration.
@lucamaraschi & @matteocollina explore how @platformatic/python makes this possible 🚀
🚨 A spurious CVE against fast-redact forced us to rethink everything about log redaction in Node.js
The result? slow-redact - a new package that's not actually slow, but guarantees your objects are never mutated
Here's why immutability beats speed every time 🧵
The result? slow-redact - a new package that's not actually slow, but guarantees your objects are never mutated
Here's why immutability beats speed every time 🧵
October 10, 2025 at 3:59 PM
🚨 A spurious CVE against fast-redact forced us to rethink everything about log redaction in Node.js
The result? slow-redact - a new package that's not actually slow, but guarantees your objects are never mutated
Here's why immutability beats speed every time 🧵
The result? slow-redact - a new package that's not actually slow, but guarantees your objects are never mutated
Here's why immutability beats speed every time 🧵
Reposted by Matteo Collina
#TodayMyPullRequest
Make @fastify.dev's etag 70% to 110% faster on medium (2 KiB) to large (2 MiB) inputs:
github.com/fastify/fast...
Make @fastify.dev's etag 70% to 110% faster on medium (2 KiB) to large (2 MiB) inputs:
github.com/fastify/fast...
perf(fnv1a): adopt a way faster fnv1a impl (up to 110% faster on large input) by SukkaW · Pull Request #152 · fastify/fastify-etag
Checklist
run npm run test && npm run benchmark --if-present
tests and/or benchmarks are included
documentation is changed or added
commit message and code follows the Developer's ...
github.com
October 8, 2025 at 7:05 PM
#TodayMyPullRequest
Make @fastify.dev's etag 70% to 110% faster on medium (2 KiB) to large (2 MiB) inputs:
github.com/fastify/fast...
Make @fastify.dev's etag 70% to 110% faster on medium (2 KiB) to large (2 MiB) inputs:
github.com/fastify/fast...
Reposted by Matteo Collina
🚨 Another major npm supply-chain attack just hit — and it’s a wake-up call for anyone building on open source.
I join @nodeland.dev — creator of Fastify, Node.js core maintainer, and an open-source legend — and Luca Maraschi to break down how attackers are infiltrating npm.
I join @nodeland.dev — creator of Fastify, Node.js core maintainer, and an open-source legend — and Luca Maraschi to break down how attackers are infiltrating npm.
Inside the Latest npm Attack (with Feross Aboukhadijeh)
YouTube video by Platformatic
youtube.com
October 8, 2025 at 6:07 PM
🚨 Another major npm supply-chain attack just hit — and it’s a wake-up call for anyone building on open source.
I join @nodeland.dev — creator of Fastify, Node.js core maintainer, and an open-source legend — and Luca Maraschi to break down how attackers are infiltrating npm.
I join @nodeland.dev — creator of Fastify, Node.js core maintainer, and an open-source legend — and Luca Maraschi to break down how attackers are infiltrating npm.
🚀 BIG NEWS: We just shipped @platformatic/python - run Python ASGI apps INSIDE your Node.js process!
This changes everything for AI/ML + Node.js apps 🧵
youtu.be/8eAAP9IF4xA
This changes everything for AI/ML + Node.js apps 🧵
youtu.be/8eAAP9IF4xA
Launching @platformatic/python: Bring Python ASGI to Your Node.js Applications
Today we are excited to ship @platformatic/python, a new capability for Watt, the Application Server for Node.js, that lets you run Python ASGI applications alongside your existing Node.js workloads.…
youtu.be
October 7, 2025 at 3:24 PM
🚀 BIG NEWS: We just shipped @platformatic/python - run Python ASGI apps INSIDE your Node.js process!
This changes everything for AI/ML + Node.js apps 🧵
youtu.be/8eAAP9IF4xA
This changes everything for AI/ML + Node.js apps 🧵
youtu.be/8eAAP9IF4xA
🚨 The npm ecosystem just got hit with another major supply chain attack.
If your app uses npm packages (spoiler: it does), you must hear this.
We're sitting down with @feross from @SocketSecurity to dissect what happened and how to protect yourself.
Thread 👇
If your app uses npm packages (spoiler: it does), you must hear this.
We're sitting down with @feross from @SocketSecurity to dissect what happened and how to protect yourself.
Thread 👇
October 7, 2025 at 9:48 AM
🚨 The npm ecosystem just got hit with another major supply chain attack.
If your app uses npm packages (spoiler: it does), you must hear this.
We're sitting down with @feross from @SocketSecurity to dissect what happened and how to protect yourself.
Thread 👇
If your app uses npm packages (spoiler: it does), you must hear this.
We're sitting down with @feross from @SocketSecurity to dissect what happened and how to protect yourself.
Thread 👇
🎉 Proud to announce @platformatic.dev is renewing our Open Source Pledge for 2025!
We have committed $12,500+ to support the maintainers and projects that power the Node.js ecosystem.
Because sustainable open source requires more than code—it requires financial backing.
We have committed $12,500+ to support the maintainers and projects that power the Node.js ecosystem.
Because sustainable open source requires more than code—it requires financial backing.
October 6, 2025 at 3:59 PM
🎉 Proud to announce @platformatic.dev is renewing our Open Source Pledge for 2025!
We have committed $12,500+ to support the maintainers and projects that power the Node.js ecosystem.
Because sustainable open source requires more than code—it requires financial backing.
We have committed $12,500+ to support the maintainers and projects that power the Node.js ecosystem.
Because sustainable open source requires more than code—it requires financial backing.
Reposted by Matteo Collina
🎙️ “Be curious and don’t trust everything you read online.”
Join our conversation with @nodeland.dev — Co-Founder & CTO of @platformatic.dev, Node.js TSC member, creator of Fastify & Pino, and prolific open source contributor with modules downloaded over 17 billion times a year.
Join our conversation with @nodeland.dev — Co-Founder & CTO of @platformatic.dev, Node.js TSC member, creator of Fastify & Pino, and prolific open source contributor with modules downloaded over 17 billion times a year.
October 3, 2025 at 2:01 PM
🎙️ “Be curious and don’t trust everything you read online.”
Join our conversation with @nodeland.dev — Co-Founder & CTO of @platformatic.dev, Node.js TSC member, creator of Fastify & Pino, and prolific open source contributor with modules downloaded over 17 billion times a year.
Join our conversation with @nodeland.dev — Co-Founder & CTO of @platformatic.dev, Node.js TSC member, creator of Fastify & Pino, and prolific open source contributor with modules downloaded over 17 billion times a year.
Reposted by Matteo Collina
Thanks you @lnugOrg tickets go fast everyone wants to meet and learn from @nodeland.dev and @platformatic.dev - our events next week will be packed!
Make sure you get the last few tickets - just 4 left - Final 4
cityjsconf.org/workshops
Make sure you get the last few tickets - just 4 left - Final 4
cityjsconf.org/workshops
September 24, 2025 at 6:56 PM
Thanks you @lnugOrg tickets go fast everyone wants to meet and learn from @nodeland.dev and @platformatic.dev - our events next week will be packed!
Make sure you get the last few tickets - just 4 left - Final 4
cityjsconf.org/workshops
Make sure you get the last few tickets - just 4 left - Final 4
cityjsconf.org/workshops
Remember that thread about Node.js + Kubernetes performance issues?
Plot twist: K8s and Node.js are actually a PERFECT match.
The problem? Most teams are using 2010 patterns for 2025 architecture.
On October 1st, we will discuss how to do it right.
Time to level up 🧵
Plot twist: K8s and Node.js are actually a PERFECT match.
The problem? Most teams are using 2010 patterns for 2025 architecture.
On October 1st, we will discuss how to do it right.
Time to level up 🧵
September 29, 2025 at 3:59 PM
Remember that thread about Node.js + Kubernetes performance issues?
Plot twist: K8s and Node.js are actually a PERFECT match.
The problem? Most teams are using 2010 patterns for 2025 architecture.
On October 1st, we will discuss how to do it right.
Time to level up 🧵
Plot twist: K8s and Node.js are actually a PERFECT match.
The problem? Most teams are using 2010 patterns for 2025 architecture.
On October 1st, we will discuss how to do it right.
Time to level up 🧵
Reposted by Matteo Collina
This is the @nodeland.dev effect! He decides to do a workshop in London and this gets #Soldout
Register for the free meetup - 30/9
guild.host/events/jsmonth…
Register for the free meetup - 30/9
guild.host/events/jsmonth…
September 27, 2025 at 1:40 PM
This is the @nodeland.dev effect! He decides to do a workshop in London and this gets #Soldout
Register for the free meetup - 30/9
guild.host/events/jsmonth…
Register for the free meetup - 30/9
guild.host/events/jsmonth…
Five days until my Node.js workshop in London and this is it - final call for seats
If you've been following along for the past 6 weeks, you know this isn't another basic tutorial
This Monday, September 29th, we're diving deep into production Node.js 🧵
If you've been following along for the past 6 weeks, you know this isn't another basic tutorial
This Monday, September 29th, we're diving deep into production Node.js 🧵
September 24, 2025 at 3:59 PM
Five days until my Node.js workshop in London and this is it - final call for seats
If you've been following along for the past 6 weeks, you know this isn't another basic tutorial
This Monday, September 29th, we're diving deep into production Node.js 🧵
If you've been following along for the past 6 weeks, you know this isn't another basic tutorial
This Monday, September 29th, we're diving deep into production Node.js 🧵
🚀 Enterprise Node.js apps are powerful but complex. Over-provisioned clusters, slow autoscaling, and disconnected metrics are silently killing your budget and risking outages.
What if you could predict problems before they happen?
Join us tomorrow, Sep 24th 👇
What if you could predict problems before they happen?
Join us tomorrow, Sep 24th 👇
September 23, 2025 at 4:55 PM
🚀 Enterprise Node.js apps are powerful but complex. Over-provisioned clusters, slow autoscaling, and disconnected metrics are silently killing your budget and risking outages.
What if you could predict problems before they happen?
Join us tomorrow, Sep 24th 👇
What if you could predict problems before they happen?
Join us tomorrow, Sep 24th 👇
Reposted by Matteo Collina
Open source foundations don’t run on “magic piles of money.”
Registries, CDNs, CI pipelines, security response and compliance work all require sustained support. Read why OpenJS joined peers in signing “Open Infrastructure is Not Free.”
🔗 hubs.la/Q03KtFgr0
Registries, CDNs, CI pipelines, security response and compliance work all require sustained support. Read why OpenJS joined peers in signing “Open Infrastructure is Not Free.”
🔗 hubs.la/Q03KtFgr0
September 23, 2025 at 2:14 PM
Open source foundations don’t run on “magic piles of money.”
Registries, CDNs, CI pipelines, security response and compliance work all require sustained support. Read why OpenJS joined peers in signing “Open Infrastructure is Not Free.”
🔗 hubs.la/Q03KtFgr0
Registries, CDNs, CI pipelines, security response and compliance work all require sustained support. Read why OpenJS joined peers in signing “Open Infrastructure is Not Free.”
🔗 hubs.la/Q03KtFgr0
🚀 BIG NEWS: We just open-sourced the Intelligent Command Center (ICC) for Node.js!
After years of watching teams struggle with Node.js on Kubernetes, we're changing the game.
The problem? K8s was built for Java/.NET, not Node.js's async model.
The cost? 40% overprovisioning. 🧵
After years of watching teams struggle with Node.js on Kubernetes, we're changing the game.
The problem? K8s was built for Java/.NET, not Node.js's async model.
The cost? 40% overprovisioning. 🧵
September 23, 2025 at 2:59 PM
🚀 BIG NEWS: We just open-sourced the Intelligent Command Center (ICC) for Node.js!
After years of watching teams struggle with Node.js on Kubernetes, we're changing the game.
The problem? K8s was built for Java/.NET, not Node.js's async model.
The cost? 40% overprovisioning. 🧵
After years of watching teams struggle with Node.js on Kubernetes, we're changing the game.
The problem? K8s was built for Java/.NET, not Node.js's async model.
The cost? 40% overprovisioning. 🧵
We need to talk about Node.js in Kubernetes.
The platform meant to deliver elasticity is actually slowing Node.js down and making it more expensive to run.
Here's why your "autoscaling" might be bleeding money 🧵👇
The platform meant to deliver elasticity is actually slowing Node.js down and making it more expensive to run.
Here's why your "autoscaling" might be bleeding money 🧵👇
September 22, 2025 at 3:59 PM
We need to talk about Node.js in Kubernetes.
The platform meant to deliver elasticity is actually slowing Node.js down and making it more expensive to run.
Here's why your "autoscaling" might be bleeding money 🧵👇
The platform meant to deliver elasticity is actually slowing Node.js down and making it more expensive to run.
Here's why your "autoscaling" might be bleeding money 🧵👇
Given all the questions about native TypeScript support in Node.js, I should prepare some content to explain it. Maybe somebody already did, and I couldn't find it. Do you know about content explaining it from the user perspective (like how to convert from a compiled app to type stripping)?
September 19, 2025 at 3:59 PM
Given all the questions about native TypeScript support in Node.js, I should prepare some content to explain it. Maybe somebody already did, and I couldn't find it. Do you know about content explaining it from the user perspective (like how to convert from a compiled app to type stripping)?