Todd Sundsted

i took time off this summer to enjoy the analog world and play board games, but i did make some small progress in a few areas.

commits 31260ad through d6b35cb fix various bugs and performance problems and improve the user experience:

  • site setup is more user-friendly
  • social details (like and announce) are visible on posts
  • clicking anywhere on a post in a feed navigates to the post
  • links open in new tabs by default

there's a bunch of work under the hood, as well—mostly deferred refactoring and cleanup.

in parallel, i'm still working on metrics collection and charts. here's a teaser:

charts!

#ktistec

Todd Sundsted

i’m patiently working my way toward a 1.0 release of the ktistec server. the 1.0 release must have a stable database schema—that’s the one hard requirement. in terms of features, it’s close now. i’m adding internal metrics for the power user and block lists. then it ships!

#ktistec

Todd Sundsted

and commits eb740e1 through 091a1b1 implement a materialized timeline. it replaces a large and complex query for dynamically generating the timeline from activities. the query worked well enough but was slow—over 200ms for a single page in a timeline containing over 4000 objects. the replacement is 3x better, but still builds a b-tree to get the sorted results. the solution, i suspect, is to  remove the final two joins, at which point the existing index on created_at will be used to get the sorted rows. to do that, i'll need to remove deleted actors and objects when they are deleted...

#ktistec

Todd Sundsted

ktistec commits 4a32680 to 9b68508 add support for notifications—mentions, announcements/shares/boosts, likes and follows all create notifications for easy alerting and management.

#ktistec 

Todd Sundsted

commits #22a2fe2 to b4b0bb3 add support for pretty/canonical URLs.

posts are automatically assigned a unique, but arbitrary, identifier (this post is known as https://epiktistes.com/objects/mMpIAUimtjg) . you can also manually assign posts a "pretty", canonical identifier, for seo purposes (if you care about that) or as an helpful mnemonic (this post is also known as https://epiktistes.com/commits-22a2fe2-b4b0bb3).

also in these commits is support for editing/updating published posts. mastodon instances currently ignore updates, but if you are using ktistec to "blog" maybe that's okay.

#ktistec

Todd Sundsted

commits #f087a58 to fc9069c add support for approved posts. approved posts appear in public threaded conversations, and allow authors to control what parts of a conversation are visible to anonymous visitors.

it's a nod toward the day when fediverse spammers show up. (lol "when"...)

#ktistec

Todd Sundsted
project activity

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 #mxnet #ishi

Todd Sundsted

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.

#ktistec #yakshaving

Todd Sundsted
typeahead

i'm happy with how typeahead now works in ktistec. it took a surprising amount of effort to get it to feel right.

#ktistec

Todd Sundsted

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.

#ktistec