aboutsummaryrefslogtreecommitdiff
path: root/INTERESTING_PROJECTS.org
blob: 0c331ef1fdeec7d89a6dc1549057faff1e7c97a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
I have decided to not use GitHub stars any more.
Mainly because it excludes projects not on GitHub.
Also keeping things in a Org mode means I can classify and add notes.

* Coding
** Version control and code management
   - https://github.com/josh-project/josh Simpler alternative to moe/copybara. [[https://github.com/rust-lang/josh-sync][Wrapper tool for CI]]
   - https://martinvonz.github.io/jj/ Alternative Git frontend
   - https://github.com/copier-org/copier/ - project templater
   - https://github.com/Skyscanner/turbolift - operating on multiple repos
   - https://github.com/sourcegraph/doctree - code browser
   - https://mergiraf.org/ - Language-aware merge conflict solver
   - https://forge.rust-lang.org/triagebot/range-diff.html show diffs after rewriting history
   - https://github.com/antonmedv/gitmal - "web repo browsing" as static site generator
*** CI/CD
  - https://github.com/earthly/earthly - Standalone build tool with containers
  - https://github.com/reviewdog/reviewdog - Error parser than can annotate GitHub pull requests
  - http://jk.ozlabs.org/projects/patchwork/ - Mailing list patch parser
  - https://github.com/bazelbuild/remote-apis - Bazel's remote APIs for compiling, artifacts, and log streaming; with links to projects that support them
  - https://github.com/lima-vm/lima-actions - Lima for GitHub Actions
  - https://cloud.devenv.sh/ Nix-based CI for GitHub
  - https://github.com/cirruslabs/ - CI for GitHub, with Starlark workflow definitions that can import definitions from other places. (Cannot be self hosted, only runners.) (Has [[https://github.com/cirruslabs/cirrus-cli][an interesting CLI]].)
** Observability
   - https://github.com/equinix-labs/otel-cli
   - https://github.com/hyperdxio/hyperdx
** Web development
   - https://github.com/fastly/pushpin - A proxy server for adding push to your API
   - https://xtermjs.org/ - Terminals on the web
   - https://github.com/BafS/Gutenberg - Printing
   - https://github.com/barbajs/barba - Smooth transitions
   - https://github.com/kristopolous/BOOTSTRA.386
   - https://github.com/radiac/nanodjango
*** Frameworks
    - https://github.com/mit-pdos/noria
    - https://github.com/frappe/frappe
    - https://github.com/aquametalabs/aquameta
    - https://github.com/urweb/urweb
    - https://github.com/workflowproducts/envelope
    - https://github.com/PostgREST/postgrest
** Notebooks
   - https://github.com/ronkok/Hurmet Pretty LaTeX-style "arithmetic" notebooks
   - https://github.com/jupytercalpoly/reactivepy
   - https://github.com/executablebooks/jupyter-book
   - https://github.com/OKUA1/juvio - Git-friendly notebooks with uv for dependencies
** Testing
   - https://github.com/Mikuu/Micoo - visual diff testing
   - https://github.com/minimaxir/big-list-of-naughty-strings
** Literate
   - https://github.com/kosmikus/lhs2tex
   - https://github.com/simplistix/sybil - testing in documentation
** Distributed
   - https://github.com/unisonweb/unison
*** RPC
**** gRPC
     - https://github.com/grpc/grpc-web
     - https://github.com/twitchtv/twirp - Simple protobuf+HTTP RPC
*** P2P
   - https://github.com/n0-computer/iroh
   - https://github.com/magic-wormhole/magic-wormhole
** Data
   - https://github.com/singer-io/getting-started
   - https://github.com/dflemstr/rq - Record tool
*** BI
   - https://github.com/getredash/redash
   - https://github.com/metabase/metabase
*** Tabular data
  - https://github.com/gristlabs/grist-core
  - https://github.com/aardappel/treesheets
  - https://www.visidata.org/
