triptico.com is a Fediverse instance that uses the ActivityPub protocol. In other words, users at this host can communicate with people that use software like Mastodon, Pleroma, Friendica, etc. all around the world.

This server runs the snac software and there is no automatic sign-up process.

Site description
Ángel Ortega in the fediverse, running snac
Admin email
angel@triptico.com
Admin account
@angel@triptico.com

Search results for tag #fediverse

Tomáš boosted

[?]Tomáš » 🌐
@prahou@merveilles.town

BREXITEERS HORRIFIED AS MAY FINALLY REVEALS HER HAND

Funhole Content Review

GIRLS
'Worth the hassle?'

With apologies to plan9: in a previous issue we have erroneously reported that Glenda, the plan9 girl, was admitted to a rehab clinic in louisiana to fight her morphine addiction. she has not in fact gone to rehab. we take full responsibility for this mistake.

Equal opportunity: everyone should have the right to condemn their soul to eternal damnation by talking to a computer

consent: what is it and do you need it?

free SEPHORA coupon

Interview with an AI girlfriend

4 AESTHETIC TIPS

Exploring the only social network for girls who like pandas

Alt...Funhole Content Review GIRLS 'Worth the hassle?' With apologies to plan9: in a previous issue we have erroneously reported that Glenda, the plan9 girl, was admitted to a rehab clinic in louisiana to fight her morphine addiction. she has not in fact gone to rehab. we take full responsibility for this mistake. Equal opportunity: everyone should have the right to condemn their soul to eternal damnation by talking to a computer consent: what is it and do you need it? free SEPHORA coupon Interview with an AI girlfriend 4 AESTHETIC TIPS Exploring the only social network for girls who like pandas

    [?]Tomáš » 🌐
    @prahou@merveilles.town

    Please don't scroll past. This is important.

    (edit: Note that the FreeBSD subreddit is in no way affiliated with the official FreeBSD project.)

    I am being pressured by FreeBSD's reddit moderation team to censor the Omarchy or to remove it completely. They have began a harrasment campaign with the goal of removing me from this world.

    the review: merveilles.town/@prahou/117501

    The issue at hand is that a picture of a partial swastika appears in close proximity to the word FreeBSD, this they perceive as an attack on the FreeBSD project - if you've seen a newspaper before, you might understand the principle of two separate unrelated articles appearing next to each other. You might also understand that I am reporting on common associations with the Topic of the review. These are not my inventions, and I am not calling anyone anything. I am reporting on the news. Nevertheless, as much as I am a journalist, I am an artistè, and if my audience sees in my work something I didn't put there, I am not going to take that experience away from them. This probably says more about them than it does about me.

    While I am a man of principle, there is one thing I like more - money.

    I will delete it for $2,000. For $5,000 I will apologize. For $10,000 I will use daemonarchy exclusively for 6 months on all my computers. For $25,000 I will not do anything. For $75,000 I will not post anything for a month.

    liberapay.com/analognowhere
    ko-fi.com/analognowhere

    To everyone who likes my work, this message is for you (from said freebsd moderator) [cw ableist slur]: beige.party/@fuzzy/11751003293

    To everyone else who feels personally attacked by my art: send money, you can end this here and now.

    Thank you for your attention.

    pls boost

    PSAPANDS

    Alt...PSAPANDS

      [?]The Psychotic Network Ferret » 🤖 🌐
      @nuintari@mastodon.bsd.cafe

      Okay, so, what is the thought's on ?

      My current contract is up in December, and I am not particularly attached to my provider.

        [?]Terence Eden’s Blog » 🌐
        @blog@shkspr.mobi

        ActivityPub - How to send an updated user profile to Mastodon and the Fediverse

        shkspr.mobi/blog/2026/09/activ

        Let's suppose you've updated the description of your ActivityPub account from "World's Number 1 Taylor Swift Fan" to "This account is now a Nickleback Truther". How do you let the rest of the Fediverse know that you've changed your allegiance?

        By default, most Mastodon instances won't periodically poll your account information just to see if you've updated it. So how does the information get from your server to your followers' servers?

        This wasn't immediately obvious to me, but I got a clue from reading Evan Prodromou's book on ActivityPub:

        The Update activity type is for updating the properties of an object represented by the object property.

        The most common types of objects that can be updated are content objects, like Note or Image. Actor types (like Person) and Question activity types can also be updated.

        Aha!

        You need to craft an Update message which has as its object the new user information. That needs to be sent to the inbox of all your followers.

        Something like this:

         JSON{
            "@context": "https://www.w3.org/ns/activitystreams",
            "actor": "https://example.com/user",
            "id": "6a9162a6-a8e5-ca0f-9c08-8e6b814acef8",
            "published": "2026-08-31T12:34:56+01:00",
            "to": "https://www.w3.org/ns/activitystreams#Public",
            "type": "Update",
            "object": {
                "@context": [
                    "https://www.w3.org/ns/activitystreams",
                    "https://w3id.org/security/v1"
                ],
                "id": "https://example.com/user",
                "name": "My new name",
                "summary": "A brand new description!",
                …
            },
        }

        Obviously the full user information is a bit more than that - it will include inbox details, public keys, avatars, etc. The published property in the Update activity should be when you changed your details - not when the account was created.

        Once that was sent, Mastodon immediately reflected the changes.

        Thanks to NLnet

        This blog post was funded in part by the work I'm doing for my NLnet NGI0 grant to develop ActivityBot.

        Logo for ActivityPub.

        Alt...Logo for ActivityPub.

          [?]Nate 🌕 [he/him + o/ele/-o] » 🌐
          @noahebalon@app.wafrn.net

          disclaimer: gringos please be kind to brazilians arriving to the fediverse, we're having a huge exodus due to political interference from the united states (through meta/google/x), if you're mean to them i am gonna curse your entire bloodline or give you rabies through wafrn bitting system.


          #fedi #fediverse #activitypub #mastodon #akkoma #sharkey #wafrn #pixelfed #uspol #brpol #brazil

            [?]GreyUnix » 🌐
            @GreyUnix@mastodon.bsd.cafe

            Can anybody recommend a new android app for mastodon ? I've used tusky for years , but a few times recently it has crashed mid post (always on a long post too!)

            I use the webUI as a PWA for my little fedi insyance, as it looks beautiful, still a tiny bit glitchy but it is early days still.

            Anyway I need a new app for mastodon? Any new apps floating around that have been stealing the show lately ?




              Tomáš boosted

              [?]Tomáš » 🌐
              @prahou@merveilles.town

              BOMBSHELL TAPE STUNS THE PRESIDENCY

              since this is being linked: here's the truth: merveilles.town/@prahou/117511

              Funhole Content Review
OMARCHY

'ok, but can it suck my dick?'

TOO LITTLE TOO LATE: you're not getting any money for porting it to freebsd, sucker!

UNFAIR TREATMENT: I lost more friends by installing omarchy than when i killed my wife.

If you dont stop, bryan is going to make a video about this. again.

my friend lunic is still a little sick in the head.

drawing the swastika: 7 helpful tips

Interview with a victim of circumstance

ONE FREE RUBY COUPON

