Głodny wilk

We wpisie o optymalizacji strony pisałem tym, że wilk może być syty, i owca cała. Czyli, w kontekście reklam AdSense, można mieć reklamy i nie mieć reklam. Zarabiać i nie psuć strony wolnymi reklamami.

Dawno temu pisałem co prawda, że wyłączyłem reklamy AdSense. Przynajmniej na podstawowym blogu. Jednak było zgromadzone sporo środków, ale poniżej progu wypłaty. Co skłoniło mnie do salomonowego rozwiązania – włączenia reklam na wybranych stronach. Dokładnie na tych, które mają najwięcej wejść z wyszukiwarki.

Uznałem rozwiązanie za mało inwazyjne z jednej strony, a z drugiej okazało się zaskakująco dochodowe. To nawet nie było słynne 80/20, to bardziej 95/5. Znaczy się kilka(naście) najpopularniejszych stron robiło praktycznie cały dochód. A skoro nie widać różnicy, to po co spowalniać resztę? Brak inwazyjności objawił się także względnie dopasowanymi reklamami. Może nie były tematyczne, ale gdy zerknąłem parę razy, widziałem reklamy po polsku, bez paramedycznych itp. Raczej duże sklepy itp. Czyli jakby znośnie.

Gdybym był zwolennikiem teorii spiskowych stwierdziłbym, że Google specjalnie zwiększa dochód po włączeniu reklam, a potem steruje tak, żeby się wyświetlały, ale żeby jak najdłużej nie można było wypłacić środków. Bo wykres przychodów z reklam AdSense w czasie wygląda tak:

wykres zarobków AdSense w latach 2023-2025. widoczny wyraźny trend spadkowy
Zarobki AdSense, 2023-2025

Nie trzeba doktoratu ze statystyki, żeby zobaczyć, że zarobki spadają. Systematycznie. I to pewnie mimo dodania reklam na jednej czy dwóch popularnych wpisach w tzw. międzyczasie. Próg wypłaty środków znowu jest blisko ale… jakoś ciągle jest to „za parę miesięcy”. Od paru miesięcy. Czyli ewidentne gotowanie żaby. Czy też bardziej: głodzenie wilka.

Dla jasności, mimo pewnych chwilowych aberracji w pozycji, ilości wejść i odsłon, jest stabilnie. Nic się istotnie nie zmienia – ani ilość wejść, ani pozycja. W panelu AdSense też niby wszystko na zielono. A może to globalny trend?

Cóż, skoro tak to ma wyglądać, to jednak nie będzie połowicznego rozwiązania, tylko reklamy AdSense wylecą. Tym razem zupełnie i na dobre. Ale najpierw chcę uzbierać do progu wypłaty…

Zamiast tego[1] uruchomiłem możliwość postawienia kawy. Zupełnie nieinwazyjne, całkowicie dobrowolne. Czy działa? Za wcześnie, by wnioskować. No ale bez złudzeń, przy blogach tego typu raczej sprawdziłyby się mikropłatności, coś w stylu tego, co próbował kiedyś wdrożyć Brave.

To, co mi jeszcze chodzi po głowie to jakaś sieć, która wyświetla „reklamy” non-profit. Społeczne, jakiś open source itp. I czasami, rzadko, tak 1:20 reklamy stron, które należą do sieci. Znacie coś takiego? A może to pomysł na biznes/startup?

[1] W sumie to nie do końca zamiast, bo trochę szerzej i trochę inna motywacja. Więc to „zamiast” to tylko w kontekście „jest blog i są pieniądze”.

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.

Wpisy, których nie było

Uważny czytelnik zauważy, że na blogu ostatnio dość często pojawiały się wpisy z adnotacją, że przeleżały sporo czasu jako szkice. Jakoś tak mam, czasem temat wydaje mi się ciekawy i żeby o nim nie zapomnieć robię zalążek wpisu. Ale czasem nie rozwijam tego zalążka później, bo po namyśle wychodzi, że temat jednak tak ciekawy nie jest. Albo czasem robię prawie cały wpis, ale z jakiegoś powodu nie kończę go. Zwykle brakuje sprawdzenia jakiegoś miejsca, o którym pamiętałem, albo wyszukania i dołożenia grafik. A takiego niedokończonego nie opublikuję przecież, prawda? Co zabawne, później często okazuje się, że niektórym tym szkicom naprawdę niewiele brakuje do finalnej postaci.

Jednak jest tak, że te szkice – aktualnie 16 sztuk – leżą i mnie męczą. Zatem, żeby nie męczyły, skasuję je. Może nie wszystkie, ale przynajmniej znaczącą większość z nich. Ale zanim to zrobię, napiszę tutaj ich tytuły i pokrótce o czym miały być. Może kogoś skłoni do przemyśleń w temacie? A może wyniknie dyskusja i nawet zdecyduję się jednak rozwinąć temat?

Pythona z bibliotekami problemy – szkic z 2018 o tym, że w bibliotekach Pythona jest bałagan i problemy z kompatybilnością. Nie tylko między Python 2.x a 3.x, choć tam to już w ogóle był cyrk.

