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 looked at the schedule for the #dragoncon American Sci-fi Classics track and realized I must be old… 🤔

I'm trying to get through the backlog of bugs and features in my to-do list. Release v2.4.10 of Ktistec packages up several important improvements. The most impactful change is graceful server shutdown—I've never had a problem with shutdown leaving the database in a broken state, but prevention is the best cure.
Added
Fixed
Changed
I'm considering adding lightweight multi-user support (invitation-only, not open registration). I'm interested in your thoughts on whether this would be useful.

uff! how to set up tree-sitter on emacs on a mac m3 is anything but obvious!

i'm thinking of picking up the thread on a language server protocol implementation for the crystal programming language. i have some ideas.

The DragonCon schedule is live!
As always, I'll be focusing on the Space, Science, Electronic Frontier Foundation (EFF), Robotics and Maker tracks, plus the live performances. On the music front, Charming Disaster is performing at 8:30pm on Sunday (and 4pm on Saturday)—their show was wonderful last year. And, of course, on Monday there is Robot Battles, one of the longest running robotic battle competitions in the world!
As usual, there's just too much to do...

the 113,520 lines of code across 332 files in the ktistec codebase is teaching me the importance of distinctive class/method/function/variable names

@SeattleWorldcon2025 thank you for keeping the information flowing about Seattle WorldCon this last year! and please pass along my "thank you!" to all of the organizers and volunteers you happen to see around!

I've been running v3.0.0 of Ktistec in production for the last few weeks, and it seems stable and I’m using it every day, so it’s time to release it!
This release adds:
Model Context Protocol (MCP) is a simple, general API that exposes Ktistec ActivityPub collections (timeline, notifications, likes, announces, etc.) to MCP clients. To be fully transparent about what this means, MCP clients are shells for Large Language Models (LLMs).
When building this, I focused on a few use cases that are important to me: content summarization, content prioritization (or filtering) based on my interests or the content's structure (well-constructed arguments vs. low-signal opinions) or its tone, especially when it comes to shared posts. Ktistec is a single user ActivityPub server and Epiktistes (my instance) gets a lot of traffic. I want to build the “algorithms” that surface the content I want to see.
Of note, there’s currently no support for content generation.
While I work on this, I’m not abandoning the 2.x line. I’ll continue to add compatible features and fix bugs as long as I'm able. I realize the use of LLMs, and MCP by extension, and therefore the 3.x branch, is controversial—I don’t intend to push v3 on anyone.
If you're still with me, Ktistec now exposes:
ktistec://actors/{id*})ktistec://objects/{id*})ktistec://users/{id})ktistec://information)count_collection_since(name, since)paginate_collection(name, page, size)read_resources(uris)whats_newSupported collections include:
hashtag#<name> (e.g., "hashtag#technology")mention@<name> (e.g., "mention@euripides")There is more detail in the README.
TL;DR Add a remote MCP connector in your MCP client of choice: supply the URL of your instance including the /mcp path (e.g. "https://epiktistes.com/mcp").


fediverse follow-up to a #worldcon question i want to continue to explore...
in this world of very inexpensive, llm-driven content generation, trusted curation is going to matter a lot! who/what are the editors, writers, zines, sites, etc. you recommend that curate the SF/F you like to read? (i like to flex my reading muscles, so i'm ideally looking for written content over podcasts, etc.)


it still has the magic...!