Zatrzymanie planety

Niedawno napisałem, że planeta weszła na dach. Jest to nawiązanie do pewnego dowcipu, który w jednej z późniejszych odpowiedzi zacytowałem. Dowcip najbardziej kojarzę z ostatniego odcinka drugiego sezonu serialu Przystanek Alaska pod tytułem Slow dance i jest tam genialnie podany.

Jednak do rzeczy. Planeta Joggera została uruchomiona prawie równo dziewięć lat temu. Już wtedy Planet Venus, czyli oprogramowanie, o które jest oparta, wyglądało na nierozwijane. Ale znałem je i były pakiety w Debianie, więc uznałem, że jest to jakoś utrzymywane i łatwo dostępne. Liczyłem, że w tak zwanym międzyczasie znajdę jakąś rozwijaną alternatywę. Albo sam wprowadzę zmiany.

W międzyczasie zauważyłem, że są problemy z kodowaniem, które zwalałem na obsługę UTF-8 w Pythonie 2. Nawet robiłem jakieś podejście do naprawy, bez sukcesu. A na przepisywanie na Pythona 3 nie miałem czasu.

Fast forward. Zgłoszenie błędu pewnie jest bliższe prawdy. Problem nie jest z UTF-8, a z emoji. Jednak nie w tym rzecz. Silnik działa na Pythonie 2, który jest nierozwijany od lat. Debian, na którym jest to aktualnie uruchomiony, jest prehistoryczny, bez wsparcia bezpieczeństwa. Zaraz wychodzi kolejna wersja i będzie mnie to uwierać jeszcze bardziej. Nie jest to coś, co chcę mieć uruchomione na serwerze, nawet w kontenerze.

Próbowałem napisać własny prosty parser feedów w Pythonie. W końcu robiłem to parę razy. Nie jest to niby trudne, ale… Formatów feedów jest wiele. I czym innym jest pobranie informacji z feedu, co robiłem dotychczas, a czym innym pobranie HTML. W grę wchodzą błędy bezpieczeństwa (XSSy i podobne atrakcje), konieczność poprawy linków na bezwzględne. Format niby jest standardowy i jest do tego feedparser, ale różni się znacznie między feedami blogów z których składa się planeta. Last but not least, jeden feed to nie zbiór feedów, jakiś cache by tu się przydał.

Wspominałem, że popularna i polecana biblioteka do tzw. sanityzacji HTML w Pythonie bleach, nie jest już rozwijana? Nadal działa, ale… No i nie korzysta się z tego tak po prostu. Co z tego, że zrobię sanityzację linków do obrazków, jeśli zamiast zdjęcia wyświetli się kod HTML. Wygląda to fatalnie. Mogę usunąć te tagi i wtedy po prostu nie będzie zdjęć. Też średnio.

Kolejna sprawa: ruch. O ile planeta ma stały ruch – i przyznaję, że sam często korzystam w ten sposób – to jest on niewielki.

Ostatnia sprawa: czas. Po tym, jak znowu spędziłem z godzinę na szukaniu alternatyw i kolejną na próbach napisania własnego parsera stwierdzam, że nie mam czasu. OK, nauczyłem się nieco o parsowaniu feedów i sanityzacji w Pythonie. Znalazłem alternatywny soft w Ruby, nierozwijany od raptem 5 lat, czyli w porównaniu – nówka. No ale nie jestem przekonany do niego. I nie mam teraz czasu na zabawę.

Co wchodzi w grę dalej:

  • Uruchomienie planety na innej domenie, niezależnie od wybranego silnika. Rozwiązuje – w sumie tylko mój – problem z XSS itp. Nawet mam domenę i serwer. Mógłbym luźniej podejść do sanityzacji. Tylko nadal, to będzie słaby, niebezpieczny soft. I trzeba go napisać.
  • Prosta planeta, gdzie będą tylko tytuły i daty wpisów. Może tekstowy fragment opisu, bez formatowania HTML. Przyznaję, że ma to swoje zalety, jeśli chodzi o pisanie kodu i jest mi blisko do tego rozwiązania. Nadal, trzeba napisać, przetestować, uruchomić.
  • Ktoś z większym zapałem przejmuje planetę. W sumie oczywista oczywistość, cała konfiguracja i wszystkie potrzebne pliki są dostępna na GitHub.

Tymczasem w najbliższym czasie Planeta przestanie aktualizować wpisy. Nie wyłączam zupełnie, bo jest tam trochę linków do blogów. Nie podjąłem decyzji o wyłączeniu (w końcu finalnie to statyczny plik HTML, więc co tu wyłączać). Jako ołtarzyk – zostaje.

Blog questions challenge 2025

W moim bąbelku zaczął Bobiko, ale o akcji dowiedziałem się z tego wpisu. Zastanawiałem się, czy brać w ogóle udział, bo w sumie na większość pytań już gdzieś kiedyś odpowiedziałem, ale niech tam! Do pytań!

