Links to random stuff.
This all comes from #0x00-links:kernelpanic.cafe.
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.
- Add documents and automatically fetch their metadata.
- Search by author, title, tags, and so on.
- Synchronize your library with whatever software you're already using.
- Share your documents with colleagues without having to force some proprietary service onto them.
- Import your data from other bibliography managers.
- Export to BibTeX and other formats.
- Integrate with your editor with plugins for (Neo)vim and Emacs.
- TUIs make it easy to get a quick overview of your library.
- Use the web app when the CLI doesn't quite cut it (for example on your tablet).
- Hacking Papis is easy! Use the API to easily create your own custom python scripts.
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)
- Enable/disable captive portal detection
- Set captive portal servers (with presets from GrapheneOS, Kuketz and Google)
- A quick setting tile to toggle captive portal detection
- Less than 100KB app as you don't need to use it frequently.
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.
- Publish live streams to the server
- Read live streams from the server
- Proxy streams from other servers or cameras, always or on-demand
- Streams are automatically converted from a protocol to another. For instance, it's possible to publish a stream with RTSP and read it with HLS
- Serve multiple streams at once in separate paths
- Authenticate users; use internal or external authentication
- Redirect readers to other RTSP servers (load balancing)
- Query and control the server through an HTTP API
- Reload the configuration without disconnecting existing clients (hot reloading)
- Read Prometheus-compatible metrics
- Run external commands when clients connect, disconnect, read or publish streams
- Natively compatible with the Raspberry Pi Camera
- Compatible with Linux, Windows and macOS, does not require any dependency or interpreter, it's a single executable
cameradar -- Cameradar hacks its way into RTSP videosurveillance cameras
Cameradar allows you to
- Detect open RTSP hosts on any accessible target host
- Detect which device model is streaming
- Launch automated dictionary attacks to get their stream route (e.g.:
- Launch automated dictionary attacks to get the username and password of the cameras
- Retrieve a complete and user-friendly report of the results
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.
"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
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.
Near-native, garbage-collection-free and memory-safe real-time audio in web browsers
Quick reference in consoles with alt-d
The web app automatically loads samples; you can also drag and drop local samples in the browser editor
Robust error handling: error reported in console, but previous music will continue!
What you see is what you get, i.e. declarative programmering for both code writing and executing: no need to select anything, just change the code and update, Glicol engine will use LCS algorithm to handle adding, updating and removing
Decentralised collaboration using yjs and a unique be-ready mechanism
The ℵ-Calculus: A declarative model of reversible programming
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
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
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.
// sending text $ echo Hello, World! | nc heimdall.pm 9999 https://bin.heimdall.pm/abcd // sending files $ cat feuille.c | nc heimdall.pm 9999 https://bin.heimdall.pm/efgh
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:
- Open: anyone can participate in, extend, and innovate on the platform.
- Decentralized: there is no central point of failure. Network consensus determines what content arrives to a user.
- Self-moderating: a user has enough control over what they receive to reject spam content.
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
The world's fastest CRDT. WIP.
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.
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.
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
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 markqvist.github.io/Reticulum/manual/.
You can also download the Reticulum manual as a PDF
For more info, see unsigned.io/projects/reticulum
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
- For an off-grid, encrypted and resilient mesh communications platform, see Nomad Network
- The Android, Linux and macOS app Sideband has a graphical interface and focuses on ease of use.
- LXMF is a distributed, delay and disruption tolerant message transfer protocol built on Reticulum
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
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 https://grammatech.github.io/sel.
The OpenZiti fabric provides a scalable, plugable, networking mesh with built in smart routing
- The OpenZiti edge components provide a secure, Zero Trust entry point into your network
- The OpenZiti SDKs allow you to integrate Ziti directly into your applications
- The OpenZiti tunnelers and proxies allow existing applications and networks to take advantage of a Ziti deployment
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.
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.
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.
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
Provide an audio file and a set of video files
Perform rhythm analysis to identify beat locations
Generate a set of random video segments synced to the beat
Discard segments with scene changes, detectable text (e.g. credits), or low contrast (i.e. solid colors, very dark scenes)
Combine the segments in order, overlay the audio, and output the resulting music video
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.
Display and control your Android device
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:
- lightness: native, displays only the device screen
- performance: 30~120fps, depending on the device
- quality: 1920×1080 or above
- low latency: [35~70ms][lowlatency]
- low startup time: ~1 second to display the first image
- non-intrusiveness: nothing is left installed on the Android device
- user benefits: no account, no ads, no internet required
- freedom: free and open source software
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
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
- offer just musl, clang, busybox, Nix and Linux
- target only one platform: x86_64 QEMU
- be lean enough to experiment on
- avoid GNU software where possible (build-time dependencies of the 5 key packages are allowed, but not as runtime dependencies; the current situation is particularly bad in the bootloader area)
- have a decent bootstrap seed/path
- have fun
- going beyond a Live CD
- any software, basically
- flexibility (other than just being small)
- become something like Nix pills, but for building an OS
- become a stepping stone to a tad richer distro (like, one with systemd or gasp git)
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).
Last updated 10mos ago
- "About Me" Notion (Live Version)
- Expanding UI OS (pdf)
- Spatial Browser Concept
- "A Pattern Language for Interfaces" Notion
- "React Playground" Notion
- "Gayagaya Log 2" Notion
- "Autonomy-OS Notes" Notion
A full-featured package manager and viewer for Android
- Fully reproducible, copylefted libre software (GPLv3+)
- Material 3 with dynamic colours
- Displays as much information as possible in the main page
- Lists activities, broadcast receivers, services, providers, app ops, permissions, signatures, shared libraries, etc. of an application
- Launch activities and services
- Create shortcuts of activities
- Intercept activities
- Scan for trackers and libraries in apps and list (all or only) tracking classes (and their code dump)
- View/save the manifest of an app
- Display app usage, data usage (mobile and Wi-Fi), and app storage info (requires “Usage Access” permission)
- Install/uninstall APK files (including APKS, APKM and XAPK with OBB files)
- Share APK files
- Back up/restore APK files
- Batch operations
- Single-click operations
- Logcat viewer
- Profiles (including presets for quick debloating)
- Open an app in Aurora Store or in your favourite F-Droid client directly from App Manager
- Sign APK files with custom signatures before installing
- Backup encryption: OpenPGP via OpenKeychain, RSA (hybrid encryption with AES) and AES.
- Revoke runtime (AKA dangerous) and development permissions
- Change the mode of an app op
- Display/kill/force-stop running apps or processes
- Clear app data or app cache
- View/change net policy
- Control battery optimization
- Block any activities, broadcast receivers, services, or providers of an app with native import/export as well as Watt and Blocker import support
- View/edit/delete shared preferences of any app
- Back up/restore apps with data, rules and extras (such as permissions, battery optimization, SSAID, etc.)
- View system configurations including blacklisted or whitelisted apps, permissions, etc.
- View/change SSAID
Easily query TOML files from bash
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 VAR=path.to.thing 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.
AsmBB is a modern web forum engine, written entirely in assembly language (FlatAssembler aka FASM)
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 (http://artax.karlin.mff.cuni.cz/~mikulas/links/), w3m (http://www.w3m.org/), 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).
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
- Built-in Snapshotting - backup and restore
- Storage Agnostic - you can use Irmin on top of your own storage layer
- Custom Datatypes - (de)serialization for custom data types, derivable via
- Highly Portable - runs anywhere from Linux to web browsers and Xen unikernels
- Git Compatibility -
irmin-gituses an on-disk format that can be inspected and modified using Git
- Dynamic Behavior - allows the users to define custom merge functions, use in-memory transactions (to keep track of reads as well as writes) and to define event-driven workflows using a notification mechanism