Weekly Shaarli

All links of one week in a single page.

Week 02 (January 9, 2023)

Surge

Shipping web projects should be fast, easy, and low risk. Surge is static web publishing for Front-End Developers, right from the CLI.

Quickly deploy static web pages through the cli. Similar to netlify, now.sh and so on. Can be integrated with e.g. woodpecker ci systems with a simple plugin to have preview environments which get automatically destroyed after merging PRs.

GitHub - Schrodinger-Hat/ImageGoNord: A tool that can convert your rgb images to nordtheme palette

Theme your wallpapers and other images to a couple of well-known color scheme palettes!

GitHub - juanfont/headscale: An open source, self-hosted implementation of the Tailscale control server

An open source, self-hosted implementation of the Tailscale control server

Adding supplementary tables and figures in LaTeX | Byte Size Biology

A way to separate multiple table or figure environments in latex:

\newcommand{\beginsupplement}{%
        \setcounter{table}{0}
        \renewcommand{\thetable}{S\arabic{table}}%
        \setcounter{figure}{0}
        \renewcommand{\thefigure}{S\arabic{figure}}%
     }

Then, when your supplement starts, just add the line:

\beginsupplement

Voila! Instant “Table S1” and “Figure S1”. Enjoy.

bash - You can avoid executing aliases with a backslash at the beginning of a command
$ \curl -L https://get.rvm.io | bash -s stable --ruby

There's no error, it's a little hack to avoid using a curl shell alias if any exists.

This works too :

'curl' (...)
"curl" (...)
/usr/bin/curl (...)
command curl (...)
command -p curl (...)

How to set up a KVM / QEMU Windows 10 VM

Setting up Windows 10 in KVM, using virt-manager. Goes through step-by-step for driver installation and so on, very helpful

Undo block breaking in vim with <c-g>u

Finding the use of <C-G>u was a little hidden. To find out more in vim-help: i_CTRL-G_u or undo-break.

For markdown I have the following mappings in ~/.vim/after/ftplugin/markdown.vim:

" Break undo sequence at punctuation marks
inoremap <buffer> . .<c-g>u
inoremap <buffer> ! !<c-g>u
inoremap <buffer> ? ?<c-g>u
inoremap <buffer> , ,<c-g>u

I don't think that this makes a difference in my workflow, because I seldom use undo on text that I just typed. It is more likely that I undo a formatting, deletion or copy command.

GitHub - navidrome/navidrome: 🎧☁️ Modern Music Server and Streamer compatible with Subsonic/Airsonic

Perhaps the best-looking sub/air-sonic server implementation I have seen. Seems to be single user only however from what I can tell, which makes it harder to use with friends. Nevermind, it actually has multi-user support, though it seems to be single-library only.

GitHub - rustdesk/rustdesk: Open source virtual / remote desktop infrastructure for everyone! The open source TeamViewer alternative. Display and control your PC and Android devices from anywhere at anytime.

Remote desktop software that is open source. Really nice alternative to teamviewer, splashtop, remmina and other RDP implementations.

bliz: Incredibly easy, interpolated server-side scripting for Gemini.

An interesting take on dynamic gemini pages: You add %%%-delineated code-blocks which execute shell code.
The output is displayed.
You can have inline variables mimicking shell variables prefixed with % as well (e.g. %$my_awesome_variable).

With those two building blocks you have a very simple concept, but leadin gto powerful dynamic execution:
Want to execute an advanced python script? Just call it from your shell code!

I am not entirely sure about security implications, however.

Questions about Runit per-user services : voidlinux

Really good tiny FAQ and addendum to both the void manual and runit FAQ for running user-specific services.