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.
#ktistec 160 hashtags

ktistec now supports both @-mentions and #-hashtags.
commits 4118ec6 through 1bdcf12 consist of an embarrassing amount of yak-shaving, and that's not the whole of it. commits 3346865 through dfc00d2 were necessary to make those changes work. and most of the work to surmount the first problems i ran into were actually fixed with commit 258e2d3, but i didn't realize that and make the change until quite late in the game. so it goes.


commits 52d849d through 8cd8f3b implement draft posts, a feature that makes it easier to use ktistec to compose longer posts. one big change in the set of changes is support for incremental edits and saves of posts, as they are being written. this change also gets us very close to federated updates to published posts—a feature that mastodon, unfortunately, only supports for polls.

i've released more enhancements to ktistec. i'm still working toward an mvp—functionality any socially-oriented activitypub server should implement. recent commits added replies counts to the social signals exposed to the user, and updated the home page to display local activity to anonymous users.
next up: draft posts

"Many Small Queries Are Efficient In SQLite"
https://www.sqlite.org/np1queryprob.html
in fact, many small queries can be slightly faster than a single, more complex query, based on testing i'm doing on ktistec. the difference is small—10-15 msec for a complex page on average.

i ask the engineers i work with to spent 25-50% of their time refactoring before adding new features. these commits are exactly that—six days of cleaning up and small fixes.
i'm working toward a smarter timeline—one that uses social signals and some heuristics to prioritize content since i typically follow too many people/topics/things.

commits 2ce62db...86822f5 implement support for typical social signals, like share/boost and like.

performing and visualizing simple interactions are table stakes for socializing in the fediverse, so it's an important milestone. i got one like. i want more! 😉
if you're a fan of the crystal programming language check out ktistec. if you're brave enough to try it, i'd love feedback!

lessons

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:

Running Ktistec the First Time
One of Ktistec's design goals is to make installation and configuration as easy as possible. Rather than multiple supporting data store services, Ktistec uses Sqlite. The database, along with uploaded images, are stored on disk, for easy setup (and, more importantly, backup).
When you run Ktistec the first time, you'll set up the instance, and then you'll set up the primary account.

Ktistec needs to know the name of its permanent home on the internet. The host name is part of the identity of every account on the instance. My identity is "toddsundsted@epiktistes.com"—other federated hosts, and users, send messages and other content to me at "epiktistes.com". (This means you'll need a domain of your own, too.) Give the instance a site name and submit.

Once you name the instance, you create the primary account. Ktistec current supports only one account. This is intentional—another one of Ktistec's design goals is to promote a more fully distributed fediverse. A fediverse with a handful of large, multiuser services isn't a whole lot better than the world we had before, imo. (But don't worry—secondary accounts are on the roadmap.)
At a minimum, you need to specify the username and the password of the account. You can use a single character for the username, but you'll need six characters that include both letters, numbers and symbols for the password. Display name and summary are optional.

Once those two steps are done, you're online!