FullStack Bulletin

Subscribe
Archives
October 23, 2023

🤓 #343: Node.js 21 Available Now

Optimized package imports in Next.js, Nota: A Document Language for the Browser, Effect, The State of WebAssembly, Write your own Zod, Base64 nuances

View this email in your browser

Logo

Hello, *|LIST:NAME|*

Here's issue #343 and in this week we celebrate a new major release of Node.js! Always something good to celebrate, if you ask me... 🤪
This week, I am attending Codemotion Milan (the biggest developers conference in Italy!). If you are there, come to say hello, I'd really love to get your honest feedback on Fullstack Bulletin and hear how we could make it better!
I will also be talking about Rust + AWS Lambda, so if that's a topic that interests you, don't miss my talk on Tuesday at 5:30 PM on STAGE 1. 🤘

“Not everything I say is correct. It's correct modulo the little details you're going to have to worry about“

— John Hopcroft , Computer Scientist

Node.js 21 Available Now! - OpenJS Foundation

Node.js 21 Available Now! —  The release of Node.js 21 is available now! Node.js 21 replaces Node.js 20 as our current release line, and Node.js 20 is being promoted to long-term support (LTS). Among the main updates: V8 updates, stable WebStreams, experimental flags to opt-in to ESM (this is a biggie!), many improvements to the built-in test runner! Read article

How we optimized package imports in Next.js —  In the previous issue we have already presented the topic of barrel files. It turns out that this is something that Vercel has been very careful about and that it led to some major performance optimizations. Check the full article to find out what they did! Read article

Nota: A Document Language for the Browser  —  Let's be honest, nobody likes writing LaTeX and everyone likes markdown (I know this is not strictly true, but let me assume my opinion is the prevalent one for once)... Nota tries to make writing documents much more enjoyable by providing a new syntax (inspired by markdown and extensible through JavaScript and React) that can allow you to craft beautiful web documents. I am going to bet this is going to be big in the future, but for now, you can consider this project as an alternative to MDX and Typst (that we have covered before). Read article

Welcome to Effect —  Effect is a relatively new project providing a fully-fledged functional effect system for TypeScript with a rich standard library. What does this mean? The home page contains a nice vide that can explain that way better than I could do! Read article

The State of WebAssembly 2023  —  In this blog post, Colin Eberhardt tries to summarise the findings of the latest State of WebAssembly survey. Some of the main takes are that Rust and JavaScript usage continues to increase, but there is a growing desire for Zig and Kotlin (this one surprised me!) The use of wasm as a plugin environment continues to climb, with developers hoping it will deliver the “write once and run anywhere” promise. Read article

Write your own Zod  —  Zod is a famous TypeScript library that allows you to combine static type checking and runtime validation. If you have used Zod you have probably wondered how Zod achieves its magic, right? If you didn't have the courage to have a peek at the source code, you can now check out this lovely tutorial showcasing how you could build a simple alternative to Zod from scratch. Read article

The nuances of base64 encoding strings in JavaScript —  base64 encoding and decoding is a common form of transforming binary content to be represented as web-safe text. It's used commonly for data URLs, such as inline images. But what happens when you apply base64 encoding and decoding to strings in JavaScript? This post explores the nuances and common pitfalls to avoid. Also, remember that Base64 is not encryption! Read article

The Linux Command Line: A Complete Introduction

by William E. Shotts Jr.

The Linux Command Line: A Complete Introduction

The Linux Command Line takes you from your very first terminal keystrokes to writing full programs in Bash, the most popular Linux shell. Along the way you'll learn the timeless skills handed down by generations of gray-bearded, mouse-shunning gurus: file navigation, environment configuration, command chaining, pattern matching with regular expressions, and more. In addition to that practical knowledge, author William Shotts reveals the philosophy behind these tools and the rich heritage that your desktop Linux machine has inherited from Unix supercomputers of yore.

Buy on Amazon.com
Buy on Amazon.co.uk

Don't walk away just yet 🏃‍♂️

  • terra-draw: Cross provider map drawing library, supporting Mapbox, MapLibre, Google Maps, OpenLayers and Leaflet out the box
  • Being Picky about a CSS Reset for Fun & Pleasure
  • How Custom Property Values are Computed
  • CSS relative color syntax
  • table-saw: A small web component for responsive <table> elements
  • Don't Block the Event Loop (or the Worker Pool)
  • Solid.js Creator Outlines Options to Reduce JavaScript Code

👋 That’s all for this week. See you next Monday!

Greetings from your full stack friends Luciano & Andrea

🙌 Support us

If you enjoy FullStack Bulletin, consider sharing this newsletter with your friends and colleagues.


If there's something we can improve, let us know!


You can also sponsor the next issue!

Website iconTwitter iconInstagram icon

Copyright (C) 2024 FullStack Bulletin. All rights reserved.
*|IFNOT:ARCHIVE_PAGE|*

FullStack Bulletin is a FREE weekly curated newsletter for ambitious full stack developers. We sift the internet for builders, covering frontend, backend, databases, DevOps, and architecture to find what truly matters. Expect practical picks, clear takeaways, and fresh ideas that cut the noise, sharpen your skills, and fuel your creativity so you can put them to work right away.

*|END:IF|*

Our mailing address is:
*|IFNOT:ARCHIVE_PAGE|**|HTML:LIST_ADDRESS|**|END:IF|*

Want to change how you receive these emails?

You can update your preferences or unsubscribe

Don't miss what's next. Subscribe to FullStack Bulletin:
Powered by Buttondown, the easiest way to start and grow your newsletter.