RSSAmplifier

Blog

Articles by François Best

I write about TypeScript, Node.js, React, security and privacy.

francoisbest.comRSS feed ↗16 posts

Latest posts

Testing against every Next.js canary release

How to run a GitHub Actions workflow when a new pre-release version of Next.js is published.

Publish a JSON Schema

Improving DX in editors is only half the story.

Dotenv is dead

Long live type-safe environment variable management in Node.js

Displaying Local Times in Next.js

Making time accessible by dealing with React SSR hydration mismatches across timezones.

NPM download stats are down

And people are drawing the funniest conclusions.

Storing React state in the URL with Next.js

A peek under the hood of the next-usequerystate 1.8.x update with support for the app router.

Reading files on Vercel during Next.js ISR

A little hack to let the Next.js file tracer pick up relative file paths.

Displaying the right Vercel deployment URLs in Next.js

A TIL about caching, Git branch management and React Server Components.

Representing SHA-256 Hashes As Avatars

How to turn 256 bits of entropy into a beautiful, avatar-friendly circular SVG: the Hashvatar.

Cargo, Docker and mtime

The perils of premature optimisation in detecting modified source files when building Docker images for Rust.

Mobile Device Frames For Excalidraw

Building mobile UI mockups in Excalidraw is a lot of fun, but eye-balling screen ratios is not great. Here are some free resources to help you get started, and a guide on how to make your own frames.

Dark Mode For Excalidraw

How to give a dark twist to Excalidraw diagrams with CSS filters.

The Security of GitHub Actions

GitHub Actions are a great way to build powerful customised CI/CD workflows using the power of community-driven resources, but they can be tricky to get right in terms of security.

Password Reset for End-to-End Encrypted Applications

We forget passwords. Usually it's OK, because most websites implement a password reset feature. But how to do this in end-to-end encrypted applications that don't have access to the password in the first place ?

How To Store End-to-End Encryption Keys In The Browser

End-to-end encrypted applications use cryptographic keys that don't leave the client, so how do we store them securely in the browser ?

Building A Strava Authentication CLI In Rust

A first look at how to implement an OAuth authentication / authorization exchange in Rust.