*** Relational databases
    - https://github.com/EvgSkv/logica
    - [[https://prql-lang.org/]]
    - https://github.com/edgedb/edgedb - Graphs
    - https://github.com/lorint/AdventureWorks-for-Postgres
**** Embedded databases
    - https://github.com/zonkyio/embedded-postgres-binaries - Embedded PostgreSQL
    - https://github.com/orm011/pgserver - Pip-installable, embedded-like postgres server for your python app
    - https://github.com/cozodb/cozo - Datalog in Rust, different backends
**** Tools
     - https://github.com/dbcli/pgcli
     - https://github.com/okbob/pspg
     - https://github.com/djrobstep/migra
     - https://github.com/julianhyde/sqlline
     - https://github.com/monkeysintown/jdbc-ssh
     - https://github.com/xataio/pgroll PostgreSQL migrations based on switching schemas
     - https://sqlfluff.com Linter with support for multiple SQL dialects, with formatter
**** Streaming
     - https://github.com/MaterializeInc/materialize
     - https://github.com/confluentinc/ksql
     - https://github.com/feldera/feldera
*** Other databases
   - https://www.symas.com/mdb A Berkeley-style database where multiple processes can access the same database concurrently.
   - https://github.com/tansu-io/tansu Kafka-compatible, on top of others like SQLite, PostgreSQL, etc., seems simple on single node.
** Low code
   - https://github.com/microsoft/Power-Fx
   - https://github.com/carltongibson/neapolitan - one of Django's authors does a variation on the Django admin?
   - https://gitlab.levitnet.be/levit/django-admin-deux - another modernized Django admin
** Language-specific
*** Python
   - https://github.com/inducer/pudb Full-screen console debugger for Python
   - https://pyoxidizer.readthedocs.io/en/latest/index.html Self-contained Python distributions, packaging, etc.
   - https://tushar.lol/post/packaged/ Uses [[https://github.com/indygreg/python-build-standalone]] to package Python applications.
   - https://github.com/bugen/pypipe Python-based AWK
   - https://github.com/fsspec/filesystem_spec/ VFS-like Python API
   - https://github.com/errbotio/errbot Multiplatform bot framework
*** Rust
   - https://github.com/flutter-rs/flutter-rs
   - https://github.com/xTibor/rust-on-c64
   - https://crates.io/crates/crossterm
   - https://github.com/matklad/xshell - Rust as a shell replacement, with nice interpolation
   - https://github.com/bytecodealliance/cap-std - Safer, opt-in file access
   - https://www.lurklurk.org/effective-rust/ - Effective Rust, a Rust book beyond the Rust documentation
   - https://gitlab.com/DPDmancul/clap-serde-derive - derive configuration files and Clap from the same structs
**** Async
   - https://zoo.dev/blog/introducing-delouse - Async debugging
*** Java
   - https://github.com/jbangdev/jbang
   - https://github.com/mabe02/lanterna - TUI
   - https://github.com/testcontainers/testcontainers-java
   - https://github.com/google/error-prone
   - https://github.com/google/auto
*** Statically-typed Lisp
  - https://lexi-lambda.github.io/hackett/
  - https://coalton-lang.github.io/
  - https://docs.racket-lang.org/ts-guide/
*** Shells
  - https://github.com/oils-for-unix/oils/ a POSIX-style shell and a modern shell. They also document [[https://github.com/oils-for-unix/oils/wiki/Alternative-Shells][alternative shells]], and [[https://github.com/oils-for-unix/oils/wiki/Internal-DSLs-for-Shell][internal DSLs for shell]].
  - https://xon.sh/ Python shell
  - https://github.com/nushell/nushell Powershell-y shell in Rust
** Email
   - https://github.com/moggers87/salmon - Mail applications
** Parsers
  - https://github.com/langium/langium - DSLs and LSP
  - https://github.com/hydro-project/rust-sitter - TreeSitter in Rust
  - https://github.com/jzimmerman/langcc
  - https://github.com/petitparser/dart-petitparser
  - https://github.com/metaborg/sdf
  - https://github.com/antlr/grammars-v4
  - https://github.com/tree-sitter/tree-sitter
  - https://github.com/stephan-tolksdorf/fparsec
  - https://github.com/Engelberg/instaparse
  - https://janet-lang.org/docs/peg.html - Janet is a programming language with first-class support for PEGs
  - https://craftinginterpreters.com/contents.html - Book
  - https://github.com/rulex-rs/pomsky - regex alternative
  - https://rosie-lang.org/ - another regex alternative, based on PEGs
  - https://tratt.net/laurie/blog/2020/which_parsing_approach.html - which parsing approach?
*** DCGs/Prolog
   - https://en.wikipedia.org/wiki/Definite_clause_grammar
   - https://github.com/mthom/scryer-prolog/
   - https://github.com/rla/prolog-markdown
   - https://github.com/aarroyoc/djota/tree/main - A Djot parser in Prolog
** Durable execution platforms
   - https://github.com/temporalio/temporal
   - https://github.com/restatedev/restate
** WASM
   - https://github.com/yomaytk/elfconv - Converts ELF binaries to WASM
   - https://github.com/extism/extism - WASM plugin framework
** Misc
   - https://github.com/kellyjonbrazil/jc - JSON converter for common CLI tools
   - https://github.com/open-meteo/open-meteo/
   - https://github.com/KDE/kitinerary/tree/master/src/lib/scripts - a lot of travel email scrapers (plane and train tickets, etc.)
   - https://github.com/igor-petruk/scriptisto - Generic shebang for compiling software, with RPM/DEB
   - https://github.com/acaloiaro/ess - automatically and safely synchronize env.sample files with .env
   - https://github.com/oils-for-unix/oils/wiki/Internal-DSLs-for-Shell - A discussion of libraries to do shell scripts in some programming languages
* Systems
** Self-hosting solutions
   - https://yunohost.org/
   - https://sandstorm.io/
   - https://casaos.zimaspace.com/
   - https://caprover.com/ (With "One click apps")
   - https://freedombox.org/
*** Meta
   - https://github.com/0dataapp/awesome-0data?tab=readme-ov-file#easy-indie-platforms
** File sync
   - https://github.com/opencloud-eu desktop client is a fork of Nextcloud; app is Go, seems to keep stored files as-is
   - https://thelig.ht/code/userspacefs/ - Usermode filesystem Python library that works on Windows, Linux and macOS
   - https://github.com/mutagen-io/mutagen
   - https://github.com/tkellogg/dura
   - https://github.com/perkeep/perkeep
   - https://github.com/upspin/upspin
   - https://github.com/mickael-kerjean/filestash Web file manager with org-mode support
   - https://github.com/kd2org/karadav NextCloud-compatible WebDav server
   - https://willowprotocol.org/
** Groupware
   - https://github.com/stalwartlabs mail, calendar, contacts *and* files, using JMAP and WebDAV
** Portable environments
   - https://github.com/DavHau/nix-portable - portable Nix, no root required, works in an LXC container
   - https://github.com/linuxserver/proot-apps - Portable container apps with just proot
   - https://github.com/lkl/linux - library-mode Linux
** Identity
  - https://github.com/kanidm/kanidm - An alternative to FreeIPA
*** Keycloak
    - https://github.com/adorsys/keycloak-config-cli - Config as code for KeyCloak
** Configuration management
   - https://github.com/habitat-sh/habitat
   - https://github.com/metacontroller/metacontroller Simple Kubernetes operators
** Home automation
   - https://github.com/Yakifo/amqtt
** PaaS
   - https://github.com/piku/piku
*** Virtualization
   - https://linuxcontainers.org/incus/ - LXD fork, supports VMs, has good "cloud" templates.
   - https://github.com/lxc/cluster-api-provider-incus - adapter to provision k8s cluster nodes on Incus, including as LXC containers!
   - https://github.com/mobydeck/ssh2incus - exposes Incus instances through SSH, without SSH on the instance. Good for things that only work over SSH (Mutagen, VS Code remoting, etc.)
   - https://github.com/cirruslabs/vetu
   - https://github.com/karmab/kcli
   - https://github.com/Xe/waifud
   - https://github.com/virt-lightning/virt-lightning libvirt + cloud images
   - https://github.com/cirruslabs/tart - for macOS
** Networking
   - https://docs.vyos.io/ Declarative network appliance
   - https://github.com/gekmihesg/ansible-openwrt
   - https://github.com/glennbrown/home-infra/tree/main/ansible/roles/openwrt-dhcp-dns ansible-openwrt samples by glenn on Ars IRC.
   - https://github.com/lanefu/clammy-ng - Raspbian on NanoPi Ansible-managed router
   - https://publicsuffix.org/ - "effective TLDs"
*** Alternate networks
   - https://yggdrasil-network.github.io/
   - https://dn42.eu/
*** VPN
    - https://github.com/StreisandEffect/streisand
    - https://github.com/netbirdio/netbird Tailscale-like
*** Countermeasures
    - https://privacypass.github.io/ Human proof standard?
** Cryptography
   - https://github.com/smallstep/certificates CA that supports ACME
   - https://github.com/FiloSottile/age - encryption tool that can use SSH keys
   - https://docs.nitrokey.com/nethsm/ - Open-source HSM (physical and virtual)
** Remote desktops
  - https://github.com/linuxserver/docker-baseimage-kasmvnc - Web adapter for graphical applications
  - https://selkies-project.github.io/selkies/ - Replacement for KasmVNC?
  - https://moonlight-stream.org/ / https://docs.lizardbyte.dev/projects/sunshine/latest/ - Nvidia-like streaming
  - https://github.com/m1k1o/neko/
  - https://github.com/neutrinolabs/xorgxrdp - MS RDP for Linux desktops. Pay attention to "glamor" acceleration.
** Misc
   - https://github.com/marcan/takeover.sh
   - https://github.com/ltratt/pizauth - OAuth tool
   - https://github.com/shell-pool/shpool / https://github.com/neurosnap/zmx screen or tmux, but only for detaching, should not mess with terminals
   - https://github.com/simple-login - email aliases
* End-user software
   - https://github.com/mistweaverco/bananas Multiplaform screen sharing with multiple cursors
   - https://lalescu.ro/liviu/fet/ timetable optimizer
   - https://github.com/glide-browser/glide programmable Firefox
   - https://github.com/steveseguin/vdo.ninja Swiss army knife for WebRTC
   - https://github.com/Manawyrm/AnotterKiosk Firefox kiosk
   - https://linuxae.org.es/ Distribución GNU/Linux para el uso de la Administración Electrónica
** Email
   - https://github.com/simonrob/email-oauth2-proxy
   - https://pimalaya.org/ Rust email tools, including sync, MIME...
   - https://github.com/leahneukirchen/mblaze/ - CLI email "UNIX-philosophy" tools
*** Notmuch
    - https://github.com/gauteh/lieer - GMail
** Phones
   - https://github.com/Genymobile/scrcpy - remote control Android
   - https://github.com/wolpi/prim-ftpd
** Desktop
  - https://github.com/YaLTeR/niri/
  - https://github.com/kmonad/kmonad - advanced cross-platform keyboard remappings
*** Gnome
  - https://extensions.gnome.org/extension/6784/wiggle/ - shake your pointer to embiggen
  - https://extensions.gnome.org/extension/6099/paperwm/ - easy tiling
  - https://extensions.gnome.org/extension/6000/quick-settings-audio-devices-renamer/ / https://extensions.gnome.org/extension/5964/quick-settings-audio-devices-hider/ - hide and rename audio devices
*** Firefox
  - https://github.com/mozilla/policy-templates - some configuration as code for Firefox
** Multimedia
*** Video
   - https://github.com/mifi/lossless-cut Lossless video editing like Avidemux, but can preserve DVB-T subtitles
   - https://github.com/zoriya/Kyoo - Jellyfin alternative
   - https://github.com/asapach/peerflix-server - Torrent streaming server that can stream files as they download (not perfectly)
   - https://github.com/hauxir/rapidbay - Video Torrent web interface, can be set up as Magnet link handler, but downloads full file before playing
   - https://github.com/anacrolix/torrent?tab=readme-ov-file#downstream-projects - Users of a Torrent library in theory capable of streaming
*** Document management
   - https://github.com/Stirling-Tools/Stirling-PDF - PDF manipulation webapp
   - https://github.com/mzucker/noteshrink - handwriting to PDF
*** Music
   - https://mixxx.org/ - DJ software
** Instant messaging
   - https://letsconvene.im/ - browser-based conversations without accounts
   - https://github.com/kiwiirc/plugin-conference - Jitsi/KiwiIRC integration
   - https://github.com/esl/MongooseIM - XMPP server with SIP interop (see https://esl.github.io/MongooseDocs/latest/tutorials/Jingle-SIP-setup/ and https://esl.github.io/MongooseDocs/latest/modules/mod_jingle_sip/)
   - https://wiki.linphone.org/xwiki/wiki/public/view/Flexisip/ SIP with (custom) push
** Password managers
   - https://keeweb.info/ / https://github.com/PhilippC/keepass2android have built-in support for remote storage, so they do not rely on external file synchronization
** Networking
   - https://github.com/apenwarr/blip A web application that measures connectivity
** Presentations
   - https://github.com/panglesd/slipshow Slides, but infinite
* Anti social
** Platforms
   - https://github.com/taviso/nntpit - Reddit over NNTP
   - https://github.com/CyberShadow/DFeed - Web NNTP
   - https://github.com/epilys/tade / https://github.com/epilys/sic - Forum, mailing list, NNTP
   - https://koldfront.dk/git/illuminant/about/ An ActivityPub server with an NNTP interface
*** Fediverse
    - https://github.com/bashrc2/epicyon
    - https://microblog.pub/
    - https://jointakahe.org/ (active fork https://github.com/avaraline/incarnator)
    - https://github.com/enafore/enafore - Keyboard-friendly Mastodon web client, compatible with Takahe/Incarnator
    - https://github.com/ihabunek/toot - Terminal Mastodon web client.
** Pubnix
   - https://github.com/cwmccabe/pubnixhist
** Other
   - https://github.com/SimonBrazell/privacy-redirect
   - https://github.com/benbusby/farside
   - https://github.com/timhutton/twitter-archive-parser
   - https://rss-parrot.net/ RSS to ActivityPub
* Hardware
  - https://junkerhq.net/xrgb/index.php/OSSC - The Open Source Scan Converter is a low-latency video digitizer and scan converter designed primarily for connecting retro video game consoles and home computers to modern displays.
  - https://openterface.com/ - Adds KVM capabilities to a laptop.
** Phones
   - https://github.com/Dakkaron/Fairberry - add Blackberry keyboard to other phones
* Technical writing
** Document formats - see [[misc/document-formats.md]].
*** Markdown
   - https://github.com/lezer-parser/markdown
   - https://github.com/markdoc/markdoc
   - https://liascript.github.io/ Markdown-based format for courses, exports to SCORM
   - https://github.com/hedgedoc/hedgedoc multiplayer Markdown editor, with [[https://demo.hedgedoc.org/features#Blockquote-Tags][cute attributed blockquotes for commenting]].
**** Rust Parsers
    - https://github.com/kivikakk/comrak
    - https://github.com/raphlinus/pulldown-cmark
    - https://github.com/wooorm/markdown-rs
*** Org
    - https://github.com/karlicoss/orgparse
    - https://github.com/200ok-ch/org-parser
*** Publishing format
    - https://github.com/nota-lang/bene/
** Spelling, etc.
   - https://github.com/bminixhofer/nlprule - LanguageTool in Rust
   - https://github.com/valentjn/ltex-ls - LanguageTool LSP with LaTeX support
   - https://github.com/jmartorell/LTlab - Spanish tools for LanguageTool
   - https://github.com/LuminosoInsight/exquisite-corpus
   - https://github.com/languagetool-org/languagetool
** ProseMirror
   - https://github.com/ProseMirror/prosemirror-markdown
** Diagrams
   - https://d2lang.com/ Improved Mermaid?
* Other
  - https://github.com/jhuangtw/xg2xg
  - https://european-alternatives.eu/
  - https://developer.themoviedb.org/ rate-limited APIs for TV shows and movies with airdates
  - https://carpentries.org/ teaching materials about programming and data for scientists and librarians and https://teachtogether.tech/ their "meta" materials for teaching technology