Kompresja – nieco chaotyczny wpis z 2020 o tym, że VPSy w Aruba cloud podrożały z 4 zł na 12 zł i w związku z tym zrobiłem porządki, a w efekcie tytułową kompresję i z dwóch VPSów przeszedłem na 1 VPS z 20 GB dysku. Plus mała historia wcześniej gdzie miałem hosting bloga. Z kronikarskiego obowiązku: aktualnie nadal w Oracle Cloud (free tier).

Cloud is fraud – w sumie tytuł i jedno zdanie z 2020. Miało być o tym, że cloud (obliczeniowy/hostingowy, czyli AWS, GCP itp.) to trochę ściema, jest drogi i – przede wszystkim – nie daje użytkownikom łatwej możliwości kontroli maksymalnego kosztu. Skomplikowane, wielopozycyjne cenniki z wieloma warunkami też nie pomagają. W tle wszyscy ci, których zaskoczył rachunek za chmurę na koniec miesiąca, czy to za sprawą włamania, czy niespodziewanej popularności.

Radio Nowy Świat – znowu niewiele ponad tytuł i trzy zdania na krzyż. Wpis z 2020, w zamierzeniu o genezie tej stacji i tego, czym dla mnie jest (tzn. czym wtedy było). Sytuacja była dynamiczna, pojawiło się Radio 357, które dla odmiany doczekało się wpisu, choć nieco o czymś innym. Teraz stacja ma inne problemy, a jeszcze wcześniej obie straciły dla mnie mocno na znaczeniu za sprawą streamingu (Tidal, Spotify). Niedawno pojawił się wpis o powrocie do słuchania radia internetowego.

Pirx is dead – kolejny wpis z 2020, znowu tylko tytuł i jedno zdanie. Wrażenia po lekturze Lem: Życie nie z tej ziemi (błędnie zapisałem tytuł jako Fantastyczne życie Lema). O tym, że świetny pisarz, ale jako człowiek – trudny, delikatnie mówiąc. I zdecydowanie nie kryształowy.

Netflix – Zawsze jest coś do obejrzenia, ale jak szukasz konkretnego filmu, to nie ma – to pierwsze zdanie wpisu z 2021. Jest piękne, nadal aktualne i uniwersalne także w stosunku do innych streamingów. Poza tym, trochę o UX, trochę o cenach – w sumie bez sensu. Wpis o streamingu ostatnio chodził mi po głowie, bo sytuacja jest kiepska. Można wydawać niewąskie kwoty, mieć 2-3 subskrybcje i nadal nie móc obejrzeć tego co się chce. Przynajmniej bez dopłaty. Dramat. Skończyło się wpisem.

Szczepionkowe kłamstwa – wpis z końca 2021 w zamyśle punktujący kłamstwa rządowej propagandy zachęcającej do szczepień przeciw COVID-19. Strona zachęcająca do szczepień nadal istnieje. Było też o plakacie, mówiącym, że 99% (sic!) zgonów to osoby niezaszczepione. Wpisu nie dokończyłem, chwilę później pisałem o oficjalnych statystykach, które jawnie przeczą tej rządowej propagandzie. Skończyło się wpisem.

Co się stało z ARMami? – wpis z połowy 2022 o tym, że tanie SoC z procesorami ARM praktycznie znikneły z rynku. ARMy żyją, zyskały na wydajności, ale jest drogo. Nie skończyłem, bo w sumie poza RPi nie jest to do końca prawda.

Dungeons of Dreadrock – miał być wpis z końca 2022 o grze. Nic poza tytułem. O grze można poczytać tu.

Czemu czasem nie warto brać pieniędzy – wpis z początku 2023 o tym, że gdy Blox się kończył, to popełniłem skrypt do migracji blogów (pierwotnie na własne potrzeby) do WordPressa i chciałem komercyjnie migrować blogi. I o tym, że to nie wypaliło w sensownej skali. Z różnych powodów, zaczynając od tego, że Agora cenzurowała informacje o skrypcie i możliwości eksportu blogów z komentarzami, przez konkurencję, po kontakt zainteresowanych na nieużywanym FB, zamiast na mailu (jeden przypadek). Wreszcie kończąc na tym – i to chyba najważniejsze – że ludzie chyba jakoś nie widzieli wartości w migracji z komentarzami. Teraz pewnie bym to rozegrał lepiej.
Z perspektywy czasu uważam, że lepiej było oddać ten skrypt za darmo. Choć nie wiem, czy ludzie by sobie poradzili.

O tym, jak AI odbiera pracę – wpis z połowy 2023 o tym, jak to AI odbiera pracę i czemu nie. Znaczy, że niektórym odbiera, ale globalnie niekoniecznie. Ale tak naprawdę jest tylko narzędziem, a pracę odbierają wybory ludzi[1], którzy wolą generalnie wolą może trochę gorzej, ale taniej. A w ogóle globalnie AI jest kolejnym przejawem automatyzacji, tyle, że nie pracy fizycznej, jak to miało miejsce dotychczas, a powiedzmy twórczej. Bardziej: umysłowej.

Czy to wszystkie szkice? Oczywiście nie. Ale jest to zdecydowana większość.

Fun fact: ten wpis też trochę przeleżał w szkicach.

[1] Pewnie mniej ludzi, bardziej korporacji. Ale ludzi też. Oraz: za każdą korporacją stoją ludzie.