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 released Crystal 1.19.2 to fix the request smuggling vulnerability (already fixed in 1.20.0) and a regression in Range#sample that could eventually lose randomness.

crystal-lang.org/2026/04/27/1.

Todd Sundsted

I’m working on handling OAuth token expiry as part of #ktistec Mastodon API support. Is my understanding that Mastodon issues OAuth tokens with no expiration correct?!?

Todd Sundsted

does anyone use GNU Cash? any free (software) alternatives anyone recommends?

Todd Sundsted
Release v3.3.6 of Ktistec

This release is a maintenance update: a few bug fixes, a security mitigation worth paying attention to, and some performance improvements for users on slow connections.

It's worth updating to pick up the SSRF (Server-Side Request Forgery) mitigation.

Fixed

  • Prevent SSRF when dereferencing externally supplied IRIs.
  • Timeline entry no longer becomes stale when an announce is undone.
  • Correctly represent boosted posts on the home timeline in API clients.

Changed

  • Defer downloading of script files.
  • Defer loading of image, video, and audio attachments.
  • Move poll vote notification for voters into the outbox processor.

#ktistec #crystallang #activitypub #fediverse

Todd SundstedCrystalLanguage

A new Crystal release is out for version 1.20.0

Highlights: `@[TargetFeature]` annotation, new process spawn API, support for kernel TLS and io_uring. The latter requires execution contexts which is now in the final preview.

Read more at crystal-lang.org/2026/04/16/1.

Todd Sundstedevacide

EFF is finally leaving X and here is a blog post about why: eff.org/deeplinks/2026/04/eff-

Todd Sundsted
  1. read this: vulnerability research is cooked
  2. thought i'd try it on some code
  3. found a flaw

time: <10 minutes

Todd Sundsted

Do I want nazis in my fediverse feed? No!

Do you know how I do that—I block them and/or their server.

Do I want to read someone's opinion on random topic xyz? No, usually not. How do I ensure that? I turn off sharing and don't follow people who post excessively about topics I'm not interested in.

What I don't do is jump into their conversation to bully and harass them about their opinions. (Even nazis? Yes, fuck them but I'm not going to waste my time.)

Todd Sundsted

RE: social.coop/users/shauna/statu

i'd boost/share/quote/like this post a hundred times if i could

Shauna GM

@evan @carnage4life @scottjenson @MozillaAI

It is unfortunately very easy to convince yourself that abuse and harrassment are OK as long as they're in service of a morally just cause.

Todd Sundsted

I enabled lockdown on my iphone and other than an annoying label that says I have lockdown enabled there haven't been any obvious downsides. I think Apple’s warnings are overblown.