My personal web garden & blog.

blog personal website

https://cleberg.net

Commit ab2f101694

ab2f10169418823b0ec4520ee0de030ea55b39c9

parent: bbf4eec5cd

Verified · cmc

cmc <hello@cleberg.net> · 2026-08-25T19:28:20Z

Migrate own-repo links to gitbay.org and krz.sh

Rewrite ccleberg identities (GitHub, GitLab, Sourcehut) to gitbay.org/cmc
and krazywarez/zerolabsco to gitbay.org/krz; every replacement URL
validated live. Update zerolabs.sh domains to krz.sh, move the skunky-art
container image to ghcr.io/krazywarez, drop the Hutch mailing list in
favor of the GitBay issue tracker, and point the now page at the new
per-file log. rel=me links and the sponsors row are unchanged.
README.md +4 −4
@@ -3,7 +3,7 @@
33 This repository holds the files for [cleberg.net](https://cleberg.net),
44 a static-site with blog posts, personal links, and more.
55
6This site uses [orgo](https://github.com/krazywarez/orgo) to build the
6This site uses [orgo](https://gitbay.org/krz/orgo) to build the
77 static site.
88
99 ## Site Structure
@@ -30,9 +30,9 @@ The main site components are:
3030
3131 The publishing system depends on:
3232
33- [orgo](https://github.com/krazywarez/orgo), the static site
33 [orgo](https://gitbay.org/krz/orgo), the static site
3434 generator, installed with `cargo install --git
35 https://github.com/krazywarez/orgo`.
35 https://gitbay.org/krz/orgo`.
3636 - `rsync` for deployment.
3737 - [uv](https://github.com/astral-sh/uv) to run `build.py`.
3838
@@ -56,7 +56,7 @@ To obtain a working copy of this repository, execute the following
5656 commands within a shell environment or Emacs shell interface:
5757
5858 ``` shell
59git clone https://github.com/ccleberg/cleberg.net
59git clone https://gitbay.org/cmc/cleberg.net
6060 cd cleberg.net
6161 emacs -nw
6262 ```
content/blog/2022-06-22-daily-poetry.org +1 −1
@@ -8,7 +8,7 @@
88
99 I don't want to bury the lede here, so if you'd like to see the full source code
1010 I use to email myself plaintext poems daily, visit the repository:
11[[https://github.com/krazywarez/daily-poem][daily-poem.git]].
11[[https://gitbay.org/krz/daily-poem][daily-poem.git]].
1212
1313 * My Daily Dose of Poetry
1414
content/blog/2022-12-23-alpine-desktop.org +1 −1
@@ -169,7 +169,7 @@ doas apk add brightnessctl \ # Brightness controller
169169 #+end_src
170170
171171 From here, I use my Syncthing storage to pull all the configuration files I
172stored from prior desktops, such as my [[https://github.com/ccleberg/dotfiles][dotfiles]].
172stored from prior desktops, such as my [[https://gitbay.org/cmc/dotfiles][dotfiles]].
173173
174174 * Resolving Issues
175175
content/blog/2023-02-02-exploring-hare.org +1 −1
@@ -51,7 +51,7 @@ page.
5151
5252 ** Creating a Test Project
5353
54In order to play with the language, I created [[https://github.com/ccleberg/learn/tree/main/hare][learn/hare]] and will be putting any
54In order to play with the language, I created [[https://gitbay.org/cmc/learn/tree/main/hare][learn/hare]] and will be putting any
5555 of my Hare-related adventures in here.
5656
5757 Luckily, Hare doesn't require any complex set-up tools or build
content/blog/2024-08-11-org-mode-features.org +8 −8
@@ -7,7 +7,7 @@
77 * Cycling (Folding)
88
99 #+begin_quote
10[[https://github.com/ccleberg/cleberg.net/blob/main/content/blog/2024-08-11-org-mode-features.org#L7][View this section]] in org-mode.
10[[https://gitbay.org/cmc/cleberg.net/blob/main/content/blog/2024-08-11-org-mode-features.org#L7][View this section]] in org-mode.
1111 #+end_quote
1212
1313 My absolute top-used feature is [[https://orgmode.org/manual/Global-and-local-cycling.html][global and local cycling]] and it's not even
@@ -55,7 +55,7 @@ at the top of the buffer:
5555 * TODO Lists
5656
5757 #+begin_quote
58[[https://github.com/ccleberg/cleberg.net/blob/main/content/blog/2024-08-11-org-mode-features.org#L55][View this section]] in org-mode.
58[[https://gitbay.org/cmc/cleberg.net/blob/main/content/blog/2024-08-11-org-mode-features.org#L55][View this section]] in org-mode.
5959 #+end_quote
6060
6161 Next up on in this post are [[https://orgmode.org/manual/TODO-Items.html][TODO Lists]]. Being able to combine note taking and
@@ -106,7 +106,7 @@ that variable to alert me of tasks with iOS native notifications.
106106 * Time Stamping
107107
108108 #+begin_quote
109[[https://github.com/ccleberg/cleberg.net/blob/main/content/blog/2024-08-11-org-mode-features.org#L106][View this section]] in org-mode.
109[[https://gitbay.org/cmc/cleberg.net/blob/main/content/blog/2024-08-11-org-mode-features.org#L106][View this section]] in org-mode.
110110 #+end_quote
111111
112112 Another great feature are the [[https://orgmode.org/manual/Dates-and-Times.html][dates and times]] functionalities within org-mode.
@@ -137,7 +137,7 @@ different options available when creating timestamps.
137137 * Tags
138138
139139 #+begin_quote
140[[https://github.com/ccleberg/cleberg.net/blob/main/content/blog/2024-08-11-org-mode-features.org#L137][View this section]] in org-mode.
140[[https://gitbay.org/cmc/cleberg.net/blob/main/content/blog/2024-08-11-org-mode-features.org#L137][View this section]] in org-mode.
141141 #+end_quote
142142
143143 Next up are [[https://orgmode.org/manual/Tags.html][Tags]], which provide a way to document contexts within and across
@@ -161,7 +161,7 @@ m= and search for a tag of your choosing.
161161 * Tables
162162
163163 #+begin_quote
164[[https://github.com/ccleberg/cleberg.net/blob/main/content/blog/2024-08-11-org-mode-features.org#L161][View this section]] in org-mode.
164[[https://gitbay.org/cmc/cleberg.net/blob/main/content/blog/2024-08-11-org-mode-features.org#L161][View this section]] in org-mode.
165165 #+end_quote
166166
167167 One of the most inconvenient parts of writing in Markdown was dealing with
@@ -231,7 +231,7 @@ on the second line.
231231 * Source Code Blocks
232232
233233 #+begin_quote
234[[https://github.com/ccleberg/cleberg.net/blob/main/content/blog/2024-08-11-org-mode-features.org#L231][View this section]] in org-mode.
234[[https://gitbay.org/cmc/cleberg.net/blob/main/content/blog/2024-08-11-org-mode-features.org#L231][View this section]] in org-mode.
235235 #+end_quote
236236
237237 ** Introduction to Source Code Blocks
@@ -301,7 +301,7 @@ results below the code block.
301301 * Exporting and Publishing
302302
303303 #+begin_quote
304[[https://github.com/ccleberg/cleberg.net/blob/main/content/blog/2024-08-11-org-mode-features.org#L301][View this section]] in org-mode.
304[[https://gitbay.org/cmc/cleberg.net/blob/main/content/blog/2024-08-11-org-mode-features.org#L301][View this section]] in org-mode.
305305 #+end_quote
306306
307307 I would be remiss if I did not mention the native [[https://orgmode.org/manual/Exporting.html][exporting and publishing]]
@@ -335,7 +335,7 @@ external [[https://orgmode.org/tools.html][tools]], including [[https://orgmode.
335335 * Agenda
336336
337337 #+begin_quote
338[[https://github.com/ccleberg/cleberg.net/blob/main/content/blog/2024-08-11-org-mode-features.org#L335][View this section]] in org-mode.
338[[https://gitbay.org/cmc/cleberg.net/blob/main/content/blog/2024-08-11-org-mode-features.org#L335][View this section]] in org-mode.
339339 #+end_quote
340340
341341 Last, but not least, are [[https://orgmode.org/manual/Agenda-Views.html][Agenda Views]]. With agenda views, you can easily view
content/blog/2025-09-25-minimalist-website-redesign.org +1 −1
@@ -44,7 +44,7 @@ With all of that out of the way, let's get on with it.
4444 * Core Changes
4545
4646 Below is a quick audit of the original style sheet and markup, and the elements
47I've removed or added. For more in-depth information, refer to the [[https://github.com/ccleberg/cleberg.net/commit/6eb7d43fc257638583e6a4ffefefc47f730595e4][git diff]].
47I've removed or added. For more in-depth information, refer to the [[https://gitbay.org/cmc/cleberg.net/commit/6eb7d43fc257638583e6a4ffefefc47f730595e4][git diff]].
4848
4949 w*HTML*
5050
content/blog/2026-03-30-hutch-ios.org +5 −6
@@ -16,12 +16,12 @@ project pages:
1616
1717 *Product*
1818 - [[https://apps.apple.com/us/app/hutch-for-sourcehut/id6760742299][App Store]]
19- [[https://zerolabs.sh/hutch/][Website]]
19 [[https://krz.sh/apps/hutch/][Website]]
2020
2121 *Development*
22- [[https://github.com/krazywarez/hutch][Source]]
23- [[https://sr.ht/~ccleberg/Hutch][Project]]
24- [[https://todo.sr.ht/~ccleberg/Hutch][Issues]]
22 [[https://gitbay.org/krz/hutch][Source]]
23 [[https://krz.sh/apps/hutch/][Project]]
24 [[https://gitbay.org/krz/hutch/issues][Issues]]
2525
2626 ** Overview
2727
@@ -87,5 +87,4 @@ following tagged on my roadmap:
8787 If you use Sourcehut and iOS, please give Hutch a try and let me know your
8888 thoughts!
8989
90If you find bugs or issues, feel free to file them in the [[https://todo.sr.ht/~ccleberg/Hutch][todo]] tracker or email
91the mailing list at [[mailto:~ccleberg/hutch-devel@lists.sr.ht][hutch-devel]].
90If you find bugs or issues, feel free to file them in the [[https://gitbay.org/krz/hutch/issues][issues]] tracker.
content/blog/2026-07-21-skunkyart-fork.org +8 −8
@@ -1,19 +1,19 @@
11 #+date: [2026-07-21 Tue]
22 #+title: Forking SkunkyArt
3#+description: Announcing my fork of SkunkyArt, an alternative privacy frontend for DeviantArt, now maintained under Zero Labs.
3#+description: Announcing my fork of SkunkyArt, an alternative privacy frontend for DeviantArt, now maintained under krz.
44 #+slug: skunkyart-fork
55 #+filetags: :development:self-hosting:
66
77 * SkunkyArt
88
99 I've forked [[https://git.macaw.me/skunky/SkunkyArt][SkunkyArt]], an alternative privacy frontend for DeviantArt that works
10entirely without JavaScript, over to the [[https://github.com/zerolabsco][Zero Labs]] organization on GitHub.
10entirely without JavaScript, over to the [[https://gitbay.org/krz][krz]] organization on GitBay.
1111
1212 ** Project Links
1313
14- [[https://github.com/zerolabsco/skunky-art][Source]]
15- [[https://github.com/zerolabsco/skunky-art/blob/master/INSTANCES.md][Instances]]
16- [[https://github.com/zerolabsco/skunky-art/issues][Issues]]
14 [[https://gitbay.org/krz/skunky-art][Source]]
15 [[https://gitbay.org/krz/skunky-art/blob/main/INSTANCES.txt][Instances]]
16 [[https://gitbay.org/krz/skunky-art/issues][Issues]]
1717
1818 ** Why Fork?
1919
@@ -33,13 +33,13 @@ The fork is already a handful of releases ahead of upstream. Highlights so far:
3333 - *Bug fixes*: restored media serving, corrected the cache max-size conversion,
3434 fixed the build on macOS, and cleaned up various smaller issues.
3535 - *Dependencies*: migrated to a maintained fork of the underlying DeviantArt API
36 library, [[https://github.com/zerolabsco/devianter][devianter]], and bumped long-stale dependencies (with Dependabot
36 library, [[https://gitbay.org/krz/devianter][devianter]], and bumped long-stale dependencies (with Dependabot
3737 keeping them current going forward).
3838 - *Distribution*: prebuilt multi-arch Docker images (=linux/amd64= and =linux/arm64=)
3939 are now published to GHCR on every release tag:
4040
4141 #+begin_src sh
42docker pull ghcr.io/zerolabsco/skunky-art:latest
42docker pull ghcr.io/krazywarez/skunky-art:latest
4343 #+end_src
4444
4545 - *Tooling*: added CI, golangci-lint, and outbound request throttling for
@@ -48,7 +48,7 @@ docker pull ghcr.io/zerolabsco/skunky-art:latest
4848 * Run an Instance!
4949
5050 Since all of the previously listed instances are gone, the instance list is
51starting fresh. If you'd like to host one, the [[https://github.com/zerolabsco/skunky-art][README]] covers setup — including a
51starting fresh. If you'd like to host one, the [[https://gitbay.org/krz/skunky-art][README]] covers setup — including a
5252 Docker Compose example (plus an optional VPN egress variant) — and you can add
5353 your instance to the list with a quick PR or issue.
5454
content/blog/2026-07-25-app-store-small-wins.org +3 −3
@@ -16,9 +16,9 @@ expensive!).
1616 * My Apps
1717
1818 However, I've launched a few apps on the Apple app store in the last year:
19- [[https://apps.apple.com/us/app/domaindig/id6760368004][DomainDig]] ([[https://github.com/zerolabsco/domain-dig][Source]]) - A domain inspection toolkit for DNS, SSL, ports, etc.
20- [[https://apps.apple.com/us/app/hutch-for-sourcehut/id6760742299][Hutch for Sourcehut]] ([[https://github.com/zerolabsco/hutch][Source]]) - A mobile client for SourceHut.
21- [[https://apps.apple.com/us/app/daybyday-learn/id6760321939][DayByDay]] ([[https://github.com/zerolabsco/daybyday][Source]]) - A children's app to learn various topics through
19 [[https://apps.apple.com/us/app/domaindig/id6760368004][DomainDig]] ([[https://gitbay.org/krz/domain-dig][Source]]) - A domain inspection toolkit for DNS, SSL, ports, etc.
20 [[https://apps.apple.com/us/app/hutch-for-sourcehut/id6760742299][Hutch for Sourcehut]] ([[https://gitbay.org/krz/hutch][Source]]) - A mobile client for SourceHut.
21 [[https://apps.apple.com/us/app/daybyday-learn/id6760321939][DayByDay]] ([[https://gitbay.org/krz/daybyday][Source]]) - A children's app to learn various topics through
2222 voice-enabled learning cards.
2323
2424 I didn't expect anyone to really use these and I don't promote my apps anywhere.
content/blog/2026-08-11-orgo.org +3 −3
@@ -17,7 +17,7 @@ downsides:
1717 - since it runs through Emacs in the background, it takes quite a while to build
1818 my site (~180 pages)
1919
20So, I decided to spin up my own org-mode-based SSG: [[https://github.com/krazywarez/orgo][orgo]]. This SSG uses org-mode
20So, I decided to spin up my own org-mode-based SSG: [[https://gitbay.org/krz/orgo][orgo]]. This SSG uses org-mode
2121 (rather than markdown) for its content.
2222
2323 #+caption: The orgo CLI
@@ -32,7 +32,7 @@ you can see in the table below, orgo is incredibly fast.
3232 | Method | Time | Diff |
3333 |----------------------------------------+-------+-------------|
3434 | weblorg (=emacs --script publish.el=) | 49.0s | |
35| weblorg + [[https://github.com/ccleberg/cleberg.net/blob/8ec9cdfeae71068a8924dd9f61b9cc28c947ec31/build.py][build.py]] | 50.3s | |
35| weblorg + [[https://gitbay.org/cmc/cleberg.net/blob/8ec9cdfeae71068a8924dd9f61b9cc28c947ec31/build.py][build.py]] | 50.3s | |
3636 | orgo, cold build | *0.22s* | 223× faster |
3737 | orgo, nothing changed since last build | *0.13s* | 377× faster |
3838
@@ -116,4 +116,4 @@ features that make it a bit more seamless, as well as adopting to various
116116 methods different users may expect it to work.
117117
118118 If you have any suggestions, reach out and let me know or open an issue/PR on
119GitHub!
119GitBay!
content/blog/2026-08-20-nfogen.org +3 −3
@@ -109,7 +109,7 @@ recently. As part of this, I started using NFO files for my git repos under my
109109 new org and wanted a tool that could help me accelerate the generation of these
110110 files.
111111
112Introducing [[https://github.com/krazywarez/nfogen][nfogen]], a small Python utility that can generate NFO files for you
112Introducing [[https://gitbay.org/krz/nfogen][nfogen]], a small Python utility that can generate NFO files for you
113113 based on:
114114 - templates
115115 - profiles
@@ -231,7 +231,7 @@ nfogen.py -c nfogen.toml -o README.nfo
231231 ╚═════════════════════════════════════════════════════════════════════════════╝
232232 #+end_src
233233
234For more examples, browse the [[https://github.com/krazywarez/nfogen/tree/main/examples][examples]] directory within the repository.
234For more examples, browse the [[https://gitbay.org/krz/nfogen/tree/main/examples][examples]] directory within the repository.
235235
236236 * Usage
237237 ** Installation
@@ -239,7 +239,7 @@ For more examples, browse the [[https://github.com/krazywarez/nfogen/tree/main/e
239239 The fastest installation method is to fetch and use the Python file directly:
240240
241241 #+begin_src shell
242curl -O https://raw.githubusercontent.com/krazywarez/nfogen/main/nfogen.py
242curl -O https://gitbay.org/krz/nfogen/raw/main/nfogen.py
243243 python3 nfogen.py -i
244244 #+end_src
245245
content/garden/privacy.org +1 −1
@@ -82,7 +82,7 @@ NextDNS instead of the ISP's DNS.
8282
8383 * Search Engines
8484
85I use my own self-hosted [[https://docs.searxng.org/][SearXNG]] search engine at [[https://search.zerolabs.sh/][search.zerolabs.sh]], which "is
85I use my own self-hosted [[https://docs.searxng.org/][SearXNG]] search engine at [[https://search.krz.sh/][search.krz.sh]], which "is
8686 a metasearch engine, aggregating the results of other search engines while not
8787 storing information about its users."
8888
content/now/index.org +2 −2
@@ -41,7 +41,7 @@ web server, so I ran a summary to see what the traffic spike looked like.
4141
4242 In the table below, note that Cloudflare counts all traffic, while GoAccess only
4343 counts traffic flowing through Nginx - which is primarily =cleberg.net=. Services
44under the =*.zerolabs.sh= subdomains don't flow through Nginx.
44under the =*.krz.sh= subdomains don't flow through Nginx.
4545
4646 | Metric | Cloudflare | GoAccess |
4747 |-----------------------------------+--------------------------+----------------------------------------------|
@@ -62,4 +62,4 @@ under the =*.zerolabs.sh= subdomains don't flow through Nginx.
6262
6363 =Error: Time for hobbies not found=
6464
65View the historical [[https://git.sr.ht/~ccleberg/cleberg.net/log/main/item/content/now/index.org][log of changes]] for this page.
65View the historical [[https://gitbay.org/cmc/cleberg.net/log?path=content/now/index.org][log of changes]] for this page.
content/templates/base.html +1 −1
@@ -87,7 +87,7 @@
8787 </main>
8888
8989 <footer>
90<a href="https://github.com/ccleberg/cleberg.net">Source</a> &middot;
90<a href="https://gitbay.org/cmc/cleberg.net">Source</a> &middot;
9191 <a href="{{ root }}feed.xml">RSS</a> &middot;
9292 <a href="http://paske4urhs6nttrtlkuwa5cowum3fjkc6yv6kl4ncx3mjxcd77764nqd.onion/">Onion</a> &middot;
9393 <a href="{{ root }}tips/index.html">Tips</a> &middot;
content/templates/home.html +1 −1
@@ -35,7 +35,7 @@ user control, and long-term utility.</p>
3535 <h2>Elsewhere</h2>
3636 <p>Places to find me online.</p>
3737 <ul>
38<li>GitHub: <a href="https://github.com/ccleberg">@ccleberg</a></li>
38<li>GitBay: <a href="https://gitbay.org/cmc">@cmc</a></li>
3939 <li>Email: <a href="mailto:hello@cleberg.net">hello@cleberg.net</a> (<a href="{{ root }}gpg.txt">GPG</a>)</li>
4040 <li>Lemmy: <a href="https://r.nf/u/cmc">@cmc</a></li>
4141 <li>Mastodon: <a href="https://c.im/@cmc">@cmc</a></li>
content/uses/index.org +3 −3
@@ -24,7 +24,7 @@ threat model justification.
2424 | Operating System | [[https://ubuntu.com][Ubuntu]] + [[https://www.apple.com/os/macos/][macOS]] | Ubuntu: telemetry off, LTS, stable. macOS: workstation only. |
2525 | Web Server | [[https://nginx.org][Nginx]] + [[https://community.torproject.org/onion-services/setup/][Tor]] | Static file serving. Tor layer for censored-network access. |
2626 | SSL | [[https://certbot.eff.org][Certbot]] | Free automated TLS. No commercial CA dependency. Ensures Cloudflare can't view unencrypted traffic. |
27| Static Site Generator | [[https://github.com/krazywarez/orgo][orgo]] + [[https://github.com/ccleberg/cleberg.net/blob/main/build.py][build.py]] | Org-mode source compiles to plaintext HTML. Single binary, no runtime. |
27| Static Site Generator | [[https://gitbay.org/krz/orgo][orgo]] + [[https://gitbay.org/cmc/cleberg.net/blob/main/build.py][build.py]] | Org-mode source compiles to plaintext HTML. Single binary, no runtime. |
2828 | Terminal | [[https://iterm2.com/][iTerm2]] | Functional. Inherited from macOS. |
2929 | Shell | [[https://www.zsh.org/][Zsh]] | Portable, POSIX-adjacent, available on every target OS. |
3030 | Editor | [[https://github.com/doomemacs/doomemacs][Doom Emacs]] | Editor and markup are the same tool. No proprietary format. |
@@ -32,8 +32,8 @@ threat model justification.
3232 | Image Processing | [[https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/w/webp.rb][webP (CLI)]] | CLI-only. No GUI, no cloud, no account. |
3333 | Browser(s) | [[https://www.torproject.org/][Tor]] + [[https://librewolf.net][LibreWolf]] | Tor for anonymity-critical use. LibreWolf for hardened daily use. |
3434 | Version Control | [[https://git-scm.com/][Git (CLI)]] | Decentralized. The repo is the backup. |
35| Git Host | [[https://github.com/ccleberg][GitHub]] + [[https://sr.ht][SourceHut]] | GitHub is the primary and SourceHut is the mirror. |
36| CI/CD | [[https://github.com/ccleberg/cleberg.net/blob/main/build.py][build.py]] | A Python script and SSH. No pipeline to depend on. |
35| Git Host | [[https://gitbay.org/cmc][GitBay]] + [[https://github.com/ccleberg][GitHub]] | GitBay is the primary and GitHub is the mirror. |
36| CI/CD | [[https://gitbay.org/cmc/cleberg.net/blob/main/build.py][build.py]] | A Python script and SSH. No pipeline to depend on. |
3737 | Email Host | [[https://migadu.com][Migadu]] | Straightforward usage-based provider from Switzerland. |
3838 | Search Engine | [[https://docs.searxng.org/][SearXNG]] (self-hosted) | Queries route through my own instance. No third-party search profile. |
3939 | Backups | N/A | Nothing to back up. No user data. Source mirrored via Git. |