Commit 138e34b097

138e34b09778b6435879e9ba37cf32c65773b627

parent: dee3c23ab1

Verified · cmc

cmc <hello@cleberg.net> · 2026-07-25 17:43 UTC

publish two new posts

Layout: unified · split

content/blog/2026-07-21-skunkyart-fork.org added +55
@@ -0,0 +1,55 @@
1#+date: [2026-07-21 Tue]
2#+title: Forking SkunkyArt
3#+description: Announcing my fork of SkunkyArt, an alternative privacy frontend for DeviantArt, now maintained under Zero Labs.
4#+slug: skunkyart-fork
5#+filetags: :development:self-hosting:
6
7* SkunkyArt
8
9I'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.
11
12** Project Links
13
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]]
17
18** Why Fork?
19
20I didn't fork this project just for fun. At the time I found it, the upstream
21repository hadn't been updated in over a year, carried a number of unresolved
22bugs, and every instance on its public list was a dead link. Rather than let a
23genuinely useful privacy frontend rot, I decided to pick it up and keep it
24maintained.
25
26** What's Changed So Far
27
28The fork is already a handful of releases ahead of upstream. Highlights so far:
29
30- *Security & hardening*: fixed a forged-subdomain bypass in the media proxy,
31 hardened the HTTP transport, server timeouts, and panic paths, and tightened
32 the random-art retry loop.
33- *Bug fixes*: restored media serving, corrected the cache max-size conversion,
34 fixed the build on macOS, and cleaned up various smaller issues.
35- *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
37 keeping them current going forward).
38- *Distribution*: prebuilt multi-arch Docker images (=linux/amd64= and =linux/arm64=)
39 are now published to GHCR on every release tag:
40
41#+begin_src sh
42docker pull ghcr.io/zerolabsco/skunky-art:latest
43#+end_src
44
45- *Tooling*: added CI, golangci-lint, and outbound request throttling for
46 DeviantArt.
47
48* Run an Instance!
49
50Since 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
52Docker Compose example (plus an optional VPN egress variant) — and you can add
53your instance to the list with a quick PR or issue.
54
55As always, bug reports and contributions are welcome.
content/blog/2026-07-25-app-store-small-wins.org added +56
@@ -0,0 +1,56 @@
1#+date: [2026-07-25 Sat 12:00:00]
2#+title: Small Wins on the App Store
3#+description: My first tips and 5-star ratings on the iOS apps I built for fun and open-sourced.
4#+slug: app-store-small-wins
5#+filetags: :development:ios:
6
7I wanted to briefly share a couple achievements I've experienced lately from
8the apps I've published on the iOS app store.
9
10If you're new to my blog: I'm not a full-time developer and don't do this for a
11living. I develop sites, apps, etc. for fun as a hobby. I open-source everything
12I create so others can share or fork as they please, and I've never even
13included a tip option (until now - that iOS developer subscription is
14expensive!).
15
16* My Apps
17
18However, 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
22 voice-enabled learning cards.
23
24I didn't expect anyone to really use these and I don't promote my apps anywhere.
25
26I created DayByDay for my daughter, as a flashcard-style app that would be easy
27for her to use and something we could do together in the small moments of the
28day.
29
30I created Hutch because I wanted a faster way to use SourceHut on the go,
31especially since I use private mode in Safari and am constantly logged out of my
32accounts. Hutch lets me read my mailing lists, manage tickets, and run builds
33wherever I want.
34
35Finally, I created DomainDig because I was lamenting the updates Njalla made to
36their [[https://check.njal.la/dns/][DNS Checker]] - it used to be a plain text page and is now wrapped in
37Njalla's branding and lacks some info I want when looking into a domain.
38
39* My Achievements
40
41I'm proud to announce two (baby-sized) achievements I didn't expect to happen:
42
431. I received my first two tips through the Hutch app! For a few dollars, two
44 people have made my whole month. It's extremely satisfying to know someone
45 used the app and found it valuable enough to voluntarily send some money my
46 way.
472. I received two 5-star ratings on the DomainDig app. Again, such a pleasure to
48 know people do appreciate the value that the app brings.
49
50I'm not going to pretend two tips and two ratings will change anything. I'll
51keep building these apps in the small moments the same way I always have,
52because that's the part I actually enjoy. But it's a nice reminder that "nobody
53will use this" isn't always true. Sometimes a stranger finds the thing you made
54for yourself and gets something out of it too.
55
56So, to the four of you: thank you. You made my month.