toddsundsted, to random
@toddsundsted@epiktistes.com avatar

I just released v2.0.0-10 of ktistec. I expect this to be the last pre-release before releasing v2.0.0.

As ironic as it sounds, the Fediverse doesn't feel very federated. ActivityPub, in particular, doesn't account for the real topology of the Fediverse—large groups of users clustered together on large server instances. (Or maybe it does, and this is a feature, not a bug!) Exchanges are largely actor to actor, and large servers create the illusion of "a Fediverse" by pooling their local actors' aggregate inbound and outbound activity.

The consequence of this is that running a single-user instance can feel lonely.

This release finally tries to address that. Hashtags and threads are the backbone of expressed interests and conversations in the Fediverse. Ktistec now lets you follow hashtags and threads, and will proactively (but gently) pull relevant content in to your server. Most of the changes in the last year revolve around making this work well.

The rest of the changes are less visible:

  • Substantial reduction in build times and memory required to build.
  • Substantial reduction in database size (if you care to shrink it) and query performance.
  • Substantial reduction in the time it takes to run tests.
  • Tons and tons of refactoring.

You can see all of the changes here.

(So that it's clear, I have a massive amount of respect for anyone who builds software and gives it away for free. None of the decisions I've made with Ktistec should be taken as personal criticism of anyone else in this space!)

toddsundsted, to random
@toddsundsted@epiktistes.com avatar

pushing a boatload of small improvements and fixes to main that i've been running myself for the last couple weeks... there are many ways a request to another activity pub server can fail—ktistec does a much better job of logging those failures, among other things...

toddsundsted, to random
@toddsundsted@epiktistes.com avatar

i added code to log slow queries in ktistec and it's already paying dividends. most are obviously missing indexes and it's great to fix them, but the latest example—which is missing an index—is querying a table that only has one row (in my single user instance). should that table need an index on that column? i mean, just return that row...

fwiw, a slow query is currently anything that takes longer than 50msec. i wonder if that is tight enough...?

toddsundsted, to random
@toddsundsted@epiktistes.com avatar

one thing ktistec related that i haven't had the time for is working on build and deployment tools. there are a bunch of outstanding requests—and a few PRs—for docker builds, packaged deployments for various hosting environments, etc.

if you're interested in contributing, let me know. you only have to agree to maintain them—i won't be able to.

dansup, to fediverse
@dansup@mastodon.social avatar

✨ 13 new projects (on Friday the 13th)

Just added 13 new software projects to fedidb.org!

https://fedidb.org/site/news

jamie, to random
@jamie@zomglol.wtf avatar

Every now and then I have to resist the urge to create a new ActivityPub service with a smaller footprint than Mastodon.

alexanderadam,
@alexanderadam@ruby.social avatar

@abachman @jamie or just support @toddsundsted with ?

https://github.com/toddsundsted/ktistec

It already has many things although users might want more features of Mastodon.
Like multi user support.

liaizon, to random
@liaizon@wake.st avatar

Came across some compatibility issues in @toddsundsted's Ktistec project posted by @rahul (← this account is a instance) and it made me think: I would love to have a fediverse compatibility "issueathon" where we make a super list of everything that we expect to work across the fediverse and where all the issue are at.

Support for Lemmy group posts with !post notation
https://github.com/toddsundsted/ktistec/issues/61

Following kbin magazines does not work
https://github.com/toddsundsted/ktistec/issues/72

liaizon,
@liaizon@wake.st avatar

@toddsundsted I think focusing an interoperate-a-thon on some of these smaller server projects like , , , , etc would be great. I wonder what the best format would be? Set aside a weekend sometime and set up a little global event for it maybe?

toddsundsted, to woodworking
@toddsundsted@epiktistes.com avatar

