Mastodon

Szczeżuja namawiał, namawiał i w końcu namówił. Znaczy nie namawiał wprost, ale pisał o zaletach fediwersum i jakoś tak mnie zachęcił do założenia konta Mastodon[1]. Nie żeby trzeba było mnie specjalnie namawiać, bo od zawsze miałem słabość do alternatywnych rozwiązań i DIY. Nawet od dłuższego czasu produkcyjnie jest w użyciu Diaspora*.

Geneza

Czemu w ogóle wziąłem się za Mastodona, skoro jest Diaspora*, której używam od kilku lat? To, że Diaspora to niby bardziej Twitter, a Mastodon to niby bardziej Facebook nie miało znaczenia. Zresztą piszę „niby bardziej”, bo odnoszę dokładnie odwrotne wrażenie. Możliwe, że kwestia mojej instancji Mastodona, która limituje ilość znaków we wpisie do 500. Nie żeby mnie to jakoś bolało, ale Diaspora* chyba nie limituje. Przynajmniej nie zauważyłem. No ale może znowu może to być kwestia konkretnej instancji.

Poza tym, że lubię testować nowe rzeczy, poszło o ideę fediwersum i chęć sprawdzenia jak to działa w praktyce. Diaspora* niby umożliwia wymianę z innymi instancjami, ale robi to swoim własnym protokołem. Niespecjalnie przez coś innego używanym, jak zeznaje anglojęzyczna Wikipedia. Były plany implementacji Activity Pub, ale zostały porzucone. Brak wsparcia standardu Activity Pub źle wróży na przyszłość. No i nie ma tak ciekawych implementacji jak Pleroma, czyli własny serwer, który można uruchomić na Raspberry Pi.

Mastodon - propozycja logo
Propozycja logo fediwersum. Tęczowy pentagram. Szatan gender. Gównoburza za 3…2…1…
Źródło: https://en.wikipedia.org/wiki/Fediverse#/media/File:Fediverse_logo_proposal.svg

Pozytywy

Jednak miało być o Mastodonie. Na początek dobre wiadomości. Coś jest i nawet działa. Nie jest to wielkie zaskoczenie, bo Diaspora* działała lata temu. Rejstracja konta na wybranej instancji trwała moment. W przeglądarce WWW jest OK i używalnie. Na mobilki są aplikacje. Jako klienta na Androida wybrałem Tusky, czyli jeden z popularniejszych klientów. Daje radę. I chyba nawet wygodniej mi się przegląda, czyli czyta, niż przez WWW.

Kolejny pozytywny aspekt – jest jakieś życie. Są ludzie, nawet dość regularnie piszą. I pisząc ludzi mam na myśli ludzi, nie konta, na których zapięty jest jakiś bot czyli automatyczny feed.

Są integracje. Na przykład WordPress ma wtyczki, które pozwalają zamieszczać informacje o nowych wpisach na Mastodon[3]. W przypadku Twittera korzystam do tego z 3rd party serwisu, a na niszowego Blablera sam dopisałem stosowny skrypt.

Sama platforma też generalnie działa i nie zauważyłem problemów z korzystaniem. Poza paroma zgrzytami, o których niżej.

Mastodon – negatywy

Niestety, porównując z Twitterem widać braki w funkcjonalnościach. Można followować[2] ludzi ale… już nie hashtagi. Follow użytkownika z innej instancji nie jest intuicyjny. Przynajmniej przez przeglądarkę. Ewentualnie są bugi. Objawia się to tym, że po wejściu na profil ofiary zawsze aktywny jest przycisk follow. Nawet, jeśli już obserwujemy osobę.

Wiele instancji daje się we znaki także gdy chcemy poznać obserwujących dane konto. Nie jest to proste ani dostępne w zasięgu jednego kliknięcia. Tusky w ogóle pokazuje chyba tylko followersów z naszej instancji i nie ma możliwości podejrzenia pozostałych. Przynajmniej ja nie znalazłem, a patrzyłem w ustawieniach, czy nie mam czegoś wyłączonego. Z kolei Mastodon przez WWW wyświetla komunikat:

