23. listopadu 2009

Udělají to znovu, pokud dostanou příležitost

Jak dlouhá je paměť národa? Přibližně dvacet let.

Dne 23. 11. 1989 jsem byl zadržen příslušníky VB poté, co jsem si dovolil fotografovat demonstraci na Palackého náměstí v Kutné Hoře.
Poté jsem byl samozřejmě propuštěn, protože jsem se nedopustil ničeho proti socialistickému právnímu řádu. Ty dvě hodiny na služebně mne ale definitivně utvrdily v tom, že komunismus je čisté zlo. Nereformovatelné zlo, jemuž není možné pasivně přihlížet a mlčky ho tolerovat.

V ten mrazivý čtvrtek jsem také byl, společně s kamarádem Honzou A., vykázán vedením kutnohorského Gymnázia z budovy téhož.
Důvod? Byli jsme studenti ČVUT FEL a dovolili jsme si strašnou věc -- informovat gymnazisty a profesory o situaci v Praze, protože v televizi a rozhlasu tou dobou nebylo nic jiného než komunistická propaganda.

Za dvacet let se KSČM stihla vzpamatovat a její FUD je silný jako nikdy předtím. Když neudělají komunisté nějakou výraznou chybu, budou po dalších volbách opět u moci, ať už to teď ČSSD populisticky popírá, jak chce. Bude nám spoluvládnout, nejprve lokálně, pak celostátně, strana, o níž jsme si mysleli, že patří minulosti.

Opravdu nechci opakovat to, co jiní napsali mnohem lépe, ať už s náležitým patosem nebo s náležitě pozdviženým egem. Pro mě je vzpomínka na události roku 1989 důvodem k obezřetnosti. Nechci prostě, aby tu nějaká další generace musela žít přisehnutě. Skutečně jsme národem pitomců?

Ano, ten čas už se opravdu nevrátí. Pokud se arogantní levičáci s vůlí k moci chopí kormidla -- notně podpořeni nevyléčitelně relativizujícími "levicovými intelektuály" -- bude to vypadat úplně jinak. Výsledek bude ale za několik let podobně nesvobodný. Možná se budou šrouby utahovat i deset, dvacet let, ale o to bude to utažení důkladnější.

Pokud to ovšem všem těm budoucím rathům a paroubkům dovolíme.

3. listopadu 2009

Followeři sobě

Tak se mi včera podařilo stát se poslední kapkou v přetékajícím cizím poháru.

Znáte ten pocit -- utrousíte drobnou poznámku, bez zlého úmyslu. Poznámka vyvolá bouchnutí dveřmi, obočí kolemjdoucích jest pozdviženo v údivu, šepot i hlasité komentáře na tu i onu stranu... náhlé vzedmutí tsunami v rybníku na návsi.
Pak vlna slehne, dveře se opatrně otevřou a vy si uvědomíte, že spíše než o nějaké drama tu jde o bajku s ponaučením.
Můj uštěpačný tweet byl totiž pravděpodobně důvodem vzniku vyhlášky "Mým followerům".

Mým národům.
Mno. Adent žádá své publikum o přijetí jakéhosi kodexu, stručně jde o toto: Dávejte si pozor, v jakém kontextu používáte ve svých tweetech text "adent". Chtělo by se dodat: A retweetujte odkaz na tato pravidla i těm, kdo Adenta nesledují, protože když se tak nebudou chovat všichni, tak se Adent přes některý ze svých několika účtů dozví něco, co nechce vědět a co ho rozčiluje. :-)

Ale vážně, nechci tímto znovu zvedat vlny. Jen mi toto určování pravidel přijde docela smutné, zvlášť v kontrastu s Adentovou krásně liberální obhajobou twitteru:
...Hyde Park. Každý si může vzít bedýnku a říkat, co ho napadne. Někdo ho bude poslouchat - nebo nebude. On sám může poslouchat další, nebo nemusí...
Není to diskusní kroužek, není to uzavřené společenství a není to ani společenství monologistů. Je to proud řečí, které se potkávají, prolínají, zahušťují do dialogů, trialogů... A omezit něco takového na hlásnou troubu "co-právě-dělám" či na "marketingový promokanál" by byla obrovská škoda.


