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 SundstedCrystalLanguage

We proudly present: Crystal 1.22
Our newest and shiniest release 💎

It's also the biggest release since 1.0 with 251 changes in total.
Some of the highlights:

- Performance improvements for DWARF loader
- All targets support a native event loop
- Constants can have type declarations
- `Crystal::ALL_FLAGS` and `USER_FLAGS`
- Upgraded package dependencies, docker base images etc.
- Binaries for `aarch64-windows`

crystal-lang.org/2026/10/12/1.

Todd SundstedWeek in Fediverse :fediverse_light:
Todd Sundsted
tabletop with the boardgame “critter kitchen” set up.

we’ve been playing “critter kitchen” this week, or as I call it “bitterness is a flavor”.

bitterness because, in a good boardgame, there are no perfect moves. only trade-offs.

#boardgames #critterkitchen

Todd SundstedWill Richardson

Running Code in the Crystal Type System

Type resolution in #crystallang is just running your program at compile time.

willhbr.net/2026/09/25/crystal

Todd Sundsted
Todd SundstedChristian Horn

I had read about it, but yesterday met the first Japanese
referring to ChatGPT (and even AI in general) as チャッピー ("Chappie").

Todd Sundsted

RE: techhub.social/users/manlycoff

whenever i take a few weeks away and then come back, the fediverse always feels like it's become a little more hostile, like it's increasingly the place where people come to wallow in their anger.

the real weird trend, lately, seems to be crapping on the developers (volunteers) and the site admins/mods (also volunteers). where is the winning strategy with that move?

Sal Rahman

Can someone explain to me why was Pixelfed, Loops, and Dansup being singled out for AI use?

There's no shortage of Fediverse software that are either built with AI assistance (including vibe coding), or welcomes AI contribution, but I'm not seeing the same level of outrage.

Did Pixelfed, Loops, and Dansup specifically promise to be AI-free?

#Fediverse #ActivityPub

Todd SundstedCrystalLanguage

A new patch release is out: Crystal 1.21.1 brings important security patches, and a regression fix for macOS 26.7+

crystal-lang.org/2026/09/26/1.

#CrystalLang

Todd SundstedWeek in Fediverse :fediverse_light:
Todd Sundsted
Release v3.13.0 of Ktistec

Release v3.13.0 of Ktistec ("love who you choose to love") links the feed deck into the navigation. Feeds are now fully supported.

Feeds are custom collections of posts selected by hashtag, mention, and keyword, each grouped as terms you want any of, all of, or none of, so a feed can be as broad or as narrow as you like. The feed deck is my primary reading interface now.

The rest of the changes mostly address a variety of small federation issues:

Added

  • Link the feed deck from the secondary nav bar.
  • Offer a retry and a link when a quoted post can't be loaded.

Fixed

  • Keep the verify button when a quote authorization can't be fetched.
  • Verify HTTP signatures over the full set of headers the headers signature parameter names.
  • Sign an inbox delivery's fetches with the implicated account.
  • Render directly published media objects as attachments.
  • Handle more attachment media types when rendering.

Changed

  • Finish the feeds API.
  • Widen the metrics charts display.

With feeds shipped, I'm turning my attention back to federation. There are still a ton of small issues (e.g. Likes relayed through Groups are always rejected, RFC 9421 support, blurhash support) that I'd like to squash.

#ktistec #crystallang #activitypub #fediverse