Współczesny web development przyzwyczaił nas do gigabajtów pamięci, wielordzeniowych procesorów i gigabitowych łączy. Moja przygoda z programowaniem stron zaczęła się jednak w zupełnie innych realiach - w latach licealnych, gdy na biurku stała wysłużona Amiga 1200, a o stałym internecie w pokoju można było tylko pomarzyć.
Nie był to żaden hipsterski kaprys kolekcjonera ani celowy retro-eksperyment. To były twarde realia tamtych lat: na nowoczesnego peceta po prostu nie było wtedy budżetu, więc jedynym oknem na informatykę był sprzęt, który miałem pod ręką. Jeśli chciałem zrozumieć, jak działa web i nauczyć się pisać skrypty, musiałem okiełznać architekturę z 1992 roku.
Liceum: Motorola 68020, 4 MB Fast RAM-u i port z Aminetu
Moje pierwsze środowisko programistyczne nie miało nic wspólnego z dzisiejszymi instalatorami czy edytorami kodu. Do dyspozycji miałem procesor Motorola 68020 oraz dokładnie 4 MB rozszerzenia pamięci Fast RAM. Na tym sprzęcie działał cały system AmigaOS wraz ze wszystkimi narzędziami.
Fundamentem był port PHP 4 dla AmigaOS znaleziony na płytach z archiwum Aminetu. Kod pisało się w szybkich, lekkich edytorach tekstu - niezawodnym CygnusEdzie lub GoldEDzie. Do podglądu generowanego HTML-a służyły amigowe przeglądarki: ABrowse oraz AWeb. Przy 4 MB RAM-u każdy uruchomiony skrypt był odczuwalnym obciążeniem dla maszyny. Każdy błąd składniowy oznaczał powrót do edytora, a o ciężkich bibliotekach nikt nawet nie marzył.
Nauka offline i walka z demowym stosem Miami
W tamtym okresie w domu nie było jeszcze internetu. Cały oficjalny podręcznik PHP w postaci spakowanego archiwum plików HTML trzeba było pobierać na szkolnej pracowni komputerowej, przynosić na nośnikach i rozpakowywać na dysku Amigi. Dokumentację studiowało się od deski do deski w trybie offline: linijka po linijce, ucząc się na pamięć funkcji tablicowych, pętli oraz operacji wejścia-wyjścia.
Gdy wreszcie udało się zestawić sporadyczne połączenie sieciowe, pojawiła się kolejna przeszkoda: stos TCP/IP. Standardem na Amidze był program Miami, dostępny w wersji demonstracyjnej. Wersja demo miała bezlitosne ograniczenia: wyłączała transfer dokładnie po godzinie działania, a po dwóch wymagała pełnego restartu. Pełna licencja shareware kosztowała kilkadziesiąt dolarów - dla polskiego licealisty w tamtych latach była to kwota z kosmosu, kompletnie zaporowa. Każda sesja sieciowa była więc nieustannym wyścigiem z zegarem stosu Miami.
Studia: Dwa Celerony pod Linuksem i narodziny serwisu w 2006 roku
Przełom nadszedł wraz z rozpoczęciem studiów inżynierskich. W pokoju pojawił się wreszcie stały dostęp do internetu oraz pierwszy porządny pecet - własnoręcznie złożona domowa stacja robocza pod kontrolą Linuksa.
To była maszyna z charakterem: wieloprocesorowa płyta z dwoma Celeronami 333 MHz działającymi w trybie SMP pod Linuksem, zmodernizowana później do Pentium II 450 MHz. W zestawieniu z 4 megabajtami Amigi dwa rdzenie pod Linuksem, demon Apache i baza MySQL dawały niesamowity skok wydajnościowy. To właśnie na tej linuksowej maszynie w 2006 roku powstawał kod serwisu kretyn.com.
Debiut na niekomercyjnym mydevil.net
Po kilku miesiącach przygotowań, pod koniec 2006 roku, serwis był gotowy do startu. Trafił na hosting mydevil.net - wówczas w pełni niekomercyjny projekt oferujący zrzutkowe konta shell dla entuzjastów uniksowych technologii. Przy okazji hostowania kretyn.com byłem tam również jednym z administratorów.
Dostęp do powłoki SSH, swoboda konfiguracji i brak komercyjnych ograniczeń sprawiły, że serwis szybko zyskał popularność, stając się alternatywą dla stricte IRC-owych stron z cytatami.

Od Amigi po Cloudflare Workers
Dziś, dwadzieścia lat po tamtych wydarzeniach, współczesna odsłona kretyn.com działa na globalnym brzegu sieci w Cloudflare Workers z rozproszoną bazą D1 opartą na SQLite.
Droga wiodła od amigowego manuala offline studiowanego przy 4 MB RAM-u, przez wyścig ze stosem Miami, dwuprocesorową stację roboczą z Linuksem i shell na niekomercyjnym mydevil.net, aż po dzisiejszy serverless.
Zmieniły się narzędzia i przepustowości, ale zasady inżynierskie pozostały dokładnie te same: treść ponad formę, zerowy narzut niepotrzebnego kodu i szacunek do każdego bajta. Dostępny w ustawieniach motyw retro nie jest więc kostiumem - to bezpośredni hołd dla tamtych realiów i ludzi, którzy budowali polską scenę internetową lat dwutysięcznych.