Mal som opäť tú česť, stretnúť sa s veľmi zaujimavou kompozíciou zdrojového kódu. Bolo potrebné doplniť veľmi jednoduchú funkciu. To však samo o sebe nebolo jednoduché.
Pri pohľade na dadaisticko abstraktný zhluk tisícov písmen som zostal chvíľku vydesene sedieť a rozmýšľal som, či sa nenechať zamestnať radšej v jednotke špeciálneho nasadenia alebo v továrni na pyrotechniku. Život by bol asi podstatne bezpečnejší. Už drobná zmena jedného riadku môže spôsobiť obrovský zosuv funkcií a na povrch by mohli vyliezť noví kostlivci, ktorí sa doteraz pokojne ukrývali pod marastom.
Vravím si. Nebudem sa báť. Trochu to tu prevetráme. Zobral som Eclipse s CDT pluginom a hovorím mu: “Naformátuj ten kód, lebo sa v tom ani kompilátor nevyzná!”. Eclipse schramstol súbor. Začal pracovať. Jedno jadro procesora – plný výkon. Druhé jadro procesora – plný výkon. Kačička začína loziť po strope, tak ako postupne dochádza pamäť. Voda fialovie, tak ako dochádza swap. Vetráky zvyšujú obrátky, tak ako sa zvyšuje teplota procesoru. Po chvíli Eclipse pustil obe jadrá a kód bol krásne naformátovaný.
Listujem kódom a hľadam jeho význam. Jednoznačne som identifikoval autorov sklon využívaniu refrénu a tajomna, ktoré dosahoval nedokumentovaním funkcií a kryptickými premennými typu: _nFlag. Ďalší zaujímavý literárny prvok bolo otváranie nových tém, bez dokončenia predchádzajúcich. Tento prvok bol dosiahnutý pomocou vnárania obrovského množstva ifov s náhodným returnom.
Nehovoriac o tom, že autor bol skutočným majstrom inotajov. Väčšina básnikov by mu mohla len závidieť. Inotaj bol často tak tajný, že som jeho význam našiel až po dvoch hodinách študovania autorovho rukopisu.
Celé dielo sa svojím rozsahom blížilo hrdinskému eposu. Menšie funkcie dosahovali len tri tisíc riadkov husto písaného kódu.
Pokiaľ sa autorovi podarilo identifikovať jeho skrytý talent, musí byť dnes jedným z najuznávanejších svetových básníkov. Pokiaľ pracuje naďalej ako vývojár, tak je to jeho škoda, lebo mohol zarobiť podstatne viac.
A ako to celé dopadlo? Najskôr som sa pokúsil použiť obojručný debugger, proti ktorému sa kód úspešne bránil využitím forkovania a spúšťaním nových procesov. Nezostávalo nič iné, len porozumieť celému dielu a s presnosťou chirurga odstraňovať kusy mŕtveho kódu a ten živý kód reimplentovať na lepšie miesto.
Nakoniec to všetko otestovať pomocou BOOSTu a švajčiarského nožíka medzi sieťovými nástrojmi: netcat.