26-03#
Detecting LLM-Generated Web Novels Using “Classical” Machine Learning (AIGC Text Detection)
self-hosted email server
Stalwart Mail & Collaboration Server dual license (ce, enterprise) can work…
CI/CD tools
-
similar to Gitlab CI/CD
used by Codeberg / Forgejo / Gitea
fork of Drone CI
5 contributors Contributors to woodpecker-ci/woodpecker
-
based on Dagger, Wasm and Deno
one-man-show Contributors to fluentci-io/fluentci
-
-
.wh.prefix
Building rapidlog: Why I Made a 3x Faster Python Logger - DEV Community
faster than structlog
useful when “You’re logging 10K+ events/sec”
Validating data with pointblank in python
like Pydantic for dataframes (polars in this example)
Show HN: Oxyde – Pydantic-native async ORM with a Rust core | Hacker News
seems worth watching, as I see this pattern a lot
The Story of Python’s Lazy Imports: Why It Took Three Years and Two Attempts | TechLife
nice. fast CLI startup with heavy dependencies. :)
Show HN: I built 48 lightweight SVG backgrounds you can copy/paste | Hacker News
cute backgrounds
suspect excited comments
Incremental Backup in PostgreSQL - YouTube
recommends Barman
-
Vor meinem Fenster ist ein Teich. An der Decke sieht man die Verwirbelungen durch das reflektierte Licht.
reddit self-hosted “that genuinely make your life easier”#
Github Exodus Repo Updates#
I have some established locations for my repos on multiple machines. Here’s copy and paste stuff:
cd ~/configs/
git remote remove origin
git remote add origin https://forge.felixhummel.de/felix/configs.git
git fetch
git checkout main
git reset --hard origin/main
cd ~/bin/
git remote set-url origin https://forge.felixhummel.de/felix/bin.git
git fetch
git checkout main
git reset --hard origin/main
cd ~/1-provision/
git remote set-url origin https://forge.felixhummel.de/felix/provision.git
git fetch
git checkout main
git reset --hard origin/main
cd ~/.config/nvim/
git remote set-url origin https://forge.felixhummel.de/felix/nvim.git
git fetch
git checkout main
git reset --hard origin/main
TIL: Claude Hooks#
https://code.claude.com/docs/en/hooks-guide
I run make on Stop, e.g. in .claude/settings.local.json
{
"hooks": {
"Stop": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "make"
}
]
}
]
}
}
https://code.claude.com/docs/en/hooks-guide#get-notified-when-claude-needs-input is nice too.
Neovim as MANPAGER#
export MANPAGER='nvim --appimage-extract-and-run +Man!'
https://lobste.rs/s/zuh3zm/qman_more_modern_man_page_viewer_for_our#c_lzyrnh says compares to qman
index pages/overview pages: unique to qman
hyperlinks to other man pages: bound to K in vim for buffers with the man page filetype
hyperlinks for URLs: bound to gx in all buffers in Vim
hyperlinks for emails: presumably gx would also work but I’ve never tried
hyperlinks to files or directories: bound to gf/gF in Vim
table of contents: bound to gO in man page buffers
incremental search: enable for all buffers with :set incsearch, or use auto commands to enable only in man page buffers
command line option compatibility: can be approximated with shell configuration, or using plugins like my own vim-superman
keyboard mappings/mouse support/navigation history/online help/fully configurable/man page: of course all also available in Vim
The gx was new to me. :)
Gitlab OIDC Application#
https://python-gitlab.readthedocs.io/en/stable/cli-objects.html#gitlab-application
gitlab -v application list
felix-gitlab-oidc-application --mise-env prod https://grafana.example.com/login/gitlab
felix-gitlab-oidc-application is to be released.
Feel free to contact me on The Matrix.
Distrobox#
curl -s https://raw.githubusercontent.com/89luca89/distrobox/main/install | sh -s -- --prefix ~/.local
distrobox create --name test --init --image debian:latest --additional-packages "systemd libpam-systemd pipewire-audio-client-libraries"
distrobox enter test
distrobox rm -f test
EXPKEYSIG ABA1F9B8875A6661#
https://caddyserver.com/docs/install#debian-ubuntu-raspbian
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
chmod o+r /usr/share/keyrings/caddy-stable-archive-keyring.gpg
chmod o+r /etc/apt/sources.list.d/caddy-stable.list
EXPKEYSIG 3F01618A51312F3F#
runner#
https://packages.gitlab.com/runner/gitlab-runner/
curl -s https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash
Gitlab#
https://packages.gitlab.com/gitlab/gitlab-ce
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
Sandbox für Claude --allow-dangerously-skip-permissions#
Mein Ziel ist simpel: claude --allow-dangerously-skip-permissions laufen lassen ohne Angst um meinen Host haben zu müssen.
Muss:
KVM-basiert
einfaches mounten von Daten (wenigstens PWD)
schnelles Startup: kleiner 200ms ist wohl gut
Optionen
avkcode/firecracker-sandbox: Firecracker sandbox
DIY-Ansatz
komischer Stil (alles in einem Makefile, was Skripte sein könnten)
vielleicht als Referenz oder für Konzept-Verständnis
-
direkt von claude
benutzt bubblewrap, das Grundlage von Flatpak ist
nett, aber nicht mächtig genug, um “unsupervised” laufen zu lassen