Link Dump
Links to random stuff.
This all comes from #0x00-links:kernelpanic.cafe.
vtracer
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.
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
MoltenGamepad
Flexible input device remapper, geared towards gamepads
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.
- Create virtual gamepads that almost all games can use.
- Virtual gamepads are persistent, which fixes the numerous games that break when controllers are disconnected.
- Flexible generic device driver framework, where only a text file is needed to support input sources that don't need special features.
- All configuration files are designed to be human-readable and editable.
- Easy loading and saving of event mappings that can be changed at run time.
- Specialized userspace driver for Wii remotes that make full use of extension controller hotswapping.
- Supports a command FIFO or socket for controlling a running instance of MoltenGamepad via scripting.
- Can handle cases where one event device represents multiple logical controllers (like an arcade stick), or vice versa.
- Virtual devices can process rumble events (but this is disabled by default. See
documentation/rumble.md
.)
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.
ESP32-POE
OSHW-Certified Open source esp32 board. Dual-core MCU with Bluetooth, WiFi, power over Ethernet. Made with KiCAD
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
Compress
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 https://github.com/eschluntz/compress
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!
OpenDroneMap
A command line toolkit to generate maps, point clouds, 3D models and DEMs from drone, balloon or kite images. đź“·
An open source command line toolkit for processing aerial drone imagery. ODM turns simple 2D images into:
- Classified Point Clouds
- 3D Textured Models
- Georeferenced Orthorectified Imagery
- Georeferenced Digital Elevation Models
Pineapple ONE
Open source 32 bit RISC-V CPU that you can make at home
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.
RaySession
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.
Features
- Load many programs together and remember their documents and jack connections in an unified folder
- Nice patchbay with stereo connections, wrappable boxes and a search tool
- Snapshot at each save (optional), then you can go back to the snapshot (it uses
git
) - Save client as template, and then restore it easily
- Save session as template
- Make almost all actions and get several informations with the CLI named
ray_control
- Script sessions and clients actions with shell scripts
- Remember and recall JACK configuration with the jack_config session scripts
- Having sub-sessions working through the network with the "Network Session" template
- Remember the virtual desktop of the programs (requires
wmctrl
, doesn't works with Wayland) - Bookmark the current session folder in your file manager and file pickers (gtk, kde, qt, fltk)
- Many others...
Rauversion
Rauversion is an open source music platform. Be your own music industry!
Features:
- Account system with different providers, Twitter, Discord, Twitch.
- Roles to open or closed communities.
Music publishing:
- Audio processing to format mp3 and audio analisis to draw audio peaks.
- Audio player, embeddable, with chunk range loading processing to save bandwidth.
- Music publishing preferences, downloadable, private, attribution settings, like cretive commons , all right reserved.
- Uploads for tracks, albums and playlists with their meta information.
- Multi upload provider local or aws, other providers could be inmplemented.
- Sellable tracks & albums with Stripe, for connected accounts or main account.
- Tagging tracks, playlist & albums.
Music Listening:
- Follow artists
- Make playlists & reposts
- Comments on tracks and albums.
Events:
- Event scheduling
- Host & managers
- Ticketing service with QR validation
- Sell event tickets via stripe or transbank (Chile).
- Use Stripe connect to ease the payouts.
- Streaming services via Twitch, Zoom, Whereby, Mux and Stream Yard.
- Attendees event details.
- Public page with ticket checkout for paid or free tickets.
Publishing magazine:
- Articles managment publishing: Draft, Public, Listed and partially public.
- Showcase articles in homepage.
- Text editor based on Dante3
- Cover image.
- Article Categories.
CD-R 700mb
Modern static site generator for making web mixtapes.
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!
faircamp
A static site generator for audio producers
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.
OvenMediaEngine
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.
syncplay
Solution to synchronize video playback across multiple instances of mpv, VLC, MPC-HC, MPC-BE and mplayer2 over the Internet.
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
Papis is a powerful and highly extensible CLI document and bibliography manager.
Interfaces: CLI, TUI, web, yaml, python, emacs, vim
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.
Features
- 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.
combobulate
Structured Editing and Navigation in Emacs
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.
PotatoP
A lisp programmable laptop with a battery life measured in years.
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)
Features
- 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.
CaptivePortalAutologin
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.
Features:
- 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.:
/live.sdp
) - 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.
alpakka
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.
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".
glicol
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!
-
Mix JavaScript code to create visuals with Hydra synth made by @ojack
-
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
Magma
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
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
Wiretap is a transparent, VPN-like proxy server that tunnels traffic via WireGuard and requires no special privileges to run.
rssnix
Unix-style filesystem-based RSS/Atom/JSON Feed fetcher/reader
Diamond Types
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.
Boondock Echo
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.
reticulum
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.
openziti
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
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.
farmos
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
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
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.
Globalchemistry
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.
mugen
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
fantasy consoles/computers
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.
libinput.el
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.
strcpy
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
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.
Why
Ever wanted to see how to put Nix derivations together into something bootable?
Or get rid of /bin/sh
or /etc
,
Goals
- 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
Non-goals (Core)
- going beyond a Live CD
- systemd
- any software, basically
- flexibility (other than just being small)
- portability
- configurability
- stability
- usability
- practicality
Stretch goals
- 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
AppManager
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.
Root/ADB-only features
- 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
Root-only features
- 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
tombl
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
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
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
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.
foodsoft
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.
datakit
Orchestrate applications using a Git-like dataflow
Stylix
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
Irmin is a distributed database that follows the same design principles as Git
Description
- 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
[
ppx_irmin
][ppx_irmin-readme] - Highly Portable - runs anywhere from Linux to web browsers and Xen unikernels
- Git Compatibility -
irmin-git
uses 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