Epiktistes

Epiktistes is my home in the Fediverse. It is an instance of Ktistec, a single-user ActivityPub server like Mastodon, but with fewer users and fewer commits. Here's my introduction (last updated early-2025).

I wrote a series of posts about optimizing the performance of the Ktistec server, its build time, and its executable size: part 1, part 2, part 3, part 4, and part 5.

Some things I regularly write about, organized by hashtag:

I also wrote some #pointfreeverse.

Todd Sundsted
Release v3.11.0 of Ktistec

Despite the fact that a shared inbox is an optional actor endpoint, some servers assume Mastodon and deliver to /inbox instead of the actor's inbox. Okay, fine. This release of Ktistec includes support for shared inboxes.
🖐️🎤

Here's the full changelog:

Added

  • Accept inbound activities at a shared inbox.
  • Bound the time an inbound activity spends fetching remote objects.
  • Collapse long posts behind a generated summary.

Fixed

  • Keep a repeat follow request from ignoring the response already sent.
  • Fix poll's closed namespace, and treat closed and endTime interchangeably.
  • Remove geometry adjustments from the highlighted CSS class.

Changed

  • Be more liberal with the timestamp formats accepted.

My current passion project is the Ktistec feed deck—multiple, parallel panes in the same window, each displaying an algorithmic feed. It will be in usable shape in time for the next release.

#ktistec #crystallang #activitypub #fediverse

Todd Sundsted

The culmination of my recent work on algorithmic feeds is a #fediverse feed reading machine for all of the topics I care about.

Image of an ultrawide monitor showing the Ktistec feed deck across six feeds.

#ktistec

Todd Sundsted@reiver ⊼ (Charles) :batman:
Todd Sundsted

The federal Computer Fraud and Abuse Act prohibits unauthorized access to protected computers. If a tool you build and operate accesses another person’s or organization’s computers without authorization, you may be criminally liable. The fact that the tool uses an LLM or operates autonomously does not, by itself, create an exception.

Todd Sundsted

intruder alert!

photo of a squirrel eating from our bird feeder

that food is for the birds, damn it!

Todd Sundsted

there was a lot of grief over tags.pub but I’ve found it incredibly valuable. #tagspub

Todd Sundsted
Release v3.10.0 of Ktistec

The last two releases of Ktistec added backend and frontend support for algorithmic feeds. This release adds polish and links it into the navigation alongside posts, drafts, and bookmarks.

Algorithmic feeds are feeds that include (and exclude) posts with certain keywords, hashtags, and mentions. They are built on top of the materialized views that I introduced a few months ago. And they're fast!

The implementation will evolve toward something that looks like Mastodon's advanced web interface, Misskey antennas, or Friendica channels.

Here's the full changelog:

Added

  • Link to feeds index page from secondary menu.
  • Garbage collect abandoned feed drafts and orphaned feed state.
  • Backfill feeds with historical posts.

Fixed

  • Quote post request, authorization, and release fixes.
  • Recognize a swipe anywhere in the image viewer.

Changed

  • Feed editor usability improvements.
  • Bust the asset cache when a bundle's contents change.

I'm currently deep in adding shared inbox support. A few servers insist on delivering to /inbox (whether or not Ktistec actors advertise a shared inbox).

#ktistec #crystallang #activitypub #fediverse

Todd Sundsted

@uriel i am getting a follow request from your server about every 2-3 hours. i have accepted a few of them, but they have not stopped. lmk if i can help with troubleshooting.

Todd SundstedWeek in Fediverse :fediverse_light:
Todd Sundsted

I like San Francisco well enough, but they don’t have enough pizza-by-the-slice walk-ups.