RSSAmplifier

Blog

Olivier Forget

Olivier Forget's blog post feed

olivierforget.netRSS feed ↗71 posts

Latest posts

DOM Patching from a BackflipHTML Template

In my introduction to BackflipHTML I wrote: I want to embrace Web Components. If at all possible, I want my templates to serve as the single source of truth for the component in all its states. I do not want to write HTML or CSS inside of JS strings. That means that in addition to turning templates and data into a string of HTML on the backend, it should have the ability to update the DOM after…

Custom Element Partials in BackflipHTML

When I first wrote about BackflipHTML last week I mentioned my next challenge was to support Web Components. The first step in that journey is to support using custom elements as partials. BackflipHTML Partials In BackflipHTML partials are a unit of a template. It&rsquo;s one bit of reusable HTML. Here is how you define a regular partial in Backflip: < section b-name = 'cat-alert' > < h1 >Cat: {{…

Hello BackflipHTML

I wrote my first website in Notepad. There were no developer ergonomics whatsoever. No syntax highlighting, no linter, no autocomplete, nothing. It was 1996. Since then I&rsquo;ve written HTML by concatenating strings in Perl, by tossing a PHP and HTML salad, more string juggling in the browser, followed closely by imperative mutations to the DOM using Prototype.js . More recently I&rsquo;ve…

Dropserver Progress - March 2026

This is the progress report for Dropserver for March 2026. The previous report is here . This is going to be a short update because I got very distracted with a different project midway through the month. Continuing Work On Removing DropIDs See the previous few updates for more info on this. I continued to grind away, making progress and pretty close to having something releasable. However before…

Dropserver Progress - February 2026

This is the progress report for Dropserver for February 2026. The previous report is here . This month I kept grinding away on removing DropIDs from the hot path of authentication in appspaces. See the November-December update for an explanation of what it&rsquo;s all about. Showing User Conflicts in the UI A consequence of removing dependence on DropIDs and also adding authentication via…

Dropserver Progress - January 2026

This is the progress report for Dropserver for January 2026. The previous report is here . I started the year by refreshing my personal note taking app, then I got back to work making ds-host more flexible with domain names, in particular making them unnecessary. Updates to Illuminoted Dropserver App Illuminoted is an app I wrote after getting fully fed up with the state of note-taking apps.…

Dropserver Progress - November December 2025

This is the progress report for Dropserver for November and December 2025. The previous report is here . In November I began work on removing the dependence on domain names in ds-host . Domain Names in Dropserver When I started writing Dropserver I thought of it as a very standard server program. The main difference was that it served apps that could be easily installed through an interface.…

Dropserver Progress - October 2025

This is the progress report for Dropserver for October 2025. The previous report is here . This month I continued thinking about how to make ds-host easy to install, but I also got to work on some real improvements. In particular I found out that my MacOS build of ds-dev was broken&hellip; Fixing Releases to Support arm64 My Github Action that builds the Dropserver releases used the macos-latest…

Dropserver Progress - September 2025

This is the progress report for Dropserver for September 2025. The previous report is here . Bubblewrap woes Dropserver uses Bubblewrap as a second layer sandbox . bwrap uses Linux namespaces to create its sandbox, and as such things can sometimes get prickly. For some reason, on Debian 12 I can not get ds-host to start a sandbox with bwrap enabled when it is running from systemd. It works fine…

Dropserver Progress - August 2025

This is the progress report for Dropserver for August 2025. The previous report is here . This month I worked on getting an instance of ds-host running in my home. Now that it&rsquo;s trivially easy to make an appspace a Tailscale node , running my instance away from the public internet is the way to go. But there are caveats! And new footguns! And countless little decisions I made while…

Dropserver Progress - June and July 2025

This is the progress report for Dropserver for June and July 2025. The previous report is here . In June I finally finished up the integration of Tailscale into Dropserver, then went on vacation. What remained of July was not terribly productive, but it was a good opportunity to think about where I should be going with this project. Tailscale Integration There were 21 commits in June . Lots of…

Dropserver Progress - May 2025

This is the progress report for Dropserver for May 2025. The previous report is here . Quick one this month because I was away on vacation for a good chunk of May. Tailscale Integration Tailscale integration is nearly done now. I&rsquo;m knocking out items on my todo list. The main thing I did this month was to experiment again with the open source alternatives to Tailscale Headscale and Ionscale…

Dropserver Progress - April 2025

This is the progress report for Dropserver for April 2025. The previous report is here . Tailscale Integration for the Admin Side of Dropserver Recapping where I was: I got Tailscale integration working pretty well for appspaces (an appspace is a running app in Dropserver, see here .) Meaning that you can access the apps that you host on Dropserver via tailnet node in addition to via the regular…

Dropserver Progress - March 2025

This is the progress report for Dropserver for March 2025. The previous report is here . Dropserver.org Docs Pages and Modern CSS I spent some time at the beginning of the month making the Docs pages of Dropserver.org easier to use. In particular I wanted to have the navigation in the sidebar instead of a separate page, this makes casually browsing the docs far more user-friendly. But this was not…

Dropserver Progress - February 2025

This is the progress report from Dropserver for February 2025. The previous report is here . This month was extra-short thanks to a much-needed ski vacation, but I did manage to make some solid progress on integrating Tailscale into ds-host . Tailscale Users as Appspace Users After grinding on Vue templates, DB calls and everything in between, it&rsquo;s now possible to assign multiple auth…

Dropserver Progress - January 2025

This is the progress report for Dropserver for January 2025. While the previous report was a wrap up of 2024 , this one is a look ahead for 2025. The Battle Between the Drive and The Grind A New Year&rsquo;s celebration adds a new notch to a years-long project. A new year is a time to take stock of how far a project has come along, and what it still needs. Safe to say that for Dropserver I&rsquo;m…

Dropserver Progress - Recap of 2024

Instead of going over the month of December (not much happened), here is a quick recap for the year in countdown form: Four Releases I released four versions of Dropserver: 0.13.0 : Install/update apps from URL. See January . 0.13.1 brought a few bug fixes and improvements. See March progress report . 0.13.2 Adds a proxy for outbound requests, and many small tweaks. See May update . 0.13.3 See…

Depending on Third Party Services When Self-Hosting

In our drive to take control of our web presence by self-hosting our services from home, it seems contradictory to depend on 3rd party services to make it all work. Companies like Mailgun , Tailscale , Cloudflare , Netlify , NextDNS , Linode , AWS , ngrok , and many more offer compelling solutions to the endless challenges of self-hosting. But does using them mean we are fooling ourselves about…

Dropserver Progress - November 2024

This is the progress report for Dropserver for November 2024. Here is last month &rsquo;s report. This month was all about Tailscale integration. Trying to get this stuff right isn&rsquo;t easy! Dig in&hellip; Config Conundrums When I started Tailscale integration I reflexively put some configuration parameters in the ds-host config file . Silly idea. First, I should not be adding things to this…

Dropserver Progress - October 2024

This is the progress report for Dropserver for October 2024. Here is last month &rsquo;s report. Dropserver 0.13.3 released As I mentioned last month I released ds-host and ds-dev version 0.13.3 with support for Deno 2 . I updated to 0.13.3 on my personal instance of ds-host , which happened without a hitch. I am still using Deno 1.x because I haven&rsquo;t updated all my apps to work with Deno 2.…

Deno 2 and Backwards Compatibility in Dropserver

Deno 2 is here . My project Dropserver , an application platform for your personal web services, uses Deno as its app sandbox. Deno 2&rsquo;s arrival forced me to break backwards compatibility in Dropserver, which is something I really don&rsquo;t like doing. Here&rsquo;s an explanation of why this happened, how it chafes with my vision for Dropserver, and how I plan to avoid this in the future.…

Dropserver Progress - September 2024

This is the progress report for Dropserver for September 2024. Here is last month &rsquo;s report. Going Off On a Tangent from Tailscale Integration Tailscale integration is progressing. I am able to read information about the network, such as connection status, peers, etc&hellip; This data is dynamic and changes when the tailnet admin shares a node with someone, or a user connects a new device,…

Dropserver Progress - July and August 2024

This is the progress report for Dropserver for July and August 2024. Here is last month &rsquo;s report. Work on Tailscale integration is ongoing, but before heading off on vacation I took some time to improve a Dropserver app that I use daily. Work on the ShoppingList App for Dropserver I finally put a bit of polish into the Shopping List app for Dropserver and released it:…

Dropserver Progress - June 2024

This is the progress report for Dropserver for June 2024. Here is last month &rsquo;s report. I started on the Tailscale integration, which began by getting the tsnet package, which resulted in a shock. Go get tailscale.com/tsnet &hellip; 😲 After entering the command the machine churned for several minutes while unfurling a seemingly endless listing of dependent packages required by tsnet .…

Dropserver Progress - May 2024

This is the progress report for Dropserver for May 2024. Here is last month &rsquo;s report. May was a &ldquo;Spring cleaning&rdquo; month. Before launching into my next big project ( Tailscale integration) I want to have a clean code base, or at least clean out the obvious relics of ancient ideas that never fully blossomed. Here we go: Remove Unused Appspace DB Code Back in ancient times…

Remembering My Time With Dick Rutan

Dick Rutan died earlier last month. This caused me to revisit a time in my life when I worked for him, flew with him, and shared in the misadventures of a failed project with him. I worked for Dick from the Summer of 1998 to Spring 1999 while he was on his second attempt at being the first to go around the world in a balloon non-stop and non-refueled. He was already famous for his circumnavigation…

Building Backwards Compatibility into Dropserver

An unfortunate pitfall of modern computing is to be forced to make the choice between upgrading an operating system and continuing to use a beloved old app. Forcing this on users brings out some choice words for the developers of the OS, but a system that can evolve to its full potential while running old code is hard to build. I would like for Dropserver , an OS of sorts, to continue to run old…

Dropserver Progress - April 2024

This is the progress report for Dropserver for April 2024. Last month I said I would change how I do these. I want them shorter and more to the point. If any aspect of the work deserves a deeper technical dive it will be in a separate blog post. Here we go: Outbound Fetches Get Stuffed Last month I tried to implement outgoing net requests in a safe way for the user and instance. I was unable to…

Allowing Outbound Net Requests from a Dropserver App

With Deno 2.0 delayed again I recently tried to implement outbound net requests for Dropserver apps using Deno v1&rsquo;s permission model. I was excited to offer this new capability for Dropserver apps but unfortunately things did not go as I had hoped. Problem Description In the current version of Dropserver an app is unable to make a dynamic request to another host. It&rsquo;s blocked by the…

I Want To Surf the Not-World Not-Wide Web

The World Wide Web is awesome. It&rsquo;s &ldquo;World-Wide&rdquo;, and it&rsquo;s a &ldquo;Web&rdquo;, meaning everybody and anybody can connect with everybody and anybody! Information is shared and everybody can read it! The WWW rocks. Well, it rocks for things that are meant to publicly available. Once you want to share information with just one or a few people things get a little weird. If you…

Dropserver Progress - March 2024

This is the monthly progress report for Dropserver for March 2024. The previous report is here . This happens to be the twelfth month for which I am publishing an update (the first progress update covered April-June 2023 ). A full year! Yay me. It&rsquo;s also time for me to change how I write these posts. I think I&rsquo;ll make them shorter and more to the point and I will dedicate complete blog…

Dropserver Progress - February 2024

This is the monthly progress report for Dropserver for February 2024. The previous report is here . The Big Picture This will be a short report because I spent half of this month on vacation, which limited my work. After Releasing 0.13 last month I am allowing myself some time to explore tangential projects while also chipping away at some Dropserver issues. Getting Lume to Work I have been trying…

Dropserver Progress - January 2024

This is the monthly progress report for Dropserver for January 2024. The previous report is here . The Big Picture Dropserver 0.13 is out ! 🎉 This is the release that lets Dropserver install apps from a 3rd party website. If you&rsquo;ve been reading these progress reports, you know it&rsquo;s been a long time coming. Getting to a Release Before releasing I had to add a few more features and…

Dropserver Progress - December 2023

This is the monthly progress report for Dropserver for December 2023. The previous report is here . The Big Picture I made a big push to get version 0.13 out the door. While I didn&rsquo;t succeed at actually cutting the release, the most challenging part is complete and I am now just adding a few more items. I also continued developing thoughts on how to take Dropserver to the next stage. I…

Dropserver Progress - November 2023

This is the monthly progress report for Dropserver for November 2023. The previous report is here . The Big Picture Although my main coding focus was getting Dropserver to install and update an application that is hosted on a third party website I got side-tracked by big thoughts on other topics. These don&rsquo;t help the release tempo but are crucial for steering Dropserver in the right…

Dropserver Progress - October 2023

This is the monthly progress report for Dropserver for October 2023. The previous report is here . The Big Picture My focus is on getting Dropserver to install and update an application that is hosted on a third party website. Most of the work is really just thinking about what the endpoints look like on the third party site, and all the different ways a user will proceed through the steps of…

Dropserver Progress - September 2023

This is the monthly progress report for Dropserver for September 2023. The previous report is here . The Big Picture I worked on finishing app changelogs and started working on installing apps from a URL. This is all part of &ldquo;Dropserver App Packaging and Distribution&rdquo; project. I also spent some time thinking about how to present Dropserver.org, how to make it more easily usable, and…

Dropserver Progress - August 2023

This is the third progress report for Dropserver . This one will be very short thanks to a much needed vacation during most of the month. See last month&rsquo;s report The Big Picture After the release of version 0.11 I took some time for exploratory thinking. Upon my return from vacation I went to work on the &ldquo;distribution&rdquo; part of &ldquo;app packaging and distribution&rdquo;.…

Dropserver Progress - July 2023

This is the second progress report for Dropserver . This one will be modest unlike the previous epic . The Big Picture I continued to work on app packaging and managed to tag a release. To celebrate, I immediately went to work fixing some of the things that didn&rsquo;t make it into the release. Finishing Up App Packaging App Name and Description I had to create validations for app name, and…

Dropserver Progress - April to June 2023

I am going to try writing monthly updates on the progress of Dropserver development. Regardless of whether I have anything significant to share, I&rsquo;ll post about the past month&rsquo;s work. I&rsquo;ll look at my commits and my notes (I take copious notes, arranged chronologically and in threads, but that&rsquo;s the subject of a different post) and summarize what I worked on. Since this is…

The State of Sandboxing in Dropserver

One of the bigger challenges of developing Dropserver has been to somehow make it safe to run the user&rsquo;s application code. In this long-ago post I relayed how I tried a number of different approaches, all of them being too difficult to make work until Deno arrived. Naturally that was not the end of the story. But first&hellip; Why Is Sandboxing Important in Dropserver? The goal of Dropserver…

A Secret Santa App On Dropserver

Inspired by Simon Willison&rsquo;s post on making a Secret Santa app as a Datasette plugin I decided to write a minimalist Secret Santa app for Dropserver. Dropserver is my attempt at building a platform for hosting my own personal apps. A primary objective of DS is that it should be really easy for a developer, particularly a frontend developer, to write an app that can be hosted by Dropserver.…

Has Deno Turned a Corner?

Deno is NodeJS reinvented. I like writing code for Deno, and I depend on it as a sandbox for Dropserver after trying many other approaches . Unfortunately the JavaScript community at large does not seem to be embracing Deno as much as I am. It seems many people are simply sticking with Node for now even though Deno 1.0 has been out since Spring 2020 . I posted this on Mastodon last February :…

Unpacking Moxie&#39;s &#34;People don’t want to run their own servers, and never will&#34;

Moxie Marlinspike&rsquo;s article on web3 has resulted in huge amounts of conversation online about various aspects of the web and decentralization. One aspect that got a lot of attention, and one that I paid particular attention to given my current project is this statement: &ldquo;People don’t want to run their own servers, and never will.&rdquo; — Moxie Marlinspike I want to unpack why I think…

Can An &#34;App Store&#34; Be The Solution to Funding Open Source Desktop Applications?

I&rsquo;ve been thinking a lot about open source lately, and wondering if there are alternative business models that could make it sustainable. This &ldquo;app store&rdquo; idea is one possibility. Motivation I always prefer using an open source application if I can find one that meets my needs. I am uneasy spending money on closed source solutions to any of my problems. It&rsquo;s not the money…

Dark Mode: Not For Me Either

Kev Quirk managed to get himself on the front page of the orange site for his post on Dark Mode . The topic even drew 511 comments, some of which seemed to take this as a personal affront to their lifestyle choices. Now you&rsquo;ve done it. Kev&rsquo;s post was well researched and I learned a few things from it. Interestingly none of the reasons he cites for using light mode are reasons why I go…

Proprietary Services Fulfill The Open Web&#39;s Dream

Last night, during the protests for #BlackLivesMatter, there was an urgent need to spread information to participants and others trying to help. In an effort to get that information out, people reached for tools that they could use quickly and effectively. One of these tools is Carrd , an online website builder that makes single-page websites or very simple multi-page sites. It is run by a solo…

SpaceX Crew Dragon Launch and NASA&#39;s Gulfstream-IIIs

I was watching news coverage before SpaceX&rsquo;s launch of NASA astronauts Bob Behnken and Doug Hurley when I noticed something that took me back to the very end of my aerospace career. Astronauts usually live in Texas near NASA&rsquo;s JSC , and fly to KSC (or Russia) when it&rsquo;s time to launch. During the Shuttle era they would fly in T-38 s from Texas. For this trip they took one of…

Our Web Versus Search Engines

Sometimes it seems like search engines are amazing. And yes, for a lot of questions, they do get us an answer quickly. But other times search engines fail me. For example I might search for pages that talk about two topics together, and I&rsquo;ll get results for a popular page about the first topic that happens to have a link to a page on the second topic in its navigation menu. For a long time…

Thoughts on Sandstorm

When I tell people about my side-project to create a server that makes it safe and easy to run your own web apps, some say I should check out Sandstorm . I was a (small) backer of Sandstorm&rsquo;s IndieGogo but I&rsquo;ve been disappointed by how it worked out. I think the idea of safely and easily hosting your own server-side applications and services is important for the internet to remain…