Mé poučení z bajky? Nejde mi o Adenta, svou popularitu si zaslouží a ta může být protivná. Jsem ale víc a víc přesvědčen o tom, že Twitter je, navzdory našim snahám o selekci "kvalitní timeline" a bez ohledu na použitého twitter-klienta, spíše symetrické médium. Ale není to přímo symetrie following/followers, je to složitější a ukrytý vztah (prosím o pozornost, následuje jádro sdělení):

Počet vašich "followers" je přímo úměrný frekvenci výskytu vašeho @jména v cizích tweetech, bez ohledu na to, kolik lidí sledujete. Počet "following" je pak jen ukazatelem toho, nakolik si tuto skutečnost připouštíte.

Je to tedy opravdu Hyde Park, ale na tu bedýnku už se postavil každý a pomlouvá vás, a tak je jen těžké se vyhýbat náhodným přeslechům. Nehledě na to, že ty přeslechy jsou často dost zajímavé a inspirující.

Asi nexistuje obecně přijímaný twitter kodex, jenž by doporučoval vhodnou (a etickou) follow-follow strategii, což okrajově ilustruje i jeden nedávný spor. Spíše jde vždy o intuici, individuální zkušenost a preference uživatele.
Kdysi dávno se nicméně na twitteru říkalo "oko za oko, follow za follow". Čehož začali hojně zneužívat spamboti, takže se to brzy říkat přestalo. A to je škoda.

Rozhodl jsem se tedy, že se za svůj včerejší mistweet potrestám. Půjdu do sebe a své současné sledovače také osleduji, aby mi nikdo z nich nemohl vyčítat výše uvedenou asymetrii. Nechci ale sledovat každého evidentního spammera a marketoida, proto uplatním jistý malinký Turing-like test. Tímto tedy vyhlašuji akci:

Národ sobě.

1. Pokud si myslíte, že vás mám sledovat a nesleduji, napiště nějaký tweet obsahující text @bver. Jestliže mne zároveň sledujete, máte velkou šanci, že vás začnu sledovat také. Jestliže nesledujete, alespoň na sebe pěkně upozorníte.

2. Jestliže vás prudím, dejte mi bez váhání unfollow, zasloužím si to. Buďte si jisti, že si toho všimnu a pravděpodobně přijde "oko za oko...".

3. Hlavně ale... prosím vás... z toho nedělejte vědu a tato pravidla tvůrčím způsobem porušujte!


Takto si spolu budeme hrát, dokud se naplno neprojeví vliv twitterlistů. Co se stane pak, je téma na samostatný text.
Teď snad jen tolik, že naše "pozornost na rozdávání" se stane omezeným zdrojem (maximálně 20 seznamů), což se promítne do fungování všech lokálních zlatých stránek a upozadí to i dnešní, poněkud inflační, měřítko zvané "followers".

Do té doby tu budeme surfovat na svých malých vlnách trapnosti.

Disclaimer: Nemám nic proti osobě Arthura Denta, toto je čistě polemika s jeho dekretem. Většiny Misantropových názorů si velice vážím, Zdroják považuji za to nejlepší, co u nás o webdesignu vychází -- a to i navzdory tomu, že mě Martin Malý nezná a je mu úplně fuk, že ho tu takto pomlouvám. A čestně slibuju, že už se s ním nebudu chtít nikdy kamarádit. :-)

7. září 2009

Ve verzi to nebude

Všichni ajťáci (tedy ajťáci s rozhledem) už vědí, že se v říjnu budou na jinak poklidné lokální scéně konat hned dvě zajímavé IT události: V Brně pořádá Petr Koubský (ákábéčko), v rámci Invex Fora sérii přednášek s názvem IT 1.0/2.0, zatímco v Praze zorganizoval Václav Stoupa, jenž si říká dvanula, druhý ročník specializované konference WebExpo 2009.

