An updated list of some interesting projects that I have discovered over the years. The projects contained here are either very functional and complete, and vastly superior to everything I have used in their domain of competence, or have a strong vision of what things should look like.
Programming Languages
Zig
Zig (Archived) is a general-purpose programming language that aims to replace C. The project is growing steadily and is well-maintained and well-structured. One of the most amazing things for me is the ability to cross-compile for multiple targets (both different architectures and operating system) without having to install anything else.
Svelte
Svelte (Archived) is another language that compiles to Javascript, but it is completely rethought from the ground up. You program by writing reusable components that incorporate their HTML presentation together with CSS and their Javascript logic. It brings joy in writing in Javascript, and has multiple awesome features like Server-Side-Rendering and the ability to write a common frontend-backend with APIs using SvelteKit (Archived). Did I mention the ultra-small bundles?
Red
Red (Archived) is a new programming language inspired by REBOL (Archived), which aims to be its successor. The scope of the project is very broad, includes a native-code compiler, and tries to replace basically every other language, while trying to fit into the single megabyte size of REBOL. Still in its infancy, but it is worth keeping an eye on it.
Libraries and Tools
- Linux Distro: among the wide array of available distro I find Fedora (Archived) extremely well done since it "just works", especially with Nvidia graphics modules which are a pain to get working in other distros.
- Async Library: Trio (Archived) is an async library for Python, which is structured in clearly-defined and well-behaving primitives which allow you to retain your sanity.
- Recursive Parsing: the best library in this area is Ohmjs (Archived), which is a packrat parser supporting both left- and right-recursion, incremental parsing of updates to original text, and rules with parameters.
- Webpage Archival: freeze-dry (Archived) is the only project that has a sound idea on how to archive a page: it freezes the DOM as it is currently shown and inlines images and stylesheets.
- Application Hosting: k3s (Archived) is a lightweight distribution of Kubernetes, which I find extremely easy to install and run. You need to have at least a small background in how containers like Docker work, but Kubernetes is in my opinion one of the best pieces of software for running workloads together without having to worry about everything.
- Embedded Database: sqlite (Archived) is obviously well-known and it is awesome. I would like to also suggest duckdb (Archived) which aims to support a richer set of operations like columnar data storage, interoperates with pandas dataframes and parquet files, and also supports SQL queries. For a document storage instead I find acebase (Archived) really awesome, even implementing automatic client-server synchronization and OAuth logins with multiple providers, but lacking an automated test suite it is somewhat inconsistent in reliability.
- Personal Notekeeping: Obsidian (Archived) is a freeware desktop application for organizing notes in Markdown. Has an enormous amount of plugins for basically everything, and you can develop your own if you are missing some functionality. Really one of the most complete note-taking applications I have ever seen, including cross-notes linking. Unfortunately it is not open-source.
- Reproducibility: conda (Archived) is a package dependency management for many common languages with lots of compiled packages already available. dvc (Archived) allows you to keep track of data versioning and script dependencies inside your git repository while storing the data on other platforms; ideal for lots of data, machine-learning-style.
- Download CLI Utility: aria2 (Archived), a multi-protocol download utility supporting HTTP/HTTPS, FTP/SFTP, Magnets and BitTorrent.
- Personal Data Management: I store everything that I produce in git (Archived) repositories, and I find gitbackup (Archived) an extremely useful tool to backup my hosted git repos.