jOpenSpace 2009
Dnes skončil druhý ročník Javovské ne-konference s názvem jOpenSpace, kterou pořádají pánové z Inmite. Podle metody obrácené pyramidy, přejdu rovnou k závěru: letošní ročník byl daleko více uvolněnější než ten minulý (dokonce i na sport se čas našel), přesto mi přinesl dostatek inspirace do příštích měsíců a především řadu kontaktů na zajímavé osobnosti české Java scény. Ty nejhodnotnější informace jsem spíš než z "organizovaného" programu získal z neformální konverzace při jídle a v přestávkách. Ze všech bych vypíchl snad jen skvělé zkušenosti a rady Lukáše Vlčka v oblasti fulltextového vyhledávání (díky Lukáši) nebo skvělou dvouhodinovou konverzaci v kroužku Pavla Juhoše (HP), Václava Pecha (JetBrains) a Maaartina o budoucnosti jazyka Java, porovnání progresivity oproti .NET, jazycích jako je Groovy / Scala apod. Zkrátka a jednoduše, přestože vznikly záznamy z oficiálních "session", ty nejcennější zážitky / informace zachytit na pásku nelze. Ty si člověk odnese, jen když na konferenci prostě je.
Na ne-konferenci se opět sešli lidé z rozdílných společností a především sfér společnosti, kde se lze jen s Javou setkat. Od akademických pracovníků, zaměstnanců z velkých (HP, Sun, Siemens) i malých (FG Forrest :-) ) firem, evangelistů (Roman Štrobl a Václav Pech z JetBrains), freelancerů a vlastníků startupů (Inmite, Code carpet, JetMinds). Ti všichni mají jen jedno společné - vášeň pro Javu.
Letošní konference byla výjimečná i tím, že měla oficiální sponzory:
Konkrétně tedy firmu:
- JetBrains - která věnovala každému účastníku nekonference licenci pro IntelliJ Idea a Rubymine
- Bílý sklep - která věnovala 24 lahví vína pro degustační večer
- Vinobox - která věnovala 12 lahví vína pro degustační večer
Seznam účastníků:
- Michal Šrajer - Inmite
- Cyril Sochor - Mathan, Javlin (CloverETL)
- Marek Potočiar - Sun, nyni Oracle
- Pavol Juhoš - HP, integrační konzultant, architekt, OSGI
- Petr Šmíd - HP, autor externího DSL předváděného Dagim
- Martin Adámek - free lance, Code carpet (sesterska Androidu)
- Pavel Petřek - Inmite, GWT
- Honza Štěrba - Sun (Java FX mobile)
- Lukáš Vlček (Brno, Iba.cz) - Cloud computing, Spring, Apache
- Pepa Cacek - Siemens
- Petr Adámek - Iba.cz (vinný open space talk)
- Lukáš Hasík - Sun, testování Netbeans, testování Cloud computing
- Roman Pichlík - HP, architekt
- Filemon - JetMinds, Ruby, Rails, REST
- Jirka Píša - JetMinds Ruby, Ruby on Rails
- Ondra Nekola - Sun, Java ME SDK
- Petr Ferschmann - SoftEU, Swing aplikace
- Jirka Mareš - ČSAD SVT, Java
- Lukáš Křečan - freelancer, T-Mobile, Java
- Lukáš Kolísko - Sun, Grid Engineering, Reservoir - EU projekt pro cloud computing
- Michal Malhlava - Matfyz, MDA, embedded system
- Pavel Jetenský - Deltax (Deltax, O2)
- Rudolf Pischek - Deltax (Deltax, O2)
- Honza Novotný - FG Forrest
- Václav Pech - JetBrains
- Roman Štrobl - JetBrains
- Martin Grajcar
Program JOS 2009
Pátek
- Zaměstnanci vs. Startup
Jaká je motivace lidí pracovat jako zaměstnanci firem a jaké jsou motivace lidí, kteří se rozhodnou vydělávat jako freelanceři nebo si založit startup? Zkušenosti, pro a proti.
Sobota
- Crossplatformní vývoj v Javě, Petr Ferschmann
Zkušenosti s vývojem přenositelné aplikace v Javě. Jaké jsou vlastně problémy přenositelnosti? Problém s instalátory, různé velikosti písmen, vykonnost GTK na linuxu. Využití JNA pro volání nativních funkcí. OpenJDK je nekompatibilní v oblasti Swing, WebStart nefunguje (nepodporují OpenJDK). - Metoda obrácené pyramidy, Pavel Jetenský
Cenné rady pro lightning talky, které nás všechny donutily k zamyšlení. Začít závěrem, pokračovat rozkrytím problematiky a úvodem. - Compass, Lukáš Vlček
Framework pro fulltextové vyhledávání zjednodušuje přístup k search enginům. Vyvinul Shay Banon pro GigaSpaces - Lucene je hodně nízkoúrovňový. Compass je jednodušší. Jednoduše se integruje ostatními frameworky Spring, Hibernate, JDO. Pro indexování dat, které někde leží vhodnější spíše Solr. Obsahuje funkcionalitu pro Find similar documents - Time management, Satai
GTD (getting this done) - všechny informace o tom co mám dělat dostat z hlavy. Rady pro prioritizaci. - Pražský maraton - google maps, Pavel Petřek
Vizualizace na Google mapy. Vše v paměti, dostatek CPU, dostatek paměti - bottleneck byla síťová karta na pouze 10MB síť. 3500 unikátů - cca 60 requestů za vteřinu. Apache, Tomcat, single servlet. JSON. Write through cache, disk jen pro případ, kdyby vše spadlo. - Vlastní výroba flashky, Michal Šrajer
Jak na výrobu vlastního flash disku, který ve výsledku vypadá jako utržený USB kabel. - Testování NetBeans v Hudsonu, Lukáš Hasík
Automatizované testování UI v Hudsonu. Sada ant skriptů pro pouštění testů na různých mašinách. Plugin do Hudsonu aby se dala nadefinovat matice sad testů, cílových mašin a JDK a pak hromadně testy spustit a posbírat výsledky. Master slave (agenti) architektura. - Prezentační techniky, Lukáš Hasík
Vědět komu budeme prezentovat. Jak se vystupuje u prezentace (nestrkat si ruce do kapes) - přizpůsobit tomu, jak se chováte normálně - zvenčí je dost vidět jestli je to přirozené nebo ne. Prezentace si předem vyzkoušet. Subjektivní negativní pocit (roztřepanost atd.) nemusí být navenek vidět. Slidy - obrázek řekne daleko víc než tisíc odrážek. Agenda na úvod, zda se lidi ptát můžou / nemůžou, v průběhu / na závěr, jak dlouhé to bude. Důležitý je závěr, co si mají lidi odnést a proč se vlastně ta prezentace koná. Presentation Zen - skvělá knížka (spíš na marketingové prezentace). - Webové služby se Spring WS, Lukáš Křečan
Zákazníci většinu věcí z WS nepotřebují - v podatě stačí jen zasílání XML. Spring WebServices - důležité je XSD, SOAP envelope je většinou prázdná, důležitý je obah body (payload). Validace, marshall, unmarshall. Velmi pragmatický přístup k WS. - Referenční dokumentace pro skriptaře, Jan Novotný
Prezentace způsobu jak se v FG Forrest vypořádali s tvorbou refereční dokumentace tvořenou Java programátory pro webdevelopery. Jak dosáhnout aktuální, verzované, úplné a online dokumentace veřejného rozhranní. - InksScape pro negrafiky, Martin Adámek
Živá ukázka tvorby vektorové grafiky v InkScape - jak jednoduše a rychle vytvořit hezky vypadající tlačítko aplikace. - Externí DSL, Roman Pichlík
Owrapování JDBC pomocí thin driver pro možnot integrace do existujících SQL nástrojů - překlad SQL z DSL podoby do cílového tvaru daného aktuálním API. - Erlang, Filemon
Úvod do erlangu - funkcionální programování. - Fork/Join framework, Lukáš Křečan
ParallelArray - nadastavba nad Fork/Join algoritmem. Standardní pole, velikost, typ a ThreadPool. Paralelní provádění operací hromadně nad všemi prvky pole s použitím threadů v threadpoolu. Využití výkonu multiprocessorového stroje. - Liferay portál, Petr Adámek
Polemika nad tvrzením, že portály jsou mrtvá technologie. Ukázka Liferay portálu (opensource) - z OS nejlepší. Praktická ukázka. Postavený na Springu / Hibernate. - ETL & Java, Cyril Sochor
Neprogramovat - naklikat. Extract -> Transform -> Load. Práce s velkými datovými sklady. Použitelnost pro migrace dat, integrace dat z více zdrojů, čištění dat, synchronizace dat, validace dat. Nejdražší trojka Oracle Warehouse, IBM DataStage, Informatica PowerCenter. Z opensource: CloverEtl, Ketlin. Ukázka sestavování a běhu ETL dávek - Skutečná aplikace MDD, Michal Malohlava
Mission Critical Systems. Scade = toolset pro management požadavků, od graficky orientovaného designy, generování kódu, až po otestování vygenerované aplikace. - OST - Soap vs. REST
REST = architektonický styl, SOAP = protokol. REST je jednodušší. Není důvod proč nemít restfull webservices. Aspekty RESTu, SOAPu - z mého pohledu poměrně akademická diskuse. - Tooly pro Scrum Agile
Paralelní thread, na kterém jsem nebyl a tudíž o jeho obsahu nemám informace - Jak se držet up to date, Martin Adámek
Diskuse nad tím jak se kdo z nás jak drží up to date. RSS čtečky je základ - problém opakování zajímavých topiců v mnoha příspěvcích, twitter, Diigo, sociální služby (DZone, DiggIt atd.), podcasty (JavaPosse) a prezentace (Parleys.com). - Java concurrency, ???
Paralelní thread, na kterém jsem nebyl a tudíž o jeho obsahu nemám informace - Degustace vína, Petr Adámek
Opakování nejůspěšnější přednášky a navazující diskuse z minulého roku. Tentokrát jsme před sebou měli těžký úkol - degustaci 18 rozličných druhů výborných vín s výkladem a pečlivým dohledem Petra Adámka.
Neděle
- iText, PDF formuláře
- ApiFest, Petr Šmíd
Zkušenosti a výsledky API Festu uskutečněném v HP. Zajímavé ukázky porušení zpětné kompatibility (slidy budou doufejme zveřejněny). Závěr: je téměř nemožné napsat 100% zpětně kompatibilní kód. - Nativní volání, Kolisko / Reservoir - Cloud Computing
Použití ASCII protokol přes input / output stream, výhoda - možnosti velké volby na úrovni systémových driverů (pro nativní cally OS). Jednoduchá integrace s jakýmkoliv programovacím prostředím (i bash je programovací prostředí) - ZFS file system, Roumen
Živé demo ZFS na OpenSolarisu. Zálohování, rollbacky změn, pohyb na časové ose. Online tvorba SW RAIDů. - Scala, Jiří Mareš
Základy jazyka Scala v kostce. - Co přináší OpenSolaris pro Java vývojáře, Petr Adámek
ZFS OpenSolaris - snapshoty, zálohování, send / receive (inkrementální migrace na úrovni FS, atomický - daleko lepší jak RSYNC). Monitorovací nástroj DTrace - nedestruktivní, neinvazivní, nemá režii ... dá se použít i na živé produkci - JavaFX, Honza Štěrba
Ukázka aplikace, kterou vytvořil během pár minut na odpočítávání zbývajícího času Lightning Talků. Ukázka migrace výsledné aplikace do telefonu. - Lepší než Dbunit, Pavel Jetenský
Popis přístupu k psaní unit testů s důrazem na přípravu testovacích dat pro test. - Time management, naléhavé vs. důležité
Základní rozbor 4 člené matice naléhavé vs. důležité. Závěr řešit nejdříve naléhavé důležité, pak nenaléhavé důležité a potom teprve naléhavé nedůležité. Aneb čas na naléhavé nedůležité tasky se vždycky najde. - JNA - praktická ukázka, Petr Ferschmann
Praktická ukázka kódu používajícího JNA pro volání nativních funkcí. - Cloud Computing, Lukáš Kolísko
Diskuse nad problematikou cloudů. Varianty škálovatelnosti aplikace. BigTable vs. objektové vs. relační databáze.
Ukázka řešení pro rakouské ministerstvo zemědělství. Využití online PDF formulářů pro sběr dat pomocí knihovny iText a OpenOffice
*) pokud jsem někomu pomršil jméno, špatně přiřadil k LT/OST nebo nedokázal přednášejícího identifikovat, tak se velmi omlouvám, přesné údaje budou jistě k nalezení na jopenspace.cz
V průběhu konference ti šťastní, kteří mohli být online poctivě tweetovali - především tedy, jak koukám ze session Hands on Víno.
Většinu session jsme nahrávali ve formě audia - Pavol Juhoš pak pořizoval i video záznam. Jak se nám podaří záznamy zveřejnit teprve uvidíme. Ale rozhodně se budeme snažit. Kvalita by letos mohla být výrazně lepší, protože se nám sešla oproto loňskému roku o řád lepší technika (mikroport, diktafon, DV kamera) atd. Pokud se budou záznamy zveřejňovat, zcela jistě na tomto blogu o tom najdete informace (takže šup s blogem do RSS čtečky pokud jej tam ještě nemáte :-) ).
Pokud byste měli zájem o pár fotografií, koukněte na Picasa.