Přiznám se, že v tom vidím určitou polaritu, i když se možná pletu. Posuďte sami:

Invex býval dlouhá léta velký, úspěšný, všeobjímající veletrh, široko daleko jediný svého druhu. Mnoho peněz, mnoho marketingové muziky, ožralí VIP, novinářské dny, atd. Vše je dnes většinou pryč.

Loňské debutující WebExpo naopak mnohým návštěvníkům vyrazilo dech tím, jak kvalitní a a fundované přednášky přineslo. O webu přednášeli živnostníci (freelancers), tedy autoři webů, opět autorům webů, tedy sobě rovným, někteří vůbec poprvé.

Brněnská konference má v názvu 1.0, ta suchdolská pak nepřímo 2.0. Je druhá pokračováním té první? Asi sotva, i když tématicky si budou podobné. Obě konference zřejmě navštíví jiní posluchači, což je dáno cílením propagace (WebExpo je zaměřeno více technologicky), výběrem přednášejících, historickými vlivy, místem, atd. Konkurují si tedy obě události? Nevím.

Konference typu 1.0 byly o hardware, software, klientech, serverech, o integraci, o IT průmyslu. Webově orientované konference organizované v O'Reillyovském duchu pak vyšly z původních IT veletrhů stylem, jakým se Vetřelec líhne ze svého lidského hostitele. Jsou o startup podnikání.

A tak podobně, jako je třeba onkologie celý samostatný vědní obor ukrytý v tom, co laik vnímá pod slovem medicína, je i web celé samostatné odvětví ukryté v IT. Je to důsledek zvyšující se složitosti IT systémů: Zatímco před dvaceti lety se ajťáci dělili nejvýš na softwéráře a hardwéráře, před deseti lety si už administrátor databáze jen těžko popovídal s vývojářem programů pro telefony. Dnes je babylonizace oboru ještě větší. Vlivem specializace si dokonce přestávají rozumět i programátoři, kteří používají stejný programovací jazyk -- stačí jen, aby používali odlišný webový framework nebo knihovnu.
Není pak divu, že vznikají konference pro balkanizované webaře, a že zbytek, tedy "IT 1.0" může mít obavy ze ztráty sféry vlivu.

Nebo je to jinak? Jsou v tom nakonec generační vlivy?
Nemyslím si to. Není přece důležitá "verze IT", důležitý je výsledek. O tom ostatně asi bude na IT1.0/2.0 vyprávět právě Roman Staněk, jehož zaměstnanci pak budou o něčem podobném povídat na WebExpu 2009. Good Data jsou pro mne důkazem, že to vlivné není vůbec o nějakém "Us and Them", není to o IT versus Web, celek versus část, 1.0 versus 2.0.
To podstatné, o čem je třeba diskutovat, se táhne napříč verzemi, ať už jde o produkt nebo konferenci.

Proto mi přijde z tohoto pohledu trochu škoda, je, že organizátoři obou akcí nespojili síly. Co tak dát dohromady zkušenost, přehled, konktakty a profesionalitu IT s energicky agilní a neokoukanou neformálností Webu?
Co říkáte, pánové Petře a Vašku? Vím, že letos už je pozdě a věřím, že vaše konference budou určitě skvělé. Neuděláte ale nějaký "WebIT! 2010"?
To by byla teprve bomba.

8. srpna 2009

Kterak David, král Internetu, přemohl vzpurné agnostiky

Část I - Vzestup pana Davida z Railsů

