Skip to content

Instantly share code, notes, and snippets.

View frafra's full-sized avatar

Francesco Frassinelli frafra

View GitHub Profile
#!/bin/bash
set -eu
OLD_PASSWORD="old_endoded_pwd"
NEW_PASSWORD="new_endoded_pwd"
filter='(.resource.sources | (.sqlsource, .sqlsources[])? | select(.password == $old).password) |= $new'
for file in */resource.xml; do
@frafra
frafra / aliases.sh
Last active December 7, 2024 22:57
Nice shortcuts
# Pick a random private port, start caddy and start cloudflared:
# p=$((RANDOM%16383+49152)); caddy file-server -bl :$p & cloudflared tunnel --url [::1]:$p
# Use nix-shell:
# nix-shell -p cloudflared -p caddy --run 'p=$((RANDOM%16383+49152)); caddy file-server -bl :$p & cloudflared tunnel --url [::1]:$p'
# Or use podman (or Docker) with nixery.dev:
# podman run --rm --network host -ti -v $PWD:/data:ro --workdir /data nixery.dev/bash/caddy/cloudflared /bin/bash -c 'p=$((RANDOM%16383+49152)); caddy file-server -bl :$p & cloudflared tunnel --url [::1]:$p'
# Create an alias:
alias staticserve="nix-shell -p cloudflared -p caddy --run 'p=$((RANDOM%16383+49152)); caddy file-server -bl :\$p & cloudflared tunnel --url [::1]:\$p'"
@frafra
frafra / README.md
Last active January 10, 2025 09:06
GLX in nix-shell

How to solve Could not initialize GLX and similar errors?

Workaround (not recommended)

export QT_XCB_GL_INTEGRATION=none

-- NixOS/nixpkgs#82959 (comment)

@frafra
frafra / ravenpro.sh
Last active November 28, 2024 16:13
Install RavenPro as user
#!/bin/bash -e
# Install RavenPro as user on Linux using proot
# Download the installer in advance and set the correct version
# Do not start RavenPro from the installer
VERSION=1.6.5
mkdir -p ravenpro
proot -0 -b ravenpro:/opt ./RavenPro-${VERSION}-linux-x64-installer.run
@frafra
frafra / .pre-commit-config.yaml
Last active October 21, 2024 15:11
renv failure in nix-shell with pre-commit: libxml2.so.2: cannot open shared object file
repos:
- repo: https://github.com/lorenzwalthert/precommit
rev: v0.4.3
hooks:
- id: style-files
@frafra
frafra / check_data.sh
Created October 7, 2024 14:54
check senorge data
#!/bin/bash
set -eu
lon=10.407
lat=63.431
echo "# seNorge GDAL test"
echo
echo "## Test info"
@frafra
frafra / taskspooler_memory.sh
Created August 23, 2024 06:37
A prototype of task spooler which avoids OOM
#!/bin/bash
set -xeu
export max=$((8*1024*1024*1024)) # 8 GB
memory_max() {
requested=$1
total=$(
find /sys/fs/cgroup/user.slice/ -wholename "*/run-*.*/cgroup.procs" |
@frafra
frafra / default.vcl
Created November 16, 2023 21:04
Allow GDAL vsicurl to fetch streamed replies and caching
vcl 4.1;
import dynamic;
backend default none;
sub vcl_init {
new d = dynamic.director(port = "80");
}
sub vcl_recv {
@frafra
frafra / zotero.js
Created August 21, 2023 12:22
zotero cookbook
// Add incremental Call Number
let items = Zotero.getActiveZoteroPane().getSelectedItems();
let callNumberLength = items.length.toString().length;
for (i=0; i<items.length; i++) {
let item = items[i];
if (!items[i].isRegularItem()) continue;
item.setField("callNumber", (i+1).toString().padStart(callNumberLength, "0"));
await item.saveTx();
}
@frafra
frafra / kroki.js
Last active April 25, 2023 14:12
Render with mermaid and kroki, with support for mdbook
// <script type="module">
var server = "https://kroki.io";
var libraries = [
"bytefield",
"c4plantuml",
"d2",
"ditaa",
"erd",
"graphviz",
"dot",