Monthly Shaarli

All links of one month in a single page.

December, 2023

GitHub - manubot/manubot: Python utilities for Manubot: Manuscripts, open and automated

An academic publishing workflow with automatic doi -> citation processing and (I think?) writing in markdown then publishing as pdf/docx/html documents.

Similar to quarto in other words, but taking a bit of a different approach. Also has a sister-repository with an AI assistant for the publishing process which seems like a neat tool to try.

sent - suckless slide presentation software

Very simple, basic functionality slide software. Has a couple of ..interesting features like

Slides with exuberant amount of lines or characters produce rendering glitches intentionally to prevent you from holding bad presentations.

but in general seems quite nice

GitHub - Cimbali/pympress: Pympress is a simple yet powerful PDF reader designed for dual-screen presentations

Hold presentations with a projector connected (i.e. dual-screen) - you get to read notes you prepared and see the current and upcoming slide in a little side-window while the big screen just sees the current slide.
I think slide.js/reveal.js has a similar feature that can be activated with a key combination but this has it baked in

Modern Polars

A side-by-side comparison of the Polars and Pandas libraries. Nice gentle comparison and thus simultaneous 'introduction' to the tools.

(It's not really an introduction, it does expect you to have some prior knowledge on e.g. the pandas core concepts.)

GitHub - couchbase/fleece: A super-fast, compact, JSON-equivalent binary data format

Json but less overhead. (and binary not plain but eh)

A relatively faster approach for reading json lines file into pandas dataframe

Fantastically easy approach for .jsonl format to be loaded into pandas.

GitHub - red/red: Red is a next-generation programming language strongly inspired by Rebol, but with a broader field of usage thanks to its native-code compiler, from system programming to high-level scripting and cross-platform reactive GUI, while providing modern support for concurrency, all in a zero-install, zero-config, single ~1MB file!

Red is a next-generation programming language strongly inspired by Rebol, but with a broader field of usage thanks to its native-code compiler, from system programming to high-level scripting and cross-platform reactive GUI, while providing modern support for concurrency, all in a zero-install, zero-config, single ~1MB file!

GitHub - tidwall/jj: JSON Stream Editor (command line utility)

JSON Stream Editor (command line utility).

Another similar-but-different query language based tool to jq - just with what seems like much simpler syntax at least for simple queries.
Not sure how well it fares for more advanced requirements, but it might just do fine.

GitHub - gruntwork-io/git-xargs: git-xargs is a command-line tool (CLI) for making updates across multiple Github repositories with a single command

Very interesting, the name basically gives the game away.
You give the tool a list of git(hub) repositories and a command (or more advanced script files) and it runs it against them.

You could for example create a file in each one. Or change some variable. Or grep and sed something from one thing to another thing. Or or or.

Honestly not seeing myself using it that often - but the fact it exists is fascinating to me, and the naming is just genius. Though I am a little sad that it seems to only work for Github projects.

GitHub - bwconrad/ranger-kdeconnect: Ranger plugin to send files through KDE Connect

A small python script to send files through KDEConnect - can presumably be adapted for any other non-ranger related use (e.g. other TUI fm such as nnn, xplr or vifm) or even just as a one-off script to be invoked

GitHub - kimono-koans/httm: Interactive, file-level Time Machine-like tool for ZFS/btrfs/nilfs2 (and even actual Time Machine backups!)

Interactive, file-level Time Machine-like tool for ZFS/btrfs/nilfs2 (and even actual Time Machine backups!)

Very cool, allows listing, filtering and browsing through backed-up individual files on the commandlien.

AK's website - tpp - text presentation program

Terminal slide presentations. Uses its own markup language (unfortunately) but by doing so comes with some nice features such as emulating a shell command or even typing it with animation.

bullet/pure-bash-bible: đź“– A collection of pure bash alternatives to external processes. - Disroot Forgejo: Brace yourself, merge conflicts ahead.

Very nice list of bash-internal functionality. Mirrors the 'pure-sh-bible' by dylanaraps.

Causal Inference in R

Learning to model causality and make causal inferences with R (though applicable to other data science toolkits). Very nice, and splitting right down the middle of statistical and programmatic learning.

GitHub - MechanicalSoup/MechanicalSoup: A Python library for automating interaction with websites.

Enable scraping (and interaction) with websites, a little more high-level and a different api than beautifulsoup

JSON Lines

The JSON lines format (.jsonl or I believe some also do .jl ?)

Pretty easy to handle, good for streaming through information, can be extended and is faairly readable.

A little less readable than csv/tsv (if they are well formatted) but you can extend a file with another column at any point (which is a huge pain with csv), cells can have actual types and the formatting is much easier.

1 The tidy text format | Text Mining with R

Using tidy data principles is a powerful way to make handling data easier and more effective, and this is no less true when it comes to dealing with text.

An in-depth description of handling strings, textual data with the tidy principles. Really neat for applications such as NLP or sentiment analysis or text modeling.

R for Data Science: Exercise Solutions

Solutions to the exercises in “R for Data Science” by Garrett Grolemund and Hadley Wickham.

The book itself is also available online, here: https://r4ds.had.co.nz/

While written for R, the exercies could be easily adapted say for python pandas, and undertaken that way.

GitHub - grassmunk/Chicago95: A rendition of everyone's favorite 1995 Microsoft operating system for Linux.

Make Linux (made for debian/xubuntu) look exactly like Win95 - just in case you ever feel nostalgic for a weirdly homey desktop feel.

GitHub - wader/fq: jq for binary formats - tool, language and decoders for working with binary and text formats

jq for binary formats - tool, language and decoders for working with binary and text formats

I suppose the description says it all. There are some usage examples on the README.md and they look avery intriguing - basically exploring an mp3 file kinda like through a hexdump/hexviewer but with jq-like query language built in

GitHub - tomnomnom/gron: Make JSON greppable!

GReppablejsON!

Super awesome for de-structuring json responses to then simply work with through grep or other text-only speaking stream tools on the command line.

GitHub - yamafaktory/jql: A JSON Query Language CLI tool

A JSON Query Language CLI tool. A little like the venerable jq a little not, has different selection (or 'query') syntax.

Basically you pass in JSON to select specific JSON from whatever data.
Feels a little weird to me at first, but might actually be easier for intermediate/advanced use cases then the mind-bending mess jq sometimes turns into for me

(or rather, the constant trial and error with jiq that it turns into)

100 Awesome and Must-Have TUI Linux Apps - LinuxLinks

This article selects 100 TUI apps that largely reflects software our volunteers use as their daily drivers. Free and open source.
(Mostly TUI software, with some really interesting and lesser known software)

GitHub - ulyssa/iamb: A Matrix client for Vim addicts
GitHub - visit1985/mdp: A command-line based markdown presentation tool.

Another terminal-based slide presentation tool. This one seems nice in that it simply uses markdown and every horizontal rule marks a new slide. Simple, efficient, nice.

Also has a simple guide on how to export slides to pdf on the page.

GitHub - MarcoGorelli/polars-upgrade: Automatically upgrade your Polars code to use the latest syntax available

Automatically upgrade your Polars code to use the latest syntax available. Run over python polars code and it switches out deprecated stuff for up-to-date stuff. Simple, easy, nice.

learning statistics with jamovi

This textbook covers the contents of an introductory statistics class, as typically taught to undergraduate psychology, health or social science students.

Fun little introductory book for descriptive statistics, visualizations, then some theory, regressions and at the very end a tiny bit of bayesian stats.
Uses 'jamovi', a statistical software, but can be acommodated with all manner of toole like SPSS, PSPP, R, Pandas, Polars, etc etc

GitHub - wbolster/jsonlines: python library to simplify working with jsonlines and ndjson data

Read and write json line format with python, easy, efficient.

GitHub - sxyazi/yazi: đź’Ą Blazing fast terminal file manager written in Rust, based on async I/O.

Yet Another.. zi? I don't know what the title stands for but I do know it like a pretty fast and smooth TUI fm.

Chapter 3 Wrangling Data in the Tidyverse | Tidyverse Skills for Data Science

This book demonstrates how to use the Tidyverse collection of packages for doing data science.

A long and in-depth description of tidy data, how to arrive there, pitfalls to avoid. Also gives pointers on visualization and modeling.

Written for R, but a lot of the concepts can be applied universally.

GitHub - crystal-lang/crystal: The Crystal Programming Language

The Crystal Programming Language.

An interesting mix of ruby-ish syntax, static type checking and compilation, with the ability to create C-bindings. Looks like a neat little language!

GitHub - 01mf02/jaq: A jq clone focussed on correctness, speed, and simplicity

A jq clone focussed on correctness, speed, and simplicity

jq in a different dress. As far as I can see the syntax is esentially the same but it is faster and wants to be 'correct'. Neat!

GitHub - lindell/multi-gitter: Update multiple repositories in with one command

Update multiple repositories in with one command.

Similar to git-xargs but seems to work for repositories not hosted on Github. Takes any kind of script and applies it to all repositories you pass in. Very nice! Only the name is a bit worse.

GitHub - adamritter/fastgron: High-performance JSON to GRON

Same thing as GRON - turn JSON into stream-friendly (i.e. greppable) destructured text.
Just faster! I suppose. Haven't really tried it myself

GitHub - martanne/abduco: abduco provides session management for the terminal

abduco provides session management i.e. it allows programs to be run independently from its controlling terminal. That is programs can be detached - run in the background - and then later reattached. Together with dvtm it provides a simpler and cleaner alternative to tmux or screen.
(dvtm being a terminal window manager to have multiple tabs or buffers)

However, on its own it can also bring session management to something like wezterm which has amazing window management on its own but no real session management. Very neat and 'unix-y'