Issue #336 · September 4, 2023

Writing an efficient Node.js Docker image

“All programming languages are shit. But the good ones fertilize your mind”

Writing an efficient Node.js Docker image

Writing an efficient Node.js Docker image

Building a Docker image for a Node.js project is relatively easy, but building a GOOD Docker image for a Node.js project is an entirely different story! This article presents a step-by-step guide to building fast and lightweight Node.js Docker images.

Articles

Astro 3.0

Last week everyone got excited by the 3.0 release of Astro, a modern static website generator for Node.js (which in fairness can do a lot more than just static websites). This new release promises 30% faster compile times, new features and enhancements around View Transitions, Image Optimization, Fast Refresh JSX, and more.

Dark Mode: How Users Think About It

Dark mode is popular, but not essential. Users like dark mode but maintain similar behaviors without it. They think about it at the system level, not the application level. If you choose to support dark mode, test your design to avoid common dark-mode issues.

Bézier Curves

The logic behind Bézier Curves used in CSS animations and visual elements. A beautifully illustrated (and interactive!) article where you can learn everything there's to know about a concept highly used in vector graphics and animation. It can be the secret sauce to spice up your next web design!

WhatsApp Supported 50Bln Messages/Day With 32 Engineers

This issue of the excellent System Design Newsletter tells us the story (for 8 different reasons) of how WhatsApp was able to scale massively while keeping its team relatively small. A series of interesting project and technology decisions led to this marvelous outcome. If you are interested in architecture and team topologies, you'll surely enjoy this one!

CSS animations using the linear() function

If you enjoyed the article about Bézier curves, this one is a great follow-up. The new CSS linear() timing function enables custom easing in animations. Explore how linear() works compared with other timing functions used for easing, with practical examples.

Falling For Oklch

The CSS Color Module Level 4 specification defined a slew of new color features when it became a candidate recommendation in 2022, including Oklab and Oklch, which have widened the field of color we have to work with. This article will let you explore the Oklch color space and show you why it's interesting and how you can start using it in CSS today.

Book of the week

Build APIs You Won't Hate: Everyone and their dog wants an API, so you should probably learn how to build them

Build APIs You Won't Hate: Everyone and their dog wants an API, so you should probably learn how to build them

by Phil Sturgeon

API development is becoming increasingly common for server-side developers thanks to the rise of front-end JavaScript frameworks, iPhone applications, and API-centric architectures. It might seem like grabbing stuff from a data source and shoving it out as JSON would be easy, but surviving changes in business logic, database schema updates, new features, or deprecated endpoints can be a nightmare. After finding many of the existing resources for API development to be lacking, Phil learned a lot of things the hard way through years of trial and error. This book aims to condense that experience, taking examples and explanations further than the trivial apples and pears nonsense tutorials often provide. By passing on some best practices and general good advice you can hit the ground running with API development, combined with some horror stories and how they were overcome/avoided/averted.