Nie ma Zupy, niech żyje zupa

Dawno dawno temu, w odległej niemieckojęzycznej krainie, grupa ludzi założyła swoją platformę będącą dalekim krewnym Tumblra, pozwalającą użytkowikom postować dowolne treści (obrazy, wideo, cytaty, tekst, audio, po prostu linki, a nawet oceny czegokolwiek), całkowicie darmową i wolną od reklam.

Dołączyłem, nie pamiętam niestety za czyim przewodem, w 2009 roku. Prawdopodobnie był to użytkownik serwisu Blip (kupionego przez Wykop i zaoranego). Ten z kolei pewnie trafił tam dzięki użytkownikowi, którego z kolei pamiętam z czasów MyBlogLog (kupionego przez Yahoo i zaoranego).

Przez te jedenaście lat okazało się, że zupka (dawniej pod soup.io) to nie tylko – a właśćiwie w ogóle nie – “obrazkowy blog”, nie po prostu zmodyfikowany klon tumblra, a zacieśniająca się społeczność ekspresji. Owszem, najświeższe memy i komentarze otaczającej rzeczywistości były właśnie tam, jakimś cudem dni lub miesiące wcześniej niż zobaczyłem je na jakimkolwiek innym serwisie. Ale były też kolorki i kotki, były piękne zdjęcia przypominające, na jak fascynującym świecie żyjemy, byli ludzie, którzy stali za doborem swojego contentu.

Dlatego gdy serwis znienacka ogłosił, że przestanie istnieć w ciągu 10 dni, co oznaczało, że od jutra wszyscy zaczną próbować ratować swoje treści, powodując – częste w historii serwisu – przeciążenie i masę błędów 503… Musiałem zrobić to samo. Soup teoretycznie udostępniało możliwość eksportu wszytkiego pod jednym linkiem, “export RSS” miał zawierać pełną historię – ale 11 lat treści to było dla niego za dużo i zawsze kończyło się to błędem po długim oczekiwaniu.

Tak powstał downsouper, na kolanie, w pośpiechu, bo trzeba zacząć wczoraj. Skrypt w pythonie robi to, co zrobiłby człowiek – wchodzi na dany profil, przegląda wszystkie posty, stara się zrozumieć, czy to wrzucone przez właściciela profilu, czy repostowane od kogoś innego, czy to reakcja, jeśli tak, to na co, czy ktoś to repostował i kto… a gdy dojdzie do ostatniego na danej stronie, klika link “więcej”. A właściwie pobiera jego URL i zaczyna od nowa, ignorując posty, które już widział.

Innymi słowy, zabrałem się do tego zupełnie inaczej niż większość ludzi – nie obrazki, a treść, historia, możliwość prześledzenia kiedy i skąd to wszystko były dla mnie najważniejsze. Obrazków skrypt ściągać nie umiał, ale okazało się to niepotrzebne, bo do tego są sprawdzone narzędzia takie jak wget (i bash, i jq), które “nakarmione” danymi z mojego eksportu zassały 19 GB mojej zupki w 15 minut.

Ale jest coś, czego się nie zmigruje, nie wyeksportuje i nie zrobi backupu – to społeczność. Gdy zupa upadła na trzy miesiące (!), a potem okazało się, że straciła większość danych z całego 2016 (!!!), to część ludzi odeszła. Teraz było wiadomo, że czeka nas to samo. Jak kiedyś, gdy upadł Blip, nie przymierzając. Część ucieka na Tumblra, część na Twittera, część na jakieś malutkie portaliki i już nigdy — niczym po rozejściu się po zakończeniu roku w ostatniej klasie szkoły — nie spotkacie się wszyscy ponownie w jednym miejscu. Nie pośledzisz tych samych strumieni myśli, nie odpowiedzą Ci te same niemal nieznajome osoby.

Tego najbardziej mi żal.

Niemniej jednak dałem szansę portalowi całkiem nowemu i nieznanemu. Napisałem z pytaniem, czy daliby radę obsłużyć mój customowy format pliku, czy powinienem go przeformatować do export RSSa. Odpowiedzieli: “ach, więc to Ty jesteś ikari, już go obsługujemy” :).

Leave a reply

Your email address will not be published. Required fields are marked *