Projekt Chanminer
Na 4chan jsem poprvé zavítal krátce po incidentu Boxxy a následném shitstormu. To bylo někdy na začátku roku 2009 a od té doby neuplynul den, abych nebyl na nějakém chanu.
O dva a čtvrt roku později jsem spustil Chanminer, který už 6 měsíců v kuse prochází a archivuje 4chan a další velké imageboardy neboli chany.
Ve světě chanů je obvyklé, že nemají žádnou paměť, žádný archiv a stará vlákna se za nějaký čas nenávratně ztratí v propadlišti dějin. A právě tohle je jejich nejlepší vlastnost. Nulová paměť a široce používaná anonymita vytvořila specifickou kuturu, kde je všechno dovoleno a člověk může říkat, co si doopravdy myslí a není hodnocen podle toho kým je, ale jen a pouze podle svých slov. Není k ničemu vázán, není ničím omezován.
Jestliže je zapomětlivost chanů jejich hlavní přednost, tak proč se sakra snažím všechno archivovat? Jednak jako památku pro budoucí generace, ale hlavně kvůli vědeckému poznání, pochopitelně. Hlavní smysl Chanmineru je identifikovat rakovinu, která zabíjí 4chan. Už od nepaměti si všichni stěžují, že /_/ není, co bývalo a že je tady nějaké blíže nespecifikované něco, co zabíjí /_/. Účel Chanmineru je tedy určit jestli kvalita chanů stoupá nebo klesá. Zatím tedy nemám nejmeší ponětí, jak něco takového změřit, ale jednou na to přijdu.
Hlavní inspirací pro Chanminer byla jedna přednáška na DEFCONu 2005 Meme Mining for Fun, Profit, kde přednášející mluvil o tom, jak analyzoval trendy v programovacích jazycích, aby zjistil, co přijde v budoucnu a mohl se naučit všechny potřebné technologie a pak zářit jak programátorská superstar. Jedním z hlavních poselství oné přednášky bylo: nejdřív musíte mít data. A tak vznikl Chanminer. Začal jako jednoduchý curl skript, který periodicky robotoval 4chan, ale rychle se vyvinul v celkem komplikovaný systém napsaný ve Scale, který kromě 4chanu archivuje 420chan.org 4chon.net, 7chan.org, britfa.gs, operatorchan.org, anothertalk.co.cc, laghouls.com/forum, minichan.org, otakutalk.org a tinychan.org.
Jak už jsem zmínil, Chanminer běží nepřetržitě už 6 měsíců a za tu dobu nasbíral 90 milionů postů, 4,2 milionů vláken a každý den pribude dalších 500000 postů (a tohle tempo je až překvapivě stabilní). V řeči MySQL: 28GB dat, 5,8BG indexů a obyčejný count(*) trvá přes 8 minut.
Samotné robotování je až překvapivě nenáročné: textová část všech zmíněných chanů potřebuje stálý datový tok kolem 50kB/s. Robotování všech obrázků v plné velikosti mi plně vytíží připojení (~450kB/s), takže když už to běží, tak většinou nějak omezeně.
Abych ukázal, že se skutečně něco děje, tak prvních 5 milionů postů si můžete stáhnout tady (potřebujete ještě tohle schéma MySQL databáze). A kdyby někdo toužil po kompletním archivu, stačí mi poslat obrovkou hromadu peněz a nějak se určitě domluvíme.
Kromě Chanmineru nevím o žádném dalším běžícím archivu. Tedy kromě Jasona Scotta z textfiles.com, který má údajně archiv 10 milionů vláken 4chanu představující 5 let jeho historie. Ale nehodlá nic publikovat (aspoň ne v nejbližších letech) protože správně tuší, že by pak následoval shitstorm epických rozměrů.
V další části napíšu pár drobností o tom jak je Chanminer naprogramovaný ve Scale.