Monthly Shaarli

All links of one month in a single page.

August, 2023

GitHub - appml/neutrinote: neutriNote - Markdown + Math in Just 3 MB!

neutriNote - Markdown + Math in Just 3 MB! Contribute to appml/neutrinote development by creating an account on GitHub.

A markdown-based note taking system but seems very powerful. For android phones. Can be used for automations, can include graphs, pictures , tables, custom code etc.

GitHub - homeport/termshot: Creates screenshots based on terminal command output

Wonderfully useful program to show output of terminal commands in screenshots. Not super customizable but the default output looks good enough.

Can be useful for showing people how to accomplish something, blog entries, and especially for READMEs of command line programs.

dictionary - How to define hash tables in Bash? - Stack Overflow

What is the equivalent of Python dictionaries but in Bash (should work across OS X and Linux)?

Super simple explanation and a variety of updating and traversing them. Different ways of achieving all of these ideas also listed in easy-to-digest format here: https://www.xmodulo.com/key-value-dictionary-bash.html

Complete list of BibTeX entry types [with examples] - BibTeX.com

Complete list of BibTeX entry types including examples for: ✓article ✓book ✓inbook ✓conference

Good little explanations for each type as well. Additional information concerning biblatex here: https://tex.stackexchange.com/questions/639734/canonical-list-of-bib-entry-types

beartype/beartype

'Static' and very low-overhead type checking for Python. Uses the standard python type hints, requires a simple decorator and will crash the program if inputs do not fit types hinted.

GitHub - asottile/pyupgrade: A tool (and pre-commit hook) to automatically upgrade syntax for newer versions of the language.

Run it over your python code (whether manually, as part of build/check step or in pre-commit hook) and you will get 'upgraded' python code!
I.e. all the stuff you grabbed from old tutorials and stackoverflow answers will appear in the more modern pythonic versions.

How to organize your Python data science project · GitHub

A pretty flexible and interesting approach to organizing data science projects. Combined with: https://www.earthdatascience.org/courses/intro-to-earth-data-science/open-reproducible-science/get-started-open-reproducible-science/best-practices-for-organizing-open-reproducible-science/ for more academic-oriented ideas,
should give a rough guide to finding good organizational structures.

GitHub - profanity-im/profanity at 0.14.0

Terminal TUI XMPP client. Weee

slidge: XMPP gateway framework

Transports (bridges) for your xmpp server (examples for prosody and ejabberd included) to set up interop with a variety of walled-garden legacy messaging services. Supports for example Signal, Telegram, Whatsapp, Steam, Discord, Mattermost,...

GitHub - nikvdp/neomux: Control Neovim from shells running inside Neovim.

Interact seamlessly between running neovim instance and an open (neovim) term buffer. Can send text back and forth, utilize yank ring and more.

GitHub - Bekaboo/dropbar.nvim: IDE-like breadcrumbs, out of the box

IDE-like breadcrumbs, out of the box.

Creates a top-bar on neovim which contains breadcrumbs from the base project working dir, through the directory structure into the current file, then the current context (e.g. class) and function and if required even into individual variables.

Python and Poetry on Docker - Baptiste Maingret’s Homepage

Build a multi-stage Docker image from official Python images with support for Poetry projects.

A good (concise) example of multi-stage dockerizing if you already somewhat know about basic docker concepts.

GitHub - wescode/lemmy_migrate: Migrate your subscribed Lemmy communites to a new account

Put in your account information for 2 (or more) lemmy accounts and it will migrate all your subscribed communities from account A to account B (and C and D and...). Neat! (and necessary atm since lemmy does not have this feature on its own)

GitHub - eBay/tsv-utils: eBay's TSV Utilities: Command line tools for large, tabular data files. Filtering, statistics, sampling, joins and more.

eBay's TSV Utilities: Command line tools for large, tabular data files. Filtering, statistics, sampling, joins and more. - GitHub - eBay/tsv-utils: eBay's TSV Utilities: Command line tools for large, tabular data files. Filtering, statistics, sampling, joins and more.

TSV data wrangling utilities from the command line.
Written in D language.

GitHub - SuperCuber/dotter: A dotfile manager and templater written in rust 🦀

May be the first dotfile manager to move me away from my beloved GNU stow setup -

  • it does everything stow does (in fact, you can migrate without changing your repo),
  • but it also does templating of files (amazing if some program has to change its config files every now and again)
  • plus it allows different deployment targets with config-merging and multiple includes (e.g. you can have a modular graphics, wm and so on setup and enable/disable anything based on deploying to Win/Linux/Mac)

Seems powerful and since it is contained in a single rust binary we can also quickly bootstrap with a simple script in the beginning.

Elegant commandline argument parsing on the shell

Showing how to combine short (-h) posix options with long-form (--help) gnu-like options while using getopts.

It seems overkill for smaller applications which are probably best off with a simple snippet like:

while :; do
    case "$1" in
    -f | --file) BEMOJI_CUSTOM_LIST="${OPTARG}"; shift 2 ;;
    -h | --help) usage 0 ;;
    -p | --private) bm_private_mode=true; shift ;;
    -v | --version) version ;;
    -*) usage 1 ;;
    *) break ;;
    esac
done

for option gathering, but for more complex setups this could be the way to go.

Document docker poetry best practices · python-poetry · Discussion #1879 · GitHub

Good discussion and examples on best practices for building/delivering python poetry projects with Docker: Dockerfile tips, which command line arguments/ env vars to use for poetry, and how to approach multi-stage builds.

GitHub - Abscissa/scriptlike: Utility library to help you write script-like programs in D

Amazing little library making writing 'scripts' in D so much easier: user interaction, shell commands, dry-run mode, return fail codes, and some more.

GitHub - WhiteBlackGoose/gpt4all.nvim: Plugin to work with gpt4all. Fork of ChatGPT.nvim

A fork of a pretty sweet ChatGPT plugin for neovim which seeks to make it work in an improved way with FOSS versions of GPT trained LLMs. Currently still unusable since it takes too long to generate output on most machines but with improvements will signify a way to use LLMs while staying FOSS and ideally also privacy-aware and offline.