Devblogy - web, který nikdy neexistoval
Devblogy byl jeden z těch projektů, který vznikl před lety a od té doby na něj nikdo nesáhl. Až do teď, kdy jsem se rozhodl zbavit se jednoho serveru, který už skoro na nic nepoužívám.
Ale měl bych asi začít od začátku: Devblogy je jednoduchý agregátor českých vývojářských blogů, který automaticky posílá nové články na twitter. Ne všechny blogy jsou psané česky, ale jejich autoři jsou lidé z Republiky odkojení lahvovým pivem a pocitem zrady.
Už nějakou dobu jsem si pohrával s myšlenkou zahodit PHP web a backend načmáraný ve Scale, a namísto toho web generovat pomocí asciiblogu, tedy stejného softwaru, který tvoří i k47čku. Nebylo by na tom nic komplikovaného, Devblogy mají v podstatě tři části: jedna kontroluje RSS kanály, druhá je zveřejní na webu a třetí novinky pošle na twitter.
Když jsem se díval do statistik, vyplynulo z nich, že webovou část, jež měla několik vychytávek, se kterými jsem si vyhrál, skoro nikdo nepoužívá. Jako kdyby neexistovala. Uživatelé k devblogům přistupují přes RSS export nebo twitter @devblogy (875 followerů, bývalo to přes 2000, ale to byli především arabští boti, které nalákal auto-follow). To dává smysl – chtějí aby se novinky dostaly k nim, automaticky a na kanálech, na které jsou už naladěni. Nikdo se nechce vracet na jeden web, jen aby se dozvěděl, co je v dev-blogosféře nového. Hodně hitů také generoval nějaký bot Slacku a jak říkám: Proč ne?
A bylo jasno: není potřeba komplikovaný web, který nikdo neupotřebí a jen se lidem staví do cesty. Jeho jediná funkce je ukázat, co jsou devblogy zač (seznam článků je k tomuto účelu ideální), kde najít RSS a twitter. Není třeba dynamická PHP „aplikace“, stačí staticky generovaný web, který bude jednou za hodinu aktualizován. K tomu je asciiblog jako dělaný. Doslova.
To ale nebyla jediná změna. Celou věc jsem značně zjednodušil tím, že jsem se zbavil databáze. Devblogy zaznamenaly jen něco přes 6000 článků a to je tak stupidně malé množství dat, že k tomu není potřeba databáze. Stačí jeden textový soubor, jeden JSON na řádek, který všechno obsáhne. Při aktualizaci ho přečtu, přidám nové věci, vygeneruji z něj statický web a hotovo. Nemusím se srát s databází, opatrně aktualizovat stav & snažit se nepoškodit data. Aby bylo jasno, databáze jsou skvělé věci, ale tady operuji přinejlepším s pár desítky mega textu. Celý proces můžu rozjet i na Raspberry Pi. Což je přesně to, co se stalo & devblogy teď běží z maličkého ARM počítače za pár šupů.

Finální statistiky počinu: 5 řádků bashe, 16 řádků Scaly, 269 řádků php, 84 řádků CSS a 18 řádků konfigurace asciiblogu. Možná bych to mohl ještě srazit o nějaký kód, který jsem zkopíroval ze staré verze i když není třeba, ale na tom moc nesejde, funguje to a to je hlavní. Teď doufám, že na to nebudu muset zas pár let sáhnout.