Another federation test, pls answer the poll:

  • I am using Mastodon and can see and vote on this poll 100% (1 votes)

  • I am using something else and can see and vote this poll 0% (0 votes)

  • I can see this poll, but can't vote (please reply) 0% (0 votes)

  • I didn't see this poll, didn't vote, IDK how this happened 0% (0 votes)

Once again joined DevZen yesterday: https://devzen.ru/episode-407/ It was a good-old 3-hour long episode :)

Hey Mastodon users, I'm curious did https://m.nevkontakte.com/articles/6fcbaeb/3d-printer-flyingbear-ghost-6-first-impressions show up in your feeds earlier today?

A few notes about self-hosting a fediverse account. I was interested in hosting a single-user instance and it seems like there are more or less three options:

  • Honk - written in Go, kinda funky, no dependencies other than SQLite, actively developed, but looks like a mostly solo project. Can support multiple users, but seems to be mostly for a single-user use case.
  • microblog.pub - written in Python, also using SQLite, has a bug tracker and a few contributors besides the original author. Single-user instance.
  • GoToSocial - written in Go, compatible with Mastodon client API, supports multiple users, but is supposed to be much lighter weight. Doesn't offer its own management interface other than rendering profile web pages.

I went with microblog.pub, since it seemed to fit my needs pretty well and the maintainer was very responsive in the bug tracker (thanks @dev@microblog.pub!). After setting it up, it uses ~200MB of RAM, almost no CPU, and ~30MiB on disk, including the Git repo. Granted, this instance doesn't have much content to store yet. The whole setup process took me a couple of hours, including troubleshooting some chmod mishaps, not counting tweaking CSS to my taste.

The biggest tweak I've done so far is adding EasyMDE for writing. To do that, I had to add the following lines to admin_new.html template:

<link rel="stylesheet" href="https://unpkg.com/easymde@2.18.0/dist/easymde.min.css">
<script src="https://unpkg.com/easymde@2.18.0/dist/easymde.min.js"></script>
<script>const easyMDE = new EasyMDE();</script>

...and fix CSP in profile.toml: custom_content_security_policy = "default-src 'self'; style-src 'self' 'sha256-{HIGHLIGHT_CSS_HASH}' https://unpkg.com/easymde@2.18.0/ https://maxcdn.bootstrapcdn.com/font-awesome/; script-src 'self' https://unpkg.com/easymde@2.18.0/ 'sha256-x3hT41jvAyXptNPHtcnje3M0xIBPpT+PuS/HVkYn8ac='; img-src m.nevkontakte.com nevkontakte.com; frame-ancestors 'none'; base-uri 'self'; form-action 'self'; connect-src 'self' https://cdn.jsdelivr.net/codemirror.spell-checker/; font-src 'self' https://maxcdn.bootstrapcdn.com/font-awesome/;"

The only feature I am really missing so far is the ability to edit posts, surely ActivityPub supports that?

-hosting

GoToSocial Documentation docs.gotosocial.org

Today in the "blue bird has been drinking again" news is a policy change that prohibits advertising competing social networks.

I was curious about fediverse already, but this too much of a bait to pass on. So now I have this nice little instance of microblog.pub (technically not Mastodon, and so not against the policy), in addition to my main blog. I'm not entirely sure how will my activity will be distributed across all those places, time will tell.