Sign in

Luciano Mammino 📙 Node.js Design Patterns

@loige.co
2.1K followers 882 following 1K posts

AWS Serverless Hero & MVP. Senior Architect fourTheorem, author of 📕 nodejsdp.link & ✉️ fstack.link Node.js, JavaScript, Rust 🦀 & Cloud ☁️

PostsRepliesMedia
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 06/07/2026
Environment variables in Node.js look trivial until they bite you: everything is a string, "false" is truthy, and every child process you spawn inherits your secrets. I just published a complete guide. Here's the short version 🧵
Infographic titled “Node.js Environment Variables: Simple until they bite you.” On a dark, neon green and cyan tech-style background, five panels explain key pitfalls and best practices: (1) everything in process.env is a string, for example PORT becomes "3000"; (2) the “false” trap, where "false" is still truthy in JavaScript; (3) built-in .env loading in modern Node.js with --env-file; (4) layered .env files, where later files win but OS environment variables still override; and (5) security risks, showing child processes inheriting secrets by default. A green banner at the bottom highlights the best practice: use one validated config module, fail fast, and keep secrets out of environment variables in production. The full guide URL appears at the bottom: nodejsdesignpatterns.com/blog/nodejs-environment-variables.
110
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 29/03/2026
For the past 9 years, I have been running a newsletter called FullStack Bulletin. Every week, I shared some of the most interesting articles, tools, and resources I could find for full stack developers. Over time, that became 450+ issues, 3k+ curated links, and a community of 3k readers.
Painterly illustration of a warm, softly lit desk scene with a laptop open to the FullStack Bulletin farewell page, surrounded by a coffee mug, notebooks, books, sticky notes, and scattered papers, evoking a reflective final-send moment.
250
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 09/03/2026
Thx! It's working! :D
000
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 06/03/2026
1/7 🚀 Getting an LLM demo to work is not the hard part anymore. The hard part is making it reliable, predictable, and affordable in production. That’s what @eoinshanaghy and I focus on in the latest AWS Bites episode, all about LLM inference with Amazon Bedrock 👇
AWS Bites Podcast cover art showing a bed in a grassy field with a huge rock resting on top of it, under the title ‘getting started with Amazon Bedrock.’ Eoin appears on the left behind the rock, shading his eyes, while Luciano stands on the right. The scene is warm, playful, and photorealistic.
100
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 03/02/2026
I almost approved a security hole last year. A simple image server. Clean code. Worked perfectly. It also let anyone read any file on our filesystem. Here's what happened 🧵
100
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 29/01/2026
Confession: my fingers still type `npm i axios` on autopilot from time to time 😅 ...And yet… Node.js has shipped a built-in `fetch()` since v18 (2022)! Still, I keep running into the same questions: - Should we use it? - When is it a good fit? - How do we avoid the usual footguns?
Cartoon illustration in flat colors: a smiling developer in a blue hoodie points upward while holding a green “Node.js FETCH GUIDE” book. Above him, speech bubbles read “npm axios”, “http/https”, and “fetch()” with a question mark. On the right, a cool turtle wearing sunglasses rides a rocket labeled “V8”; a checklist and stopwatch sit on the desk against a soft, patterned sky background.
211
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 18/12/2025
I’m a bit late with this one, but better late than never ⏳🙂
Open Graph banner with a blurred bookshelf background and the text “Node.js Design Patterns: Fourth Edition is out!” plus the website “loige.co”.
261
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 17/12/2025
Ever deployed an API Gateway HTTP API with a JWT (OIDC) authorizer, got a nice green “deployment succeeded”… and then discovered that routes mysteriously disappeared in the console and auth wasn’t working? 😅🔐
Noir-style cartoon crime scene: a detective kneels with a magnifying glass over an AWS API Gateway logo on the floor, surrounded by “DO NOT CROSS” tape, evidence markers, and dropped keys and a wallet under moody purple/red-blue lights.
110
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 09/12/2025
🗞️ New release alert: Crafting Lambda Functions in Rust 🦀⚡️ A practical, work-in-progress book on writing super-performant AWS Lambda functions in Rust, co-authored with James Eastham. #RustLang #AWSLambda #Serverless
Promotional graphic on a pink-to-orange gradient background: three angled iPhone mockups show pages from the “Crafting Lambda Functions in Rust” e-book (text and diagrams), with bold “new RELEASE!” in the top-left and the title “Crafting Lambda Functions in Rust” in the bottom-right.
130
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 04/12/2025
@buttondown.com I have been absolutely loving your service so far! For context, I am using it happily for fullstackbulletin.com One of our readers has recently reported that some Fortinet deployments block your click tracking domain (see attached picture). Is there anything you can do to about it?
100
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 28/11/2025
Ever love AWS Fargate… until you suddenly need more control? 😅 GPUs, storage options, network bandwidth, specific instance sizing…
Cartoon-style AWS Bites podcast artwork with the headline “exploring ECS Managed Instances.” Luciano Mammino and Eoin Shanaghy (AWS Bites, fourTheorem) sit on a dock in a hazy container yard: Luciano looks skeptical while Eoin looks surprised with hands raised. The background is a port full of shipping containers and a crane moving them, evoking Docker and running containers; to the right there’s a futuristic blue, server-like box with a glowing Amazon ECS logo.
140
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 13/11/2025
Node.js friends, quick heads up! 👋 Today (13 Nov 2025) I am doing a live AMA with Mario Casciaro, hosted by Packt, all about Node.js Design Patterns (4th edition) and how Node.js has evolved over the years. #nodejs #javascript #ama
130
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 13/10/2025
Here’s a story I didn’t expect to write 👇🧵 (1/8) A few days ago I went down a rabbit hole to see what people search most about Node.js. Guess what? “how to read and write files” is near the top.
Cover art for “Reading and Writing Files in Node.js,” featuring a cartoon version of Luciano. On the left, he’s writing on paper with a pen; on the right, he’s reading a newspaper with a focused expression. The illustration visually represents the concepts of writing and reading files in Node.js.
151
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 07/10/2025
🎉 Author copies are in! 📚 Holding the 4th edition of “Node.js Design Patterns” never gets old. Months of work turned into something I can touch, and hopefully a guide to help you level up with Node.js.
273
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 25/09/2025
🎁 OK I PROMISED YOU A GIFT.... Our favorite chapter is FREE! Chapter 6: Coding with Streams. 80 pages to help you write faster, leaner, more scalable Node.js code and learn one of the most important abstraction in all Node.js!
Top-down view of an open book held by two hands on a white table, showing Chapter 6 titled “Coding with Streams” from Node.js Design Patterns by Luciano Mammino and Mario Casciaro; cozy gray sweaters and clean layout emphasize the chapter intro text.
110
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 25/09/2025
🎉 Big news and a gift for you 🎁 Keep reading🧵👇
Close-up of a person in a black leather jacket holding the 4th edition of “Node.js Design Patterns” by Packt, featuring a black cover with a purple wave graphic and small author headshots (Luciano Mammino and Mario Casciaro), against a light brick background.
260
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 19/09/2025
Marketing & Engineering: best friends or eternal struggle? 🤝⚔️ It’s the classic tug-of-war: marketing owns messaging & pages, devs own the stack. How much control do we actually give? 🤔 🧵👇
Podcast cover image for AWS Bites. At center, a silver headless mannequin in a yellow T-shirt reading ‘Headless CMS Club.’ Above it, the Strapi logo with the title ‘Headless CMS for Serverless projects.’ On the left, co-host Eoin (grey hoodie) looks up and smiles; on the right, co-host Luciano (black T-shirt) faces the camera. The scene is a bright, minimalist room with wooden floor and potted plants, suggesting a casual studio vibe.
121
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 05/09/2025
Stuck keeping #Spring apps alive on #EC2 or herding #Kubernetes just to ship a few endpoints? ⚙️ What if #Java on #AWS #Lambda could hit your latency targets and cut the ops tax too? ⏱️💸
Podcast thumbnail: steampunk café with two top-hatted men, the host on the left (Luciano Mammino) and the guest on the right (Mark Sailes), drinking Java coffee amid brass machinery; a glowing moka pot with a Java logo on the table; white steam clouds; title text “Java & Lambda” overhead.
163
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 22/08/2025
Love big launches? So do we 🎉 Brand new AWS Bites episode is out 🎙️ Did #AWS just build an IDE to rival your editor? Yes. Meet #Kiro.
Podcast cover for AWS Bites. A cartoon ghost parody of the Kiro logo sticks its tongue out and flashes rock signs in the center. The title reads “Coding with Kiro,” with “Vibe” crossed out and “Spec” added. Bottom left, one host in a blue hoodie with folded arms. Bottom right, the other host in a gray hoodie holding a MacBook and grinning. Dark alley background with a street lamp.
122
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 07/08/2025
🚨 TIL you can use another MacBook as a wireless extended display. Not just an iPad with Sidecar 🤯 I always thought this was iPad-only, but it works great between Macs too! 💻➕💻
A desk setup showing four connected screens displaying a retro pixel-style wallpaper with design tool icons. The screens include two MacBooks, an external monitor, and an iPad, demonstrating the use of multiple Apple devices as extended displays in a creative workspace.
130
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 06/08/2025
🧼🐚 Time for some shell spring cleaning? This Fish shell snippet lists all executable files in your $PATH — handy if you're trying to remember that neat CLI tool you installed months ago... or spot something suspicious 👀
A picture of a terminal with the following fish shell code:

