Na největší asijskou open–source konferenci OSI Days 2010 jsem byl pozván jako přednášející. Kromě toho jsem ale samozřejmě navštívil i některé ostatní přednášky:
Přestože jsem si své přednášky připravoval už v Praze a během cesty po Indii, tak konečné ladění vyšlo až na den konference, proto jsem přednášku Bastiana Federa bohužel nestihl. Dodatečně jsem se proto podíval alespoň na slajdy, kde mě zaujala např. anotace @expectedException
.
Ve své přednášce jsem se snažil jednak stručně představit Adminer a jeho verzi pro koncové uživatele Adminer Editor a jednak pohovořit o možnostech přizpůsobení těchto nástrojů, což dovoluje administrační rozhraní do značné míry změnit. Povídáním o základních vlastnostech jsem možná mohl strávit víc času, protože jimi účastníci byli nadšeni – nejvíc je zaujala možnost rozesílání e-mailů a editace dat přímo ve výpisu tabulky, která je k dispozici v připravované verzi 3. Možnosti přizpůsobení spolu s ukázkami kódu už na některé z nich možná byly trochu moc složité. K dispozici jsou slajdy a příklad ke stažení.
Přednášky dvou chlapíků z Facebooku patřily k tomu nejlepšímu, co bylo na konferenci k vidění. A tak i když pro většinu technologií používaných Facebookem nemám uplatnění, bylo radost vystoupení sledovat. Později jsem se Davida ptal, jestli je přednášení na konferencích jeho hlavní náplň práce, protože přednáška byla opravdu velmi dobře připravená. Odpovědí bylo, že ve Facebooku stále většinu času programuje, takže není odtržen od každodenní reality.
Druhý chlapík z Facebooku Jonathan Gray vysvětlil, jaké druhy bezschémových databází existují – kromě obvyklých řádkově orientovaných databází jsou i sloupcové, dokumentové, klíč/hodnotové a grafové. Vysvětlil, že ve Facebooku se neomezují na jednu technologii, ale u každého problému znovu vybírají, jaké řešení by pro něj bylo nejvhodnější. Zmínil také, že valnou část dat mají uloženou v normální MySQL.
Na své druhé přednášce Jonathan Gray objasnil, jaké nástroje používají pro logování a pro práci s těmito logy čítajícími několik petabajtů dat.
Já jsem na své druhé přednášce stručně představil NotORM. Dost času jsem věnoval povídání o výkonnosti mého řešení, což pro část účastníků bylo asi zbytečně technické, pro druhou část zase ale asi docela důležité. Ono totiž vybudovat v Indii středně úspěšný webík znamená potýkat se s návštěvností větší než má Seznam.cz. Přednáška neměla takový ohlas jako povídání o Admineru, i tak mi ale v průběhu konference několik lidí říkalo, že se chystají knihovnu vyzkoušet a ptali se na další věci. K dispozici jsou opět slajdy a příklady.
Byl jsem členem panelu o otevřených databázích, kde jsem si se svými desetiletými zkušenostmi připadal trochu jako nováček. Snažil jsem se zastávat konzervativní postoj, že ne každý rovnou potřebuje řešení, které používá Facebook, a že může být užitečné projít si stejnou cestou a řešit stejné problémy, jaké řešily velké servery.
Na přednášce zaměstnance Zendu Kevina Schroedera mě nejvíce zaujala snadná možnost spustit část PHP kódu asynchronně. Funguje to pomocí interního HTTP požadavku, který Zend Server položí tak, že na jeho odpověď není potřeba čekat před vrácením odpovědi. To považuji za killer–feature tohoto serveru, protože jinak se to řeší dosti krkolomně.
Od přednášky Davida Coalliera jsem nečekal, že bych se dozvěděl něco nového, ale přesto se to stalo. Objektům, které lze zavolat jako funkci (od PHP 5.3 díky metodě __invoke), se říká functor. Zaujalo mě, proč Dave pořád říká „we implemented“, „we added“ a podobně a ejhle – on je to vývojář jádra PHP. V hospodě se chová trochu jako balík, a přitom je v pomyslné hierarchii PHP komunity hodně vysoko. Jeho přednáška také byla největší show, protože posledních 10 slajdů odříkal asi za minutu a přesto mu bylo rozumět. Na dotazy z publika se také jako jediný odvážil skočit z pódia a probrat to z účastníky zblízka, protože na pódiu nebylo zvuku z reproduktorů (tazatelé měli mikrofon) prakticky vůbec rozumět.
Drobná Prajwala Manchikatla nečekaně hlasitě popsala základní myšlenky JavaScriptu. U dědičnosti řekla jen ten nejzákladnější postup, který z mnoha důvodů není ideální, ale jinak jejímu povídání nebylo moc co vytknout.
Hrozně mě zajímala přednáška o SVN, ale zajali mě posluchači, takže jsem stihnul jen její druhou půlku. U svých projektů jsem sice už přešel na Git, v práci a v dokumentaci PHP ale pořád používáme Subversion. Z novinek mě nejvíc zaujalo přepracované úložiště, které by mělo data ukládat do SQLite databáze, která by navíc měla být centralizovaná (buď v kořenovém adresáři projektu podobně jako to má Git nebo snad dokonce i v jednom společném úložišti). Dále přechod na protokol HTTPv2, který by měl zredukovat počet pokládaných požadavků, které práci se SVN značně zpomalují. Orientační plán dostupnosti je na stránkách projektu.
Byl jsem se podívat na závěru workshopu Marka Sotáka o skinování Drupalu, což je pro mě španělská vesnice. Trochu mě zarazila krkolomnost šablon ve srovnání třeba s tím, co používá Nette.
Jason Levitt se na konferenci „proslavil“ hlavně tím, že ztropil scénu u své první přednášky, kde dobře nefungovala technika. V přednášce o HTML 5 se věnoval převážně videu, což je jeho hlavní pole působnosti.
Podle hesla „poznej svého nepřítele“ jsem vyrazil na workshop o Zend Frameworku, který mě utvrdil v přesvědčení, že nejde o špatný framework, který ale není určen pro mě. Přijde mi, že všechno se tam dělá tak nějak krkolomně a člověk se hodně napíše i kvůli jednoduchým věcem. A např. šablony, které jsou z mého pohledu jednou z nejpovedenějších věcí v Nette, se musí v ZF používat externí.
Na workshop o Zend certifikaci jsem také nešel proto, abych se snad dozvěděl něco nového, ale tak nějak jsem čekal, že by to mohla být zábava. A z tohoto pohledu mě vystoupení opravdu nezklamalo. Prezentované slajdy byly příčinou, proč jsem v afektu sepsal banální článek o prezentaci ukázek kódu. Odpovědí na polovinu otázek „Co udělá tenhle kód?“ byla odpověď „Skončí syntaktickou chybou“, což bohužel nebyl záměr přednášejících. Navíc jsem se s nimi musel dohadovat, že print v PHP opravdu není funkce, že konstanta opravdu nejde předefinovat (a to jsem radši pomlčel o existenci extenze Runkit) nebo že přiřazení objektu a reference není totéž. Naštěstí jsem měl u sebe notebook, takže dokazování bylo jednodušší. Zarazilo mě, že Zend certifikace prý pořád testuje znalost PHP 5.1 (i s otázkami typu „kdy se zavolá __toString“) a že řada otázek pořád míří na rozdíly mezi PHP 4 a 5. Kdo se v PHP pohybuje poslední dva roky, tak ho tyto otázky vůbec nemusí zajímat. Ale prý se už připravuje certifikace na PHP 5.3. Bál jsem se, že jsem svými neustálými připomínkami workshop poněkud rozbil, na konci ale za mnou přednášející přišel a poděkoval mi, že jsem přednášku obohatil a že by bylo prima, když by takoví experti jezdili do Indie častěji. Až jsem byl trochu v rozpacích.
Podle neoficiálních informací bylo na konferenci přihlášeno až 3000 účastníků, nakonec se jich ale sešlo odhadem tak 500 (část konference byla přístupná i zdarma). Přednáškové sály byly opravdu velké (dva asi tak pro 700 lidí, k tomu ještě tři menší), takže často působily prázdně. Organizační zajištění bylo celkem slušné, alespoň přednášející se měli jako v bavlnce. S WiFi byly trochu problémy (dostali jsme jen několik společných účtů, na které mohl být přihlášený vždy jen jeden člověk najednou), ale to mohlo být účastníkům jedno, protože prakticky nikdo neměl notebook. Rozhodně nelituji, že jsem se na konferenci vypravil, poznat zcela odlišnou kulturu Indie bylo hodně zajímavé.
Diskuse je zrušena z důvodu spamu.