Nine pillars of great Node apps
Recently, four pillars of the JavaScript community (James Snell, Natalia Venditto, Michael Dawson & Matteo Collina) teamed up to create a resource that lays out nine principles for doing Node.js right in enterprise environments. On this episode, Natalia & Matteo join Jerod to discuss all nine.
Join the discussion
Changelog++ members save 6 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Notion – Notion is a place where any team can write, plan, organize, and rediscover the joy of play. It’s a workspace designed not just for making progress, but getting inspired. Notion is for everyone — whether you’re a Fortune 500 company or freelance designer, starting a new startup or a student juggling classes and clubs.
WorkOS – A platform that gives developers a set of building blocks for quickly adding enterprise-ready features to their application. Add Single Sign-On (Okta, Azure, Google, Microsoft OAuth), sync users from any SCIM directory, HRIS integration, audit trails (SIEM), free magic link sign-in. WorkOS is designed for developers and offers a single, elegant interface that abstracts dozens of enterprise integrations. Learn more and get started at WorkOS.com
Jam.dev – One click bug reports developers love — Never explain another bug report again. Jam auto-captures all the info engineers need to debug and repro.
Featuring:
Natalia Venditto – GitHub, LinkedIn, X
Matteo Collina – Website, GitHub, Mastodon, X
Jerod Santo – GitHub, LinkedIn, Mastodon, X
Show Notes:
Nine Node Pillars
close-with-grace
TypeSpec
Something missing or broken? PRs welcome!
Reports of Node's death are greatly exaggerated
Amal, KBall & Chris convene a “semi-emergency” pod to discuss the recent (deserved) hype over Bun and what it all means for Node’s community, maintainers & users.
They’re joined by Node Technical Steering Committee members Matteo Collina & James Snell who are here to dispel Bun antagonism rumors, discuss the pros & cons of each runtime, explain how Node continues to thrive & even announce a VERY big upcoming feature!
Join the discussion
Changelog++ members save 6 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Convex – Convex is a better type of backend — the full-stack TypeScript development platform that lets you replace your database, server functions, and glue code. Get started at convex.dev
Appwrite – Build Fast. Scale Big. All in One Place. Appwrite is a backend platform for developing Web, Mobile, and Flutter applications. Built with the open source community and optimized for developer experience in the coding languages you love.
Fastly – Our bandwidth partner. Fastly powers fast, secure, and scalable digital experiences. Move beyond your content delivery network to their powerful edge cloud platform. Learn more at fastly.com
Fly.io – The home of Changelog.com — Deploy your apps and databases close to your users. In minutes you can run your Ruby, Go, Node, Deno, Python, or Elixir app (and databases!) all over the world. No ops required. Learn more at fly.io/changelog and check out the speedrun in their docs.
Featuring:
Matteo Collina – Website, GitHub, Mastodon, X
James Snell – Website, GitHub, Mastodon, X
Amal Hussein – GitHub, X
Kevin Ball – Website, GitHub, LinkedIn, X
Christopher Hiller – Website, GitHub, Mastodon, X
Show Notes:
Matteo’s tweet on Jarred Summer’s obsession with performance optimizations
Bun’s claim to being a “drop in-replacement for Node.js”
Platformatic 1.0 release annoucement
AWS lambda quatas
Node TODO - your guide to getting started with Node.js Core development
Node.js’s new built-in test runner
Node.js project governance
Matteos recent newsletter which Amal magically connected with in the future - “My thoughts on Bun and other Adventures”
fastify - “Fast and low overhead web framework, for Node.js”
OpenJS foundation
Soon to be released PR for adding the new WebSocket lib to Node Core
Node.js supported binaries
Node.js github issue #19308 “Adding Websocket support to core” which is 5+ years old and coincidentally closed on the day this podcast was released
Something missing or broken? PRs welcome!
Launching Platformatic DB 🚀
Patformatic co-founders Matteo Collina & Luca Maraschi join Amal & Chris to discuss their just-announced (and we mean just announced) open source database tool: Platformatic DB!
It’s a daemon that can turn any PostgreSQL, MySQL, MariaDB, or SQLite database into a REST and GraphQL endpoint. What makes it special is that it allows massive customization thanks to the flexibility of Fastify plugins.
Join the discussion
Changelog++ members save 4 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Square – Develop on the platform that sellers trust. There is a massive opportunity for developers to support Square sellers by building apps for today’s business needs. Learn more at changelog.com/square to dive into the docs, APIs, SDKs and to create your Square Developer account — tell them Changelog sent you.
Sentry – Working code means happy customers. That’s exactly why teams choose Sentry. From error tracking to performance monitoring, Sentry helps teams see what actually matters, resolve problems quicker, and learn continuously about their applications - from the frontend to the backend. Use the code CHANGELOG and get the team plan free for three months.
Fly.io – Deploy your apps and databases close to your users. In minutes you can run your Ruby, Go, Node, Deno, Python, or Elixir app (and databases!) all over the world. No ops required. Learn more at fly.io/changelog and check out the speedrun in their docs.
Featuring:
Matteo Collina – Website, GitHub, Mastodon, X
Luca Maraschi – GitHub, X
Amal Hussein – GitHub, X
Christopher Hiller – Website, GitHub, Mastodon, X
Show Notes:
🎧 JS Party #197: Fastify served with a refreshing Pino 🍷
Our first Open Source tool: Platformatic DB
Platformatic on GitHub
@databases
Adventures in Nodeland
Something missing or broken? PRs welcome!
Fastify served with a refreshing Pino 🍷
Matteo Collina, Ph.D takes us to school on all things Node, Fastify, and Pino. We start with his journey into the Node community, how he got started in open source, and his experience as a member of Node’s Technical Steering Committee (TSC). We then nerd out about middleware architecture, data structures and logs (yes, logs), and of course, we dive into what makes Fastify so darn fast and how Pino was the precursor project.
Join the discussion
Changelog++ members save 4 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Auth0 – The for developers, by developers identity platform built for the cloud era that secures billions of logins every year. Security, compliance, and industry standards are always up-to-date, plus devs are free to provide the login options their users want with the security their application demands. Make login Auth0’s problem. Not yours. Learn more at Auth0.com
Raygun – With Raygun Error and Performance Monitoring you have all the information you need at your fingertips to quickly find and fix errors and performance issues across your tech stack down to the line of code. Get started with a free 14-day trial, head to raygun.com and join thousands of customer-centric software teams who use Raygun every day.
Square – Develop on the platform that sellers trust. There is a massive opportunity for developers to support Square sellers by building apps for today’s business needs. Learn more at developer.squareup.com to dive into the docs, APIs, SDKs and to create your Square Developer account — tell them Changelog sent you.
Featuring:
Matteo Collina – Website, GitHub, Mastodon, X
Amal Hussein – GitHub, X
Nick Nisi – Website, GitHub, Mastodon, X
Show Notes:
Pino
Fastify
JS Party 103 - You’re probably using streams
Hiring at Nearform
Maven
npm
koa
Find my way - router
NestJS and Fastify
Adventures in Nodeland newsletter
Deno
10 things I regret about Node.js
Node Todo
NodeConf Remote - October 18-21, 2021
Avvio
// Require the framework and instantiate it
const fastify = require('fastify')({ logger: true })
// Declare a route
fastify.get('/', (request, reply) => { reply.send({ hello: 'world' }) })
// Run the server!
fastify.listen(3000, (err) => { if (err) { fastify.log.error(err) process.exit(1) } })
Something missing or broken? PRs welcome!
You're probably using streams
This week we chat with Matteo Collina, Technical Director at NearForm and member of the Node.js Technical Steering Committee, about his upcoming Node+JS Interactive talk on Node Streams. We talk about their creation before any standards and how they are one of the bedrock APIs used throughout the Node ecosystem. We also talk about WHATWG streams and some of their key differences, and how streams have gotten easier to work with thanks to the addition of async iterators and generators to the language.
Join the discussion
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Rollbar – We move fast and fix things because of Rollbar. Resolve errors in minutes. Deploy with confidence. Learn more at rollbar.com/changelog.
Linode – Our cloud server of choice. Deploy a fast, efficient, native SSD cloud server for only $5/month. Get 4 months free using the code changelog2019. Start your server - head to linode.com/changelog.
Retool – Retool makes it super simple to build back-office apps in hours, not days. The tool is is built by engineers, explicitly for engineers. Learn more and try it for free at retool.com/changelog
Featuring:
Matteo Collina – Website, GitHub, Mastodon, X
Nick Nisi – Website, GitHub, Mastodon, X
Kevin Ball – Website, GitHub, LinkedIn, X
Show Notes:
Node.js Streams
WHATWG Streams
Async Iterators
Generator functions
Catch us and Matteo at Node+JS interactive 2019!
Something missing or broken? PRs welcome!