Link Dump

Links to random stuff.

This all comes from


Homepage/demo Docs Source code

VTracer is an open source software to convert raster images (like jpg & png) into vector graphics (svg). It can vectorize graphics and photographs and trace the curves to output compact vector files.

Comparing to Potrace which only accept binarized inputs (Black & White pixmap), VTracer has an image processing pipeline which can handle colored high resolution scans. tl;dr: Potrace uses a O(n^2) fitting algorithm, whereas vtracer is entirely O(n).

Comparing to Adobe Illustrator's Image Trace, VTracer's output is much more compact (less shapes) as we adopt a stacking strategy and avoid producing shapes with holes.

VTracer is originally designed for processing high resolution scans of historic blueprints up to gigapixels. At the same time, VTracer can also handle low resolution pixel art, simulating image-rendering: pixelated for retro game artworks.

Event Notify Test Runner

A utility for running arbitrary commands when files change. Uses kqueue(2) or inotify(7) to avoid polling. entr was written to facilitate rapid feedback on the command line.

Source code

Project page

ENTR uses STDIN, so you can pipe into it as part of your shell workflow.

Rebuild a project if source files change, limiting output to the first 20 lines:

find src/ | entr -s 'make | head -n 20'

Launch and auto-reload a node.js server:

ls *.js | entr -r node app.js

Clear the screen and run a query after the SQL script is updated:

echo my.sql | entr -cp psql -f /_

Rebuild project if a source file is modified or added to the src/ directory:

