Monthly Shaarli

All links of one month in a single page.

July, 2021

paperless ng - automatic document organization
thumbnail

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

Multi-room audio with MPD, Snapcast and Raspberry Pis

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.

GitHub - khuedoan/one-line-firefox: Compact and minimal interface for Firefox
thumbnail

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

The Best Vegan Burger Recipe (Easy, Gluten-free) - Bianca Zapatka | Recipes
thumbnail

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!

GitHub - Cloudef/bemenu: Dynamic menu library and client program inspired by dmenu
thumbnail

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.

Self hosting your own Matrix server on a Raspberry Pi
thumbnail

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/

Home ⚡Zig Programming Language

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.

An explanation of LUA metatables
thumbnail

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.

Intro - Things I Learnt The Hard Way (In 30 Years of Software Development)

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.

Daguhh / NaiveCalendar · GitLab
thumbnail

A calendar created in rofi, with task functionality

GitHub - selfspy/selfspy: Log everything you do on the computer, for statistics, future reference and all-around fun!
thumbnail

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.

GitHub - BlackLight/platypush: A versatile and extensible platform for home and life automation with hundreds of supported integrations
thumbnail

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.

Beets + Lidarr : Lidarr

Lidarr to beets workflow, which could then be passed to funkwhale/mopidy/airsonic setup.

dockerfiles/mopidy-multiroom at master · IVData/dockerfiles · GitHub
thumbnail

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.

Hackingtool Menu 🧰
thumbnail

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...

Big Pile of Vim-like

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.
Storing JSON in a SQLite table using Python

Using python to write to a sqlite database, storing json data.

Deploying Sish - an ngrok alternative

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.

GitHub - ZorrillosDev/watchit-app: Open movies
thumbnail

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

GitHub - sstadick/hck: A sharp cut(1) clone
thumbnail

Cut with regex patterns, automatic space mashing, column reordering, and some other nice features. Written, of course, in rust.

Scripts/Linux/sendtomatrix at master · Madic-/Scripts · GitHub
thumbnail

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.

How to find a research paper
thumbnail

Finding a research paper

Tarsnap - Online backups for the truly paranoid

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.

A lightweight notification daemon for fancy desktop integrations - ntfd
thumbnail

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.

Today will be talking about my minimal viable Guix configuration and approach I use to handle it
thumbnail

Today will be talking about my minimal viable Guix configuration and approach I use to handle it. Will explain how to setup custom kernel, manage dotfiles and so on.

Live in 4.5 hours.

https://youtu.be/0OSU7u5cFCM

#guix #guixhome #rde #foss #floss #dotfiles #linux

mastodon statuslink

Detect people with a RaspberryPi, a thermal camera, Platypush and Tensorflow

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.

Tasker for Android

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).

Multi-room audio with Snapcast and Raspberry Pi

Setting up snapcast with librespot (written for raspberries).
Goes well into details like compilation and preparation of settings

GitHub - sentriz/betanin: beets based mitm of your torrent client and music player
thumbnail

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.

Raku Programming Language

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.

GitHub - isamert/scli - A signal messenger commandline application
thumbnail

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)

KolibriOS - tiny operating system

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.

Amazon fulfilment center arcade machine

An amazing little diy arcade machine and the building process simulating your working day in an Amazon warehouse.

GitHub - beetbox/beets: music library manager and MusicBrainz tagger
thumbnail

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)

Break colon block chain via command · Issue #169 · baskerville/sxhkd · GitHub
thumbnail

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.

GitHub - GloDroid/glodroid_manifest: Android manifest for GloDroid (AOSP for the world's most accessible development platforms)
thumbnail

Android (AOSP) for different architectures, e.g. PinePhone!

GitHub - rosenpin/i3-agenda: Show your next google calendar event in polybar or i3-bar
thumbnail

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.

Level up your shell history with Loki and fzf | Opensource.com
thumbnail

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.