Fernando Borretti

Fernando Borretti

Fernando Borretti

I’m a software engineer. In my free time I write code, a blog, fiction, and build a programming language.

Latest Posts

Some Data Should Be Code

I write a lot of Makefiles. I use it not as a command runner but as an ad-hoc build system for small projects, typically for compiling Markdown documents and their dependencies....

Letting Claude Play Text Adventures

The other day I went to an AI hackathon organized by my friends Lucia and Malin. The theme was mech interp, but I hardly know PyTorch so I planned to do something at the API...

There Is No New Aesthetics

“For man, or for a man, there can be no new beginnings.” — David Zindell, Shanidar Re: A Call for New Aesthetics. At some point in the 20th century, we filled out the last few...

1Password Dependency Breaks Syntax Highlighting

Earlier today I noticed the syntax highlighting on this website was broken. But not fully: on reload I’d see a flash of highlighted text, that then turned monochrome. The raw...

Using the Brother DS-640 Scanner on NixOS

The DS-640 is a compact USB scanner from Brother. It was surprisingly hard to get it working on NixOS, so I wrote up my solution so others don’t have this problem. The bad news...

Books I Enjoyed in 2025

The Apocalypse of Herschel Schoen by nostalgebraist. A revelation (ἀποκάλυψις = “unveiling”) told through the eyes of a developmentally-disabled teenager. You will never guess...

Coarse is Better

When DALL-E came out, it took me a couple of weeks to pick my jaw up from the floor. I would go to sleep excited to wake up to a full quota, with a backlog of prompts to try. It...

I Wish People Were More Public

Probably not a popular thing to say today. The zeitgeisty thing to say is that we should all log off and live terrible cottagecore solarpunk lives raising chickens and being...

Ad-Hoc Emacs Packages with Nix

You can use Nix as a package manager for Emacs, like so: { home-manager.users.eudoxia = { programs.emacs = { enable = true; extraPackages = epkgs: with epkgs; [ magit rust-mode...

Linux on the Fujitsu Lifebook U729

This post describes my experience using Linux on the Fujitsu Lifebook U729. The tl;dr is that it’s a delightful laptop, and Linux runs flawlessly, and all the hardware things...

Agda on NixOS

To install Agda and its standard library, add this to your config: environment.systemPackages = with pkgs; [ (agda.withPackages (p: [ p.standard-library ])) ]; Or, using...

Hashcards: A Plain-Text Spaced Repetition System

hashcards is a local-first spaced repetition app, along the lines of Anki or Mochi. Like Anki, it uses FSRS, the most advanced scheduling algorithm yet, to schedule reviews. The...

Adding Planets to Celestia on macOS

tl;dr: you have to modify the application bundle. Celestia is a space simulator: you can fly around space and look at moons and exoplants, fast forward time. It is sometimes...

Notes on Managing ADHD

The pleasure is in foreseeing it, not in bringing it to term. — Jorge Luis Borges, Selected Non-Fictions This post is about managing ADHD. It is divided into two sections:...

Inboxes are Underrated

I have a lot of communication apps. By volume: Twitter DMs, Signal, Whatsapp, iMessage, Discord, email. Because I have so many disjoint places where communication happens, I...
Shuffle Search Random