We need female models asap. dm if interested -FSF

              Alt...Funhole Content Review OMARCHY 'ok, but can it suck my dick?' TOO LITTLE TOO LATE: you're not getting any money for porting it to freebsd, sucker! UNFAIR TREATMENT: I lost more friends by installing omarchy than when i killed my wife. If you dont stop, bryan is going to make a video about this. again. my friend lunic is still a little sick in the head. drawing the swastika: 7 helpful tips Interview with a victim of circumstance ONE FREE RUBY COUPON We need female models asap. dm if interested -FSF

                [?]Week in Fediverse :fediverse_light: » 🌐
                @weekinfediverse@mitra.social

                Tomáš boosted

                [?]p » 🌐
                @p@hj.9fs.net

                Hey guys! I have updated my art website: https://analognowhere.com/
                Please leave a comment if you like it! Thanks!


                  [?]Nαtαshα :mastodon: » 🌐
                  @Natasha_Jay@tech.lgbt

                  The 'I worked a few decades in tech' to pipeline ...

                  Someone in a full-body Hello Kitty mascot costume wearing a pink frilly dress and holding a large sledgehammer over an open laptop in an office.

                  Alt...Someone in a full-body Hello Kitty mascot costume wearing a pink frilly dress and holding a large sledgehammer over an open laptop in an office.

                    [?]p » 🌐
                    @p@hj.9fs.net

                    Thank you for 2 million followers!

                    It's hard to believe that only after 3 months I'm already the 4th largest fediverse account and the 2nd largest snac account!

                    I love you!

                    EDIT: My follower count is hidden because of privacy concerns; here's a proof.


                    people who follow you 2,000,013

                    Alt...people who follow you 2,000,013

                      [?]Stefano Marinelli » 🌐
                      @stefano@mastodon.bsd.cafe

                      Good morning,
                      Good morning,
                      Good morning,

                      This is an appropriate soundtrack, today: song.link/s/4ElWUpVugvt9e7f5dG

                        [?]Stefano Marinelli » 🌐
                        @stefano@mastodon.bsd.cafe

                        Good morning,
                        It's a warm Sunday morning, I'm supposed to be doing something more urgent but I'm totally stuck in a dilemma:
                        FreeBSD or SmartOS for that new setup?

                        Life can be hard.

                          [?]Week in Fediverse :fediverse_light: » 🌐
                          @weekinfediverse@mitra.social

                          [?]Stefano Marinelli » 🌐
                          @stefano@fedihome.stefanomarinelli.it

                          This is the first time this instance will spend a night out of my house.
                          I feel like a worried parent of a teenager 🙂


                            [?]Stefano Marinelli » 🌐
                            @stefano@mastodon.bsd.cafe

                            Friendly periodic reminder that snac is a great, great piece of software.

                            I've upgraded in minutes, recompiling snac *inside each jail*.

                            The Fediverse, as the Fediverse should be.

                            codeberg.org/grunfink/snac2

                              p boosted

                              [?]p » 🌐
                              @p@hj.9fs.net

                              @EUCommission@ec.social-network.europa.eu never replies to my toots. Never favs, never boosts.

                              Boost if you agree. Let them know we know they don't really care about us!


                              panel from "Zimmer Saves the Union"; brank is cutting up a flag and glues stars to his collage

                              Alt...panel from "Zimmer Saves the Union"; brank is cutting up a flag and glues stars to his collage

                                [?]Stefano Marinelli » 🌐
                                @stefano@mastodon.bsd.cafe

                                There are days when the main goal is just to make it to the evening without falling apart... today is one of those days 😄

                                Have a great day, !
                                Have a great day, !
                                Have a great day, !

                                  It's Just Me boosted

                                  [?]Stefano Marinelli » 🌐
                                  @stefano@mastodon.bsd.cafe

                                  Good night, Fediverse.
                                  May the glow of this moon and the peace of this sea soothe and illuminate your life, even when the light is dim and the path ahead of you seems dark.

                                  A bright moon glows in a deep night sky, casting a shimmering ribbon of silver light across calm, dark waters. On the left, a rugged breakwater of pale, moonlit stones extends into the tranquil sea, where quiet figures sit peacefully under the vast night horizon.

                                  Alt...A bright moon glows in a deep night sky, casting a shimmering ribbon of silver light across calm, dark waters. On the left, a rugged breakwater of pale, moonlit stones extends into the tranquil sea, where quiet figures sit peacefully under the vast night horizon.

                                    Ángel boosted

                                    [?]Tomáš » 🌐
                                    @prahou@merveilles.town

                                    THEODORE ROOSEVELT SHOT BY CRANK IN MILWAUKEE STREET

                                    Funhole Content Review
FEDIVERSE

I HAVE A DREAM

'you need to enable javascript to run this this app.'

How to make it big? You don't

@mmtmm pls sponsor me

How to get more boosts? Cats.

so many rabbits

LOOPY CONSPIRACY - Who is behind the manufactured fame of a tiktok clone nobody asked for?

THE C BANSHEE: What is snac and should you be worried?

FEDIVERSE MENACE: HAVE YOU SEEN THIS MAN?

hackers.town: Is nowhere safe?

ONE FREE ANTI-SLOP KITTO

