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

lessons

  1. asterite is correct. named tuples in crystal are seemingly attractive (compile-time type checking of keys and values) but quickly become a trainwreck as the compiler specializes every method receiving them (passing/receiving **options is definitely a code smell). every possible permutation of keys and values is a new type and results in a  specialized copy of a method, increasing build time and executable size.
  2. crystal + sqlite continue to perform well. i recently released code that computes and displays social signals like boosts/shares and likes as part of the content in the timeline. even though counts are aggregated on the fly, rendering is still brisk—about 780msec to fetch and render 1000 posts from the main timeline.

#ktistec

Todd Sundsted

i'm seeing the weirdest kind of phishing lately. it's inbound as candidates applying for software engineering jobs, but with the sketchiest imprint on the internet imaginable. the last one i looked at listed a company at which he'd been employed the last two years—which, when googled, resulted in a browser redirected tour of spam sites.

Todd Sundsted
8 bit music sequencer

the kids always know what to get me.

Todd Sundsted

i feel like "ozymandias" would be a great name for a cat. pride and ruin describe a few cats i’ve known.

Todd Sundsted

saki after last week’s snow storm in nyc

snow nose
Todd Sundsted
Todd Sundsted
Todd Sundsted

a missing database index
like snowy winter streets
would not a typeclass fix?

#pointfreeverse

Todd Sundsted
theme space ships

bob keck and other favorites.

i got an email survey last week about rescheduling discon iii for later in 2021, possibly december. I hate waiting but I don’t enjoy virtual cons nearly enough.

Todd Sundsted

The last large piece of missing functionality leading up to a Ktistec release candidate is complete.

Ktistec now runs scheduled tasks in a separate fiber. In particular, ActivityPub message delivery now happens in the background, which makes posting snappier.

Other new features:

  • Remote follows
  • Warning prompts before dangerous activities (deleting posts)
  • Many bug fixes

#ktistec