grunfink, to fediverse
@grunfink@comam.es avatar

One year of

If the source code version control history is to be trusted, I started developing snac (a simple, minimalistic instance server written in C) exactly one year ago (Sept 19th).

It was not my first experience with ActivityPub: I had built a prototype version in Python some months before (hence the "2" in the snac2 repository name), and back in 2019 I made some partial implementation for an unrelated (and now forgotten) blog project, so the protocol was not totally new to me.

These are my thoughts about one year of development.

Why did I start it? Because I read somewhere about the (still baffling to me) humoungous requirements of a basic installation. I read a lot of people affirming that was the bare minimum: "it CAN'T be done with less resources". But I've always seen it as a glorified short message application and challenged myself to write a feature-complete instance with the following goals: keeping it small, simple, easily deployed, and lacking the bloat software tendencies of modern times.

Did it come out as expected? not totally sure, but probably yes. I even implemented more things that I originally planned (I initially said a big NO to myself regarding adding Mastodon API support, but finally did it and it works mostly well). The program is still somewhat small (a stripped binary of less that 300k probably counts). The no-database, no-cookies, no-javascript absolute rules still apply. I'm fine with the (opinionated) web UI that shows conversations as threaded trees instead of the plain, dull stream of posts that Mastodon or Twitter show. It cooperates pretty well with the always growing ecosystem of ActivityPub applications.

Was the time and effort worth it? On this, I'm not sure. I'm old and depressed and unemployed, so developing snac has kept my brain busy and entertained for a little while. But it has been more work that I expected: the ActivityPub specification is a bit diffuse in some areas, so every implementation does some things a bit different and many corner cases had to be implemented; some parts (specifically, the Mastodon API) have been very tedious to implement and test; and also, helping users debugging remote systems is difficult and very stressing for me. Fortunately, some fellow developers have helped me and I'm immensely thankful to them.

Has it been a success? I'm pretty sure about this: no. I thought that the small footprint, the lack of moving parts and the feature set would be attractive to a large base of users, but this has not been the case. Perhaps I've been unable to reach the neccessary potential users for it to reach some critical mass (a failure of the PR department 😆). Perhaps what I consider interesting features (minimalism, footprint, the web UI concept, Mastodon API compatibility, etc.) are not that valuable for most. Perhaps people disregard it just because it's not Mastodon. Perhaps there are errors and crashes that I'm not aware of. Perhaps snac is rubbish and I'm unable to see it. The reality is that snac is a niche and unknown part of the Fediverse ecosystem and there is no sign that the user base will grow from the current small fistful of deployments out there.

What about the future? I'm also not sure. Apart from some pending bugfixes and wishlist items mentioned in the TODO file, I've implemented all the features I initially expected and then many more, so I consider snac a finished program. New bugs will happen, that's for sure. New ActivityPub applications will show out there and, if experience tells me anything, they will all have slightly different protocol interpretations that will need some code tuning on my part. Development will continue; snac is a maintained program. But big changes will probably not happen anymore.

https://comam.es/what-is-snac

If you find snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink

Satori, to random
@Satori@mastodon.thirring.org avatar

:Skye: ☎️ Skye’s answering service: I’m sorry, BunMum isn’t available to take your call right now, but if you leave a after the thump I will be sure to pass along your message…

(BunMum looks forward to catching up on mastodon soon! ❤️)

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

stefano, to fediverse
@stefano@bsd.cafe avatar

Dear friends of and the ,
since December 2023, snac.bsd.cafe has been operational, initially in an experimental phase but has proven to be stable and reliable.

Thus, Snac2 is now available as a service of BSD Cafe. It is considered one of the best and most comprehensive "lightweight" implementations of , offering one of the best ways to interact with the Fediverse without the need for the extensive dependencies and components of Mastodon.

It is now possible to request an account on the snac2 instance of BSD Cafe. There isn't an automatic sign-up process (snac2 does not provide one, as it wasn't designed to create large communities).

For information and details, I suggest reading the relevant page on our Wiki: https://wiki.bsd.cafe/snac.bsd.cafe