Bylo nebylo, v jedné malé IT firmě, přemýšlel jednoho dne programátor David H. nad svou prací. Měl toho hodně na todo listu a nešlo mu to příliš od ruky.
Jazyky, jimiž popisoval své webové dílo, byly příliš upovídané, neohrabané a navíc hustě nejednotné: Javascriptové motlitbičky, kratičké to prohlížečové otčenáše, se stále opakovaly a proplétaly v HTML křoví, databáze na druhém konci se nechala oslovovat pouze "YOUR HIGHNESS, PLEASE SELECT SOME DATA FROM YOUR TABLE TREASURE, ORDER IT AND SEND IT VERY QUICKLY BACK TO ME THROUGH MY TCPIP INTERFACE, NOW(), YES, FROM ALL AVAILABLE ENCODINGS USE THAT OF UNICODE, NO ANOTHER PROCESSING IS REQUIRED, THANK YOU VERY MUCH INDEED". S každým datovým typem byla spousta práce a nějaké knihovny nebo užitečné abstrakce -- pokud vůbec byly k mání -- byly příliš nepružné.

Takhle to nejde, řekl si David. Pořád se musím opakovat v tom, co chci napsat, a na to důležité, co odlišuje mou aplikaci od ostatních, se pak vůbec nesoustředím. Prohledávám mnoho různých referenčních manuálů od různých jazyků. Esence mého webu je příliš rozpuštěna v banalitách nižších úrovní kódu. Nešlo by to nějak stručněji? Abych stále nemusel vymýšlet ty samé identifikátory -- vždyť Customer je stále Customer a je to vlastně pořád jen řádek v tabulce customers. A má stále svůj jedinečný id, tak jako jakýkoliv jiný objekt webu. Vždyť stále konfiguruju databáze stejným způsobem, ať už píšu jakoukoliv aplikaci. Vždyť tu svoji Ajaxovou vychytávku kopíruju do všech stránek, ba co víc -- každou novou stánku mohu dokonce vytvořit automaticky skriptem -- tak jsou si podobné -- a pak ji teprve rozrůznit individuálním kódem.

Nepotřebuji stále činit ty samé volby, nemusím, když začínám psát aplikaci, dělat stále ta samá rozhodnutí, uvědomil si David. Chtělo by to to, co se opakuje, nějak jednoduše generovat. A chtělo by to celé slepit nějakým děsně pružným jazykem... Hm...
I vzal jazyk Ruby, do té doby nepříliš známou kuriózní japonskou napodobeninu Pythonu, a shledal jej krásným. "It is fun to code again!", zaradoval se. A ta skvělá komunita Ruby pohodářů!
Posílen na duchu, jal se David na serveru obalovat databázi abstrakcí, která každou relaci namapuje do Ruby objektu. Podobně obalil v prohlížeči javascriptovou knihovnu Prototype (dost dobrou pro každého), aby se nemusel trápit s Ajaxem. Aplikační logiku soustředil na jediné místo, do Řadiče, kde byla snadno pod Controllou, předvod URL adres do Řadičových metod pak svěřil univerzálnímu Výhybkáři. Na tvorbu nových HTML šablon zapojil mohutné Generátory a Lešenáře.

Po nějaké době radostného prgání vzhlédl David na své dílo. Je to jednotné, elegantní a vyjadřuje to můj názor na to, co je pro web dobré. Sviští to jak rychlík po kolejích. Název je dobrý, ještě logo by to chtělo. Do ERBu si dáme běloskvoucí kolej -- tak trochu připomínající šaškovskou čepici s rolničkami -- vetknutou do rubínového kamene.
Tak se zrodily Ruby on Rails.

A fungovalo to. David pak sekal rychle aplikaci jednu za druhou a vydělal spoustu peněz.
Ostatní weboví kodéři zpozorněli, nebylo možné dále přehlížet tolik (prý 37) Signálů. Jak to, že je ten David tak rychlý? Co on to používá za zázračný nástroj? Nechtěl by se o něj s námi podělit? Že Ruby? Nešlo by to celé rozjet jako open source? Prosíme... Když tak pěkně prosíme...

