OSI Days 2010 z mého pohledu

Školení, která pořádám

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:

The most unknown parts of PHPUnit

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.

Adminer Editor – create administration interface for free in PHP

Jakub Vrána a elePHPant

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í.

Building & Scaling Facebook with Open Source

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.

NoSQL Overview

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.

Hadoop, HBase & Hive at Facebook

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.

NotORM – effectively get relational data in PHP

Jakub Vrána a NotORM

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.

Open Source Databases

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.

Using Zend Server to run you PHP Applications

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ě.

PHP 5.3, a walkthrough

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.

Core concepts of worlds most misunderstood language –Javascript

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.

Subversion 1.7 and the future of features

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.

Drupal Theming

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.

HTML5: State of the Art?

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.

Building applications with Zend Framework

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í.

Mastering Zend Certification

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.

Závěr

OSI Days 2010 Speaker

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é.

Jakub Vrána, Osobní, 29.9.2010, diskuse: 5 (nové: 0)

Diskuse

cvičební úbor:

Ahoj Jakube. Dobře ti tak ;-)
* jaký jsi měl ohlas se svými přednáškami?
* existuje nějaký link na video z nich?

ikona Jakub Vrána OpenID:

Ohlas byl podle mě docela dobrý. Potlesku moc nebylo, ale to platilo snad u všech přednášek s výjimkou Dejva (dva velké potlesky jako jsou běžné na WebExpo neměl myslím nikdo). Nicméně v průběhu konference pak za mnou chodilo desítky lidí a ptali se mě na nejrůznější věci – třeba i na takové detaily, v čem jsem nakreslil schéma databáze použité v prezentaci a byli hodně překvapení, když jsem jim ukázal, že je to přímo součást Adminera. Taky se se mnou všichni chtěli pořád fotit, to je ale asi národní zvyk.

Dva velké sály (ve kterých jsem přednášel) se na video natáčely permanentně, ale jestli bude někde k dispozici záznam, to nevím.

ikona Ladislav Prskavec:

Koukam, ze Jakub ma nejake pekne ohlasy zde:

http://joind.in/talk/view/1917

http://joind.in/talk/view/1906

optik:

Pěkné, je vidět, že jsi měl docela úspěch, gratuluji. Takové věci jako PHP, Linux a open source asi mají v Asii budoucnost, už podle toho, že moc lidí nemá notebook je vidět, že se tam i běžným lidem v IT nežije asi zrovna lehce.

Jinak nevím, co je myšleno tím, že šablony musí ZF používat externí. V ZF je šablonami klasické PHP embedované v HTML, žádná další syntaxe navíc, což má své výhody i nevýhody.

ikona Jakub Vrána OpenID:

Za dvě zásadní vlastnosti šablon považuji zakázání obratů, které se netýkají výpisu dat, a zajištění automatického ošetřování vypisovaných dat. Ani jedno PHP šablony nenabízí. Ale pokud vím, tak se dá Zend Framework propojit třeba se Smarty.

Diskuse je zrušena z důvodu spamu.

avatar © 2005-2024 Jakub Vrána. Publikované texty můžete přetiskovat pouze se svolením autora. Ukázky kódu smíte používat s uvedením autora a URL tohoto webu bez dalších omezení Creative Commons. Můžeme si tykat. Skripty předpokládají nastavení: magic_quotes_gpc=Off, magic_quotes_runtime=Off, error_reporting=E_ALL & ~E_NOTICE a očekávají předchozí zavolání mysql_set_charset. Skripty by měly být funkční v PHP >= 4.3 a PHP >= 5.0.