Have a great week!

stefano, to fediverse
@stefano@bsd.cafe avatar

I've just updated my article about the Fediverse software, including a description of snac2:

Deploying a piece of the Fediverse

https://it-notes.dragas.net/2023/01/15/deploying-a-piece-of-the-fediverse/

voron, to random
@voron@snac.nya.pub avatar

Introducing a new style for called "Next". Slightly more compact, light and dark mode, with icons.

You can change the colors in the :root block.

Satori, to Halloween
@Satori@mastodon.thirring.org avatar

Hoppy Halloween, friends! 🎃🦇 I’m dressing up as one of my favourite treats today - I’m a blueberry! ☺️:skyeface3:🫐💕 -Skye

grunfink, to fediverse
@grunfink@comam.es avatar

I've just released version 2.28 of , the simple, minimalistic instance server written in ANSI C, including the following:

Added a new notification area to the web interface, accessible from a link at the top, that also shows the number of unseen events. This area lists all notifications in reverse chronological order and provides a button to clear all.

More work in the Mastodon API. The new supported features are: notifications, post of new and reply messages (including attached images). Some API v2 entry points had to be implemented, so you'll need to update your HTTPS proxy configuration again, see snac(8). no longer crashes, or so I think. The official app and close relatives like still don't work, though.

If you are not interested in this Mastodon API crap, you can compile it out of your by defining the NO_MASTODON_API preprocessor directive and forget about it.

Fixed an HTML cache bug (it was not refreshed after editing a post).

https://comam.es/what-is-snac

chema, to fediverse
@chema@ctrvx.net avatar

If you're looking to host your very own single-user/a-few-users #fediverse instance, you cannot go wrong with #snac. It is simple to install on Ubuntu and works very well with some really solid clients. It is also written in C, so it is fast, with few dependencies. Great work @grunfink, you've got a new monthly supporter on Ko-fi!

#snac2 #ActivityPub

https://codeberg.org/grunfink/snac2

grunfink, to fediverse
@grunfink@comam.es avatar

It's again! I'm glad to announce the release of version 2.34 of , the simple, minimalistic instance server written in C. It includes the following changes:

Polls can now be created from the web interface.

New Mastodon API features: polls are shown and can be voted on.

The user@host identifier is now shown next to the user avatar (contributed by Haijo7). A small tweak to the default CSS was made to suit this change; please consider updating your style.css.

Clicking on an image attachment opens it in a new tab (contributed by Haijo7).

Bots are marked as such using an emoji (contributed by Haijo7).

https://comam.es/what-is-snac

If you find useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink

Satori, to random
@Satori@mastodon.thirring.org avatar

Mum, I don’t like bothering you while you’re working, but my treat quota has been far below acceptable levels today - I need a , stat!🚨 -Skye 💕

stesnac, to random
@stesnac@snac.bsd.cafe avatar

snac2 has reached version 2.44, which is stable and undoubtedly suitable for more comprehensive use.
In the coming days, I'll likely declare this instance as stable and include it in BSD Cafe's services. Plurality and choice are fundamental in a free world.

Satori, to random
@Satori@mastodon.thirring.org avatar

More bedtime please! - Skye 💕

grunfink, to fediverse
@grunfink@comam.es avatar

I'm glad to announce the release of version 2.30 of , the simple, minimalistic instance server written in ANSI C. It includes the following changes:

Fixed a bug that made some notifications to be missed.

New Mastodon API features: the instance public timeline is now a real one, unfavourite / unreblog is supported (somewhat). Some regression bugs regarding image posting were also fixed.

The non-standard Ping and Pong activities have been implemented as proposed by @tedu in the https://humungus.tedunangst.com/r/honk/v/tip/f/docs/ping.txt document (with a minor diversion: retries are managed in the same way as the rest of messages).

The build process now includes the -Wextra flag.

https://comam.es/what-is-snac

If you find useful, consider buying grunfink a coffee: https://ko-fi.com/grunfink