Weboví lidé dlouho Davida přesvědčovat nemuseli. Lichotilo mu, že se jeho tvrdohlavý ("opinionated") přístup k webovému frameworku podařil. Ano, co bylo dobré pro Davida, bylo určitě dobré pro ostatní kodéry. Rails stačilo vybalit z krabice, nahodit párkrát generátor a modelová železnice se rozjela ještě pod vánočním stromečkem. Nic nebylo třeba pracně spojovat, konfigurovat, atd. Kdysi suverénní databázový aristokrat byl uvržen do domácího vězení na hradě ActiveRecord. Dštil sice vzteky síru a chrlil lávu, nebylo mu to ale vůbec platné, jenom to trošku prosakovalo abstrakcí do hradních zdí, to ale nikomu nevadilo. A ten tajemný mág Ajax? Díky Davidovi jeho služeb teď mohl používat opravdu každý, nebylo nutné se učit nějaká kouzla.

A Davidova hvězda začala stoupat. Lidé po celém světě psali tutoriály, protože používat Rails bylo tak snadné, že napsat o tom, jak to udělat hello world, se vešlo do jednoho blogpostu. Začaly vycházet nejprve recenze, pak celé články v časopisech a nakonec knihy. Známý radar lorda Reillyho zaregistroval rychle letící objekt RoR a tak museli knihkupci ve svých obchodech brzy vyklidit novou poličku (tu mezi poličkami JavaScript a SQL), aby se tam knihy o Ruby a Rails vůbec vešly.
Rails vzkvétaly, k Davidovi přicházeli noví a noví kodéři a dobrovolníků, ochotných položit ruku k dílu, přibývalo. Zprvu tenké a pružné Rails se začaly plnit funkcionalitou a David, jenž v sobě rozpoznal náhle dar vůdce a génia, vyslyšel hlasu obchodníků a stal se králem.
Za pár let byly Rails Enterprise Ready a po drahém kameni Ruby najednou pošilhával skoro každý. A skoro každý líný hipík, jenž si na svém webu ještě donedávna vystačil jen s krabicí skriptózních Perel, chtěl najednou vyzkoušet Railsy.

Část II - Šlechta z Engine Yard

Zde bychom mohla naše pohádka končit, jenže... pak se to celé příšerně zamotalo.

Na Strojovém Dvoře se kníže Yehuda a hrabě Ezra bavili sestavováním a laděním virtuálních strojů. Byli to hračičkové, vše, co je zajímalo, byl tuning motoru v té nádherně lesklé, ale přecejen trošku pomalé káře jménem Ruby. Ladění výkonu je uživit nemohlo a tak si založili manufakturu na webové aplikace. Díky známému Davidově frameworku to šlo snadno a tak měli brzy dvůr plný urozených zákazníků.

Částečně kvůli své šťouravosti, částečně kvůli vrozenému citu pro rychlost, začali si Yehuda a Ezra brzy všímat určitých nedostatků Railsů. RoR byly, stručně řečeno, trochu pomalé a velké.
Ok, řekli si pánové, vyměníme pár součástek -- třeba objektově relační Mapovač by to chtělo nový, nebo... máme tu čím dál víc těhle RESTafariánů, co si stěžujou, že URL výhybka skřípe, co tak vyměnit ložiska? Aby nám to rychleji routovalo... Nebo tenhleten Prototype, neměli bychom to vyměnit za něco intuitivnějšího? A co když každému nevyhovuje šablonizér od ERBů? Co tak sjednocené rozhraní k různým webserverům?

A tak přátelé konstruktoři rozebrali Railsy na součástky a snažili se je poskládat jinak, lépěji. Jenže to do sebe nepasovalo, původní framework tvrdošíjně omítal nové díly tak, jako tělo nemocného odmítá transplantované orgány. Davidova Tvrdohlavá Konfigurace(TM) se vždy novému uspořádaní vzpírala. Ať už chtěli zamontovat do celku DataMapper, jQuery nebo Haml, původní staré díly byly natolik srostlé se zbytkem frameworku, že se nedaly jednoduše vyměnit.

Nu což, když to nejde zapojit do Rails, postavíme si framework nový, lepší. Bez tvrdohlavé konfigurace. Mít předvařené nastavení je fajn, každý začátečník jistě ocení, že všechno hned funguje. Co ale my, pokročilá tuningová aristokracie? Přece nechceme, aby nás David stále vodil za ruku. A co jiní šikovní web autoři na vyšší úrovni? Vždyť každému jen trochu schopnějšímu progišovi musí za chvíli lézt jediný správný Davidův názor na nervy.

