This action will delete this post on this instance and on all federated instances, and it cannot be undone. Are you certain you want to delete this post?
This action will delete this post on this instance and on all federated instances, and it cannot be undone. Are you certain you want to delete this post?
This action will block this actor and hide all of their past and future posts. Are you certain you want to block this actor?
This action will block this object. Are you certain you want to block this object?
Are you sure you want to delete the OAuth client [Client Name]? This action cannot be undone and will revoke all access tokens for this client.
Are you sure you want to revoke the OAuth token [Token ID]? This action cannot be undone and will immediately revoke access for this token.
| Introduction | https://epiktistes.com/introduction |
|---|---|
| GitHub | https://github.com/toddsundsted/ktistec |
| Pronouns | he/him |
| 馃寧 | Sector 001 |

I didn't think I'd ever pull it off 馃榾, but the new editor framework is complete and with it support for creating polls. One nice extra鈥攜ou can now choose which content editor to use (rich text or Markdown) on a per-post basis without updating your settings.
The full set of changes in this release:
Added
Fixed
closed_at handling for drafts and remote polls.I'll try not to be quite as ambitious for the next release! 馃槄

A couple of summaries of recent polls:
Is building for browsers without JavaScript enabled an antiquated idea?
87% No / 13% Yes
I interpret this to mean 1) progressive enhancement still matters, 2) accessibility and resilience are important (maybe even at the expense of pure convenience).
Which distinctive Fediverse capability would you most like to see added (to Ktistec) next?
Emoji reactions and Quote-posts tied at 37% each
For what it's worth, I'm actively looking into emoji reactions. These seem to be most popular in servers other than Mastodon, and I'd like to encourage more diversity.
I very much appreciate everyone's participation! Please reply if I'm missing nuance.


I'm using Ktistec theming hooks to make it easier to spot posts from actors I enjoy reading, to identify posts that are part of conversations I'm in, to identify posts about topics I'm interested in, and to simply expose more information visually.
The hashtags I follow don't require much emphasis, but I want them to stand out a little, so I theme these posts with a bold left border.

It's helpful when I can spot posts that are parts of conversations I'm in, so my theme styles my replies, and others' replies to me. In the latter case, it also differentiates between cases where I'm one of the actors mentioned vs. cases where I'm the only actor mentioned.

There are a handful of people I follow who regularly post about topics I love. I've created custom backgrounds for posts from these authors.

(This is also my #FollowFriday post. 馃榾 If you're not into my theming, but want to see amazing photos of abandoned places around the world and sometimes sleeping seals, follow @ObsidianUrbex. If you love physics, math, music, and related topics, or want to love physics, math, music, and related topics, follow @johncarlosbaez.)
All of this is powered by extensive post metadata that was recently added and is surfaced in classes and data attributes. You can, for example, customize a theme based on actor or object type, object status (sensitive, has replies, etc.), visibility, relationship state (followed by me, mentions me, etc.), the creator/sharer handle, etc. Details are in the theming documentation.

Is building for browsers without JavaScript enabled an antiquated idea?


馃弳 Yak-shave accomplished!
I tore apart the monolithic editor in #ktistec and replaced it with a configurable framework of editor components鈥攊ncluding a component for editing polls.

I'm planning to work on an editor component for managing attachments next.

sometimes i feel like building software is akin to throwing myself off a cliff and then hoping i can build the thing i envisioned a moment ago before i hit the ground. does anyone else get that?
i decided to tear apart the monolithic editor in #ktistec and to replace it with a configurable system of editing components. how hard could that be, i thought... well, the ground approaches and i only just got a just-about-works proof-of-concept complete!

I just upgraded litestream on my epiktistes.com server from v0.5.3 to v0.5.6 and I am cautiously optimistic. v0.5.3 had a bug that filled up my storage, pegged the CPU, and generally broke my server by locking my ktistec database for 10-20 seconds at a time. I am posting this to deliberately test fate! C'mon... if you're gonna fail again, then fail and get it over with!

What about a shiny Crystal 1.19.0 release for the new year?
The compiler now uses execution contexts and parallel LLVM codegen on all targets (including Windows) a new Time::Instant type, compile time flags with values, and many runtime improvements and fixes.
See all the details in the release notes: https://crystal-lang.org/2026/01/15/1.19.0-released/