Todd Sundsted
Todd Sundsted
toddsundsted@epiktistes.com
Better dead than bored.
Introductionepiktistes.com/introduction
GitHubgithub.com/toddsundsted/ktistec
Pronounshe/him
🌎Sector 001
Todd Sundsted
the front of my kayak superimposed on the blue of the river with the riverbank and dark green pines in the background

a day of vacation at home before driving to seattle for worldcon.

#pnw #kayaking

Todd Sundsted
bespoke shirt showing the seattle worldcon 2025 logo

i got a custom made shirt for next week!

#worldcon

Todd Sundsted
Release v2.4.8 of Ktistec

Ktistec v2.4.8 has many small fixes and improvements, but includes one significant fix to ActivityPub garbage collection, which was the major feature introduced in the last release.

⚠️ Important Note: Building with Crystal Language version 1.17.x is not supported due to two breaking changes. See:

(Maybe it's three changes—compile times are also far slower and executable sizes are much larger.)

Added

  • Send "User-Agent" header identifying Ktistec on outbound HTTP requests.
  • Add accept/reject action buttons to top panel on actor pages.

Fixed

  • Add index on "username" on "actors" table. (Fixes a regression introduced in e659e84a.)
  • Rejection now correctly sets follow relationships as confirmed (previously they remained pending).
  • Fix garbage collection issues with threads created in earlier versions.

Changed

  • Prioritize the author's self-replies in thread view.

Enjoy!

#ktistec #fediverse #activitypub #crystallang

Todd Sundsted
Ktistec PSA

Ktistec (temporarily) only builds with versions of the Crystal Programming Language 1.16.3 and below. There was a significant change to the libxml integration in the Crystal Standard Library in version 1.17.0. Ktistec implements some extensions on top of the standard library that need to be updated as a result. A permanent fix in in progress.

#ktistec #crystallang #libxml

Todd Sundsted

upcoming plans:

i pains me to miss Gen Con this weekend, but it would be three cons in ~5 weeks!

i think my whole family may make it to dragon con this year—it started out as our annual family vacation, so it's very nice when that still works out.

#worldcon #dragoncon #gencon

Todd Sundsted

i ordered a shirt a while ago from the second weaving of the Worldcon 2024 tartan. it has arrived!

folded long sleeve shirt made from Worldcon 2024 tartan

#worldcon #tartan

Todd Sundsted
a view from the rear of the car showing new york city’s ubiquitous scaffolding

home sweet scaffolding… it’s nice to be back in NYC…

Todd SundstedCrystalLanguage

Whoop, whoop: We have a shiny new release!

Crystal 1.17.0 is out now!

It brings better, manual memory management for libxml2, as well as several improvements to execution contexts and Windows support.
And there's a new compiler tool that reports coverage of macros.

For more details, check the release notes: crystal-lang.org/2025/07/16/1.

Todd Sundsted
Release v2.4.7 of Ktistec

After a mental health break, release v2.4.7 of Ktistec is out. The biggest improvement is the addition of a command line switch/option to run garbage collection on startup. Garbage collection, in this context, trims down your database by deleting old ActivityPub objects that are not connected to your user through:

  • Attribution: Objects attributed to you or actors you follow
  • Activities: Objects referenced by your activities or activities of actors you follow
  • Collections: Objects in your timeline, notifications, or outbox
  • Content: Objects with hashtags, mentions, or in threads you follow

It reduced the size of my database ~24%. Details on usage, warnings, etc. are in the README.

Other changes:

Fixed

  • Use single quotes for string literals in SQLite queries.
  • Fix WITH RECURSIVE queries.
  • Fix broken CI workflow.

Changed

  • Present local internal URLs as external URLs in posts.
  • Limit pagination size for unauthenticated users.
  • Better convey actor/object deleted/blocked status on index pages.
  • Improve presentation of inline code and code blocks.
  • Clip alt text on thumbnail images.

Other

  • Update cached copy of Lemmy's JSON-LD context.

#ktistec #fediverse #activitypub #crystallang

Todd Sundsted

hmm… ‘bout time for the decennial cleanup of my dot emacs file…

#emacs