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 201 hashtags


My Covid-19 quarantine plan for the last 12 months was to write code every day. With a few exceptions, I pulled that off. The big pre-Covid plan was to write every day, but in traditional hacker fashion I first built some tools (Ktistec and kin).
The big project was Ktistec, of course, but early on I spent a lot of time on MXNet.cr, mostly on native MXNet bindings, but also on a Gluon compatible library. I also put a lot of time into Ishi, a project that sprang from my desire to visualize MXNet output inside of my iTerm console.
Now, to do some writing...

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: