O podivném snu pana Turinga, hacku s největším VU metrem na světě a síťové IP vrstvě pro přenos paketů s použitím poštovních holubů...
Toto léto si připomínáme velmi oblíbený seriál článků, který na Živě.cz vyšel před více než sedmi lety. Týká se hacků, hackerů, crackerů a podobných záležitostí, které jsou ale stále aktuální. V historických souvislostech si připomeneme, kdo byli původní hackeři a jakými kousky se proslavili.
„Jednou programátor z jedné velmi velké počítačové společnosti navštívil konferenci vývojářů softwaru a když se vrátil, stěžoval si manažerovi: ,Co jsou to za lidi ti programátoři, kteří pracují pro ostatní společnosti? Byli neukáznění, vůbec nedbali na svůj vzhled. Měli dlouhé neučesané vlasy a staré pomačkané oblečení. Během mé prezentace dělali strašný hluk.` Manažer odpověděl: ,Neměl jsem vás na tu konferenci nikdy posílat. Tito programátoři žijí mimo fyzický svět. Považují život za absurdní shodu náhod. Přicházejí a odcházejí, neznají žádná omezení. Nestarají se o svět venku, žijí pro své programy. Proč by se měli zabývat nějakými sociálními konvencemi?` Oni žijí uvnitř Tao.“
K jednomu ze skvělých kousků tzv. „hackers folklore“, patří dílo, z něhož pochází uvedená ukázka, The Tao of Programming od pana Geoffrey Jamese. Jedná se o takové to dílo, o kterém nikdy pořádně nevíte, zda ho máte brát vážně, zda se mu smát, či zda ho odsuzovat a jediné, co víte přesně, je, že si ho jdete přečíst ještě jednou.
Poněkud jednodušší druh humoru poskytují často hackerům uživatelé. Zřejmě znáte příběh o paní, která jednoho dne volala na technickou podporu s tím, že se na jejím PC ulomil držák na kávu, a chtěla vědět, zda to může reklamovat. Po krátkém rozhovoru se ukázalo, že tím držákem na kávu myslí mechaniku CD-ROM. No právě jako reakci na diskuzi, jestli se toto opravdu odehrálo, zaslal do USENETu příspěvek i jiný diskutující a snažil se dokázat, že příběh s držákem na kávu je docela pravděpodobný.
„To je jako lidé, kteří mají problém s nějakým programem (ještě v době před nástupem pevných disků), vy je požádáte o kopii disku a nakonec dostanete xeroxovou kopii. (Viděl jsem to na vlastní oči, to není žádné ,jedna paní povídala`).“
„Velký mistr Turing měl jednou sen o tom, že je stroj. Když se probudil, zvolal: Nevím, zda jsem Turing, který sní o tom, že je stroj, nebo jsem stroj, který sní o tom, že je Turing.“ – Geoffrey James, The Tao of Programming
Nadpis
Někdy může být hack opravdu velkolepý. Představte si ty překvapené tváře, když se v roce 1994 náhle v Bostonu objevil zřejmě největší VU metr na světě. (VU metr jsou např. takové ty diody, které naleznete na rádiích, zobrazující jak hlasitý je v té chvíli zvuk. Tím způsobem jakoby pulzují do rytmu.)
„Čtvrtý červenec je v Bostonu tradičně dnem oslav, kdy se sejdou na obou březích Charles River tisíce lidí na piknik, poslouchají muziku a sledují ohňostroje. Klíčovou částí oslav je hudba. Místní rádiová stanice vždy přenáší vystoupení Boston Pops z Esplanade.
V duchu těchto oslav přeměnili hackeři z MIT vršek Green Building (budova 54) na největší VU metr na světě. Ten se skládal z devíti oken o rozměrech 6×4 stop (cca. 1,8×1,3 metru) osvětlovaných červenými reflektory. To představuje přibližně 250násobek velikosti běžného VU metru na stereo přehrávačích. Celkový výkon tohoto zařízení přesahoval 5 000 Wattů.
Světelná aparatura byla připojena k rádiu, což bohužel znamenalo, že pro ty, kteří poslouchali rádio na druhém břehu řeky, nebyly světelné efekty synchronizovány se zvukem (protože zvuk se šíří daleko pomaleji než radiové vlny). VU metr automaticky přepínal mezi různými zobrazovacími módy, aby mohl vhodně doplňovat následující ohňostroj. Mezi tyto módy patřilo i vysílání zkratky IHTFP (Interesting Hacks to Fascinate people) v morseově kódu a jednorozměrný tetris.“
Obří VU metr na dobové fotografii
„A tak promluvil hlavní programátor: Po třech dnech bez programovaní ztrácí život smysl.“ – Geoffrey James, The Tao of Programming
Když pakety přenáší poštovní holubi
Pokud by vám toto nestačilo, Jargon File se zmiňuje o jednom perfektním loňském hacku RFC standardu 1149:
Existuje tradice vydávání aprílových bláznivých RFC a v roce 1990 tomu nebylo jinak. Vznikla norma RFC 1149, „Standard pro přenos IP datagramů leteckou poštou“. Dočteme se v něm o metodě přenosu IP paketů pomocí poštovních holubů.
O jedenáct let později, 28. dubna 2001, se povedlo úspěšně předvést CPIP (Carrier Pigeon IP – přenos IP pomocí poštovních holubů) mezi dvěma linuxovými stroji umístěnými na odlehlých stranách malé hory. Úspěchu dosáhlo Sdružení uživatelů Linuxu v Bergenu (Norsko). Jejich síťový zásobník používal k výstupu paketů hexadecimální výpisy na tiskárně. Papír s daty byl přenesen holuby, následně opět pomocí technologie OCR převeden do počítače a předán síťové vrstvě přijímajícího stroje.
Zde si můžete prohlédnout log příkazu ping, který hackeři z Bergenu úspěšně provedli. Povšimněte si těch výjimečných časů:
Script started on Sat Apr 28 11:24:09 2001
vegard@gyversalen:~$ /sbin/ifconfig tun0
tun0 Link encap:Point-to-Point Protocol
inet addr:10.0.3.2 P-t-P:10.0.3.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:150 Metric:1
RX packets:1 errors:0 dropped:0 overruns:0 frame:0
TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
collisions:0
RX bytes:88 (88.0 b) TX bytes:168 (168.0 b)
vegard@gyversalen:~$ ping -i 450 10.0.3.1
PING 10.0.3.1 (10.0.3.1): 56 data bytes
64 bytes from 10.0.3.1: icmp_seq=0 ttl=255 time=6165731.1 ms
64 bytes from 10.0.3.1: icmp_seq=4 ttl=255 time=3211900.8 ms
64 bytes from 10.0.3.1: icmp_seq=2 ttl=255 time=5124922.8 ms
64 bytes from 10.0.3.1: icmp_seq=1 ttl=255 time=6388671.9 ms
--- 10.0.3.1 ping statistics ---
9 packets transmitted, 4 packets received, 55% packet loss
round-trip min/avg/max = 3211900.8/5222806.6/6388671.9 ms
vegard@gyversalen:~$ exit
Autoři pokusu se zmiňují o některých nepříjemnostech, které pokus provázely, jako například to, že původně chtěli nastavit prodlevu mezi jednotlivými ping pakety na sedm minut, ale holubi to odmítali a chtěli letět všichni společně. Další omezení plyne ze samotného RFC, které upozorňuje, že jelikož jsou papíry s hexa daty paketů lepeny kolem nohou holubů, je přenosová kapacita omezena délkou nohy holuba. Přesto hackeři uzavírají první pokus optimisticky: „Teď čekáme, až napíše někdo nějakou jinou implementaci, abychom mohli provést testy interoperability a konečně tak dostat toto RFC do standardních kolejí...“
Samozřejmě nemohu článek zakončit bez toho, abych vysvětlil, co to vlastně je Tao of Programming. Ze stejnojmenného textu jsem dnes několikrát citoval, tak tady to je:
„Zformovalo se cosi záhadného, narozeného z tiché prázdnoty. Čeká osamoceno, nehýbá se a zároveň je stále v pohybu. Je to zdrojový kód všech programů. Neznám správné jméno, budu jej nazývat The Tao of Programming. “ – Geoffrey James, The Tao of Programming
Pokud je Tao nádherné a mocné i operační systém je nádherný a mocný. Pokud je operační systém nádherný a mocný, kompilátor je nádherný a mocný. Pokud je kompilátor nádherný a mocný, aplikace je také nádherná a mocná. Uživatel je spokojený a světu vládne harmonie. The Tao of Programming mizí kdesi v dáli a pak se zase s ranním větrem navrací.
Tip: prohlédněte si ostatní díly seriálů Hacky a hackeři
Článek jsme vzhledem k jeho nadčasovému tématu i zpracování jen mírně doplnili a zachována je i původní diskuze.