while sleep 0.1; do ls src/*.rb | entr -d make; done

Auto-reload a web server, or terminate if the server exits

ls * | entr -rz ./httpd


Flexible input device remapper, geared towards gamepads

Source Code

The goal is to make any controller "just work", even as they are inserted or removed from the system. For complicated input devices, this can even involve writing specialized support to fully exploit their features.

MoltenGamepad targets a set-it-and-forget-it daemon-like usage pattern, where devices can connect or disconnect freely. Its main purpose is letting a user "standardize" their software to expect just one type of controller, and then automagically transform connected input devices to match that standardized abstraction.


OSHW-Certified Open source esp32 board. Dual-core MCU with Bluetooth, WiFi, power over Ethernet. Made with KiCAD


Product page



Galvanically Isolated version

Features: 100uA deep sleep current Ethernet 100Mb interface with IEEE 802.3 PoE support LiPo battery charger LiPo battery connector USB programmable. Internal or external antenna versions User button Reset button


This is a tool for automatically creating typing shortcuts from a corpus of your own writing! I use these shortcuts mainly for email and slack.

Source code

This repo parses a corpus of text and suggest what shortcuts you should use to save the most letters while typing. It then generates config files for Autokey, a linux program that implements keyboard shortcuts!


A command line toolkit to generate maps, point clouds, 3D models and DEMs from drone, balloon or kite images. 📷

source code


An open source command line toolkit for processing aerial drone imagery. ODM turns simple 2D images into:

Pineapple ONE

Open source 32 bit RISC-V CPU that you can make at home

Source Website

Pineapple ONE is a functioning (macro) processor, that is based on an open-source architecture RISC-V. This architecture is becoming very popular these days, and it is well, open-source, so we chose to build a cpu only out of discrete, off-the-shelf components. You heard it right, there is no FPGA nor any microcontroller, there are just logic gates and memories.


source code Screenshot project page

RaySession is a GNU/Linux session manager for audio programs such as Ardour, Carla, QTractor, Guitarix, Patroneo, Jack Mixer, etc...
The principle is to load together audio programs, then be able to save or close all documents together.
Its main purpose is to manage NSM compatible programs, but it also helps for other programs.

it benefits from a nice patchbay, a complete manual as well as a splendid web site .

An integrated client can save and restore JACK connections.
Except this, RaySession doesn't deals with JACK, the recommended user behavior is to use it when JACK is already started.



Rauversion is an open source music platform. Be your own music industry!

source code project page


Music publishing:

Music Listening:


Publishing magazine:

CD-R 700mb

Modern static site generator for making web mixtapes.

source code project page

Before Spotify, Apple Music, Amazon Music Unlimited, Amazon Music HD, Google Play Music, Tidal, Deezer, Pandora, Idagio, LiveXLive, Primephonic, SiriusXM Essential, SiriusXM Premier, and YouTube Music, we listened to mixtapes. We compiled tracks on iTunes and burned them onto CD-Rs. We traded them with each other. We freely listened in our car or at home or with our portable CD player. And it was good.

Today we might spend an eternity making the perfect playlist for someone special, only to learn they're on the Z Music Unlimited service while you're on X Music Basic. Now, vendor lock-in means love lock-out. Our connections are disconnected. Our romantic hopes aren't high enough for the surrounding paywalls. What can we do?

This is a static site generator for "burning" a modern mixtape. It's platform-independent and won't get scratched up in your car.

Run this program inside a directory of music files to produce a bare-bones HTML page that will simply play the music for someone. Upload it all to your website, and share the URL. Boom, you have a mixtape.

This only takes care of "burning the CD," if you will -- then it's up to you to make it special, like you would a normal mixtape. Add track notes, make it look cool or funky, do something that takes a little more effort than sharing a freaking Spotify playlist. All this tech convenience has made us lazy and boring. So make something interesting! Show someone that they mean something to you!


A static site generator for audio producers

source code project page

Point Faircamp to a folder hierarchy on your disk which contains your audio files. Within minutes, Faircamp builds a complete, static website that presents your music to your audience. You can view the site on your computer or upload it to any webhost - no database, no php or such required.

By default, visitors can browse and stream your music. You can enable more features: Downloads, Embeds, Soft Paycurtain, Unlock codes for Downloads, RSS Feed, etc.. You can also provide text descriptions for your releases, adjust the theme of your site and so on, this is all done in manifests, simple text files you place next to your audio files.

If your webspace supports SSH access, faircamp can be configured to upload your website for you automatically, otherwise you can use FTP or whichever means you prefer to do that manually.


source code

OvenMediaEngine (OME) is a Sub-Second Latency Streaming Server that can stream Large-scale and High-definition live streams over Low Latency HLS (LLHLS) and WebRTC to hundreds of thousands of viewers.

OME can ingest live streams over WebRTC, SRT, RTMP, RTSP, and MPEG2-TS protocols, encode them to ABR with the embedded live transcoder, and stream them to viewers over LLHLS and WebRTC.

With OvenMediaEngine, you can build your powerful and sub-second latency media service very easily.


Solution to synchronize video playback across multiple instances of mpv, VLC, MPC-HC, MPC-BE and mplayer2 over the Internet.

source code project page

Pausing, unpausing and seeking are synchronized over the Internet, giving everyone playing the same file in the same virtual room a shared viewing experience. Use alongside VoIP software, e.g. Mumble or Skype.

Syncplay synchronises the position and play state of multiple media players so that the viewers can watch the same thing at the same time. This means that when one person pauses/unpauses playback or seeks (jumps position) within their media player then this will be replicated across all media players connected to the same server and in the same 'room' (viewing session). When a new person joins they will also be synchronised. Syncplay also includes text-based chat so you can discuss a video as you watch it (or you could use third-party Voice over IP software to talk over a video).


Papis is a powerful and highly extensible CLI document and bibliography manager.

Interfaces: CLI, TUI, web, yaml, python, emacs, vim

source code docs

With Papis, you can search your library for books and papers, add documents and notes, import and export to and from other formats, and much much more. Papis uses a human-readable and easily hackable .yaml file to store each entry's bibliographical data. It strives to be easy to use while providing a wide range of features. And for those who still want more, Papis makes it easy to write scripts that extend its features even further.



Structured Editing and Navigation in Emacs

Source code Guided tour

Combobulate is a package that adds structured editing and movement to a wide range of programming languages. Unlike most programming major modes that use error-prone imperative code and regular expressions to determine what's what in your code, Combobulate uses Emacs 29's tree-sitter library.


A lisp programmable laptop with a battery life measured in years.

Source code Homepage

It currently has an estimated battery life of up to 2 years depending on ambient light (with a 12000 mAh li-po battery), but I am hoping to eventually make it powered by ambient light alone.

captive portal controller

Control how Android detects captive portal.

Source code F-droid link (izzysoft repo)



Source code Fdroid

It works by simply replacing the action URL from the login form on the web page to a local HTTP server which redirects the request to the original destination. The local HTTP server saves the request, so the app can reproduce the same call next time you connect to the same WiFi network.

rtsp-simple-server -- rtsp-simple-server is a ready-to-use and zero-dependency RTMP/RTSP/LL-HLS/WebRTC server and proxy that allows users to publish, read and proxy live video and audio streams.

source code


cameradar -- Cameradar hacks its way into RTSP videosurveillance cameras

Cameradar allows you to

source code demo.png command-line options

openipc -- Open Source IP Camera firmware

OpenIPC is a Linux operating system targeting IP cameras with processors from several manufacturers in order to replace that closed, opaque, insecure, often abandoned and unsupported firmware pre-installed by a vendor.

Source code Note: Org also contains non-firmware packages that could be reused by other projects (lightweight realtime streaming, webui, etc) homepage wiki supported devices

Historically, OpenIPC firmware only supported SoC manufactured by HiSilicon, but as the development continues, the list of supported processors expands. Today, it also includes chips from Ambarella, Anyka, Fullhan, Goke, GrainMedia, Ingenic, MStar, Novatek, SigmaStar, XiongMai, and is expected to grow further.


The Alpakka controller is Input Labs' main reference design, a re-interpretation of the standard gamepad that everyone is familiar with, but with advanced gyro controls, mouse-like competitive performance, and the power of an open source community bringing limitless accessibility and customization options.

Having the performance of a mouse combined with the convenience of a gamepad, you won't have to make any compromise anymore.

Source Code


Zero software

"Gaming peripherals and bloatware apps, name a more iconic duo"

No drivers, no apps, no overlays, no bloat. The Alpakka firmware emulates as a standard keyboard, mouse, and Xinput gamepad at hardware level; so it just works out of the box in Windows and Linux, and every game launcher.

Instead of having per-game configurations, the firmware includes 8 profiles carefully crafted for different game genres, that can be switched directly on the controller (for example: FPS, racing, flight).

With 2 gyro sensors working in parallel, and the hexagonal touch-sensitive surface surrounding the ABXY buttons, we finally cracked the code for gyro as primary input.

Gyro controls are not an afterthought anymore, they are the new default. And since a secondary thumbstick would be redundant, instead it features a scrollwheel and a 8-directional "physical selection wheel".


Graph-oriented live coding language and music DSP library written in Rust

Source Code


Glicol (an acronym for "graph-oriented live coding language") is a computer music language with both its language and audio engine written in Rust programming language, a modern alternative to C/C++. Given this low-level nature, Glicol can run on many different platforms such as browsers, VST plugins and Bela board. Glicol's synth-like syntax and powerful audio engine also make it possible to combine high-level synth or sequencer control with low-level sample-accurate audio synthesis, all in real-time.

The ℵ-Calculus: A declarative model of reversible programming



Author's page


A novel model of reversible computing, the ℵ-calculus, is introduced. It is declarative, reversible-Turing complete, and has a local term-rewriting semantics. Unlike previously demonstrated reversible term-rewriting systems, it does not require the accumulation of history data. Terms in the ℵ-calculus, in combination with the program definitions, encapsulate all program state. An interpreter was also written.

USB c industrial camera

Source code

home page

Opensource USB C industrial camera with Interchangeable C mount lens, Interchangeable MIPI Sensor with Lattice Crosslink NX FPGA and Cypress FX3 USB 3.0 controller


Open-source carrier-grade wireless networking platform for rural areas

Source Code


Magma is an open-source software platform that gives network operators an open, flexible and extendable mobile core network solution. Magma enables better connectivity by:

Allowing operators to offer cellular service without vendor lock-in with a modern, open source core network Enabling operators to manage their networks more efficiently with more automation, less downtime, better predictability, and more agility to add new services and applications Enabling federation between existing MNOs and new infrastructure providers for expanding rural infrastructure Allowing operators who are constrained with licensed spectrum to add capacity and reach by using Wi-Fi and CBRS


feuille is a fast, dead-simple socket-based pastebin that allows a user to send text, logs or code to your server. It focuses on speed, code quality, and security.

Source Code

// sending text
$ echo Hello, World! | nc 9999

// sending files
$ cat feuille.c | nc 9999

Chatter Net Client

Chatter Net is a modern decentralized semantic web built atop self-sovereign identity.

Source Code Homepage. For more, you can have a look at the sibling server project, and a prototype work-in-progress social application used to dog food the development process.

Chatter Net is a platform which is:

Chatter Net does not rely on a specific network stack or protocol. It is instead specified by its data model. It would be possible (though prohibitively slow) to operate a Chatter Net network using carrier pigeons.

Whereas the world wide web is a web of HTML documents, Chatter Net is a web of self-signed semantic documents. It closely follows (but is not fully compliant with) the Activity Pub protocol. Consequently, it is closely related to other federated platforms, of which Mastodon is the a well established platform.

Chatter Net's self-signed data model does differ in a subtle yet meaningful way: the authority resides in the users of the network, not the servers.

This is what allows the project to realize its objectives.

No de-platforming: since no server is needed to verify the identity of a user, no server can prevent a user from accessing the network. No platform lock-in: since no server is needed to verify the authenticity of data, no server can lock data away from users and other servers. No spam from arbitrary users: would-be spammers need not only convince a server to trust them, they must directly convince other users.



Wiretap is a transparent, VPN-like proxy server that tunnels traffic via WireGuard and requires no special privileges to run.


Unix-style filesystem-based RSS/Atom/JSON Feed fetcher/reader

Source Code

Diamond Types

The world's fastest CRDT. WIP.

Source Code

Blog post on making diamond types 5000x faster than competing CRDT implementations And since that blog post came out, performance has increased another 10-80x (!).

As well as being lightning fast, this library is also designed to be interoperable with positional updates. This allows simple peers to interact with the data structure via operational transform.

This repository contains a high performance rust CRDT for text editing. This is a special data type which supports concurrent editing of lists or strings (text documents) by multiple users in a P2P network without needing a centralized server.

This version of diamond types only supports plain text editing. Work is underway to add support for other JSON-style data types. See the more_types branch for details.

Boondock Echo

Source Code


Radio reception in mountainous terrain is sporadic. During an emergency, poor communication can cost lives. The proposed solution is internet-backed time-shift radio.

This project uses commercial off-the-shelf handheld radios and a microcontroller-based internet gateway to receive and store messages on a server where they can be queued for playback locally or through a remote repeater. This solution allows increased communication in mountainous terrain with limited capital expenditure. Radio operators can capture traffic during a pileup, monitor multiple frequencies of interest, and replay important messages.

Nomad Network - Communicate Freely

Off-grid, resilient mesh communication with strong encryption, forward secrecy and extreme privacy.

Nomad Network Allows you to build private and resilient communications platforms that are in complete control and ownership of the people that use them. No signups, no agreements, no handover of any data, no permissions and gatekeepers.

Nomad Network is build on LXMF and Reticulum, which together provides the cryptographic mesh functionality and peer-to-peer message routing that Nomad Network relies on. This foundation also makes it possible to use the program over a very wide variety of communication mediums, from packet radio to fiber optics.

Nomad Network does not need any connections to the public internet to work. In fact, it doesn't even need an IP or Ethernet network. You can use it entirely over packet radio, LoRa or even serial lines. But if you wish, you can bridge islanded networks over the Internet or private ethernet networks, or you can build networks running completely over the Internet. The choice is yours.

Notable Features - Encrypted messaging over packet-radio, LoRa, WiFi or anything else Reticulum supports. - Zero-configuration, minimal-infrastructure mesh communication - Distributed and encrypted message store holds messages for offline users - Connectable nodes that can host pages and files - Node-side generated pages with PHP, Python, bash or others - Built-in text-based browser for interacting with contents on nodes - An easy to use and bandwidth efficient markup language for writing pages - Page caching in browser

Lightweight Extensible Message Format

LXMF is a simple and flexible messaging format and delivery protocol that allows a wide variety of implementations, while using as little bandwidth as possible. It is built on top of Reticulum and offers zero-conf message routing, end-to-end encryption and Forward Secrecy by default.

Source code

LXM Propagation Nodes offer a way to store and forward messages to users or endpoints that are not directly reachable at the time of message emission. Propagation Nodes can also provide infrastructure for distributed bulletin, news or discussion boards.

When Propagation Nodes exist on a Reticulum network, they will by default peer with each other and synchronise messages, automatically creating an encrypted, distributed message store. Users and other endpoints can retrieve messages destined for them from any available Propagation Nodes on the network.


Self-configuring, encrypted and resilient mesh for LoRa, packet radio, WiFi and everything in between

Source Code

Reticulum is the cryptography-based networking stack for building local and wide-area networks with readily available hardware. It can operate even with very high latency and extremely low bandwidth. Reticulum allows you to build wide-area networks with off-the-shelf tools, and offers end-to-end encryption and connectivity, initiator anonymity, autoconfiguring cryptographically backed multi-hop transport, efficient addressing, unforgeable delivery acknowledgements and more.

The vision of Reticulum is to allow anyone to be their own network operator, and to make it cheap and easy to cover vast areas with a myriad of independent, inter-connectable and autonomous networks. Reticulum is not one network. It is a tool for building thousands of networks. Networks without kill-switches, surveillance, censorship and control. Networks that can freely interoperate, associate and disassociate with each other, and require no central oversight. Networks for human beings. Networks for the people.

The full documentation for Reticulum is available at

You can also download the Reticulum manual as a PDF

For more info, see

Notable Features - Coordination-less globally unique addressing and identification - Fully self-configuring multi-hop routing - Initiator anonymity, communicate without revealing your identity - Asymmetric X25519 encryption and Ed25519 signatures as a basis for all communication - Forward Secrecy with ephemeral Elliptic Curve Diffie-Hellman keys on Curve25519 - Reticulum uses the Fernet specification for on-the-wire / over-the-air encryption - Keys are ephemeral and derived from an ECDH key exchange on Curve25519 - AES-128 in CBC mode with PKCS7 padding - HMAC using SHA256 for authentication - IVs are generated through os.urandom() - Unforgeable packet delivery confirmations - A variety of supported interface types - An intuitive and easy-to-use API - Reliable and efficient transfer of arbitrary amounts of data - Reticulum can handle a few bytes of data or files of many gigabytes - Sequencing, transfer coordination and checksumming are automatic - The API is very easy to use, and provides transfer progress - Lightweight, flexible and expandable Request/Response mechanism - Efficient link establishment - Total bandwidth cost of setting up an encrypted link is 3 packets totaling 297 bytes - Low cost of keeping links open at only 0.44 bits per second

Where can Reticulum be used? Over practically any medium that can support at least a half-duplex channel with 500 bits per second throughput, and an MTU of 500 bytes. Data radios, modems, LoRa radios, serial lines, AX.25 TNCs, amateur radio digital modes, WiFi and Ethernet devices, free-space optical links, and similar systems are all examples of the types of physical devices Reticulum can use.

An open-source LoRa-based interface called RNode has been designed specifically for use with Reticulum. It is possible to build yourself, or it can be purchased as a complete transceiver that just needs a USB connection to the host.

software evolution library

Programmatic modification and evaluation of software

source code

The SOFTWARE-EVOLUTION-LIBRARY enables the programmatic modification and evaluation of software.

A common interface abstracts over multiple types of software objects including source code abstract syntax trees (primarily using tree-sitter), compiled assembler code, and binary software objects. Software transformation, analysis, and evaluation techniques are implemented on top of this interface supporting automation of common software engineering tasks.

See the manual, available at


Source Code

The OpenZiti fabric provides a scalable, plugable, networking mesh with built in smart routing

Security Features * Zero Trust and Application Segmentation * Dark Services and Routers * End to end encryption

Performance and Reliability * A scalable mesh fabric with smart routing * Support for load balancing services for both horizontal scale and failover setups

Developer Focus) * Fully programmable REST management APIs * An extensible fabric, allowing you to add your own * load balancing algorithms * interconnect protocols * ingress and egress protocols * metrics collections frameworks * control and management plane messaging and semantics

Easy Management * A flexible and expressive policy model for managing access to services and edge routers * A web based admin console * Pre-built tunnelers and proxies for a variety of operating systems, including mobile


neuropil is a small c-library which by default adds two layers of encryption to communication channels. It allows you to address identities (a device, an application, a service or a person) worldwide without compromise for privacy or security requirements.

Source Code


Home Page

The project embraces modern concepts like named-data networks, self-sovereign identities, zero trust architectures and attributes based access control to increase the cybersecurity level of it’s users beyond the current state-of-technology. In effect its users will benefit from the new way of secure, scalable and souvereign data integration to easily comply with legal, organizational, operational and compliance regulations and requirements.


Homepage Source Code

farmOS is a web-based application for farm management, planning, and record keeping. It is developed by a community of farmers, developers, researchers, and organizations with the aim of providing a standard platform for agricultural data collection and management.


Source Code


BunkerWeb is a web server based on the notorious NGINX and focused on security.

It integrates into existing environments (Linux, Docker, Swarm, Kubernetes, …) to make your web services "secure by default" without any hassle. The security best practices are automatically applied for you while keeping control of every setting to meet your use case.

BunkerWeb contains primary security features as part of the core but can be easily extended with additional ones thanks to a plugin system.


Source Code


Whisper is a general-purpose speech recognition model. It is trained on a large dataset of diverse audio and is also a multi-task model that can perform multilingual speech recognition as well as speech translation and language identification.


We are writing the molecules to common chemical names that the general public use and keeping a record for all of us to download and maintain together. We can all manage it as an open source governing community and use tools to declare whether these chemicals are safe or not for general use.



Music video generator based on rhythm

Source Code

  1. Provide an audio file and a set of video files

  2. Perform rhythm analysis to identify beat locations

  3. Generate a set of random video segments synced to the beat

  4. Discard segments with scene changes, detectable text (e.g. credits), or low contrast (i.e. solid colors, very dark scenes)

  5. Combine the segments in order, overlay the audio, and output the resulting music video

fantasy consoles/computers

Source Code


This is a list of available fantasy consoles/computers. Including softwares which simulate virtual hardwares, with limited functionality. And always encourage creating and sharing tiny retro games and programs with built-in languages and tools.


This Emacs library divides the screen into zones and executed actions when those zones are touched. This is done by parsing the output from the libinput tools.

Source Code



Display and control your Android device

Source Code

This application provides display and control of Android devices connected via USB or over TCP/IP. It does not require any root access. It works on GNU/Linux, Windows and macOS.

It focuses on:

Its features include: - recording - mirroring with Android device screen off - copy-paste in both directions - configurable quality - Android device as a webcam (V4L2) - physical keyboard simulation (HID) - physical mouse simulation (HID) - OTG mode


ZilchOS Core, a decidedly tiny Nix-based distro to play with

Source Code

An minimal viable Linux distribution based on Nix, musl, clang and busybox. (well, not yet, but give it a bit of time).

Bootstrapped from a single TinyCC binary.


Ever wanted to see how to put Nix derivations together into something bootable? Or get rid of /bin/sh or /etc,


Non-goals (Core)

Stretch goals

Yoshiki Schmitz Archive

This repository contains Yoshiki Schmitz's remarks/works. It attempts to catalogue everything Yoshiki himself would have included as representative of his public thinking (ie, not particularly old social media posts).

Source Code

Last updated 10mos ago

Live version


A full-featured package manager and viewer for Android

Source Code


Root/ADB-only features

Root-only features


Easily query TOML files from bash

Source Code

It allows bash to read .toml files structurally, so you don't have to come up with weird ad-hoc solutions involving awk, sed, and tears as soon as it breaks in production because you didn't use an actual toml-parser. It does this by outputting declare statements for associative, and "plain" arrays.

Bash is unable to store nested arrays of any kind, so any nesting will be ignored when exporting, and you'll have to adapt your -e to access the nested information. It is recommended that you start your scripts with set -euo pipefail in order to fail fast™.


Chafa is a command-line utility that converts image data, including animated GIFs, into graphics formats or ANSI/Unicode character art suitable for display in a terminal. It has broad feature support, allowing it to be used on devices ranging from historical teleprinters to modern terminal emulators and everything in between.


Source Code



AsmBB is a modern web forum engine, written entirely in assembly language (FlatAssembler aka FASM)


Demo Instance

This is an engine for web based message board (forum) implemented entirely in assembly language, using FastCGI interface and SQLite database as a storage.

It is aimed to be the fast and light message board engine and still to be able to provide modern look and feel and all needed features for high active Internet community.

It can work on a really weak web server and in the same time to serve huge amount of visitors without lags and delays.

In addition, because of the very few dependencies and the very aggressive testing, AsmBB is highly secure forum engine.


Surfraw - Shell Users' Revolutionary Front Rage Against the Web


Surfraw provides a fast unix command line interface to a variety of popular WWW search engines and other artifacts of power. It reclaims google, altavista, babelfish, dejanews, freshmeat, research index, slashdot and many others from the false-prophet, pox-infested heathen lands of html-forms, placing these wonders where they belong, deep in unix heartland, as god loving extensions to the shell.

Surfraw abstracts the browser away from input. Doing so lets it get on with what it's good at. Browsing. Interpretation of linguistic forms is handed back to the shell, which is what it, and human beings are good at. Combined with netscape-remote or incremental text browsers, such as links (, w3m (, and screen(1) a Surfraw liberateur is capable of navigating speeds that leave GUI tainted idolaters agape with fear and wonder.


Web-based software to manage a non-profit food coop (product catalog, ordering, accounting, job scheduling).



Demo Instance

A food cooperative is a group of people that buy food from suppliers of their own choosing. A collective do-it-yourself supermarket. Members order their products online and collect them on a specified day. And all put in a bit of work to make that possible. Foodsoft facilitates the process.

If you're a food coop considering to use foodsoft, please have a look at the wiki page for foodcoops. When you'd like to experiment with or develop foodsoft, you can read how to set it up on your own computer.



Orchestrate applications using a Git-like dataflow




System-wide colorscheming and typography for NixOS

Stylix is a NixOS module which applies the same color scheme, font and wallpaper to a wide range of applications and desktop environments. In some cases, theming can be activated as early as the bootloader! It also exports utilities for you to apply the theming to custom parts of your configuration. Stylix is built using base16.nix, a library which handles the generation of config files from templates provided by the base16 project. If you only set a wallpaper, Stylix will use a homemade genetic algorithm to choose a color scheme based on it. The quality of the generated palettes can vary - but more colorful images tend to have better results.

You can force a light or dark theme using the polarity option: stylix.polarity = "dark";

You can override part of the scheme by hand, perhaps to select your background and text colors manually while keeping the genetic accent colors.


Irmin is a distributed database that follows the same design principles as Git