56,966 blogs · [ { "id": "01a08c61-5d65-7392-9e8e-40fac82e3d5f", "title": "Incus Recursive Jail for Codex Coding Agent", "url": "https://weisser-zwerg.dev/posts/incus-agent-jail-recursive-ii-1-concepts/", "published_at": "2026-05-12T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fac7e84dcf", "title": "Groupware: Implementing grommunio behind Mailu via split delivery", "url": "https://weisser-zwerg.dev/posts/groupware-grommunio/", "published_at": "2026-04-16T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fac744fd06", "title": "Groupware: Implementing SOGo beside Mailu behind Traefik", "url": "https://weisser-zwerg.dev/posts/groupware-sogo/", "published_at": "2026-03-27T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fac6fdd0bd", "title": "Web Application Architecture Experiment: FastHTML-Plus", "url": "https://weisser-zwerg.dev/posts/software-engineering-fasthtml-plus/", "published_at": "2026-03-24T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fac61144c6", "title": "Quick Tip Nugget: Convert PDFs to Markdown on Runpod with marker-pdf and GPU Support", "url": "https://weisser-zwerg.dev/posts/quick-tip-nugget-gpu-pdf-converter/", "published_at": "2026-03-20T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fac5d5b46a", "title": "Groupware: replacing Microsoft Exchange at home (on-prem)", "url": "https://weisser-zwerg.dev/posts/groupware/", "published_at": "2026-02-26T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fac576d79c", "title": "Incus System-Container Jail for the Codex Coding Agent", "url": "https://weisser-zwerg.dev/posts/incus-codex-jail/", "published_at": "2026-02-18T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fac571ef91", "title": "Cloud-Init Provisioning: A Practical Guide", "url": "https://weisser-zwerg.dev/posts/cloud-init-provisioning/", "published_at": "2026-02-17T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fac55c41ca", "title": "Nym Mixnet & dVPN: A Node Operator's Guide (2026)", "url": "https://weisser-zwerg.dev/posts/digital-civil-rights-networking-nym-node-operator-guide-2026/", "published_at": "2026-01-11T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fac49e521f", "title": "Public IPv6 for Incus Instances on Your Home Server with the ROUTE64 Tunnel Broker", "url": "https://weisser-zwerg.dev/posts/home-server-incus-route64-ipv6/", "published_at": "2026-01-05T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fac4617317", "title": "Portfolio Performance Metrics with External Cashflows", "url": "https://weisser-zwerg.dev/posts/portfolio-performance-metrics-with-cashflows/", "published_at": "2025-12-15T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fac38485bf", "title": "Quick Tip Nugget: Export Passwords and Passkeys from iPhone (iOS 26, 2025) to KeePassXC (kdbx)", "url": "https://weisser-zwerg.dev/posts/quick-tip-nugget-backup-ios-passwords-and-passkeys-to-keepassxc/", "published_at": "2025-12-02T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fac2f6da4f", "title": "Quick Tip Nugget: Export ChatGPT Chats to Markdown for Desktop Search (DocFetcher, Recoll)", "url": "https://weisser-zwerg.dev/posts/quick-tip-nugget-export-chatgpt-to-markdown-for-desktop-search/", "published_at": "2025-12-01T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fac2ddfa49", "title": "Using a MikroTik hAP ax³ (RouterOS) and the ROUTE64 Tunnel Broker for IPv6 at Home", "url": "https://weisser-zwerg.dev/posts/mikrotik-route64-ipv6-tunnelbroker/", "published_at": "2025-11-30T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fac22a0e28", "title": "Teleporting a Public IPv6 Address from Your VPS to Your Home Server", "url": "https://weisser-zwerg.dev/posts/teleporting-public-ipv6-from-vps-to-homeserver/", "published_at": "2025-11-25T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fac1c1b40e", "title": "Censorship-Resistant \"reverse-Nextcloud\" for Identity-Free Web Publishing", "url": "https://weisser-zwerg.dev/posts/censorship-resistant-reverse-nextcloud-for-identity-free-publishing/", "published_at": "2025-11-18T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fac165b04e", "title": "Private Email with Mailu Behind Traefik Reverse Proxy", "url": "https://weisser-zwerg.dev/posts/digital-civil-rights-mailu/", "published_at": "2025-11-14T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fac0b68336", "title": "The Normal Metaphysics and Epistemology", "url": "https://weisser-zwerg.dev/posts/holistic-epistemology-metaphysics-structural-realism/", "published_at": "2025-09-08T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fac04f9fe2", "title": "Digital Civil Rights and Privacy: Embracing Digital Integrity", "url": "https://weisser-zwerg.dev/posts/digital-civil-rights-digital-integrity/", "published_at": "2025-03-30T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fabf74f6e3", "title": "GPG Agent Forwarding with Hardware Tokens: YubiKey, Nitrokey, or Trezor on Remote Servers", "url": "https://weisser-zwerg.dev/posts/openpgp-card-hardware-keys-remotely/", "published_at": "2025-03-12T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fabe919009", "title": "Home Server Blueprint: Rock-Solid Home Server with Unattended Reboots, Secure Disk Encryption, and Cost-Effective Offsite Backups", "url": "https://weisser-zwerg.dev/posts/home-server-infrastructure/", "published_at": "2025-03-06T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fabe608364", "title": "Nym Mixnet & dVPN: A Node Operator's Guide", "url": "https://weisser-zwerg.dev/posts/digital-civil-rights-networking-nym-node-operator-guide/", "published_at": "2025-02-27T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fabe07b9e2", "title": "Take Control of Your Code: Replace GitHub by Self-Hosting Gitea with Traefik as a Reverse Proxy", "url": "https://weisser-zwerg.dev/posts/digital-civil-rights-gitea/", "published_at": "2025-02-22T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fabde09913", "title": "Running private LARGE AI Models on Your Hardware: A Guide to Scaling Local LLMs", "url": "https://weisser-zwerg.dev/posts/local-llm-large-llms/", "published_at": "2025-02-21T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fabda8bb39", "title": "Private Video Conferencing with Jitsi Meet behind Traefik as a Reverse Proxy", "url": "https://weisser-zwerg.dev/posts/digital-civil-rights-video-conferencing-jitsi/", "published_at": "2025-01-10T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fabcfbbffd", "title": "Digital Civil Rights and Privacy: Networking, VPN, Tor, Onion over VPN, I2P (Invisible Internet Project), Nym Mixnet", "url": "https://weisser-zwerg.dev/posts/digital-civil-rights-networking-i/", "published_at": "2024-12-17T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fabc551d16", "title": "Digital Civil Rights and Privacy: Browser, Passwords, Bookmarks, Notes, Nextcloud", "url": "https://weisser-zwerg.dev/posts/digital-civil-rights-nextcloud-i/", "published_at": "2024-12-09T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fabc46a35f", "title": "Digital Civil Rights and Privacy: A Practical Guide (Part II)", "url": "https://weisser-zwerg.dev/posts/digital-civil-rights-privacy-ii/", "published_at": "2024-11-15T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fabb98729d", "title": "Digital Civil Rights and Privacy: An Overview (Part I)", "url": "https://weisser-zwerg.dev/posts/digital-civil-rights-privacy/", "published_at": "2024-11-09T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fabb31febd", "title": "Running AI Models on Your PC: A Guide to Local Large Language Models (LLMs)", "url": "https://weisser-zwerg.dev/posts/local-llm-getting-started/", "published_at": "2024-11-02T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40faba96e291", "title": "sigrok: UNI-T UT61E Multimiter on Linux", "url": "https://weisser-zwerg.dev/posts/linux-uni-t-ut61e/", "published_at": "2023-12-11T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40faba78e580", "title": "Implementing Teleport Identity Proxy behind a Router using the Traefik Reverse Proxy in an Intranet Environment: A Comprehensive Guide", "url": "https://weisser-zwerg.dev/posts/security-identity-goteleport/", "published_at": "2023-08-24T13:32:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fab9f5ec03", "title": "Optimierung von Balkonkraftwerken: Die Rolle von Schatten.", "url": "https://weisser-zwerg.dev/posts/photovoltaics-balcony-power-station-de/", "published_at": "2023-08-16T09:48:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fab9dadc68", "title": "Photovoltaics for Urban Spaces: Shadow Effects on Balcony Power Stations (Balkonkraftwerk)", "url": "https://weisser-zwerg.dev/posts/photovoltaics-balcony-power-station/", "published_at": "2023-08-16T06:48:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fab960eff2", "title": "Series: Photovoltaics", "url": "https://weisser-zwerg.dev/posts/series-photovoltaics/", "published_at": "2023-08-08T10:41:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fab8ada43c", "title": "Uncover the Corresponding Version Tag for the 'Latest' Docker Image: A Comprehensive Guide", "url": "https://weisser-zwerg.dev/posts/docker-find-image-tag-version/", "published_at": "2023-06-16T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fab86d2fdd", "title": "Step Up Your SSH Game: A Deep Dive into FIDO2 Hardware Keys and ProxyJump Configuration", "url": "https://weisser-zwerg.dev/posts/openssh-fido2-hardwarekey/", "published_at": "2023-05-18T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fab7f21c55", "title": "ChatGPT - Open AI API for Proofreading Markdown Blog Posts", "url": "https://weisser-zwerg.dev/posts/chatgpt-proofread/", "published_at": "2023-05-08T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fab7216364", "title": "Ecowitt WS2910 weather station via Ecowitt GW2000 (Wittboy) and dockerized WeeWX", "url": "https://weisser-zwerg.dev/posts/ecowitt-gw2000-weewx-docker/", "published_at": "2023-04-03T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fab630ad97", "title": "Digital to Analog Converter (DAC) from 0 to 10V", "url": "https://weisser-zwerg.dev/posts/digital-analog-0-to-10v/", "published_at": "2023-03-20T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fab5de9b7e", "title": "Ecowitt WS2910 868MHz weather station and Software Defined Radio (SDR)", "url": "https://weisser-zwerg.dev/posts/ecowitt-ws2910-868mhz-sdr/", "published_at": "2023-03-15T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fab53d4c77", "title": "Thin Clients as Home Servers: Dell Wyse 5060 and Fujitsu Futro S920: an Experience Report", "url": "https://weisser-zwerg.dev/posts/dell-wyse-fujitsu-futro/", "published_at": "2022-10-15T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fab51eb40f", "title": "Home Automation: Abstract / Conceptual View", "url": "https://weisser-zwerg.dev/posts/home-automation-abstract-view/", "published_at": "2022-08-17T13:15:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fab4f50b46", "title": "ODROID-M1: Dockerized Home Assistant", "url": "https://weisser-zwerg.dev/posts/odroid-m1-dockerized-homeassistant/", "published_at": "2022-08-06T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fab4f2b6ef", "title": "Traefik as Reverse Proxy", "url": "https://weisser-zwerg.dev/posts/traefik-reverse-proxy-ansible/", "published_at": "2022-07-12T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fab49c01f7", "title": "Espresso Coarseness Setting may save your day!", "url": "https://weisser-zwerg.dev/posts/espresso-coarseness-setting/", "published_at": "2022-07-10T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fab3cd1e0e", "title": "ODROID-M1: an Experience Report", "url": "https://weisser-zwerg.dev/posts/odroid-m1/", "published_at": "2022-06-25T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fab351db8d", "title": "Fuel Save Alerter: a TypeScript version of the heise+ article : 'Günstiger tanken: So lesen Sie Spritpreise automatisch aus'", "url": "https://weisser-zwerg.dev/posts/fuel-save-alerter-germany/", "published_at": "2022-06-21T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fab2de12eb", "title": "RFC3161 Trusted Timestamping via OpenSSL by foot: a guided tour.", "url": "https://weisser-zwerg.dev/posts/trusted_timestamping/", "published_at": "2022-03-12T00:00:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fab254fe62", "title": "My first NFT (Non Fungible Token) on the Cardano blockchain", "url": "https://weisser-zwerg.dev/posts/crypto-my-first-nft/", "published_at": "2021-11-03T10:47:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fab1a6cc47", "title": "Monte Carlo: Fundamental Concepts", "url": "https://weisser-zwerg.dev/posts/monte-carlo-fundamental-concepts/", "published_at": "2021-09-14T09:52:00+00:00" }, { "id": "01a08c61-5d65-7392-9e8e-40fab0b5d8e5", "title": "Series: Monte Carlo Methods", "url": "https://weisser-zwerg.dev/posts/series-monte-carlo-methods/", "published_at": "2021-09-10T08:45:00+00:00" }, { "id": "01a08c61-5d64-71aa-b3a5-b1274f6229df", "title": "European Central Bank (ECB) Negative Interest Rates and TLTRO III (Targeted Longer Term Refinancing Operations)", "url": "https://weisser-zwerg.dev/posts/ecb-negative-interest-rates-tltro-iii/", "published_at": "2021-08-26T15:18:00+00:00" }, { "id": "01a08c61-5d64-71aa-b3a5-b1274f058437", "title": "Software Engineering: Version Control Systems (VCS)", "url": "https://weisser-zwerg.dev/posts/software-engineering-vcs/", "published_at": "2021-06-13T12:39:00+00:00" }, { "id": "01a08c61-5d64-71aa-b3a5-b1274e995897", "title": "Software Engineering: Web Development", "url": "https://weisser-zwerg.dev/posts/software-engineering-web-development/", "published_at": "2021-05-16T09:18:00+00:00" }, { "id": "01a08c61-5d64-71aa-b3a5-b1274e187087", "title": "Series: Odysseys in Software Engineering", "url": "https://weisser-zwerg.dev/posts/series-odysseys-in-software-engineering/", "published_at": "2021-05-02T09:07:00+00:00" }, { "id": "01a08c61-5d64-71aa-b3a5-b1274d95207c", "title": "Trading Evolved: Futures Trend Following", "url": "https://weisser-zwerg.dev/posts/trading_evolved_2/", "published_at": "2021-04-02T11:47:00+00:00" }, { "id": "01a08c61-5d64-71aa-b3a5-b1274d0ceb76", "title": "Trading Evolved: ingest CSI-Data futures data into the Quantopian Zipline pythonic algorithmic trading and backtesting environment.", "url": "https://weisser-zwerg.dev/posts/trading_evolved_1/", "published_at": "2020-12-29T09:34:00+00:00" }, { "id": "01a08c61-5d64-71aa-b3a5-b1274cb0335b", "title": "Investing: Abstract View", "url": "https://weisser-zwerg.dev/posts/investing-abstract-view/", "published_at": "2020-12-06T12:15:00+00:00" }, { "id": "01a08c61-5d64-71aa-b3a5-b1274c49a10b", "title": "Series: Investing via Financial Futures Contracts", "url": "https://weisser-zwerg.dev/posts/series-futures-investing/", "published_at": "2020-12-06T12:14:00+00:00" }, { "id": "01a08c61-5d64-71aa-b3a5-b1274bb5eefc", "title": "Risk of Indirection", "url": "https://weisser-zwerg.dev/posts/risk-of-indirection/", "published_at": "2020-05-23T10:43:00+00:00" }, { "id": "01a08c61-5d64-71aa-b3a5-b1274b99d50e", "title": "Causality, State Based vs. Operation Based Representation", "url": "https://weisser-zwerg.dev/posts/causality-state-based-vs-operation-based/", "published_at": "2020-03-18T06:57:19+00:00" }, { "id": "01a08c61-5d64-71aa-b3a5-b1274ac42d1a", "title": "CoViD-19 Data Analysis", "url": "https://weisser-zwerg.dev/posts/covid-19-data-analysis/", "published_at": "2020-03-11T04:38:19+00:00" }, { "id": "01a08c61-5d64-71aa-b3a5-b12749cafa63", "title": "Model Comparison via Bayes Factor", "url": "https://weisser-zwerg.dev/posts/model-comparison-via-bayes-factor/", "published_at": "2020-03-07T04:52:04+00:00" }, { "id": "01a08c61-5d64-71aa-b3a5-b12749b8e9fe", "title": "iOS App without a Mac", "url": "https://weisser-zwerg.dev/posts/ios-app-without-mac/", "published_at": "2019-11-04T10:53:00+00:00" }, { "id": "01a08c61-5d64-71aa-b3a5-b12749b6067c", "title": "ActivityPub integration via fed.brid.gy 2", "url": "https://weisser-zwerg.dev/posts/activity-pub-integration-via-fed-brid-gy2/", "published_at": "2019-09-19T00:01:00+00:00" }, { "id": "01a08c61-5d64-71aa-b3a5-b12748d3c89e", "title": "Local discourse: vagrant, ansible, lxd, docker, discourse-embedding", "url": "https://weisser-zwerg.dev/posts/local-discourse-on-vagrant/", "published_at": "2019-09-17T00:00:00+00:00" }, { "id": "01a08c61-5d64-71aa-b3a5-b127489021eb", "title": "Webmention Test", "url": "https://weisser-zwerg.dev/posts/webmention-test/", "published_at": "2019-09-06T00:00:00+00:00" } ] posts Claim your blog
Back to Weisser Zwerg
Blog · corpus.blog/blogs/weisser-zwerg.dev/posts

Weisser Zwerg

weisser-zwerg.dev

2026

2025

2024

2023

2022

2021

2020

2019