Followers from other servers are not displayed.
Browse more on the original profile

Czyli da się, choć wymaga dodatkowego kliknięcia. Porównując z rozwiązaniami scentralizowanymi – średnie.

Edycja posta w Diasporze jest wygodniejsza. Po przyzwyczajeniu i zapamiętaniu podstaw składni, Markdown jednak robi robotę, szczególnie na mobilkach, gdzie nie mamy wygodnego dostępu do klawisza ctrl. Mastodon tego nie ma – po prostu wpisuje się tekst. W 99% niekrytyczne.

Kolejna sprawa jest poważniejsza. Rozproszenie powoduje, że w przypadku zamieszczenia linka na przez popularne konto, następuje wiele pobrań przez wszystkie serwery obserwujących daną osobę, w celu wygenerowania podglądu. Taki DDoS przez pobieranie podglądu strony. Efekt można zobaczyć w wątku, z którego dowiedziałem się o sprawie. Było zgłoszone jako issue na GitHubie, ale nie zostało rozwiązane. I nie wiem czy zostanie, bo na szali jest wolność i autonomia działania instancji.

Największa wada w stosunku do „dużych” platform: mało ludzi, mało treści. O ile na Twitterze bez problemu jestem w stanie znaleźć kolejne kilka kont, których mógłbym chcieć followować, to na Mastodonie jest to wyzwanie. Może kwestia ilości kont, może kwestia architektury, a może jestem po prostu za krótko na tej platformie i z czasem się to zmieni? W każdym razie zauważam to i nie cieszy mnie.

Mastodon czyli wolność

No i na koniec coś co pewnie nie dotyczy całego Mastodona, ale akurat serwera, na którym mam konto i wydaje mi się śmiesznym ograniczeniem, jeśli chodzi o wolną platformę. Zasady serwera mówią, że nie wolno używać nienadzorowanych botów kopiujących z jednego miejsca na Mastodon i że nie wolno crosspostować z Twittera. Kierunkowo, bo w drugą stronę można. Zresztą jest to później wprost napisane:

Cross-posting from Mastodon to other platforms is fully permitted. Cross-posting into Mastodon from another platform is not permitted.

Nie przeszkadza mi to. Gdyby było inaczej mógłbym przecież założyć konto na swoim serwerze, albo postawić własny, nieprawdaż? Natomiast kojarzy się mocno z odpowiedzią Kalego na pytanie co to jest dobry uczynek? I rodzi pytania o kwestie wolności, możliwość działania na większą skalę i ogólnie przyszłość. Raczej przyszłość odległą, więc odpowiedzi nie wydają mi się w tej chwili zbyt istotne.

Podsumowanie

Mastodon przy odrobinie samozaparcia nadaje się do użytku. Koncepcja jest ciekawa, choć ma przed sobą kilka wyzwań. Zdecydowanie wymaga wygładzenia, jeśli chce móc konkurować z „dużymi” na masową skalę. Gdybym miał bawić się w przepowiadanie przyszłości, to jest spora szansa, że Mastodon wchłonie Diasporę. I bardzo mała, że w przeciągu najbliższych kilku lat stanie się zauważalną alternatywą dla Facebooka czy Twittera. Nawet, jeśli moda przetrwa.

Niemniej, u mnie zostanie. Prawdopodobnie właśnie pomału kanibalizując Diasporę.

[1] Jak wynika z wpisu, z kolei Szczeżuję do założenia Mastodona zainspirowałem ja, przy pomocy Diaspory. Rekurencja…
[2] Przydałby się polski odpowiednik angielskiego follow. Niby jest śledzić, ale – podobnie jak obserwować – to pasywna obserwacja, z boku, bez aspektu podążania czyjąś ścieżką, popierania.
[3] Jak widać na przykładzie tego wpisu, wtyczka nie zadziałała. Przyczyna nieznana i nawet nie wiem jak to debugować.
UPDATE Po bliższym przyjrzeniu się opcjom, okazało się, że nie zaznaczyłem opcji „toot on mastodon” przy publikacji wpisu. O tyle bez sensu, że w opcjach wtyczki mam wybrane „autopost new posts”.