Však jádro frameworku nemusí být napojeno na to ostatní. Nemusí nic dopředu vědět o relační abstrakci, o javascriptové knihovně, o technologii HTTP šablon. Náš framework může být takto krásně agnostický, co nepotřebujeme, to nepoužijeme.
No a samozřejmě, že je to pak celé jednodušší, čitelnější a rychlejší.

Naši konstruktoři si vzápětí uvědomili, v čem je podstata problému: Autoritativní přístup krále Davida je to, co pomohlo říši Railsů vybudovat a šířit její slávu, o tom žádná. Je to ale zároveň i nepřekonatelná filozoficko-teologická bariéra. Ten samý názor, co Railsy proslavil, teď brání jejich rozvoji. Co bylo dobré pro středověký venkov, není dobré pro nové renesanční město.
Chce to víc demokracie. Co takhle nabízet framework ve dvou krabicích? Jednu "opinionated", pro rychlý start, druhou pak jako stavebnici plnou dílů pro hraní. Ať si každý vybere, co mu vyhovuje.

Jak řekli, tak udělali a brzy se začalo o Merbu (tak svůj framework pojmenovali) mluvit mezi Railsovými odborníky. Uznalí kodéři oceňovali jeho rychlost, agnosticitu, čistý a elegantní návrh, jaký si může dovolit jen framework rostlý na zdravě zelené louce.
Jistě, Rails jsou náš bohatě vybavený a lety prověřený framework a Merbu bude dlouho trvat, než se stane "Enterprise Ready"... Ještě to ani není hotové a už je to tak dobré? No, počkáme na verzi 1 a zkusíme to místo Rails, honily se hlavou kacířské myšlenky nejednomu Davidově podanému.
Mem Merbu získal brzo své hlasatele a evangelizátory (zvláště pak slovutného pana Aimonettiho) a rychle se šířil všemi progišovsky zaměřenými sociálními sítěmi.

Část III - Zpětnovazební Signály

Na Davidově zámku zavládlo napětí a nervozita. Král byl poslední dobou stále zamračenější a zlostnější. "Co je to za pohůnky? Tak blbé jméno, jako je Merb, můžou vymyslet jen lidé s Java minulostí!", klel David, kudy chodil, a začal opět vysílat Signály kolem sebe: "Vám se to líbí?", ptal se svých rádců. "No jo, ta myšlenka je... přinejmenším použitelná, Vaše výsosti.", navrhovali rádci opatrně.

Dobrá, řekl po dlouhém uvažování David. Chci to taky. Chci agnosticitu, veřejná rozhraní garantovaná, tak, aby se jednotlivé části Rails do sebe daly zapojovat bez ohledu na verze. Chci rychlejší výhybky.... Nechci ale měnit svou jasnozřivou konfiguraci, která je dobrá pro mě i pro ostatní. A navěky bude.

"Vaše eminence.... ehm.... to není snadné", namítali rádci. "Do Railsů se nám nalepilo spoustu nového kódu, všechno se vším souvisí, těch vrstev, pořád chodí někdo s něčím novým, původní Vaše jasná myšlenka a geniální stavba se nám začíná pomalu hroutit pod tíhou všech těch přístavbiček a ozdůbiček na různých místech. Nepřítel má výhodnější pozici štíhlého lehkooděnce, jenž se ještě nedopustil vážnější chyby, lépe manévruje, je to miláček blogosféry. Merb má méně kódu, proto ho může pružně přizpůsobovat potřebám uživatele a nemusí stále dávat pozor na to, aby zůstával Enterprise Ready jako my."

To je pravda, musel David připustit. Léta strávená nad narůstající kódovou bází Railsů se začínala projevovat, prgání v Ruby už dávno nebylo tolik funny, dokumentace k frameworku začínala pomalu ale jistě připomínat onu nesourodou knihovnu referencí, babylon webových jazyků. To, co tak kdysi nenáviděl.
Co když... co když Merb ve své popularitě Railsy brzo úplně zastíní? Co když se má říše rozpadne a mí věrní odejdou k Merbu? Co když byznys přestane přijímat naše Signály a pokladna postupně vyschne? Co když nebudu slavný?

Ne, na zoufalství mám dosud čas. Poličku Merb vedle své poličky v knihkupectví prostě nesnesu, musím rychle zakročit, rozhodl se David.
Toho bohdá nebude, abych musel měnit Názor.

Část IV - Together we stand

I pozval David v předvečer velkého koncília celou družinu ze Strojového Dvora, jakože na pokec. Že by je jako seznámil se svým nápadem. Že respektuje všechna odlišná stanoviska. ("Pojďme nechat stranou -- jen pro teď samozřejmě -- naše rozdílné Názory a pojďme se bavit řečí, která je nám společná, tedy jazykem Ruby. Však jsme, chlapi, všichni kodeři, ne?").

A tehdy udělal Yehuda a jeho blízcí svou první -- bohužel však zásadní -- chybu: Davidovo pozvání přijal.

"Hele kluci, jste vážně dobrý speed démoni. Takhle vybudovat framework od základu není sranda, vím, o čem mluvím", začal nadšeně David. " Ta vaše agnosticita, to je vážně bomba. Vyměňovat knihovny podle libosti, o tom jsem snil dávno, to už jsem pro Railsy dávno plánoval. Jenže ty moje vladařský povinnosti. Na prgání už nemám vůbec čas, pořád nějaký interview, pořád samý konference. Ruby fun? No more. Heleďte, co byste tomu řekli, kdybychom se usmířili a kdybychom... tak nějak... ehm... spojili síly? Potřebuju šikovného ředitele vývoje, obratného ministra propagandy, pár schopných refaktorizátorů a evangelizátorů... všem bych se bohatě odměnil."

Yehudovi poklesly čelisti: "Vaše výsost promine, ale to nejde. Ceníme si vaší nabídky, ale máme své záměry spojeny s budoucností Merbu a na víc už nám příliš času nezbývá..."

"Samozřejmě víme, jak na tom jsme", náhle zvážněla králova tvář. "Signálům se celkem daří, zatímco váš Dvůr musel nedávno propouštět.... Víte, doslechlo se mi, že se objevily nějaké pochybnosti ohledně originality vašeho kódu. Já bych nechtěl -- na to si vás opravdu vážím -- abyste někde u soudu museli vysvětlovat, co to vlastně znamená, že Merb jsou vlastně Railsy udělané pořádně, jak vy s oblibou říkáte. Proč je tam tolik společných prvků, stejných názvů. Já tohle opravdu nepotřebuju, tenhle negativní marketing, myslím, že všechny zlý jazyky můžu ještě a včas snadno umlčet, pokud budete... totiž budeme spolu spolupracovat."

"Ale, to přece nejde..." hledal Yehuda jen obtížně slova. "Nemůžeme mít vedle sebe dva frameworky. A tvářit se, že spolupracujeme."

"No, já myslím, že si ještě úplně nerozumíme", pousmál se král David. "Ať jsem se se to snažil promýšlet z různých konců, pořád mi vychází, že není pod sluncem místo pro dva dobré webové frameworky psané v jednom jazyce."

Ticho bylo dlouhé a absolutní, přerušil ho až cvrkot startujícího slideshow na královském noteboku.
"Představuju si to nějak takhle: Vyhlásíme sloučení obou frameworků. To nejlepší z frameworku Merb... tedy, říkejme mu nyní pracovně Větev Merb, bude sloučeno do hlavní vývojové větve Railsů. Rails3 rovná se Rails2 plus Merb1", nastínil David vskutku jednoduchou rovnici na prvním slajdu. "Co je dobré pro Rails, je dobré pro všechny Rubyisty, a to jak pro věrné, tak i pro ty, co náhodou sešli na hříšnou stezku, svedeni vábením lákavého agnosticismu. Na konferenci budete tvrdit, že jste vlastně psali Merb s úmyslem poukázat na chyby v Railsech a já se vší pompou vyhlásím, že je mi ctí uvítat v týmu skvělé odborníky, jakými jste vy. Budete Těmi, kdo zbavili Rails hnoje. Kredit zajištěn. Nakonec je to jasný win-win pro vás i pro mě, ne?".

"No... a co komunita?" vzmohl se schlíplý Aimonetti na jakýsi odpor. "Nemůžeme přeci tvrdit , že Raisy jsou super, když ještě včera jsme říkali, že nejsou. Lidi budou naštvaný a přestanou nám věřit."
"Podívej, kámo... můžu ti říkat šéfevangelizátor?", zeptal se král, aniž by očekával nějakou odpověď. "Lidi budou brblat a nakonec si stáhnou nový Railsy, znám je. Vždycky to tak bylo, nakonec si stáhli poslední verzi, přestali žvanit a zvykli si.... A co se týče nějaké změny názorů... jsem připraven dokonce připustit, že jsem se -- jen v něčem, samozřejmě -- mýlil. No představte si to, takovou oběť z mý strany... Tím vytvoříme prostor pro Amonioniho, zdatného to nového ministra propagandy, jenž připraví názorovou platformu pro nastávající velký Merge. Nikdo z nás nemusí ztratit svou čest... a když, tak jen kapku. V budoucnosti plné zářivě lesklých Railsů si na to stejně nikdo nevzpomene."

Yehuda vydechl: "Rozmyslíme si to, králi, musíme se teď poradit."
Králův rubínový mobil se náhle rozezněl. "Eh, tyhlety právníci, to jsem mu říkal, ať teď nevolá", umlčel David telefon. "Dobrá, kluci, já myslím, že se rozhodnete správně... jak říkám, ten váš agnosticismus, to bylo fakt dobrý... Jo, ještě jsem se chtěl zeptat, kdo z vás napíše naše společné komuniké?"

Část V - Ve starých dobrých Kolejích

Měsíce již uplynuly od chvíle, kdy David zachránil svoji říši.
Geniální galejník Yehuda už plně fixuje bugy v přechodové verzi Rails2 a když si potřebuje trochu odpočinout, refaktorizuje Rails2 do podoby Rails3.
Schopný politruk Aimonetti evangelizuje, až se mu z blogu práší, a připomíná nám, co všichni dobře víme: cílem není glorifikovat své jméno, ale vyvinout nejlepší řešení. A pokud zánik Merbu pomůže, aby se Railsy staly opravdu nejlepším frameworkem pod sluncem, je to win-win pro všechny.

Slíbený Merb 1.1 (jakési spasení pro hrstku poražených agnostiků pomocí cesty k Rails3) je v nedohlednu, připravované knihy o Merbu mění názvy. A Merb komunita? Ona tu nějaká byla?
Král David, mistrný státník s pevnou rukou, měl tedy nakonec pravdu. Ještě trochu brbláme, ale už se všichni těšíme, až zase budeme "Enterprise Ready".

6. července 2009

srid pa'i bar do

Aničko,

je to už sedm týdnů od chvíle, kdy ses na nás naposledy podívala. Pak jsi prošla jasným světlem a pak se děly zvláštní věci, o nichž toho teď víš víc než já.
Nyní je rozhodnuto.

Moc bych si přál, aby Tvá dušička došla vysvobození, zasloužíš si to. Pokud se ale máš narodit do tohoto ošklivého, nepochopitelného a nespravedlivého světa znovu, přeji Ti víc štěstí, než jsi měla, když ses tu trápila s námi. Přeji Ti lepší, zdravější tělíčko. Přeji Ti budoucnost, ve které rozvineš naplno své schopnosti, necháš vyniknout svůj intelekt - vím, žes byla šikovná a chytrá, jen jsi nám to nestihla předvést.
Přeji Ti lepší rodiče, než jsme byli my.

Myslím na Tebe stále,
Tvůj táta.