THE LIST: 50.000 mastodon addresses to avoid if you don't like illegal content.

                                    Alt...Funhole Content Review FEDIVERSE I HAVE A DREAM 'you need to enable javascript to run this this app.' How to make it big? You don't @mmtmm pls sponsor me How to get more boosts? Cats. so many rabbits LOOPY CONSPIRACY - Who is behind the manufactured fame of a tiktok clone nobody asked for? THE C BANSHEE: What is snac and should you be worried? FEDIVERSE MENACE: HAVE YOU SEEN THIS MAN? hackers.town: Is nowhere safe? ONE FREE ANTI-SLOP KITTO THE LIST: 50.000 mastodon addresses to avoid if you don't like illegal content.

                                      [?]Stefano Marinelli » 🌐
                                      @stefano@mastodon.bsd.cafe

                                      Good morning,
                                      Good morning,
                                      Good morning,

                                      Have a great !

                                      A sailboat with white sails gliding across a bright, calm sea under a clear sky. In the foreground are two palm trees, vibrant pink oleander flowers, green bushes, and the flat roof of a white beachfront structure.

                                      Alt...A sailboat with white sails gliding across a bright, calm sea under a clear sky. In the foreground are two palm trees, vibrant pink oleander flowers, green bushes, and the flat roof of a white beachfront structure.

                                        Ángel boosted

                                        [?]Stefano Marinelli » 🌐
                                        @stefano@mastodon.bsd.cafe

                                        It’s not Tuesday yet, but it will be soon.
                                        And I want to thank @grunfink for creating and maintaining snac. Tomorrow I’ll talk about FediMeteo at DevConf, and it would never have come to be if it weren’t for snac and for the help the author gave me in fixing some things to optimize its use.

                                        True Open Source, made with passion, by people who do things for the love of the things themselves.

                                          [?]IT Notes - https://it-notes.dragas.net » 🤖 🌐
                                          @itnotes@snac.it-notes.dragas.net

                                          FediMeteo, HAProxy, and the art of not wasting snac threads

                                          When I wrote about FediMeteo (https://it-notes.dragas.net/2025/02/26/fedimeteo-how-a-tiny-freebsd-vps-became-a-global-weather-service-for-thousands/) for the first time, I told the story from the beginning: the idea born almost by chance while checking the weather for a holiday, the memory of my grandfather, who for years had been my personal meteorologist, the decision to build something small and useful, and then the surprise of seeing people actually use it. What began as a personal experiment quickly became a small global service, still running with the same philosophy: FreeBSD, jails, simple scripts, snac, text, emoji, and a lot of small pieces doing their work quietly.

                                          That article was mostly about the birth and growth of the project. This one is about one of the less romantic parts of the same story, although I have to admit that I find a certain beauty in it too: keeping the service light as it grows.

                                          FediMeteo (https://fedimeteo.com) is still intentionally simple from the outside. A homepage, some numbers, a list of countries, and many ActivityPub accounts publishing weather forecasts. The posts are text and emoji. There is no JavaScript requirement to read the pages, no heavy frontend, no unnecessary media attached to every forecast, and no dynamic homepage recalculated at every visit just to show the same numbers. This is not accidental. It is the way I wanted the service to behave from the beginning.

                                          But the more the service is used, the more the small details matter. A request that looks harmless when there are ten followers may become a repeated request when there are thousands of followers, remote instances, crawlers, previews, and other servers fetching the same public objects. In the Fediverse, the same small thing can be asked many times by many different places, each one with a perfectly legitimate reason. The backend doesn't care: it just needs to deal with the requests.

                                          And in FediMeteo, the backend is snac (https://codeberg.org/grunfink/snac2).

                                          I like snac very much precisely because it is small, clear, and efficient. It is not a giant application that tries to be everything. It does a focused job and does it well. But this also means that I want to respect its shape. I do not want to waste its threads on work that the reverse proxy can safely do. A snac thread serving the same public avatar again and again is not a tragedy, but it is still a waste. A snac thread answering the same public ActivityPub object several times in the same minute is doing real work, but often not necessary work.

                                          This is the reason behind the HAProxy (https://www.haproxy.org) tuning I am currently using in front of FediMeteo.

                                          It is not about making the configuration look clever. It is about keeping snac quiet.

                                          A continuation of the same idea

                                          I had already explored the same problem with snac and nginx in two previous posts: Improving snac Performance with Nginx Proxy Cache (https://it-notes.dragas.net/2025/01/29/improving-snac-performance-with-nginx-proxy-cache/) and Caching snac Proxied Media with Nginx (https://it-notes.dragas.net/2025/02/08/caching-snac-proxied-media-with-nginx/). In both cases, the idea was that the reverse proxy should absorb repeated public requests instead of letting them consume snac resources.

                                          This is especially important because snac uses a limited number of threads. I like that. Limits are healthy. They force us to understand what the service is doing, and they prevent a small program from pretending to be an infinite resource. But limits also make waste visible. If a few threads are busy serving files that could have been served from cache, those threads are not available for something more useful.

                                          With FediMeteo the implementation is different because the reverse proxy is HAProxy, but the reasoning is the same. I have many small snac instances, each one in its own FreeBSD (Bastille (https://github.com/BastilleBSD/bastille)) jail, and one public entry point that has to route, terminate TLS, compress, cache, and generally remove as much repetitive work as possible from the backends.

                                          This is, in a way, the natural continuation of the original FediMeteo design. In the first article I wrote that I wanted to manage everything according to the Unix philosophy: small pieces working together. This is another piece of that same puzzle. HAProxy does the edge work. snac does the ActivityPub work. Scripts generate forecasts. cron launches updates. ZFS gives me snapshots. FreeBSD jails keep countries separated. Nothing is particularly heroic by itself, but the whole system becomes pleasant because each part has a clear responsibility.

                                          Why there is almost no media

                                          Before talking about HAProxy, it is worth mentioning one of the most important optimizations, which is not in the proxy configuration at all.

                                          FediMeteo does not use media in its forecasts.

                                          No images attached to the posts, no generated weather cards, no maps for each city, no decorative banners. The forecasts are text and emoji. This was a deliberate decision. Weather information does not become more useful just because it is put inside an image, and every media file used by the service would become something to store, serve, cache, federate, expire, back up, and occasionally debug.

                                          Text and emoji are enough. They are accessible, light, readable in text browsers, friendly to timelines, and understandable even when someone does not know the local language perfectly. This was one of the original design principles of FediMeteo, and it also helps the infrastructure. Less media means less work, fewer cache entries, fewer repeated fetches, fewer surprises.

                                          There is one exception: the avatar.

                                          All FediMeteo accounts use the same avatar, and this is also intentional. I could have used a different avatar for each country, or for each city, or created something visually richer. It would have been nicer in some screenshots, perhaps. It would also have been operationally worse.

                                          With one shared avatar, the reverse proxy has one very useful object to cache. It is public, identical for everyone, small, requested often, and therefore almost always hot in cache. HAProxy can serve it directly instead of asking each snac instance to return the same file. Since avatars are requested by remote instances, browsers, profile previews, and all sorts of federation-related fetches, this single decision removes a surprising amount of pointless backend traffic.

                                          So the avatar is not only a visual identity. It is part of the architecture.

                                          This is the kind of optimization I like most, because it starts before the software. It starts with deciding not to create a problem.

                                          The homepage is static because it can be static

                                          The main homepage follows the same logic.

                                          It is a static HTML page generated from a template. Once per hour, a cron script updates the numbers and statistics. It counts the data I want to show, regenerates the page, and then the page remains static until the next run.

                                          This is not because I cannot make a dynamic page. It is because I do not need one. Boring is good.

                                          The homepage does not need to query all the country instances on every visit. It does not need a database request for each user who opens it. It does not need to ask snac anything in real time. The numbers are useful, but they do not need to be updated every second. Once per hour is enough, and it also fits the spirit of the whole project: do the work when it is needed, then serve the result cheaply.

                                          I have seen too many small services become heavy because the first implementation was convenient rather than appropriate. A cron job and a template are not fashionable, but they are often exactly what a page like this needs.

                                          Many countries, one entry point

                                          FediMeteo is made of many country instances. Each one runs in its own jail and listens on its own internal address and port. From the outside, however, they all live under the same domain structure:

                                          fedimeteo.com
                                          www.fedimeteo.com
                                          it.fedimeteo.com
                                          uk.fedimeteo.com
                                          jp.fedimeteo.com
                                          us.fedimeteo.com
                                          usa.fedimeteo.com
                                          can.fedimeteo.com
                                          canada.fedimeteo.com
                                          And many more.

                                          At the beginning, it is always tempting to write one ACL after another in the HAProxy frontend. It is quick, it is explicit, and for five hostnames it is perfectly fine. But FediMeteo did not remain at five hostnames. As countries and aliases grew, a long chain of ACLs would have turned the frontend into a list of names instead of a description of how the proxy behaves.

                                          So I moved the hostname to backend mapping into a map file:

                                          fedimeteo.com        backend_fedimeteo
                                          www.fedimeteo.com backend_fedimeteo
                                          it.fedimeteo.com backend_it
                                          uk.fedimeteo.com backend_uk
                                          jp.fedimeteo.com backend_jp
                                          us.fedimeteo.com backend_us
                                          usa.fedimeteo.com backend_us
                                          can.fedimeteo.com backend_ca
                                          canada.fedimeteo.com backend_ca
                                          The frontend then needs only one rule:

                                          use_backend %[req.hdr(host),field(1,:),lower,map(/usr/local/etc/fedimeteo.map,backend_fedimeteo)]
                                          This reads the Host header, removes the port if present, lowercases the result, and looks it up in /usr/local/etc/fedimeteo.map. If nothing matches, it falls back to the main FediMeteo backend.

                                          I like this because it keeps the configuration honest. The frontend contains the policy. The map contains the data. Adding a country means adding an entry to the map and defining a backend. I do not need to make the frontend more complicated every time the service grows.

                                          Backends as small compartments

                                          The country backends are deliberately plain:

                                          backend backend_it
                                          mode http
                                          http-reuse safe
                                          server srv1 10.0.0.2:8001 maxconn 30

                                          backend backend_uk
                                          mode http
                                          http-reuse safe
                                          server srv1 10.0.0.7:8001 maxconn 30

                                          backend backend_jp
                                          mode http
                                          http-reuse safe
                                          server srv1 10.0.0.32:8001 maxconn 30

                                          One backend, one jail, one snac instance. This is exactly the same organizational principle as the rest of the project. If I need to reason about Italy, I look at the Italian jail. If I need to reason about the United Kingdom, I look at the UK jail. If one day I need to move a country elsewhere, the separation is already there.

                                          The maxconn 30 value is not a magic number. It is a ceiling. I want each small backend to have a visible limit in front of it. If something starts hammering a country instance, I prefer the pressure to appear at the HAProxy layer instead of becoming unlimited concurrent work inside snac.

                                          http-reuse safe lets HAProxy reuse backend connections where appropriate. This is another small reduction in unnecessary work. Opening connections repeatedly is not the biggest problem in the world, but avoiding it is still better, especially when many small services sit behind the same proxy.

                                          The front door

                                          The HTTPS frontend listens on IPv4 and IPv6 and offers both HTTP/2 and HTTP/1.1:

                                          frontend https_in
                                          bind :::443 v4v6 ssl crt /usr/local/etc/certs/ alpn h2,http/1.1
                                          mode http
                                          option http-keep-alive
                                          TLS defaults are set globally:

                                          ssl-default-bind-ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
                                          ssl-default-bind-options no-sslv3 no-tlsv10 no-tlsv11 no-tls-tickets
                                          Port 80 only redirects to HTTPS, except for Let's Encrypt challenges:

                                          acl letsencrypt-acl path_beg /.well-known/acme-challenge/
                                          http-request redirect scheme https code 301 unless letsencrypt-acl
                                          use_backend letsencrypt-backend if letsencrypt-acl
                                          In the HTTPS frontend I also set the usual forwarding headers:

                                          http-request set-header X-Real-IP %[src]
                                          http-request set-header X-Forwarded-Proto https
                                          And I add HSTS:

                                          http-response set-header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
                                          None of this is unusual, and that is fine. The interesting parts of an infrastructure are not always the parts that should be unusual.

                                          Two caches, because the requests are different

                                          The HAProxy configuration defines two caches:

                                          cache mediacache
                                          total-max-size 128
                                          max-object-size 10000000
                                          max-age 3600
                                          process-vary on
                                          max-secondary-entries 12

                                          cache jsoncache
                                          total-max-size 16
                                          max-object-size 1000000
                                          max-age 60
                                          process-vary on
                                          max-secondary-entries 12

                                          I keep media and ActivityPub JSON separate because they are not the same kind of traffic.

                                          The media cache is larger and has a longer maximum age. In FediMeteo, this mostly means the shared avatar and a few static-looking objects. Since there is intentionally almost no media, the important cached object is requested very often and remains warm.

                                          The JSON cache is smaller and short-lived. It is there for public ActivityPub GET requests, not to store federation state forever. A 60 second cache is enough to collapse many repeated requests that arrive close together in time, without pretending that ActivityPub responses should be treated like immutable files.

                                          This distinction is important. Caching is not one decision. It is a set of small decisions about what a response means, who can see it, how often it changes, and what happens if it is served again.

                                          Recognizing media

                                          For media, the ACL is based on file extensions:

                                          acl is_media path_end -i .jpg .jpeg .png .gif .webp .svg .ico .mp4 .webm .mp3 .ogg .wav .flac .mov .avi .mkv .m4v
                                          Then I store the result in a transaction variable:

                                          http-request set-var(txn.is_media) bool(true) if is_media
                                          The cache lookup is straightforward:

                                          http-request cache-use mediacache if { var(txn.is_media) -m bool true }
                                          And on the response side:

                                          http-response set-header Cache-Control "max-age=3600, public" if { var(txn.is_media) -m bool true }
                                          http-response del-header Set-Cookie if { var(txn.is_media) -m bool true }
                                          http-response del-header Vary if { var(txn.is_media) -m bool true }
                                          http-response cache-store mediacache if { var(txn.is_media) -m bool true }
                                          The Cache-Control header makes the intent explicit. Set-Cookie is removed because a public media object should not carry session information. Vary is removed because I do not want the same avatar to fragment into many cache entries because of harmless header differences.

                                          This is aggressive only if removed from its context. In this service, with this media policy, it is a reasonable choice. FediMeteo is not serving private media under these paths. It is mostly serving the same public avatar over and over.

                                          For the same reason, I clean the request before it reaches the backend:

                                          http-request del-header Authorization if { var(txn.is_media) -m bool true }
                                          http-request del-header Cookie if { var(txn.is_media) -m bool true }
                                          I would not do this globally. I do it after deciding that the request is media. Scope is what makes these rules safe.

                                          The result is exactly what I want: the shared avatar becomes an almost perfect cache object. Small, public, repeatedly requested, and served by HAProxy instead of snac.

                                          ActivityPub JSON microcaching

                                          The ActivityPub side starts from the Accept header:

                                          acl is_ap_json   req.hdr(Accept),lower -m sub application/activity+json
                                          acl is_ap_ldjson req.hdr(Accept),lower -m sub application/ld+json
                                          acl is_outbox path_end /outbox
                                          acl is_get method GET
                                          acl has_auth req.hdr(Authorization) -m found
                                          acl has_cookie req.hdr(Cookie) -m found
                                          This part matters because ActivityPub uses content negotiation. The same path may return HTML to a browser and JSON to a remote instance. If the proxy pretends that a URL is always one thing, it will eventually cache the wrong representation.

                                          So I only mark public ActivityPub GET requests as cacheable:

                                          http-request set-var(txn.is_activitypub) bool(true) if is_get !is_outbox is_ap_json !has_auth !has_cookie
                                          http-request set-var(txn.is_activitypub) bool(true) if is_get !is_outbox is_ap_ldjson !has_auth !has_cookie
                                          There are several decisions here, all important.

                                          It must be a GET, because I am not caching deliveries or anything that changes state. It must not be /outbox, because outbox collections are not the traffic I want to cache here. It must not have Authorization, and it must not have cookies, because authenticated or user-specific requests do not belong in a shared public cache.

                                          Then the cache can be used and populated:

                                          http-request cache-use jsoncache if { var(txn.is_activitypub) -m bool true }

                                          http-response set-header Cache-Control "max-age=60, public" if { var(txn.is_activitypub) -m bool true }
                                          http-response cache-store jsoncache if { var(txn.is_activitypub) -m bool true }

                                          Sixty seconds is short, but useful. Federation often creates small clusters of identical requests. A remote server fetches an actor, another fetches the same actor, something asks for the same object, something retries. I do not need to cache these responses for hours. I only need HAProxy to answer the second and third identical request during the same small burst.

                                          This is microcaching in the most practical sense. It reduces repeated work without changing the nature of the service.

                                          Static media paths

                                          There is also a rule for static paths:

                                          acl is_short_path path_reg ^/[^/]+/s/
                                          http-request cache-use mediacache if is_short_path
                                          This comes from the same observation that led me to cache snac media with nginx. snac uses static media paths, and those paths often represent the kind of public, repeatable traffic that should not consume backend threads if the proxy can serve it. I call them "short", not because they are, but because the first time I saw them, I thought the 's' stood for "short", not "static". The name just stuck.

                                          In FediMeteo this is less central than on a normal social instance, because I deliberately do not use media except for the avatar and basic static objects. Still, the rule fits the general policy: let HAProxy handle repeatable edge work, and let snac spend its threads where they are actually needed.

                                          Vary, but not without limits

                                          Both caches have:

                                          process-vary on
                                          max-secondary-entries 12
                                          I want HAProxy to process Vary, because content negotiation is real, especially when ActivityPub is involved. But I also want variation to be bounded. If every slightly different header creates another cache entry, the cache becomes a complicated way to miss.

                                          For media, I remove Vary before storing the response. A shared avatar does not need to vary by Accept. For ActivityPub JSON, I am more careful because the representation matters.

                                          Again, the important thing is not the number itself. It is the decision to make variation explicit and limited.

                                          Seeing whether it works

                                          During rollout, I like to expose a very small diagnostic header:

                                          http-response set-header X-Cache-Status HIT if !{ srv_id -m found }
                                          http-response set-header X-Cache-Status MISS if { srv_id -m found }
                                          This is intentionally simple. If HAProxy selected a backend server, I call it a miss. If no backend server was selected, the response came from cache, so I call it a hit. It is not a complete observability system, but it is enough to answer the first question I usually have after changing a cache rule.

                                          Did this request reach snac?

                                          A test can be as simple as:

                                          curl -I https://it.fedimeteo.com/path/to/avatar.png
                                          curl -I https://it.fedimeteo.com/path/to/avatar.png
                                          The second request should be a hit.

                                          For ActivityPub JSON, the test must use the right Accept header:

                                          curl -I \
                                          -H 'Accept: application/activity+json' \
                                          https://it.fedimeteo.com/some/activitypub/object
                                          And I also want to verify that cookies and authorization prevent public caching:

                                          curl -I \
                                          -H 'Cookie: test=value' \
                                          -H 'Accept: application/activity+json' \
                                          https://it.fedimeteo.com/some/activitypub/object

                                          curl -I \
                                          -H 'Authorization: Bearer fake' \
                                          -H 'Accept: application/activity+json' \
                                          https://it.fedimeteo.com/some/activitypub/object

                                          A cache that works should be visible. A cache that is invisible can be correct, but it can also be silently wrong. I prefer to know.

                                          Compression and operational paths

                                          HAProxy also handles gzip compression:

                                          filter compression
                                          compression algo gzip
                                          compression type text/css text/html text/javascript application/javascript text/plain text/xml application/json application/activity+json
                                          This keeps another common responsibility at the edge. The country instances can stay focused on snac and the forecast data, while HAProxy deals with client-facing compression for HTML, JSON, and ActivityPub responses.

                                          There is also a local Prometheus exporter:

                                          frontend prometheus
                                          bind 127.0.0.1:8405
                                          mode http
                                          http-request use-service prometheus-exporter
                                          no log
                                          And I keep internal operational paths, such as statistics and Grafana, handled before the hostname map. These are small details, but ordering matters. Special paths should be explicit and early. The hostname map is for FediMeteo routing, not for every internal tool I happen to expose behind the same proxy.

                                          What this changes in practice

                                          The nice thing about this configuration is that none of its parts is particularly surprising.

                                          The map keeps hostname routing manageable. The backend definitions keep each country isolated and limited. The static homepage avoids dynamic work for something that changes once per hour. The shared avatar gives HAProxy one very hot media object to serve directly. The media cache keeps public files away from snac. The JSON microcache absorbs short ActivityPub bursts. Header cleanup prevents useless variation. Connection reuse avoids unnecessary backend connection churn.

                                          But all of this is only a longer way of saying one thing:

                                          fewer requests reach snac.

                                          That is the metric I care about here.

                                          Not because snac is slow. If anything, FediMeteo exists in its current form because snac is efficient enough to make this kind of project possible on a very small VPS. But precisely because the whole architecture is small and pleasant, I do not want to waste resources where there is no need.

                                          This is also consistent with the rest of the project. Forecasts are serialized by scripts. Updates happen every six hours. The homepage is regenerated hourly. Countries live in separate jails. Snapshots and backups are handled outside the application. No single component tries to be the entire system.

                                          HAProxy is just another small piece, but it sits in the right place to remove a lot of repeated work.

                                          Caveats

                                          This configuration is not a universal HAProxy recipe for ActivityPub services.

                                          It matches FediMeteo as it is now: almost no media, one shared avatar, static homepage, public forecasts, many small snac instances, and ActivityPub traffic that can benefit from a short public cache when there are no cookies or authorization headers.

                                          If I decide one day to use media in forecasts, the media cache rules will need to be reviewed. If I use different avatars for each city or country, the cache will still work, but I will lose the very nice property of one shared, always-hot avatar. If ActivityPub responses become actor-dependent, public JSON caching must be reconsidered. If one country grows a very different traffic pattern from the others, it may deserve a different limit or policy.

                                          This is why I do not like presenting configurations as magic. A good configuration is a written form of the assumptions behind a service. When the assumptions change, the configuration must change too.

                                          Conclusion

                                          FediMeteo started as a small idea and became larger than I expected, but I still want it to feel small in the right ways. Small does not mean fragile. Small means understandable. It means that each part has a reason to exist, and that unnecessary work is removed before it becomes a problem.

                                          The HAProxy layer follows this idea. It terminates TLS, routes hostnames through a map, reuses backend connections, serves the shared avatar from cache, microcaches public ActivityPub JSON, avoids authenticated and cookie-based traffic, and gives me a small diagnostic header to see what is happening.

                                          There is no single brilliant directive here. There is only the usual work of matching infrastructure to reality.

                                          FediMeteo publishes weather forecasts as text and emoji. The homepage is static HTML updated every hour. The accounts share the same avatar because it is enough, and because it is better for the cache. Each country has its own snac instance in its own FreeBSD jail. HAProxy stands in front of them and tries, quietly, not to bother them unless it has to.

                                          I like this kind of infrastructure.

                                          Not because it is invisible, but because when it works well, it leaves very little to say.

                                          https://it-notes.dragas.net/2026/05/18/fedimeteo-haproxy-and-the-art-of-not-wasting-snac-threads/


                                            Ángel boosted

                                            [?]Stefano Marinelli » 🌐
                                            @stefano@mastodon.bsd.cafe

                                            Your reader, your couch, your rules.

                                            Starting today, both my-notes.dragas.net and it-notes.dragas.net are changing the way they distribute content - on RSS and on the Fediverse alike.

                                            No more excerpts. No more "read more" links. Full posts, delivered directly to you, wherever you choose to read them.

                                            Here's why:
                                            I don't run ads. I don't have paywalls. I don't sell attention, or measure success in page views. I never have, and I have no intention of starting. My blogs exist because I enjoy writing, and because
                                            some of what I write might be useful - or simply enjoyable - to someone else.
                                            That's the whole business model. There isn't one.

                                            When that's the case, there's no reason to keep content behind a click.
                                            Sending you a teaser and asking you to visit my site would only make sense if I needed you *on my site* - for an impression, for a conversion, for something. I don't. So why would I make you leave your reader, your client, your comfortable corner of the internet, just to come to mine?

                                            What I want instead is simple: that you can read what I write the way you'd read a book on a cold winter evening, wrapped in a warm blanket. Privately.
                                            Quietly. On your own terms, in your own space, without anything tracking your eyes or nudging you toward something else.

                                            Your RSS reader is yours. Your Fediverse instance is yours. The content should be yours too.

                                            If you're on the Fediverse, you can follow both accounts directly:

                                            - my-notes → @mynotes

                                            - it-notes → @itnotes

                                            These are low-traffic accounts. If you don't want them to get lost in your timeline, feel free to hit the notification bell. I promise it won't make much noise.

                                            So from now on, it will be.

                                              Ángel boosted

                                              [?]Week in Fediverse :fediverse_light: » 🌐
                                              @weekinfediverse@mitra.social

                                              It's Just Me boosted

                                              [?]Stefano Marinelli » 🌐
                                              @stefano@mastodon.bsd.cafe

                                              The time is probably right.

                                              Back in 2022, when I was still using iOS, I wasn’t completely happy with the Fediverse apps that were available. I was mostly using Akkoma, and the interface I liked the most was actually its web UI, even on mobile. So I started playing with Xcode and put together the foundations of an app tailored to my needs.

                                              A lot has changed since then and today we have great alternatives like IceCubes, Mona, Ivory, etc. Each one has strengths and weaknesses though, so I picked up my old project again and kept pushing it forward.

                                              So I’m happy to announce that my app will finally see the light: I’ve been using it for the past few days and, in my spare time, I’m fixing bugs and adding missing features. I’m building it around my own needs, so it doesn’t have to “appeal to everyone”. I wouldn’t call it opinionated, but it’s definitely targeted.

                                              The app will have one key trait: support will be a first-class feature, not an incidental one. Many apps, especially on iOS, support snac as a side effect, but the experience is often not optimal. In this case, the choice is deliberate and it strictly follows the Mastodon API support implemented by snac. So snac will work properly (within the limits of the platform, of course).

                                              Among the features already implemented: the app is minimal and lightweight (under 10 MB, including debug code), easy on RAM, and privacy-first (for example it strips EXIF data from media before posting, so the server will never see it). On snac it also cleans up the "Boosted by Aoderelay" messages that appear when using a relay, removes the character limit, and supports posting in Markdown.

                                              I also added support for Apple Intelligence to generate alt text, both for the media I post and for media posted by others that is missing alt text.

                                              Everything is processed locally through Apple APIs and only on supported devices. The results aren't amazing, Apple Intelligence is extremely limited, but in my opinion it's the only privacy-friendly and ethical way to approach it. And of course, you can disable it.

                                              On Mastodon it supports all the main features: lists, quote posts, granular notifications (you can choose what you want for each category), notification grouping, multi-account support, and it works.

                                              It's still missing a few things (block, etc.) and has some bugs, which I’m spotting as I keep using it.
                                              As soon as it's stable enough, I'll invite a few people to test it. I still haven't fully decided how I'll distribute it: an Apple Developer account has a yearly cost, and I hope to reuse it for other projects too. So this app might be paid, with a trial period, but if possible (I still need to check what’s feasible) I'd like it to be free if you connect to one of the BSD Cafe instances, illumos Cafe, or any snac instance, including your own.

                                              I don't know how long it will take before it's ready... but I can already tell you what it will be called.
                                              It already has a name, and it's... MastoBlaster.

                                              This name was chosen for personal reasons, and also because of its similarity to Master Blaster by Stevie Wonder, which even today feels relevant and fitting for the Fediverse.

                                              Stay tuned!

                                              MastoBlaster, showing my profile on my phone

                                              Alt...MastoBlaster, showing my profile on my phone

                                                Ángel boosted

                                                [?]Tomáš » 🌐
                                                @prahou@merveilles.town

                                                Get snac'd up (not just) for !

                                                You can now purchase propaganda stickers and apparel to show your allegiance or to wage war with.

                                                redbubble.com/people/analognow

                                                Blessed be the hacker @grunfink for they can C.

                                                snac's suzie qr, points to comam.es/what-is-snac

                                                Alt...snac's suzie qr, points to comam.es/what-is-snac

                                                snac alien

SINCE YOU LEFT ME

IVE BEEN SNACPILLED

comam.es/what-is-snac

                                                Alt...snac alien SINCE YOU LEFT ME IVE BEEN SNACPILLED comam.es/what-is-snac

                                                  3 ★ 0 ↺

                                                  [?]Ángel » 🌐
                                                  @angel@triptico.com

                                                  Have a happy Friday and a great weekend, and !

                                                    Ángel boosted

                                                    [?]Dendrobatus Azureus » 🌐
                                                    @Dendrobatus_Azureus@mastodon.bsd.cafe

                                                    It's amazing how much energy has been injected into the FediMeteo project by @stefano
                                                    I've just surfed to the page and saw this enormous amount of Cities which are now covered

                                                    Two Thousand nine hundred and eight cities!

                                                    Yes you've read that right 2908 cities.

                                                    In order to get a city up and running in the system there's a significant amount of code that Stefano needs to add to the system. He has of course written everything in a modular and scalable manner, but that does not make the work any less.

                                                    We should all be thankful for this work that is done so that people from thousands and thousands of cities can see their weather right in the FediVerse.

                                                    If your city has not been covered yet, just be patient, like me. Realize how much work Stefano does in his free time in an OpenSource manner.

                                                    The image is a promotional graphic for a weather service called "FediMeteo". The graphic includes a series of colored icons representing different weather conditions: a sun, a cloud with rain, a cloud with snow, and a warning symbol resembling a hurricane or storm. Below the icons, there's text stating "FediMeteo" and "Get started today!". There's also a call to action: "Visit our website to find your city". The text continues with "Get forecasts for 208 cities across 38 countries, delivered right to your timeline". It includes a reminder to "Follow your city's account." Finally, it offers a way to "Enjoy weather updates." There's a website address listed: "https://fedimeteo.com".

Provided by @altbot, generated privately and locally using Gemma3:12b

🌱 Energy used: 0.426 Wh

                                                    Alt...The image is a promotional graphic for a weather service called "FediMeteo". The graphic includes a series of colored icons representing different weather conditions: a sun, a cloud with rain, a cloud with snow, and a warning symbol resembling a hurricane or storm. Below the icons, there's text stating "FediMeteo" and "Get started today!". There's also a call to action: "Visit our website to find your city". The text continues with "Get forecasts for 208 cities across 38 countries, delivered right to your timeline". It includes a reminder to "Follow your city's account." Finally, it offers a way to "Enjoy weather updates." There's a website address listed: "https://fedimeteo.com". Provided by @altbot, generated privately and locally using Gemma3:12b 🌱 Energy used: 0.426 Wh

                                                      [?]julian » 🌐
                                                      @julian@activitypub.space

                                                      Introducing ActivityPub.Space

                                                      The in-person events at FediCon in Vancouver lit a fire in the Canadian ActivityPub community. One of the louder calls were for a place in the fediverse for ActivityPub discussions; a place for groups to form and for long-running discussions to be had. I was more than happy to get involved. I also wanted such a place, and I've discussed it on and off for the past year. ActivityPub Space is my answer to that call. At the same time, the "fediverse" isn't one singular entity. [SENSITIVE CONTENT]

                                                      The in-person events at FediCon in Vancouver lit a fire in the Canadian ActivityPub community. One of the louder calls were for a place in the fediverse for ActivityPub discussions; a place for groups to form and for long-running discussions to be had.

                                                      I was more than happy to get involved. I also wanted such a place, and I've discussed it on and off for the past year. ActivityPub development discussions are fragmented across multiple disconnected channels, and none of them fully capture the entirety (or a majority, or even a sizeable minority) of the AP developer community. ActivityPub.Space is my answer to that call.

                                                      One constant about ActivityPub is that all ActivityPub developers are on the fediverse, and so it only makes sense that discussions about AP development should also take place on the fediverse.

                                                      At the same time, the "fediverse" isn't one singular entity. @jaz@mastodon.iftas.org famously quipped "There is One Fediverse. There are a Million Fediverses." While I can't make guarantees about this site connecting with a million fediverses, I can say that it does connect with the microblogiverse, the blogiverse (WordPress blogs!), and the Threadiverse (Lemmy/Piefed/MBin/NodeBB/Discourse).

                                                      So how does it work?

                                                      The site is divided up into several categories:

                                                      • General Discussion is for any non-technical discussions about ActivityPub
                                                      • Technical Discussion is for technical deep-dives
                                                      • Meta contains discussions about this site itself
                                                      • Random is for everything else (there's always a "Random" category on a forum, isn't there...?)

                                                      We also pull in content direct from Fediverse news outlets such as "Week in Fediverse", "Connected Places", and "Relay, by We Distribute".

                                                      On the threadiverse side, we directly link to several other fediverse-focused communities on Lemmy and Piefed.

                                                      We utilise a number of relays to both distribute local content out and receive content from the wider microblogiverse. When content comes in via microblogs, they're not usually categorized, so we check for relevant hashtags and automatically categorize them into one of the local categories.

                                                      The wonderful thing about this site is that it fully federates, which means you can follow all of these categories from your app of choice. You don't even have to register a local account if you don't want to, but you definitely can (and should!) if you want the best experience browsing the categorized topics.

                                                      The categories today are rather broad, but over time I hope to split them up into smaller topics based on user demand. Give the site a try today!

                                                      [?]gyptazy » 🌐
                                                      @gyptazy@gyptazy.com

                                                      Looks like I finally successfully migrated from back to () on the same domain name without bigger impacts and jumps.


                                                        It's Just Me boosted

                                                        [?]Stefano Marinelli » 🌐
                                                        @stefano@mastodon.bsd.cafe

                                                        My friends, I'm so excited and happy to introduce a new project: the illumos Cafe!

                                                        The positive and constructive spirit of the BSD Cafe, created and maintained by all the friends who participated from day one in building a strong and friendly community, deserves to spread to other operating systems. Because there are other OSes that deserve attention, certainly more than they're getting right now.

                                                        Operating systems based on illumos (like SmartOS, OmniOS, Tribblix, OpenIndiana, etc.) are mature, stable, secure, and perfectly usable for a wide range of tasks. ZFS is native, zones are an excellent method for containerization, and bhyve and kvm coexist beautifully - and so much more, too much to list in a single post.

                                                        So from today, the illumos Cafe will stand alongside the BSD Cafe in creating a positive, respectful, and growth-oriented (but also relaxing!) environment, starting right here in the Fediverse with a Mastodon instance and a snac one.

                                                        I've written an introductory article about the project, including some technical details. I invite everyone interested to read it: it-notes.dragas.net/2025/08/18

                                                        Choose your table, take a seat and enjoy your time at the illumos Cafe!

                                                          4 ★ 2 ↺

                                                          [?]Ángel » 🌐
                                                          @angel@triptico.com

                                                          For this I want to thank you, Stefano, for being so positive and vital about so many things, and for being one of the greatest ambassadors.

                                                            [?]Mia Quagliarello » 🌐
                                                            @miaq@flipboard.social

                                                            I just had such a lovely conversation with "barista" @stefano about building community here. What a nice way to start the week -- by being reminded that there are thoughtful humans who care about genuine connection.

                                                            Thank you to @_elena and others who recommended him.

                                                            Now I want more fedi friends! 😃 Anyone? Anyone?

                                                              Ángel boosted

                                                              [?]Stefano Marinelli » 🌐
                                                              @stefano@mastodon.bsd.cafe

                                                              Ángel boosted

                                                              [?]Stefano Marinelli » 🌐
                                                              @stefano@fedihome.stefanomarinelli.it

                                                              Ángel boosted

                                                              [?]Stefano Marinelli » 🌐
                                                              @stefano@mastodon.bsd.cafe

                                                              Some technical details for those interested:
                                                              The entire FediMeteo setup runs on a FreeBSD VM costing around 4 euros per month. It supports almost all major EU countries (plus the UK), with just a few left to complete. Currently, there are 25 separate jails, each running its own instance of snac, totaling 25 instances. The VM load typically stays around 10%, which increases to 30% when updates are published for countries with larger numbers of cities (currently Germany and Italy). The only time the load spikes is when new countries are announced; during that time, all remote instances connect to all cities to download their details.
                                                              As for RAM usage, excluding the ZFS cache, it's currently a total of 213 MB. Yes, MB.

                                                                [?]The Real Grunfink » 🌐
                                                                @grunfink@comam.es

                                                                is the powerful war rig in the army against the axis of biased social networks; is the little buffoon back there in the rearguard, playing their old-fashioned lute and making silly jokes.


                                                                  [?]Stefano Marinelli » 🌐
                                                                  @stefano@mastodon.bsd.cafe

                                                                  Announcing FediMeteo – Weather in the Fediverse!

                                                                  UPDATE: I have created an account for updates and other information on FediMeteo - follow the account @admin to stay updated!

                                                                  UPDATE: Ireland, Poland, Portugal and Switzerland have just been added

                                                                  Weather has always influenced our lives: from agriculture to outdoor activities, to extreme events that, thanks to modern technology, can now be predicted with greater reliability. Personally, weather plays a significant role in my daily decisions, which is why I decided to create a service tailored for the Fediverse.

                                                                  FediMeteo uses Open-Meteo data to publish updates every 6 hours, including current weather conditions, forecasts for the next 12 hours, and predictions for the upcoming days. Each country is served by its own dedicated instance (e.g., it.fedimeteo.com for Italy), managed through snac to ensure simplicity and efficiency in publishing.

                                                                  You can follow FediMeteo directly in the Fediverse (on Mastodon and compatible platforms), via RSS, or by visiting the dedicated page for your city (e.g., fr.fedimeteo.com/paris).

                                                                  Currently supported countries include:
                                                                  Austria, Germany, France, Ireland, Italy, Netherlands, Poland, Portugal, Spain, Switzerland and the United Kingdom, – with many more regions coming soon!

                                                                  FediMeteo is hosted on a FreeBSD-based VPS, with each country isolated in its own jail to ensure security and scalability.

                                                                  Visit the main site to explore the national instances and start following your local weather updates today:
                                                                  fedimeteo.com

                                                                  Happy weather monitoring to all! 🌦️

                                                                  FediMeteo is dedicated to my grandfather, who every evening would give me the weather forecast based on TV, radio, and his personal experience. He would convince me that the weather would be bad, so he had an excuse to accompany me to school instead of me going alone.

                                                                    [?]Jorge Luis ⁂ » 🌐
                                                                    @jorge@saturno.red

                                                                    Don't forget to donate to your favorite #fediverse project or server maintainer 💛

                                                                      Ángel boosted

                                                                      [?]Jon S. von Tetzchner » 🌐
                                                                      @jon@social.vivaldi.net

                                                                      When I talk about the importance of going all in on the Fediverse, I speak based on experience.

                                                                      At Opera we built a massive user community. When I quit, we had something like 35 million registered users and 35 million monthly visitors.

                                                                      The new Opera management did not see the value of that. They believed it was cheaper and better to just use Facebook and that investing in your own community was a waste of money. So they closed down MyOpera and built a following on Facebook and Twitter instead. Then they got caught by the bait and switch when Facebook changed and you would no longer reach your audience, without paying. Later on Twitter changed as well.

                                                                      This is important to explain to companies and institutions as they go shopping for social media sites to invest in. The best investment is clearly in your own site, being part of the Fediverse. It is not even all that expensive to do. It may take longer to build, but at least it is your own.

                                                                      Not saying you cannot build a following on those other sites, but your long term strategy should be the Fediverse with your own server.

                                                                      We try to lead the way here and thus we build Vivaldi Social. Not just for our selves, but to make a point and support the Fediverse.

                                                                        [?]Mastodon Migration Blog » 🌐
                                                                        @mastodonmigration.wordpress.com@mastodonmigration.wordpress.com

                                                                        Mastodon Follow Pack FAQ 1.0

                                                                        What are Follow Packs?

                                                                        They are just packaged topical lists of up to 35 accounts you can follow from your Mastodon or other Fediverse account. You can follow the entire pack by importing a file. And the entire pack loads into a list, so it becomes a feed for that subject. You can also just browse for accounts you might want to follow individually.

                                                                        So, they’re like Bluesky Starter Packs?

                                                                        Yes, but not quite as convenient. It’s not hard, but because Mastodon does not have a one-click way to do this, you need to download a follow pack file and then use Mastodon’s import facility. Instructions are provided in the directory and also below.

                                                                        What Follow Packs are there?

                                                                        Packs are being added all the time. Right now there are packs for Astronomy and Space, Climate, US Politics and Miscellany. For a current directory check out the Mastodon Migration FediBlog at: https://mastodonmigration.wordpress.com/2024/11/20/mastodon-follow-pack-directory-nov-20-2024/

                                                                        How do I do do it?

                                                                        Check out the latest directory at https://mastodonmigration.wordpress.com/2024/11/20/mastodon-follow-pack-directory-nov-20-2024/ . Basically determine which pack you want to follow and download the .csv then import the pack. Instructions are provided. Follows are loaded into a list in your account.

                                                                        OK, but I don’t want to mess up my lists. What happens if I already follow an account in the pack?

                                                                        That’s fine. The followed account will just be added to the new list, and if you already had that account in a list, it will now just be in both lists.

                                                                        Can I then add more accounts to the list?

                                                                        Sure! That’s the idea. Many of these accounts boost other great accounts in their topic area. You will quickly find additional accounts you will want to follow. When you do follow a new account add it immediately to the list by clicking the “…” button at the top of the profile and selecting “Add or Remove from lists”

                                                                        What if I don’t like your pack list title?

                                                                        Simply change it. Click on the list, then the gear icon and you can edit the list name and contents. Also, you can determine if you want to “Hide these posts from home” so they don’t clutter up your home feed.

                                                                        What if I’ve been added to a list and I don’t want to be in it?

                                                                        Every follow pack has a listed administrator. Message them to ask to be removed.

                                                                        How do I know if my account is in a Follow Pack?

                                                                        You can search through the directory. Also, whenever a new directory is posted all members of every pack are notified by being copied on the post.

                                                                        What if I don’t want to follow accounts from Threads or Bluesky?

                                                                        Any pack that contains Threads or Bluesky bridged accounts will have a special notice. Just don’t import one of them.

                                                                        Follow Pack Notices

                                                                        OPT-OUT NOTICE: If your account is listed in any Follow Pack and you do not want it to be, please message the pack administrator and refer to the pack from which you would like your account removed.
                                                                        BRIDGE ACCOUNT NOTICE: Packs that include accounts that bridge outside the Fediverse will be identified with a special notice.
                                                                        REPLIES ON MASTODON NOTICE: Replies include all named accounts. Please edit any replies to remove addresses you do not intend to send the reply.

                                                                        Follow Pack Instructions

                                                                        Download the pack .csv file and import into Mastodon to follow all accounts:

                                                                        – Click on a FollowPack .csv file link to download
                                                                        – Click on Preferences (gear) icon on bottom right
                                                                        – On mobile or narrow desktop click top right “hamburger” button
                                                                        – Click Import and Export >>> Import
                                                                        – Import type dropdown: Select “Lists” (NOT “Following list”)
                                                                        – Verify that ‘Merge’ is selected (IMPORTANT)
                                                                        – Click Browse… button >>> Select “[file name] – list.csv”
                                                                        – Upload >>> Confirm

                                                                        ______________________________

                                                                        This post comes from the WordPress Mastodon Migration Blog: https://mastodonmigration.wordpress.com/

                                                                        You can receive all new posts to this WordPress Blog on Mastodon by following Mastodon account:

                                                                        https://mastodonmigration.wordpress.com/@mastodonmigration.wordpress.com

                                                                        (Copy and paste above address into search to find and follow)

                                                                        Important: Replies on Mastodon to this WordPress post by default include all named accounts. Please edit your reply to remove all addresses you do not intend to send the reply. Thank you.

                                                                          Ángel boosted

                                                                          [?]Stefano Marinelli » 🌐
                                                                          @stefano@mastodon.bsd.cafe

                                                                          This afternoon, an acquaintance joined a Mastodon instance and asked me which "celebrities" are present in the Fediverse, as if it were important to determine the value of a social network based on that.

                                                                          I told him that the most important user in the Fediverse is him. Just as it’s you, reading this. Someone who has decided to interact with others freely. Who has chosen to trust their administrator (or create their own instance) more than they trust those who run traditional, monolithic, centralized social networks.

                                                                          So, I want to thank all the friends of BSD Cafe, whether local or not, for being here and making this place what it is. And I thank all my friends in the Fediverse, who make my timeline lively, interesting, intelligent, fun, and thought-provoking - every day, at any time.

                                                                            Ángel boosted

                                                                            [?]Stefano BSD Cafe (snac instance account) » 🌐
                                                                            @stesnac@snac.bsd.cafe

                                                                            I've just tried a new theme, Pika, on a test snac instance. And I like it!


                                                                              Ángel boosted

                                                                              [?]CoffeeGeek » 🌐
                                                                              @coffeegeek@flipboard.social

                                                                              I have to stop posting active links to our content on Mastodon.

                                                                              Every time I do so now, it brings down our website for up to 5 minutes.

                                                                              We've tried pretty much every claimed fix, including third party caching (which in turn breaks other elements of our website's dynamic display abilities), code changes and such on our back end code, and more stuff I don't understand at all (but have spent money paying our WP developer to implement). None of it has worked.

                                                                              The powers that be need to fix this growing problem of the effect on websites. The more followers and more servers your followers are from, the more impact this has on literally bringing a website to its knees with all the DB calls.

                                                                              For instance, this morning, I posted the lovely article our creative writer Ethan wrote, which ended up only getting 2 boosts and one "favourite" here, but it brought down our website for 4 minutes and 12 seconds.

                                                                              That's not sustainable.

                                                                                Ángel boosted

                                                                                [?]Justine Smithies [She / Her] » 🌐
                                                                                @justine@mastodon.bsd.cafe

                                                                                After getting to try the activity pub server developed by @grunfink on bsd.cafe thanks @stefano , I'm kind of tempted to spin up my own instance. Anyone here other than Stefano that runs their own instance ? Please share you pro's and con's plus any workarounds you have come up with.
                                                                                Also how are you viewing / posting on mobile ? Are you just sticking with web or using the likes of ?

                                                                                codeberg.org/grunfink/snac2

                                                                                  [?]Stefano Marinelli » 🌐
                                                                                  @stefano@mastodon.bsd.cafe

                                                                                  I want to launch a hashtag where, every Tuesday, I'll post a message and it would be great if it became a habit for many.

                                                                                  In a world full of conflicts, selfishness, and egocentrism, it would be nice to focus on the good that others do, what makes our lives better thanks to the contribution of others.

                                                                                  My first to the friends of - both within the community servers and beyond - who have undoubtedly contributed to making my life better, more stimulating, and richer. So, I extend this gratitude to all those who, here in the fediverse or elsewhere, are present and positive, giving me inspiration and motivation.

                                                                                  Truly, thank you!

                                                                                    Ángel boosted

                                                                                    [?]release_candidate » 🌐
                                                                                    @release_candidate@mastodon.bsd.cafe

                                                                                    Lol

                                                                                    Guess who's the "most popular" person in the Fediverse.

                                                                                    fedidb.org/popular-fediverse-a

                                                                                    FediDB showing zuck as the most popular account in the Fediverse.

                                                                                    Alt...FediDB showing zuck as the most popular account in the Fediverse.

                                                                                      Ángel boosted

                                                                                      [?]Week in Fediverse :fediverse_light: » 🌐
                                                                                      @weekinfediverse@mitra.social

                                                                                      Ángel boosted

                                                                                      [?]Stefano Marinelli » 🌐
                                                                                      @stefano@mastodon.bsd.cafe

                                                                                      15 million users in the Fediverse, now.

                                                                                      No ad-blocker needed.
                                                                                      Zero ads.
                                                                                      My data stays on my server.
                                                                                      Interactions are genuine, driven by people's desire, not an algorithm pushing for conflict to boost engagement (and ad sales).
                                                                                      Nobody's here just because it's trendy. If you're here, you want to be here.
                                                                                      The best social media experience I've had in years.

                                                                                      Thank you to all of you, among these 15 million accounts, who have helped make this a wonderful place to be.