i've been following hashtags for a while now. i turn off shares (boosts) and replies so they don't appear in my timeline (there's too much sharing going on out there), but then follow a handful of hashtags (like and and ) to see more of what i like!

nemobis, to FediMeta
@nemobis@mamot.fr avatar

@ariadne Do you happen to know if allows such control over ? I see a mention of detailed permissions.
https://friendi.ca/about/features/

mentions reply visibility.
https://github.com/toddsundsted/ktistec#control-over-comment-visibility

On a single-user instance (or very small community), limited federation might help the user have more control on interactions. has some discussions:
https://github.com/hometown-fork/hometown/issues/1237#ref-issue-1462682247

toddsundsted, to random
@toddsundsted@epiktistes.com avatar

commits 984e28b7 through a367c215 include changes that support following threads, hashtags and mentions:

  • index pages for threads, hashtags and mentions include a follow/unfollow button
  • following a thread, hashtag or mention results in notifications when new posts arrive that are part of the thread or include the hashtag or mention
  • to support navigation and discovery, the details pages for posts include labels with links to the index pages for hashtags and mentions

next up is support for actively finding and fetching followed content from elsewhere in the fediverse.

also included are a bunch of bug fixes, some internal enhancements, and greatly reduced build times and executable sizes.

toddsundsted, to random
@toddsundsted@epiktistes.com avatar

I just released v2.0.0-8 of ktistec. The most impactful changes are:

  1. No more dependencies on externally hosted assets (and fewer dependencies, overall)
  2. Basic support for timeline filters (no shares and no replies).
  3. Support for content filtering by keyword.

Volume has dropped off in my timeline, for the most part, now that the surge of people who signed up for Mastodon accounts a couple months ago have gone back to posting on Twitter, or have stopped posted about the transition, or whatever. But fine grained control is nice, and filtering allows me to tune my experience—better late than never!

Read the changelog for all of the details.

toddsundsted, to random
@toddsundsted@epiktistes.com avatar

i released 2.0.0-7 just in time for the new year. it includes contributions from @relistan and @rahul, the introduction of CI (the build is successful), and bug fixes.

i am slowly working my way toward more flexibility for reading and managing federated content.

(as always, it's pronounced "tiz-tek")

tragiccommons, to fediverse

I'm thinking about setting up two single-user activitypub servers. One would be personal, and replace my presence on infosec.exchange. The other would be for an organization to publicize news items. My preference is for implementations in python, javascript, or php. Two that seem plausible are and microblog.pub. Any advice on which to choose or how to think about the evaluation of these?

toddsundsted, to random
@toddsundsted@epiktistes.com avatar

Today's release of code fixes things that have been annoying me for a while:

  • Commits c01e797 to b21a97a ensure that bulk assignment raises an error when the type of an argument value does not match that of the corresponding property being assigned to. In the past, attempts were silently ignored. As you'd expect, adding the check and raising the error was easy—cleaning up all the places I'd carelessly passed in nil and other garbage was not. Lesson learned? We'll see...
  • While I'm in there, commits 1ac498e to 3d45ece ensure that bulk assignment raises an error when attempting to assign a property defined only by a getter (which is, effectively, a read-only property). Previously, this code wouldn't even compile, thereby unintentionally coupling database persistence and bulk assignability.
  • Finally, commits 5c2ec70 to 99dca65 clean up a few small defects in presentation: wide blocks of code no longer blow out the width of the parent container, image attachments present at ratios closer to what Mastodon uses (the presumption being that's what people optimize for if they optimize for anything) (this should also fix issue ), and figure captions get a little breathing room. I'm no good at CSS, so this kind of thing takes me forever.

mario, to fediverse
@mario@hachyderm.io avatar

Today I discovered another “single process baked by SQLite” implementation of ActivityPub: https://github.com/toddsundsted/ktistec

I really like that open protocols enable experimentation on the server side as well as on the client side

bmann, to random

While this is interesting, the words “Oracle free tier” fill me with dread.

Hosting your own ActivityPub instance for free https://gopinath.org/2022-11-11-hosting-ktistec-on-oracle-cloud

bmann,

New to me from that write up was - a single user server written in and using

https://github.com/toddsundsted/ktistec

swetland, to fediverse
@swetland@chaos.social avatar

Reading up on ActivityPub and investigating what'd be involved in building a simple single-user Fediverse compatible blog thing (probably in Go). It's not looking like a terribly complicated project.

metaphil,
@metaphil@chaos.social avatar

@swetland don't mean to curb your enthusiasm or hinder a new project, but can I interest you in @toddsundsted's ? https://github.com/toddsundsted/ktistec

jason123santa, to fediverse
@jason123santa@fosstodon.org avatar

What software do people recommend I host if I want to make my own fediverse activity pub server? I was thinking to host pleroma but I would like to get other peoples recommendations.

normandc,

@humanetech @jason123santa Thanks, so many projects I didn't know about! (single-user server) is very appealing to me.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • GTA5RPClips
  • DreamBathrooms
  • InstantRegret
  • magazineikmin
  • khanakhh
  • Youngstown
  • ngwrru68w68
  • slotface
  • everett
  • rosin
  • thenastyranch
  • kavyap
  • tacticalgear
  • megavids
  • cisconetworking
  • normalnudes
  • osvaldo12
  • ethstaker
  • mdbf
  • modclub
  • Durango
  • tester
  • provamag3
  • cubers
  • Leos
  • anitta
  • lostlight
  • All magazines