grunfink, to fediverse
@grunfink@comam.es avatar

I've just released version 2.45 of , the simple, minimalistic instance server written in C. This one includes fixes to some nasty bugs and some interesting contributions:

Fixed a collision in webfinger caching. This may affect federation with some software, so I recommend an upgrade.

Fixed crashes in some command-line options.

New command-line option state, that dumps some information about the running server and the state of each thread (note: this feature uses shared memory blocks and you may need an argument to the make call in older Linux distributions; please see the README file for details).

Fixed a bug that may leave an inconsistent state for a followed actor in a special case of repeated messages.

Mastodon API: added some fixes for integration with the Mona iOS app (contributed by jamesoff).

Added support for ntfy notifications, both using a self-hosted server or the official ntfy.sh (contributed by Stefano Marinelli).

https://comam.es/what-is-snac

If you find snac useful, please consider buying grunfink a coffee: https://ko-fi.com/grunfink

gyptazy, to FreeBSD German

HowTo install your own ActivityPub instance for the Fediverse based on snac2 on your system. Snac2 is a simple, minimalistic ActivityPub instance written in portable C.

https://gyptazy.ch/install-snac2-on-freebsd-an-activitypub-instance-for-the-fediverse/

stesnac, to FreeBSD
@stesnac@snac.bsd.cafe avatar

For those who are interested, here's a cpu load graph of the instance running on the Raspberry PI 4, last night.

CC: @stefano @grunfink

Satori, to random
@Satori@mastodon.thirring.org avatar

BunMum, I need ! -Skye 💕

TeamBumble, to random

Our new hoom neighbour is an and went on holiday recently. She bought me this interesting but I’m not sure I’m using it correctly. Surely must come out of it somewhere?

gyptazy, to debian
@gyptazy@gyptazy.ch avatar

2.48 (2.49-dev) compile for & . Thanks to @grunfink for today's release!

This should help all the people that are running on hardware (like the , , , ...) and also want to run as a instance in the like me.

You can grab it here: https://cdn.gyptazy.ch/files/riscv64/ubuntu/snac/snac_2.49_dev_ubuntu_23.10_riscv64_linux.tgz

cenobyte, to random
@cenobyte@mastodon.thirring.org avatar

Skye enjoying a lunchtime

announcements, to fediverse

Dear friends of and the ,
since December 2023, snac.bsd.cafe has been operational, initially in an experimental phase but has proven to be stable and reliable.

Thus, Snac2 is now available as a service of BSD Cafe. It is considered one of the best and most comprehensive "lightweight" implementations of , offering one of the best ways to interact with the Fediverse without the need for the extensive dependencies and components of Mastodon.

It is now possible to request an account on the snac2 instance of BSD Cafe. There isn't an automatic sign-up process (snac2 does not provide one, as it wasn't designed to create large communities).

For information and details, I suggest reading the relevant page on our Wiki: https://wiki.bsd.cafe/snac.bsd.cafe

Have a great week!

@stefano

kshamrick, to random
@kshamrick@mastodon.thirring.org avatar

Casper giving me the "Mommy I don't have anything to eat I need a " look. After not getting a treat, he eats the salad in front of him. Note that there are blueberries on his salad plate that are perfectly good treats. :Casper:

After being unsuccessful, Casper starts to eat the salad in front of him.

me, to mastodon
@me@mysmallinstance.homelinux.org avatar

For those, like me, who want their own space here and prefer self-hosting, I suggest considering snac2. I'm having a great experience with it, and it's easy to install and configure.

gyptazy,
@gyptazy@gyptazy.ch avatar

@me is really awesome and its footprint is really minimal.

n, to diy

Okay so I'm really liking so far.

I split off a personal account to keep my photography separate, and this one for my rambling thoughts etc.

Probably be some stuff on and , maybe some and whatever nerdery I doing with a website or home networking or whatever.

One day I'll do a proper post and pin it. Maybe.

n,

Also a massive thanks to @grunfink for creating , I especially like the quips throughout the documentation 😉

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