Ocalić od zapomnienia: Charyzjusz Chakier

Bywa tak, że mamy ulubionego malarza/pisarza/blogera/vlogera… – ogólnie twórcę, do którego dzieł wracamy wielokrotnie, a one niezmiennie dają nam tyle samo radości. Dla mnie takim twórcą jest Charyzjusz Chakier. Fikcyjny bohater, a zarazem autor bloga na bblog.pl – platformie blogowej należącej do Money.pl (w 2014 przejętej przez wp.pl). Niestety platformę po 10 latach działania zamknięto 14 grudnia 2017 roku usuwając wszystkie wpisy z sieci.

Chakier

Pierwszy wpis Charyzjusza ukazał się 2007-01-09 o 21:02, a ostani 2011-09-05 o 19:16. Cały blog utrzymany jest w stworzonym przez autora gatunku chakier fiction, czyli połączeniu groteski i cyberpunka. Główny bohater jest hackerem i opisuje swoje codzienne życie: podróże magistralą CAN, hakowanie emacsem przez sendmail, a także usypianie córki czy kupowanie podkładki pod mysz

Jednak Charyzjusz to nie tylko bloger, to również algorytmik, co udowodnił długo utrzymując pierwsze miejsce na SPOJu. Do algorytmów nawiązywał w swoich wpisach. Na przykład prezentując algorytmy a-moralne czy geriatryczne.

Charyzjusz był podejrzewany o zchakierowanie wykop.pl, co sam zdementował na swoim blogu, a przerwa w działaniu spowodowana była pracami serwisowymi.

Chakier jest żonaty z Misią. Mają dwoje dzieci Charysię i Charisona. We wpisach pojawiają się również inne postaci np: profesor fizyk-entropista  Wielomysł Nigdziebądź – sąsiad z czternastego, Sławomir Precel – przyjaciel czy… babcia – robot. Głównym antagonistą uniwersum jest Choracjusz Hwast, z którego synem Horaśiem córka Chakiera chodziła do tego samego przedszkola [sic!]. Bohaterami serii Tajemnicze Prosiaki są: Chilary Chomar, Honoriusz Hrust i Chelena Choża.

Jednak na każdego chakiera znajdzie się większy chakier i tak też było w tym przypadku. W lipcu 2011 roku bblog został zhackowany.

Na fali popularności Charyzjusza powstały fanowskie wersje przygód Chakiera, w tym jedna, którą sam polecił na swoim blogu: “Zgrzytanie”.

Wskrzeszanie trupa

Maszyna Czasu

Jak pisałem wcześniej, bblog został zamknięty. Nie ma już dostępu do wpisów. Aby podejrzeć wpisy Chakiera, można skorzystać z WaybackMachine, czyli serwisu zajmującego się archiwizacją internetu. Dzięki temu możemy zobaczyć jak wyglądał blog przed 2017 rokiem. Niestety responsywność tego serwisu pozostawia wiele do życzenia, dlatego postanowiłem wskrzesić blog.

Aby pobrać stronę, skorzystałem ze skryptu hartator/wayback-machine-downloader, który w bardzo prosty sposób pozwala na ściągnięcie całej kopii strony dostępnej na WaybackMachine.

docker run --rm -it -v $PWD:/websites \
       hartator/wayback-machine-downloader \
       chakier.bblog.pl --to 20160416043543 -c 5

Modernizacja

Mamy już kod. Niestety o ile na przeglądarce komputerowej wszystko dobrze działa, to na telefonie widać same krzaki. Do tego wszystko działa powoli i wiele żądań HTTP kończy się błędem.

Po pierwsze, zmiana kodowania z ISO-8859-2 na UTF-8 przy pomocy iconv, a raczej skryptu 2utf8.sh żeby ominąć problemy z nadpisywnaiem tego samego pliku. Przy pracy z dużą ilością zadań które można zrównoleglić warto skorzystać z GNU parallel