for dir in (string split : $PATH)
    if test -d $dir
        find $dir -type f -perm +111 2>/dev/null
    end
end | sort | uniq
100
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 27/06/2025
🚀 New AWS Bites episode! We tried Amazon #DSQL so you don’t have to (but you might want to) 👀 Luciano and Eoin put Aurora DSQL through its paces in #AWS Bites #Podcast Episode 145 🧵 Here’s what we found:
Cartoon-style illustration of Eoin (left) and Luciano (right) from the AWS Bites Podcast reacting with surprise and excitement. Eoin has his hands raised and mouth open, while Luciano points toward a glowing database icon in the center. The title above reads “First look at AMAZON DSQL” in playful lettering.
2116
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 14/06/2025
How do you hash… a banana? 🍌🤔 I spent 20 minutes trying to figure out why hashing "banana" with SHA-1 in Node.js gave me a different result than doing it in the terminal. A classic case of “invisible bytes”! Let me walk you through it 🧵
A comic-style image illustrating a debugging moment about SHA-1 hashing. The top panel shows Node.js v24.0.2 with a code snippet that hashes the string "banana" using crypto.createHash('sha1'), resulting in the hash 250e77f12a5ab6972a0895d290c4792f0a326ea8. The middle panel shows a confused cartoon character and a terminal command echo "banana" | sha1 producing a different hash: 8a1aaf746ada2a80fab03a58c91575ffe82885ac. The bottom panel shows the same character now smiling and pointing upwards, next to the corrected command echo -n "banana" | sha1, which returns the same hash as Node.js. The image highlights that the echo command adds a newline character unless -n is used.
352
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 02/06/2025
And of course... I had to do a big update on my favorite chapter ❤️ Streams! This time, we went all in to make this topic easier to grasp and apply, even if you’ve struggled with it before. We want to make Streams FINALLY accessible to everyone.
100
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 02/06/2025
🧪 Testing! Almost 100 pages covering strategies, tools, and examples to help you write bulletproof Node.js applications. We cover everything from unit tests to integration, mocking, code coverage, and more.
100
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 02/06/2025
📘 The new edition of Node.js Design Patterns is coming soon! After 9 months of hard work with Mario Casciaro, we're finally ready to share what’s next for one of the most loved Node.js books. But this is not “just another edition”...
Cover of the book "Node.js Design Patterns, Fourth Edition" by Luciano Mammino and Mario Casciaro. The design features a dark background with a dynamic purple and blue wave pattern. At the top, there is a label saying "Expert Insight" and a hexagon badge that reads "Early Access." The subtitle reads: "Level up your Node.js skills and design production-grade applications using proven techniques." At the bottom, there are black-and-white photos of the authors and the publisher logo "<packt>".
283
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 28/05/2025
My friendship with #ChatGPT is built on mutual trust 💖, deep respect 🫱🫲, and me yelling “NO EM–DASHES” every 2 messages 😤 It nods, says “Got it!” 🤖 Then casually drops another one or two... like nothing happened 🙃 I guess there are too many em-dashes ended up in the training data...
030
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 09/05/2025
🚢 Migrating a containerized app (#Rust backend + #Solidjs frontend) from on-prem to AWS? We wanted to simplify things. So instead of the usual VPC + ALB + Fargate setup, we tried App Runner. Did it deliver? Here's what we learned 👇🧵 #AWS #AppRunner #Fargate
A humorous race scene in a forest path, showing a group of runners mid-stride. The runners' faces have been replaced with logos or meme faces representing AWS services and podcast hosts. Bold yellow-green text at the top asks: “Is App Runner Better Than Fargate?” The image playfully suggests a competition between AWS App Runner and Fargate, with an energetic and slightly chaotic vibe.
130
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 05/05/2025
Blessed to have so many awesome people in my circle ❤️ @jameseastham.co.uk @calavera.dev @lirantal.com @marc.ba @emilyliu.me @ranthebuilder.cloud @syntax.fm @luca.lanziani.com @fourtheorem.bsky.social @darko.rup12.net
390
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 05/05/2025
console.log() is probably the first function I ever used in Node.js... And yet, I was today years old when I learned it supports format strings! 🤯 🧵👇
A dark-themed terminal screenshot showing Node.js v23.11.0 and a console.log() call with a format string. The command console.log('Event: %j', {foo: 'bar'}) is displayed, with a yellow arrow pointing to the resulting JSON string {"foo":"bar"}. A label below reads 'JSON.stringify(...)' to explain the %j placeholder behavior.
97113
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 03/05/2025
I doubt this is going to last... #ChatGPT, somehow, really loves hyphens! 😮‍💨
100
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 08/04/2025
It's never too late for a good @atuin.sh WRAPPED! 🎁
0131
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 04/04/2025
🚨 Think copying files between S3 buckets is easy? Well… yes—until it's not. We recently hit some walls and ended up building our own open-source tool: s3-migrate 🧵
150
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 03/04/2025
Positively surprised to see ChatGPT recommending @fastify.dev rather than Express... and for good reasons too! 🐆
010
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 21/03/2025
🚀 "Wait, JSONata can do WHAT with AWS Step Functions?!" If you use #AWS Step Functions (or want to), these 2 new features—JSONata + Variables—will save you time, money, and sanity. Let’s break it down ⤵️
292
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 10/03/2025
Just released a tiny open-source utility! 🎉 🔗 s3-migrate → github.com/lmammino/s3-migrate Need to copy an entire S3 bucket between accounts or migrate to an S3-compatible service (Cloudflare R2, anyone?!)—give it a try! 🚀 Feedback & contributions welcome! 💬 #AWS #S3 #opensource
091
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 21/02/2025
Rust global 2025 is kicking off, super excited 😊🦀 #rustlang #rust
050
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 09/02/2025
✨ Really happy with how much better the code snippets look on my Astro-powered site now! I used to think presenting code was a chore, and honestly, the results were often just... boring & flat. 😩 Enter: 𝐄𝐱𝐩𝐫𝐞𝐬𝐬𝐢𝐯𝐞 𝐂𝐨𝐝𝐞! 🧵 👇
2132
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 03/01/2025
Sometimes I think the #Rust std lib should have a type alias like this: ``` pub type AsyncTask<T, E> = Arc<Mutex<Pin<Box<dyn Future<Output = Result<T, E>> + Send>>>>; ``` 🤔
060
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 23/12/2024
One of the best Xmas gifts I could ask for 🎄🎁🎉❤️ Call to action: remember to take time to give feedback to the content creators that provide value to you 🙏 PS: here's a link to the article that was mentioned loige.co/the-senior-d...
061
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 22/12/2024
Time to .unwrap() everything (see what I did there?! 😅)... let's unwrap #GitHub as well! #GitHubUnwrapped 🦀
120
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 17/12/2024
Challenge accepted! 😡 #XML #AWS #JavaScript
050
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 14/12/2024
🎙️ Day 2: I joined a panel on how serverless impacts organizations. Takeaway? Serverless is easy to start, but scaling it needs a mindset shift. Developers must step out of their comfort zones and embrace cross-functional roles in architecture, security, and more.
120
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 14/12/2024
🌍✨ What a way to wrap up the year! This week, I attended Serverless Days Rome, my final conference of 2024, and it was an amazing experience. 🇮🇹🎉
1132
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 13/12/2024
👏👏👏👏
010
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 13/12/2024
One of the coolest things about the last 3 events that I had the pleasure to attend is this man: @sheenbrisals.bsky.social ! #Serverless Hero and an absolute inspiration! Looking forward to hearing his closing keynote at #serverlessdays #rome!
2123
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 13/12/2024
Let's race these unicorns... 🦄 In the cloud! ☁️ #serverless #serverlessdays #rome #aws
010
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 10/12/2024
Just back from an incredible week at #reInvent! My second time, and it was as amazing as ever Learned so much, met old friends, made new ones... love the vibrant, welcoming #AWSCommunity Huge thanks to AWS for the Heroes perks & to everyone I connected with. See you in '25!🚀
0100
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 09/12/2024
PC, PVZ, ah! PVP me If you got the PEP now 🎶🎹🎸👩‍🎤
000
Luciano Mammino 📙 Node.js Design Patterns @loige.co · 04/12/2024
It might actually happen in Vegas... 🙄
010