Bondage fairies

Niedawno znajomy zarzucił linka do kapeli Bondage fairies. Duet pochodzi ze Szwecji i gra nintendo-death-punk. Gatunek brzmi intrygująco? Wydaje mi się, że tak. Mnie zaintrygowało, posłuchałem i… polecam posłuchać samodzielnie. Mi bardzo podeszło. Takie nieco ośmiobitowe klimaty plus melodyjny rock. Nie piszę raczej o muzyce, ale tym raze daję znać, bo Bondage Fairies to kapela raczej nawet nie tyle nieznana, co mocno niszowa i niedoceniana.

Pomyślałem, że idealna to muza do auta. Postanowiłem więc nagrać płytę do auta. Zespół wydał raptem cztery albumy, wszystkie są na YouTube. Tyle, że w wersji full album. Normalnie do pobierania muzyki z YouTube korzystam z youtube-dl, ale on potrafi pobrać pojedynczy utwór. Albo cały album jako jedną ścieżkę. W tym przypadku byłoby to nawet używalne, ale okazuje się, że da się lepiej.

I tu druga część wpisu. Z odsieczą przychodzi program album-splitter. W zasadzie prosty skrypt w Pythonie, który zresztą korzysta z youtube-dl. Do tej porty uważałem znaczniki czasu i spisy utworów na YouTube na różnego rodzaju składankach za przydatny dodatek do słuchania. Okazuje się, że ma to też zastosowanie przy automatycznym pobieraniu i dzieleniu na pliki. Korzystanie jest proste i dobrze opisane, więc nie będę dublować. Do pobierania muzy do auta IMO idealne rozwiązanie.

Mapowanie klawiszy w macOS bez Karabiner Elements – HOWTO

Karabiner Elements to popularne narzędzie do mapowania klawiszy na macOS. Narzędzie jest wygodne, ale ma parę problemów. Trzeba instalować oddzielny program, były ostrzeżenia o legacy system extension, które opisywałem przy okazji opisu upgrade. Nie testowałem, ale podobno nie działa po upgrade do Big Sur.

Większość znanych mi ludzi wykorzystuje Karabiner Elements do prostego celu: zamiany prawego option z prawym command. Wszystko po to, żeby wygodnie, czyli tak samo jak na PC, wpisywać polskie znaki diakrytyczne. Robiłem tak i ja, a program był w ogóle zupełnym must have na macOS.

Mapowanie klawiszy w macOS bez Karabiner Elements - obrazek
Źródło: wygenerowane za pomocą https://thumbnail.ai/

Ponieważ znalazłem dziś kolejną osobę, która nie wiedziała, że się da, a wykorzystywała właśnie w tak prosty sposób, podzielę się sposobem, który sprzedał mi znajomy z pracy (dzięki J!). Rozwiązanie nie wymaga dodatkowych programów, wystarczy wbudowane oprogramowanie systemowe.

hidutil property --set '{"UserKeyMapping":
[{"HIDKeyboardModifierMappingSrc":0x7000000e7,
  "HIDKeyboardModifierMappingDst":0x7000000e6}]}'

Powyższe polecenie spowoduje, że klawisze zostaną przemapowane tymczasowo, do restartu systemu. Aby osiągnąć ten efekt na stałe, tworzymy plik ~/Library/LaunchAgents/mapkeys.plist o zawartości:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.nanoant.KeyRemapping</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/bin/hidutil</string>
        <string>property</string>
        <string>--set</string>
        <string>{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x7000000e7,"HIDKeyboardModifierMappingDst":0x7000000e6}]}</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

Oczywiście rozwiązanie można stosować także do bardziej skomplikowanego mapowania klawiatury. Jednak jak wspominałem na początku, większości użytkowników powinien wystarczyć ww. gotowiec. Po takim zabiegu, skoro mamy działającą aleternatywę, można odinstalować Karabiner Elements zupełnie.