/images/avatar.png

A Toolbox I Actually Reopen

Every few months I dump a folder of saved links into a post like this. Some entries are battle-tested; others are “I used this once and it saved a weekend.” I dropped EssayKiller_V2 from my draft list – it was a fun GPT-2-era experiment, but in 2026 you already have better options on your desk.

Bookmark the page, steal what you need, ignore the rest.

Translation & language

  • DeepL – Still the translator I reach for when Google feels too literal and ChatGPT feels too chatty.
  • pinyin-pro – Pinyin conversion and matching for Chinese text in apps and scripts.

Homelab & network

  • dynip.dev – Dynamic DNS that actually updates in about a minute, with RFC 2136 TSIG for routers and a generous free tier. Homelab DNS without the 30-minute stale-record ritual.
  • dnspeep – Spy on DNS queries your machine is making. Julia Evans wrote a nice walkthrough when it launched; the repo is the thing to install.
  • HTTP Toolkit – Intercept, inspect, and mock HTTP(S) traffic without wrestling mitmproxy config every time.

Terminal & remote access

  • sshx – Share a live terminal in the browser. Fast, collaborative, surprisingly handy for “can you see this error?”
  • termpair – View and control a terminal from a browser with end-to-end encryption.
  • webssh – Web-based SSH client when you cannot install a native client but still need a shell.

PDF & documents

  • Stirling-PDF – Self-hosted PDF toolkit: merge, split, compress, OCR, the usual suspects. Run it at home if you do not want files on a random website.
  • PDFReal – Fast online PDF utilities when you need something quick and do not want to spin up a container.

Cloud native & observability

  • awesome-cloud-native – Rootsongjc’s curated list of cloud-native projects. Good starting point when you are lost in the CNCF catalog.
  • Netdata – Real-time monitoring with minimal setup. Nice on a single node or a small cluster.

Data & databases

  • DBeaver – Universal database client. Not pretty at 2 a.m., but it opens everything.

Shell & scripting

  • pure-bash-bible – Bash snippets you will grep more than you expect.
  • Bash-Oneliner – Another solid collection of one-liners and small scripts.
  • ShellCheck – Lint your shell scripts before they lint you.

Security, crypto, and regex pain

  • CyberChef – The “what encoding is this?” Swiss Army knife from GCHQ.
  • regex-vis – Visualize and debug regexes when your eyes glaze over at ^(?=(.*[a-z])).

Comments (lightweight)

  • Cusdis – Lightweight, privacy-friendly comment widget. The author’s free hosted service is gone; self-host or embed on your own site. Still beats loading Disqus on a personal blog.

IoT & casting

  • Arkadiko (Docker) – Docker image related to the Arkadiko IoT/game stack; useful if you are poking at that ecosystem.
  • catt – Cast audio and video to Chromecast from the command line. catt cast beats opening another GUI.

Music, scores, and MIDI

  • Kunst der Fuge – Classical MIDI files and scores. A rabbit hole if you like reading music on a screen.
  • pianoplayer – Play along with a MIDI keyboard; visual feedback on what to press next.
  • 中华古籍资源库 – National Library of China digitized ancient books and related resources. Serious archive, not a quick click.

Chinese classics & text

  • ctext.org – Chinese Text Project: classical Chinese texts with search and parallel editions.
  • copybook-generator – Generate Chinese copybook practice sheets (字帖).

Math, code, and learning

  • awesome-math – Curated math learning resources.
  • Blockly – Visual block programming; still useful for teaching and quick prototypes.
  • PathPlanning – Path planning algorithms with visual demos.

Fitness, handwriting, and doodles

Games & Go

Weather

  • ultra-weather – Actionable, human-readable weather forecasts in a clean UI.

Reading & ebooks

  • bibi – EPUB reader you can embed on a website.
  • DeDRM_tools – Tools for managing DRM on ebooks you already own. Legal territory varies by country; use only on content you have the right to back up.

Last updated: 2026-08-02. Send me a link if something here rotted or if I missed your favorite wrench.

Notes on 'The Untethered Soul: The Journey Beyond Yourself'

Here are some highlights and notes from my reading of The Untethered Soul: The Journey Beyond Yourself.

Chapter 15: The Path of Unconditional Happiness

The highest spiritual path is life itself. If you know how to live daily life, it all becomes a liberating experience. But first you have to approach life properly, or it can be very confusing. You have to realize that you really only have one choice in this life, and it’s not about your career, whom you want to marry, or whether you want to seek God. People tend to burden themselves with so many choices. But, in the end, you can throw it all away and just make one basic, underlying decision: Do you want to be happy, or do you not want to be happy? It’s really that simple. Once you make that choice, your path through life becomes totally clear.

Notes on 'The Man's Guide to Women'

Here are some highlights and notes from my reading of The Man’s Guide to Women: Scientifically Proven Secrets from the Love Lab About What Women Really Want.

01 What Do Women Really Want? Understanding a Woman’s Heart

In the process of men and women interacting, the behaviors that make women feel you are trustworthy are as follows: keeping your promises, being consistent in your words and actions, being reliable, having a sense of responsibility, and being able to truthfully show who you are.

Kubernetes Cluster Installation

To learn some of the details about the kubeadm toolbox, the best way is to use it to manage a k8s cluster. This includes the whole life cycle management: new installation (HA), scale up/down, and upgrade. All information was current as of May 2022.

Preparations

You will need these preparations on all of your nodes.

  1. https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#before-you-begin I use terraform to setup 5 Ubuntu 20.04 nodes (2 vCPU, 6Gi RAM).

Kubernetes (k3s) Certs Expired

There is a bug in some older k3s releases that causes certificate auto-renewal to fail.

kubectl --insecure-skip-tls-verify=true delete secret -n kube-system k3s-serving
stop k3s
remove/backup /var/lib/rancher/k3s/server/tls/dynamic-cert.json
remove/backup /etc/rancher/k3s/k3s.yaml
restart k3s

Add Missing Indices After Nextcloud Upgrade

Upgrade Nextcloud

  1. Remove all other folders except /config and /data (due to an unsuccessful major version jump upgrade).
  2. Upgrade one major version at a time (cannot jump upgrade two major versions).

System Warning About Missing Indices

kubectl exec -it -n nextcloud nextcloud-6864c47cf4-58vrl -- /bin/sh
# sudo -u www-data php occ db:add-missing-indices
/bin/sh: 1: sudo: not found
# su www-data
This account is currently not available.
# id
uid=0(root) gid=0(root) groups=0(root),33(www-data)

# su www-data -s /bin/sh
$ php occ db:add-missing-indices
Check indices of the share table.
Check indices of the filecache table.
Adding additional size index to the filecache table, this can take some time...
Filecache table updated successfully.
Adding additional size index to the filecache table, this can take some time...
Filecache table updated successfully.
Adding additional path index to the filecache table, this can take some time...
Filecache table updated successfully.
Check indices of the twofactor_providers table.
Check indices of the login_flow_v2 table.
Check indices of the whats_new table.
Check indices of the cards table.
Adding cards_abiduri index to the cards table, this can take some time...
cards table updated successfully.
Check indices of the cards_properties table.
Check indices of the calendarobjects_props table.
Check indices of the schedulingobjects table.
Check indices of the oc_properties table.
Adding properties_pathonly_index index to the oc_properties table, this can take some time...
oc_properties table updated successfully.
Check indices of the oc_jobs table.
Adding job_lastcheck_reserved index to the oc_jobs table, this can take some time...
oc_properties table updated successfully.
$ exit
# exit