RSSAmplifier

Blog

Rafael Epplée

Software engineer, artist and musician

rafa.eeRSS feed ↗10 posts

Latest posts

Building Progressively Enhanced Forms Using htmx

I recently built a new form for ties , with lots of interactivity. It’s for editing a bookmark and connecting it to lists: A screencast of a form for editing a bookmark. The user presses a button to rename the bookmark to the title fetched from the bookmarked website, then searches for lists to add the bookmark to. The feature uses progressive enhancement: it works without JS, but uses HTMX to add…

Linkblocks Progress Update: January 2025

January 2025 update: linkblocks is now named ties . This post still uses the old name for posterity. Linkblocks has been selected for a grant by NLnet! The grant’s goal is to implement federation, full-text search, and collaborative features. This is the first progress report with some details around my process, and true to linkblocks’ knowledge-sharing spirit, it contains a treasure trove of…

Activism, Lowtech, Transhumanism and Sprouting: Links from the Solarpunk Camp 2024

Last week, we organized the Solarpunk Camp 2024 , a gathering of people looking to make utopias imaginable and tangible. The event was better than I ever imagined, with incredibly generous and warm-hearted people exchanging knowledge and dreams about community, technology, activism, food and more. Thanks to everyone who came and made it amazing! Also, huge thanks to the folks at WandelGut who…

On the Emotional Side of Public Software Funding

I just received the fourth rejection from a public funding program for one of my software projects. I’d like to tell you how this made me feel. I have observed others expressing frustration and I think it’s healthy to discuss these emotions out in the open, and to find ways to deal with them together. This post is not a critique of the way public funding programs are run right now. People working…

Introducing linkblocks, the Federated Bookmark Manager

January 2025 update: linkblocks is now named ties . This post still uses the old name for posterity. tl;dr: linkblocks is a tool for collecting and organizing bookmarks together. Try out the linkblocks demo here. The web is full of knowledge and art. Of course, that knowledge and art is hidden between websites full of soulless garbage. We need more ways to find the good stuff. Search engines can…

A CSS-Only Overflow Indicator for Multiline Text

When building archive.observer , a page for browsing the AskHistorians subreddit archives, I wanted to preview the text for each post in a list: Posts in that subreddit can be quite long, so I wanted to truncate the preview to a fixed number of lines. If that happened, I needed an indicator showing that there was more text available to read. I settled for a “fadeout” effect: In this post, I’ll…

Deploying Godot 4 HTML exports with cross-origin isolation

Godot 4 games exported to HTML use a JavaScript feature called SharedArrayBuffer . This allows sharing memory between the main thread and service workers efficiently. However, it makes it possible for scripts loaded from other pages to access this shared memory as well, which opens a page up to security vulnerabilities. Side note Check out my free and open source game knakk ! To prevent…

Making peer-to-peer multiplayer seamless with Godot

When we started developing our recently-released mini-strategy game 2 Planets , we wanted to add networked multiplayer support. Since the game is a side project and would be released for free, we didn’t want to spend much time and money on maintaining dedicated servers. Instead, we chose a simple peer-to-peer networking setup where both players would connect to the other player’s machine directly.…

Unity: Wishes for 2021

I’ve recently finished building a VR project in Unity. Since I’ve worked with Unity before and have gathered a little experience, I’m going to talk about that and highlight some topics I’d love to see addressed in the next few years. Side note Check out my free and open source game knakk ! Don’t touch that Reading on how to implement a UI, I found this table in the unity docs explaining the…

Automatically resolve Syncthing conflicts using a three-way merge

I’m trying to move away from applications and services that store data using proprietary formats or servers that are not mine. I’m relying more and more on syncthing to do that, and today I would like to show you a simple trick that I think opens up a whole range of possibilities for syncing app data. Side note Check out my free and open source game knakk ! For files that don’t change often,…