Pytania są następujące:

  1. Dlaczego w ogóle zacząłeś blogować?
  2. Z jakiej platformy korzystasz do zarządzania swoim blogiem i dlaczego ją wybrałeś?
  3. Czy prowadziłeś już bloga na innych platformach?
  4. Jak piszesz swoje posty?
  5. Kiedy czujesz największą inspirację do pisania?
  6. Czy publikujesz natychmiast po napisaniu, czy też zostawiasz wersję roboczą jako wersję roboczą?
  7. Jaki jest Twój ulubiony post na Twoim blogu?
  8. Jakieś plany na przyszłość dotyczące Twojego bloga?

Dlaczego w ogóle zacząłeś blogować?

Nie pamiętam dokładnie. Z pierwszego wpisu widzę, że namówili mnie ludzie ze SzLUUG czyli Szczecin Linux Unix Users Group. Wiele osób tam miało wtedy blogi. Nie wiem czemu to miało dokładnie służyć. Wymianie wiedzy? Porządkowaniu jej? Tworzeniu społeczności?

Z jakiej platformy korzystasz do zarządzania swoim blogiem i dlaczego ją wybrałeś?

Aktualnie WordPress na własnym VPS. Czemu tak? Najtaniej, przy moich umiejętnościach i największa kontrola, bo żadna gotowa platforma, a zwłaszcza połączona z brakiem własnej domeny nie daje pełni własności treści/kontroli nad nią. Z drugiej strony WordPress jest bardzo popularny, dość dopracowany i pozwala na dynamiczne komentarze. Ale statyczne generatory bloga kuszą (od lat), tym bardziej, że w okolicach WordPressa nie dzieje się dobrze, ale to temat na inny wpis.

Czy prowadziłeś już bloga na innych platformach?

Tak. Pierwszy był Jogger.pl. Potem Blox.pl. Teraz jest WordPress. Jest pewna ciągłość, bo cała treść jest nadal dostępna online. Poza tym, na pobocznych projektach były/są jeszcze Pelican oraz Tumblr. O mikroblogach nawet nie wspominam.

Jak piszesz swoje posty?

Z tym było różnie, kiedyś często były zapisane jakieś myśli, fragmenty czy szkice w edytorze tekstu w terminalu i potem tworzyłem z tego wpis. Teraz coraz częściej piszę w edytorze WordPressa i albo publikuję od razu, albo zapisuję jako szkic. Zawsze jednak jest to komputer i klawiatura, żadnych smartfonów ani innych metod wprowadzania tekstu.

Kiedy czujesz największą inspirację do pisania?

Nie ma reguły.

Czy publikujesz natychmiast po napisaniu, czy też zostawiasz wersję roboczą jako wersję roboczą?

Zależy od wielu czynników. Od tego, ile mam czasu, od tego, czy chcę coś jeszcze dodatkowego znaleźć i umieścić wpisie, od tego, jak duży jest wpis. Procentowo nie liczyłem i nie mam pomysłu jak to szybko sprawdzić, ale stawiałbym okolice 50/50. O zalegających szkicach szykuje się wpis.

Jaki jest Twój ulubiony post na Twoim blogu?

Nie mam takiego. Zdarzało mi się wrócić po czasie do wielu z nich, z różnych powodów, i każdy z nich cieszył lub był przydatny.

Jakieś plany na przyszłość dotyczące Twojego bloga?

Brak planów. Cały czas chodzi mi po głowie przejście na statyczny generator, ale wiązałoby się to prawdopodobnie albo z wyłączeniem komentarzy, albo z kolejnym genialnym rozwiązaniem naklepanym na kolanie[1]. A ja lubię komentarze.

[1] Jestem prawie pewien, że aktualnie poszedłbym w stronę formularza, który wyśle maila, którego odbiorę, przeczytam i dodam (lub nie) jako komentarz. Tylko to już nie będzie statyczny blog, bo coś musi wysłać treść mailem… Skoro obecne rozwiązanie działa, a tamto spowoduje wiele problemów do rozwiązania, takich jak zabezpieczenia przed spamem to… nie widzę sensu.

Planeta Joggera – About

Planeta Joggera dorobiła się strony about. Normalnie bym nie pisał o tym, ale prośba do linkujących do planety o… zmianę linkowania i kierowanie bezpośrednio na stronę O planecie.

Powód jest prosty – indeksowanie w wyszukiwarkach. Poruszano w komentarzach, że ludzie szukający Joggera w wyszukiwarce nie mają szansy trafić na planetę i… Faktycznie nie mają szansy, bo indeksowanie treści na planecie jest wyłączone, czyli Planeta Joggera nie jest indeksowana. Bo to, by nie podbierać treści właściwym blogom. A na stronie Jogger.pl nie ma żadnej wzmianki o planecie (i nie mam na to żadnego wpływu).

Żeby wilk był syty i owca cała wymyśliłem takie rozwiązanie. Strona about będzie deklarować wyszukiwarkom, że chce być indeksowana, archiwizowana i w ogóle. Jeśli wszystko pójdzie dobrze, będzie ona – i tylko ona – widoczna w wyszukiwarkach. Zatem linkujemy bezpośrednio do niej.

Oczywiście aktualna wersja to raczej zalążek. Jeśli ktoś czuje się na siłach, pomoc w skleceniu sensowniejszego about mile widziana.