Advanced Search
Search Results
166 total results found
The high-level workflow of Nix
You can use Nix to build many different things for many different purposes. However, the basic workflow is always the same: You specify some kind of Nix expression. This can be a simple expression, a whole system configuration, a Morph deployment... anythin...
Notes/TODO
Rollback to specific generation: https://github.com/NixOS/nixpkgs/issues/24374#issuecomment-948900470
Transitive dependencies and the commons
In this article, I want to explain why I personally only work with programming languages anymore that allow conflicting transitive dependencies, and why this matters for the purpose of building a commons for software. Types of dependency structures There are...
How to de-escalate situations
I originally drafted this guide for the (public, semi-open) NixOS governance talks in 2024. It was written for participants in those governance discussions, as a de-escalation guide to steer conversation back to a constructive path. The recommendations in it, ...
What to expect from the Promistreams beta phase
Promistreams are currently in their beta testing phase. What this means in practice: You can start using Promistreams in your projects today. But be prepared to sometimes debug issues. Linear pipelines will generally work perfectly. More complex pipelines ...
Example project: Scraping XML sitemaps
The code in this guide scrapes an artificial sitemap for a non-existent site, that was created specifically for this article. When scraping anything on a site that you do not run yourself, you should always check the robots.txt to determine whether the owner i...
New Page
Treating hair lice in difficult hair
Theory Hair lice are a relatively innocent parasite that lives in human head hair. Although they are typically not disease carriers, the itching can be extremely frustrating. Hair lice attach themselves by holding onto the hair, typically close to the skin o...
State resolution attacks
These are some notes on various different kinds of attacks that might be attempted on state resolution algorithms, such as the one in Matrix. Different kinds of state resolution algorithms are vulnerable to different kinds of attacks; a reliable state algorith...
New Page
How do you actually run a community project?
There's no shortage of open-source projects that present themselves as 'community projects', whether explicitly or otherwise. But what actually makes a successful community project, and why do so many projects fail to live up to this promise?
Working with DBus
This article is a work in progress. It'll likely be expanded over time, but for now it's incomplete. What is DBus? DBus is a standardized 'message bus' protocol that is mainly used on Linux. It serves to let different applications on the same system talk to ...
Fixing root filesystem errors with fsck on NixOS
If you run into an error like this: An error occurred in stage 1 of the boot process, which must mount the root filesystem on `/mnt-root` and then start stage 2. Press one of the following keys: r) to reboot immediately *) to ignore the error and continue...
Blocking LLM scrapers on Alibaba Cloud from your nginx configuration
There are currently LLM scrapers running off many Alibaba Cloud IPs, that ignore robots.txt and pretend to be desktop browsers. They also generate absurd request rates, to the point of being basically a DDoS attack. One way to deal with them is to simply block...
Dealing with a degraded btrfs array due to disk failure
Forcing a btrfs filesystem to be mounted even though some drives are missing (in a default multi-disk setup, ie. RAID0 for data but RAID1 for metadata): mount -o degraded,ro /path/to/mount This assumes that the mounting configuration is defined in your fstab...
Building desktop applications with Node.js
Option 1: Electron This is the most popular and well-supported option. Electron is a combination of Node.js and Chromium Embedded Framework, and so it will give you access to the feature sets of both. The main tradeoff is that it doesn't give you much direct ...
Innamebeleid en opslag
Een van de belangrijkste onderdelen van het succesvol draaien van een weggeefwinkel, is het innamebeleid. Je verwacht het misschien niet, maar een van de meest voorkomende problemen in een weggeefwinkel is dat er teveel spullen binnenkomen waar geen ruimte voo...
Een locatie vinden
Je wilt een weggeefwinkel beginnen. Leuk! Maar een winkel heeft een plek nodig, dus waar doe je dat precies? De moeilijkheid van een weggeefwinkel Het grootste probleem met een weggeefwinkel zit hem in de naam; je geeft alles weg, en je hebt dus geen enkel i...