Testing Out Claude Code… on a Bus!
I blogged from my phone on a bus using Claude Code and Shellfish. Read the full post on the blog.
Jared Asuncion's blog about tech, math, mini projects, and everything else.
I blogged from my phone on a bus using Claude Code and Shellfish. Read the full post on the blog.
Using Tailscale and a Pi-hole DNS override, I test local app changes on my real iPhone instantly, no more waiting on Cloudflare deploys or fighting CORS. Read the full post on the blog.
I used Kagi's LinkedIn translator to turn classic song lyrics into corporate jargon. Can you guess the songs hidden behind the synergy and KPIs? Read the full post on the blog.
How I finally migrated my Immich setup from External Libraries to internal storage — covering storage templates, community migration scripts, and surviving face recognition quirks. Read the full post on the blog.
How I used AI to revive Hot or Not after the Teleport Cities API shut down, and ended up rebalancing the whole game in the process Read the full post on the blog.
How I iterated on the UX of Hot or Not, a temperature guessing game, to make the suspense feel genuinely earned Read the full post on the blog.
How I use Actual Budget, a self-hosted budgeting app, to manage my personal finances Read the full post on the blog.
I built a lyrics quiz app (NOPLP) by wiring a Telegram bot to a PostgreSQL database via PostgREST, setting up Docker networks in Portainer, and untangling a CORS mess in Cloudflare Tunnels. Read the full post on the blog.
How to customize Claude Code's spinner verbs with Daft Punk's Technologic lyrics (and Bop It!) using a simple settings.json config. Read the full post on the blog.
I deployed an n8n instance to try workflow automation and ended up building a Telegram bot that scrapes song lyrics for a website. Read the full post on the blog.
In this post, I show you how to get the RSS feed link for any YouTube channel. Read the full post on the blog.
CSS hack for changing the color of the check icon of a rounded MUI Checkbox component. No more transparent checks! Read the full post on the blog.
Easy QR code generator for WiFi router guest access. Also: Gemini, Anthropic, GPT-5 fail at creating funny WiFi names in French. Read the full post on the blog.
Cours sur les files en Python pour NSI Terminale. Maîtrisez le principe FIFO (First In, First Out), l'implémentation avec des classes, les méthodes enfiler/défiler, et explorez des exemples concrets comme les files d'attente et les playlists musicales. Nombreux exercices pratiques. Read the full post on the blog.
Cours sur les piles en Python pour NSI Terminale. Apprenez le principe LIFO, l'implémentation avec des classes, les méthodes empiler/dépiler, et découvrez des exemples concrets comme l'historique de navigation et la pile d'exécution. Includes de nombreux exercices pratiques. Read the full post on the blog.
Cours de Programmation Orientée Objet (POO) en Python pour NSI Terminale. Découvrez les classes, objets, méthodes, attributs et méthodes magiques avec des exemples pratiques et exercices corrigés. Read the full post on the blog.
I improved my blog workflow by setting up remote coding with Cursor, migrating to a new server, and implementing category-based RSS feeds to separate tech content from personal posts. Read the full post on the blog.
Encountered a phishing scam, dug in a little bit. Read the full post on the blog.
Started setting up a home server, using Proxmox to have (hopefully) easier back-ups. Read the full post on the blog.
Learn about my experience setting up and using the open-source document management system, paperless-ngx, including tackling initial document dumps, automating workflows with Syncthing, and backing up your archive. Read the full post on the blog.
How I decided to use AI & LLMs with a cost-effective script using Gemini and Claude. Read the full post on the blog.
Unlock wireless Kobo syncing! Learn how to install Syncthing on your Kobo Clara 2E for seamless 2-way file transfer. Move files from Kobo & laptop. Read the full post on the blog.
How to connect your self-hosted FreshRSS instance to NetNewsWire, or possibly any other mobile app really. Read the full post on the blog.
I write about Immich, a self-hosted photo management solution that preserves original quality, offers robust search and organization tools, and respects your privacy. Read the full post on the blog.
Discover easy, budget-friendly ways to store photos, from quick and dirty solutions to self-hosted solutions like Immich. Read the full post on the blog.
On this day in 2025, I charge a Navigo ticket on my iPhone that already carried legacy t+ tickets. Read the full post on the blog.
Writing a program to try to make another program write itself was more complicated than expected. Read the full post on the blog.
Mathy and graphy problems attack. Read the full post on the blog.
Since it's been useful to someone I know IRL, it might be also useful for other people to know how I am hosting this website. Read the full post on the blog.
Some geometry problem and some search problem. Read the full post on the blog.
I tried solving Part B of Day 10 even before seeing the problem. Read the full post on the blog.
Got stuck on AoC 2024 Day 6 with no stepbro to help me, so I needed to figure it out by myself. Read the full post on the blog.
My solutions to Days 1, 2, 3, 4 Advent of Code 2024 Problems. Read the full post on the blog.
I did not want to copy the contents of a screenshot word-for-word so I decided to figure out how to automate this task. Read the full post on the blog.
In this second part of my weekend project, I use a dynamic programming algorithm to align audio and lyrics. Read the full post on the blog.
In this first part of my weekend project, I isolate audio and get a transcript using machine learning. Read the full post on the blog.
How to win in the LLM-powered Death by AI Game using Prompt Injection. Read the full post on the blog.
Using Portainer to make deploying apps easier and therefore making self-hosting easier. Read the full post on the blog.
Paano kumuha o magrenew ng OEC. Read the full post on the blog.
I tried out a French 'Masterclass' I found on Instagram that promises you'd be able to talk to Frenchies. Read the full post on the blog.
In this post, I detail how to replace the Pocket integration with Omnivore using the KoboOmnivoreConverter on Github. Read the full post on the blog.
Nous découvrons la récursivité. Nous discutons de quelques exemples, tels que `est_pair` et la suite de Fibonacci. Nous visualisons également les appels des fonctions récursives à l'aide d'arbres d'appels. Read the full post on the blog.
Dans cette quatrième et dernière partie des rappels, on revoit comment utiliser les boucles `for` et `while`. On parle aussi des itérateurs, en particulier celui renvoyé par la fonction `range`. Read the full post on the blog.
Dans cette troisième partie des rappels, on revoit les types d'objets de base plus complexes en Python : les tuples, les listes et les dictionnaires. On aborde également la notion de mutabilité. Read the full post on the blog.
Dans cette deuxième partie des rappels, on revoit tout ce qui concerne les fonctions en Python. On rappelle également comment utiliser la fonction `print` et les mots-clés conditionnels `if` et `else`. Read the full post on the blog.
Dans cette première partie d'une série de rappels, nous revoyons les concepts de base de Python tels que les commentaires, la fonction print, l'affectation, les objets et les types. Read the full post on the blog.
So... I used my train rides and carshares to work on my latest personal project. Read the full post on the blog.
I list down good not-so-expensive paid services such as Kagi, Immich, and Mailbox.org, that I use to make my life less dependent on Google. Read the full post on the blog.
Je parle a propos d'un exercice du BAC de NSI 2024. Read the full post on the blog.
I talk about how and why Annotated[ClassName, Depends()] in FastAPI. Read the full post on the blog.