RSSAmplifier

Blog

./axel.leroy.sh - Blog

Axel Leroy's blog

axel.leroy.shRSS feed ↗23 posts

Latest posts

A.I. Artificial Intelligence (2001) is surprisingly relevant in an LLM era

Back in May, I had the opportunity to watch A.I. Artificial Intelligence for the first time and I was surprised by how relevant it still is and the amount of parallels I was able to draw with today's latest craze, Large Language Models (LLMs)

Moving away from Next.js and Vercel to Astro and self-hosting

Fed up by Next.js's complexity and Vercel's politics, I chose to move my website to self-hosted Astro. In this article, I write about the experience and the challenges I faced.

(Ab)using React's cache() into a novel way to translate my résumé

As promised, I reveal how I diverted React's cache() from its original purpose into a new (and impractical) solution to translate my résumé in multiple languages.

My opinion on "Artificial Intelligence"

As a developer, I regularly get asked my opinion on "Artificial Intelligence". I pick up on what it really is and how it works, and I then discuss in length on the issues it brings up.

Looking back on 2025

I look back on the experience of watching my employer file for bankruptcy and losing my job, the places I travelled to, the things I achieved, and the movies, series and video games I enjoyed.

This was youzd

My employment at youzd ended, and as the company was dissolved, its website — which I spent the last year rewriting — disappeared. I document what youzd was, the rewrite, how I approached it, and what I take away from this adventure.

Un an de vélotaf à Paris

Ça y est, ça fait désormais plus d'un an que je me rends chaque jour au bureau à vélo et que je suis l'heureux possésseur d'un Brompton. C'est donc l'occasion de revenir sur ce qui a changé depuis mon précédent article.

My screen reader did not work with Chromium and GNOME Web Flatpaks, here's how I fixed it

I wanted to make sure Chrome had a similar behavior to Firefox when using the screen reader on Linux, but unfortunately, it did not work. Here's how I fixed it.

The TV shows, movies, video games and concerts I enjoyed in 2024

I go back through all the TV shows, movies, video games and concerts I liked this year.

My setup for using Pi-hole outside my home

I present an alternative way to use Pi-hole outside the home network by leveraging Encrypted DNS (aka DNS-over-TLS and DNS-over-HTTPS) instead of the usual VPN.

Website changelog for November 2024

I made quite few changes to the website since last July, so I figured I would list the most notable ones.

I am on Bluesky (but not the way you would think of)

I am wondering whether or not I should register on Bluesky, but I do not want to juggle between Bluesky and Mastodon. What if there was another way?

A Next.js hook to trigger actions on navigation

Because I needed to close a navigation modal after clicking a link, I came up with a more elegant solution than adding event handlers to every link: a React hook that closes it when navigation occurs.

The beeping UPS mystery

Late night, my UPS starts beeping for no apparent reason. Everything seems okay though, is it defective? Let’s investigate!

Bilan après 6 mois de vélotaf à Paris

Fin août, j'ai fêté les six mois de trajet quotidien à vélo et je me suis dit que c'est l'occasion idéale pour faire part de cette expérience et dresser un bilan.

How to set Firefox’s language in Cypress

I recently had to test a component which behavior depended on the users locale with Cypress. While changing Chrome’s language is widely documented on the Internet, this is not the case for Firefox, which I document here.

Creating the /feeds page to share the RSS feeds I follow

I love RSS: I believe it is the best way to keep yourself informed and up to date. For some time wanted to share the RSS feeds I follow but could not find a practical way of doing it, until a recent FreshRSS release allowed me to do so!

An ESLint rule to require the sizes attribute for Next.js’s <Image>

A few days after publishing the new version of this website I realized that I forgot to add the sizes attribute to images contained in blog posts, resulting in Next.js serving images to users that were bigger than required. This led me to write an ESLint rule to prevent this issue from happening again.

I rewrote my website… again, but with Next.js this time!

Some 4 months ago, while researching the stack we could use to rewrite my employer’s website, I asked myself the following question: “What if I rewrote my personal website with Next.js?”. In this article I’ll walk through my process to build this new version, the improvements I made, what I wished had been easier.

Shaving every kilobytes possible off your website

So you've built your brand-new website: it’s neat, tidy and you've put all your heart and soul into it, but have you put any thought on its bandwidth consumption?

How to create a WXR/XML import file: migrating from a static site generator to WordPress

Many people on the Internet will instruct you how to migrate your website from WordPress to a static website generator, but what happens if you have to go the other way around? Well, that’s what I had to do last year at Wedoogift, and I have compiled a few tips to help you out.

The making of PhotoGallery

While most sane persons would use an off-the-shelf solution for their portfolio, I went the opposite route. Follow along as I tell and reflect on my journey to build a fully serverless and dynamic portfolio for my photos.

A Clean Slate

Introducing my new personal website.