Monthly Shaarli
July, 2021
Includes gui and cli options, but as far as I can see not more involved setups like https://github.com/jonaswinkler/paperless-ng .
Differences to ironical paperless:
https://paperless-ng.readthedocs.io/en/latest/index.html#paperless-ng
Another tutorial for snapcast, this one focusing on ansible-izing the setup, as well as some advanced setup steps for the specific two-room hardware requirements.
Minimal interface styling for Firefox - contains only the tab bar on top, with the address bar shaping up when you move the cursor close (or Ctrl-L I suppose).
Looks neat if you're using FF
This amazing vegan burger recipe is easy to make with simple basic ingredients and the best veggie bean patty, that’s gluten-free, soy-free & grillable!
Dynamic menu library and client program inspired by dmenu.
Carries essentially the same functionality -- pipe stuff into it and use it to select an item -- but has the nice ability to display it as an X11 window (like dmenu) in the terminal (as an ncurses program) or on wayland (which I don't yet use).
One thing I had to look for a while:
You set the way it displays itself through the BEMENU_BACKEND
environment variable (curses
,x11
,wayland
)
which you have to export before bemenu recognizes it.
How to Self Host Matrix, an open source project that publishes the Matrix open standard for secure, decentralised, real-time communication.
Good explanation and simple steps. Federation can be tested here: https://federationtester.matrix.org/
Website blurbs:
- No hidden control flow.
- No hidden memory allocations.
- No preprocessor, no macros.
- Call any function at compile-time.
- Manipulate types as values without runtime overhead.
- Comptime emulates the target architecture.
- The language gracefully guides your error handling logic.
- Configurable runtime checks help you strike a balance between performance and safety guarantees.
- Take advantage of vector types to express SIMD instructions portably.
A fresh approach to metaprogramming based on compile-time code execution and lazy evaluation.
Seems a metaprogramming-heavy language.
It's a table that sets up another table's behavior. Say you have a table fnark where it's paramount that "YO HEADS UP" is displayed every it gets a new entry. The way to do that would he to create a new table (let's call it behavior) and set its newindex method accordingly. And you also want fnark to say "YEAH MAN ALREADY THERE" when some existing entry is accessed: you set that up in behavior's index method. When you're done describing behavior, you tell Lua that behavior is what defines how fnark should behave: setmetatable(fnark, behavior). And now, whenever you add some new entry or reference an existing entry in fnark, you get the messages from above. That's metatables in a nutshell.
Tidbits on software design, writing, testing, and so on.
While probably not to be taken as a bible, very neat to go back to every once in a while.
A quantified self program for the PC - run as a commandline program and also contains an analysis cmdline tool to then query the (sqlite) database later (examples in readme).
Similar to activitywatch, rescuetime.
A versatile and extensible platform for home and life automation with hundreds of supported integrations - GitHub - BlackLight/platypush: A versatile and extensible platform for home and life automation with hundreds of supported integrations
Seems really interesting, like a lighter-weight, more programmatic alternative to e.g. HASSio.
Has a lot of plugins and connections and the blog is very inspiring.
Lidarr to beets workflow, which could then be passed to funkwhale/mopidy/airsonic setup.
Amazing pre-setup mopidy and snapcast instance. Simply point your docker-compose file digestor at it and you're basically good to go with iris and spotify integration running (though you have to enter your credentials into .conf file for spotify to fully work). Then begin populating the music folder and you have your local music added.
A collection of hacking/pentest/offensive security tools.
The script does not provide much value other than list them in one place but can be good to get an overview of the tool landscape.
Described to contain: AnonSurf Information Gathering Password Attack Wireless Attack SQL Injection Tools Phishing Attack Web Attack Tool Post exploitation Forensic Tools Payload Creator Router Exploit...
A list of programs that are built on* vim concepts, predominantly hjkl movement and modes.
- built on can mean fully supporting, intended to replicate, mimic, provide configuration for, up to and including be configurable enough, I believe.
Using python to write to a sqlite database, storing json data.
Sish is a great ngrok alternative to expose any locally hosted app over the web. With Sish you create temporary secure tunnels to locally hosted applications and allow others to intereact with the app with a publicly accessible web address. Its great to quickly expose a development app server without needing to deploy it and setup reverse proxies or mess around with firewalls. Sish can also be used to expose any TCP connection - e.g MySQL DB.
Truly decentralized move-streaming application. Somewhat akin to bittorrent streaming (though, afaik, using IPFS).
Could be very interesting in the future, example public domain movies keyL QmR9f898E2Y6H4rUqUQkB5g615wht1q4fxCPfZzxA4jXaR
Cut with regex patterns, automatic space mashing, column reordering, and some other nice features. Written, of course, in rust.
simple shell script to send a message to a matrix room. Can be used e.g. in cron jobs to replace notification, or additional notification, or to only notify on user being AFK, or simply to replace mail(1).
Many possibilities, seems very flexible in its use-case.
A unix-only de-duplicating backup system. It is managed for you, encrypted and so on but also strictly tied (afaik) to the tarsnap 'service' - that means you can't just use your own object storage or similar like with e.g. restic.
Integrates with DBus interface and can display notifications accordingly.
Not a replacement to dunst, but can be used to feed different things (like dunst or polybar) with information.
Also provides examples for grabbing the information from the DBus API and displaying it e.g. in polybar.
Using some (simple) machine learning to create a really robust smart home presence detection.
Seems like a fun little idea and, combined with e.g. phone mac address and wi-fi signal strength could even identify specific people.
The famous Tasker app -- you can create workflows and integrations for pretty much anything that uses your phone in any part of it, akin to ifttt, nodered or platypush.
Long list of usage examples here.
Unfortunately not paid (which is fine) and not open source (which is less fine, at least for me).
Setting up snapcast with librespot (written for raspberries).
Goes well into details like compilation and preparation of settings
Automatic beets importer.
Runs a web-server which enables you to, after downloading some music, call a simple script to start a beets library import.\
e.g.
curl \
--request POST \
--data-urlencode "path=<path_to_deluge_downloads>" \
--data-urlencode "name=$2" \
--header "X-API-Key: <your_api_key>" \
"https://betanin.example.com/api/torrents"
Intended for torrent applications but can easily be made to work with youtube-dl, or any other scriptable callback.
An interesting little language, seems very apt if you need to do text/number manipulation, e.g. for little commandline programs.
Basically a 'sister-language' to perl, as far as I understand it (the about is infuriatingly hidden at the end of the FAQ: Why Raku)
Advanced regexes, variable manipulation, both functional and object oriented paradigm seem its greatest assets.
a simple terminal user interface for signal messenger (using signal-cli) - GitHub - isamert/scli: a simple terminal user interface for signal messenger (using signal-cli)
Super small operating system (for x86) - couple of megabyte disk and around 8MB RAM and you're off.
Contains games, a simple text editor, table editor, image viewer, and some more.
An amazing little diy arcade machine and the building process simulating your working day in an Amazon warehouse.
Tag, modify, update, and organize your music through the commandline (or through a web interface).
Seems pretty evolved and already comes with a nice plugin eco-system (for album art, mpd connections, gain setting and more)
You can break an activated chain mode in sxhkd by sending it SIGALRM
.
Additionally, you can change the way of normally exiting a mode by the commandline argument -a
.
Finally, you can set 'double-mode' keychains, e.g. alt + m : alt + m
which will only listen for alt + m
when already in the same mode and then invoke the respective command.
Taking all together, it becomes possible to create chained modes which can be exited by pressing the same combination of keys twice (or any other key combination) instead of the pre-set escape
,
which often interferes with actual program operation for me.
This could provide the last building block for my mode-based desktop version built with sxhkd
and polybar
.
Android (AOSP) for different architectures, e.g. PinePhone!
Scrapes google cal api to get next events (for statusbar display).
Can probably be adapted for CalDAV or other services with not too much effort.
An interesting use of loki to grab shell history, store it centrally, and then re-use it from the commandline to replace its traditional history functionality. Also includes a little tidbit on then integrating your shell history with e.g. Grafana.