find . -name '*.html' |\
 parallel --bar "2utf8.sh {}"
find . -name '*.html' |\
 parallel --bar sed -i 's/iso-8859-2/utf-8/g'

W tym momencie strona była prawie gotowa. Wymagała jeszcze trochę oczyszczenia z funkcjonalności, która nie była już potrzebna (stare style, javascript, linki bez https).

Powyższy schemat pojawił się bardzo często w formie:

find . -name '*.html' | parallel --bar "sed -i '/$X/d' {}"

gdzie X to wyrażenie, które szuka linii do usunięcia.

Finalnym krokiem było wyczyszczenie CSSa i pozostawienie tylko potrzebnych wpisów. Tutaj wyśmienicie sprawdził się uncss

uncss 'https://chakier.gitlab.io/wpis,wybory;coraz;blizej;,56387.html' > stylesheet.css

Wdrożenie

Jako, że blog jest statyczny, potrzebujemy najprostszego hostingu. Na rynku dostępnych jest wiele rozwiązań tego typu. Oparcie wszystkiego o gita dodatkowo dodaje łatwą kontrolę wersji. Tę funkcjonalność posiada np. Github Pages oraz Gitlab Pages

Ponieważ niedawno zdałem sobie sprawę, że Github, który jest domem OpenSource, sam nie jest OpenSource, postanowiłam wypróbować Gitlaba. Cała strona jest w katalogu public, a jedyna zmiana w przykładowym skrypcie to dodanie kompresji, co sprowadza się do jednej linijki, która tworzy skompresowane wersje plików. 

Prawo autorskie

Mimo, ze pobranie strony nie łamie prawa autorskiego, gdyż mieści się w ramach dozwolonego użytku osobistego, to upublicznienie jej w internecie sprawia pewien problem. Z jednej strony nie narusza osobistych praw autora (o ile nie przypisujemy sobie autorstwa), z drugiej może niebezpiecznie wkraczać w prawa majątkowe.

Zarówno Internet Archive, Google Cache, Perma.cc czy nawet internetowe proxy działają w szarej strefie. Nie tylko kopiują całą zawartość strony, ale równocześnie modyfikują jej zawartość: zmieniają linki, dodają nagłówek. W przeszłości Google wygrało proces o naruszenie praw autorskich (Field przeciw Google). A ostatnio internet Archive udostępniło książki bez limitu, wcześniej należało ustawić się w wirtualnej kolejce. W pierwszym przypadku wykładnia jest taka, że autor może skorzystać z pliku robots.txt, taga czy nagłówka noarchive, aby zastrzec archiwizowanie (opt-out). A w późniejszym czasie skorzystać z możliwości zapomnienia np. wysyłając maila. Obie instytucje respektują wspomniane metody limitowania archiwizacji. Jedynym problemem może być udowodnienie praw autorskich, w szczególności gdy domena już nie istnieje albo nigdy nie byliśmy jej właścicielem, a jedynie zostawiliśmy komentarz.

Google wykorzystuje swoją mocną pozycję na rynku wyszukiwarek i pośrednio zmusza autorów wyrażania zgody na archiwizowanie ich stron w zamian dając wyższą pozycję w wynikach. Internet Archive służy “ogólnemu dobru” i ma walory edukacyjne. Oba te działania mieszczą się w tak zwanym fair use – odpowiednik dozwolonego użytku.

Nie jesteś Googlem

Czy można rehostować strony z WaybackMachine? Nie jestem prawnikiem, ale w moim odczuciu

  • strona już nie istnieje
  • nie narusza się osobistych praw autorskich
  • autor explicit nie zabronił jej archiwizowania

to przeniesienie jej kopii na inny serwer mieści się w ramach dozwolonego użytku publicznego. Pamiętajmy, że mamy tu do czynienia z dziełem wprowadzającym nowy gatunek literacki. W innych przypadkach możemy posiłkować się testem trójstopniowym

TL;DR


Leave a Reply