193 Lotus blogs updated hourly. Who will post next? Home | Blogs | Search | About 
 
Latest 7 Posts
What to expect in upcoming SmartNSF Beta 3 release?
Mon, Mar 20th 2017 307
Re: Domino REST performance analysis
Wed, Mar 15th 2017 48
SmartNSF Beta 2 released
Tue, Mar 7th 2017 7
Get ready for Java 8 in Domino/Notes
Mon, Feb 6th 2017 6
IBM Champions 2017 - welcoming new Czech one!
Thu, Dec 15th 2016 10
[In Czech] GeeCON 2016 - Praha
Mon, Oct 24th 2016 8
The 8th SUTOL Technical Conference: Nov 10-11, 2016, Prague
Thu, Oct 13th 2016 9
Top 10
What to expect in upcoming SmartNSF Beta 3 release?
Mon, Mar 20th 2017 307
Re: Domino REST performance analysis
Wed, Mar 15th 2017 48
Java 8 in 9.0.1FP7? Not likely.
Fri, Sep 2nd 2016 15
A quick follow up on last post
Fri, Aug 26th 2016 11
Fall - time of the conferences and hard work
Tue, Sep 30th 2014 10
Agenda for 7th SUTOL Technical Conference
Fri, Oct 2nd 2015 10
Family reunion 2016 (also known as Engage)
Tue, Mar 29th 2016 10
IBM Champions 2017 - welcoming new Czech one!
Thu, Dec 15th 2016 10
Automatic building of NSF from (git) repository
Thu, Feb 6th 2014 9
Domino/Notes support extended to (at least) 2021
Tue, Sep 13th 2016 9


[In Czech] GeeCON 2016 - Praha
Twitter Google+ Facebook LinkedIn Addthis Email Gmail Flipboard Reddit Tumblr WhatsApp StumbleUpon Yammer Evernote Delicious
martin jinoch    

Na úvod je asi vhodné uvést, že s organizováním a přednášením na konferencích nějaké zkušenosti mám a ačkoliv se v následujících řádcích někde vyjadřuji kriticky, tak celkově byl GeeCON výborně zvládnutý a přes hodně slušnou návštěvnost jsem nikde nezaznamenal výraznější problémy.

Konečně se mi zadařilo mít čas zajít na GeeCON. A navíc díky Romanu Pichlíkovi z CZ Podcastu jsem měl volný vstup, takže dokonalá win-win situace. O to více, že jsem se na organizaci nepodílel ani nepřednášel, což pobyt na konferenci výrazně ulehčuje.
Trochu problém mám pravda s ranním vstáváním, ale zjevně o něm organizátoři věděli a začátek prvního dne byl v 9:40. Dělat konferenci v kině v nákupním centru by mne popravdě nenapadlo. Velké plus této varianty jsou velikosti plátna a světelnost projektorů. Tady se prostě nestane, že by někdo neviděl nebo nemohl přečíst slidy. Pohodlné sedačky už jsou trochu "dvousečné", dá se v nich velmi snadno usnout. To se hned na druhé přednášce povedlo jednomu účastníkovi, který navíc seděl v první řadě. Chrápáním trochu rušil, ale přednášející to zvládl s přehledem ("This guy clearly loves graphs"). Polský JUG, který GeeCON organizuje na jaře v Krakově a na podzim v Praze, si do Prahy přivezl kompletní tým, včetně cateringu.

Keynote od hlavního sponzora Y Softu mne ničím nezaujala (stejně jako expozice Y soft world s asi břišními tanečnicemi nebo co to mělo být). Výrazně lepší byla následující od Oracle Labs konkrétně od Jardy Tulacha. Kluci tam pracují na vlastní verzi JIT překladače, nazvaného GraalVM, který nejen že je pro běh javových programů rychlejší než standardní, ale s využitím další jejich technologie Truffle umožňuje běh programů i v dalších jazycích, třeba JavaScriptu nebo R. A to kolikrát rychleji než v nativních implementacích. V přednášce zaznělo i to, že Hotspot C2 compiler, který je v standardním Oracle JDK, není moc dobrý ve zpracování kódu Java 8, konkrétně lambda výrazů. Celý je napsaný v C++ a prý se v tom kódu nikdo nevyzná a nechtějí do toho tímpádem moc zasahovat :-). GraalVM je napsaný v Javě, integrování nových jazyků přes Truffle se dělá taky v Javě. Ale je to laboratorní projekt, těžko říct, jaké úmysly s ním Oracle do budoucna má. Zatím je to ale opensource, takže hurá na github a můžete se kouknout, jak to celé funguje.

Na konferencích vybírám přednášky podle dvou kritérií: buď je to něco naprosto mimo moje pole působnosti, nebo naopak něco, co používám často. V druhém případě si na přednáškách snažím potvrdit, že mi v dané oblasti neujel vlak. V prvním případě se jen nechávám inspirovat. Proto jsem zvolil následující moc nesouvisející přednášky:

Who’s Afraid of Graphs? - David Ostrovsky
Jak název napovídá, přednáška byla o Graph databases. David podle mne velmi přehledně a poutavě popsal jejich silné a slabé stránky. Kupříkladu jejich neškálovatelnost. Ta se obchází třeba více identickými kopiemi databáze v clusteru, kdy router směřuje stejné dotazy vždy na stejnou repliku, aby je měla nakešované.
Co jsem si odnesl: i Elasticsearch má podle všeho Graph API, se kterým se dá poměrně pěkně pohrát.

Effective and Clean Java Code? Tips and Tricks from the Real World - Edson Yanaga
Jedna z "potvrzovacích" přednášek. Svižně, přehledně předvedená a vysvětlená taková základní řemeslná latina, s důrazem na Domain driven development. Kód by měl být k dispozici na githubu.
Co jsem si odnesl: zatím mi vlak neujel.

Need for speed: tools for JVM tuning - Andrey Adamovich
Tohle byla naopak přednáška o něčem, co jsem zatím nikdy nemusel řešit. Přehled dostupných většinou volných nástrojů pro sledování a nastavování parametrů JVM. Taková ta přednáška, kde si začnete dělat poznámky, co si chcete vyzkoušet, a v půlce přestanete psát, protože píšete úplně všechno.

Hot code is faster code - addressing JVM warm-up - Mark Price
Tohle mne naprosto nadchlo, byť to nejspíš nikdy nevyužiju. Zkusím to shrnout, ale doporučuju každému kouknout na záznam, až bude k dispozici. Díky JIT se často používané metody překládají do velmi optimalizovaného strojového kódu a jejich běh je tedy rychlý (jakmile se nějaká metoda nevolá dost často, je z tohoto vyjmuta, vrátí se zpátky do skupiny "cold" částí programu a jejích několik dalších volání může tedy probíhat dokonce jen interpretovaně, než se zase díky četnosti volání teoreticky dostane mezi "vyvolené"). To znamená, že po nějaké době běhu programu jsou jeho nejvytíženější části nejvíce optimalizované. A právě to "po nějaké době běhu programu" může znamenat problémy pro systémy, u kterých záleží na rychlosti. Jednou z možností, jak zajistit optimální nastavení takového programu, je nasimulovat mu zátěž co nejpodobnější té produkční, ale ještě dříve, než ono produkční zatížení přijde (Mark popisoval jejich případ s otevřením burzy). Aplikace tedy musí poznat, že se jedná o data "testovací" a nenaložit s nimi v rozhodujícím kroku jako s produkčními (nekoupit/neprodat/neposlat peníze atd.), ale všechny ostatní části aplikace musí zatížit k nerozeznání od opravdových vstupů.
Další z variant je prý "přehrát" log Hotspot překladače (je na to komerční produkt, jehož název jsem neudržel v paměti), ve kterém je právě uložena historie těch optimalizací a přesunů do "hot" zóny. To nicméně předpokládá, že se od minulého zalogování kód neměnil, aby identifikátory tříd a metod v logu odpovídaly metodám v aktuálním kódu aplikace. Mark popisoval, že u nich mají v test prostředí dokonalou kopii produkce, která umožňuje (na úrovni siťových switchů!) přehrávat přesně to, co se na produkci dělo. To samo o sobě mi přijde jako parádní věc a hrozně rád bych si s něčím takovým pohrál.

Naprostý omyl pro mne bylo jít na Enterprise Java in the cloud, kterou prezentoval Dmitry Kornilov. Očekával jsem asi něco jiného než výčet technologií v jednotlivých edicích J2EE resp. Java EE a seznam modulů, které se v další verzi budou měnit nebo budou odstraněny. Směřování do cloudu je pochopitelně velmi aktuální a mne spíš zajímaly detaily, jak (ne že) bude v další verzi Java EE tento směr podporován.

Plánoval jsem zajít i na večerní párty na parníku, ale nakonec jsem se tam po mezipřistání doma už nevykopal. Jak se ukázalo, bylo to dobře. Podle ohlasů na twitteru se jednalo o hladovou a suchou jízdu. Tedy pro běžné účastníky, přednášející a sponzoři měli jiné podmínky. Buď dělám party pro všechny, nebo jen pro vybranou skupinu. Mít v rámci jedné akce různé podmínky pro dvě skupiny mi nepřijde šťastné.

Den druhý

Tady už organizátoři dost vyzkoušeli moje limity a první přednáška začínala v 9 hodin. Přednášku jsem sice fyzicky stihl, ale k vědomí se probírám až kolem desáté, takže How to bake reactive behavior into your Java EE application pořád nevím. Snad se Ondra Mihályi nebude zlobit.

Na One VM to rule them all Jakuba Podlešáka a Jana Štoly už jsem byl v rámci svých možností v kondici a to, co GraalVM a Truffle nabízí, se mi moc líbí. Bylo to naznačeno už v keynote, ale rychlost běhu nejen javových aplikací pod tímhle VM je hodně dobrá. Ne že bych si snad plánoval napsat vlastní programovací jazyk, ale jak to na mě jednou přijde, určitě budu koukat po GraalVM/Truffle.

What is your application doing when you are not around? - Adam Dubiel
Adam se hned na začátku přiznal, že je control freak a pohled na dashbordy ukazující, co se děje v aplikacích, ho baví. Praktické rady, jak v aplikaci nahradit logování uběhlých milisekund mmezi sledovanými operacemi komplexnějším přístupem, jaké metriky má smysl sledovat, jaké vlastně nemají nijak velkou vypovídací schopnost, i když se nás mozek snaží přesvědčit, že je tomu naopak, atd. Já sice nehodlám přiznat, že bych snad mohl být control freak, ale ty dashboardy rozhodně musím mít!

Na TDD: That's not what we meant a Steva Freemana jsem se moc těšil, navíc jak známo člověk raději přijímá informace, které jsou mu blízké, takže tady jsem si vyloženě užil. Přemýšlet o návrhu kódu před začátkem implementace je mi vlastní, Test Driven Development je v tom navíc velmi nápomocný. Kupříkladu tohle jsem v různých kódech viděl tolikrát! Líbil se mi Stevův nedogmatický přístup k používání TDD nebo třeba k volbě jmen testovacích metod.
Co jsem si odnesl

JVM dive for mere mortals od Jakub Kubryńského pro mne bylo po čtvrtečním Hot code is faster code - addressing JVM warm-up už vlastně zbytečné a pokud bych si měl vybrat, kterou z těch dvou zvolit pro získání přehledu, co a jak se v JVM děje, určitě by vyhrál Mark Price. Nicméně tento slide je myslím velmi užitečný.

Reverse engineering clean code - Jakub Marchwicki
Krátké zamyšlení o vztahu designu fyzických objektů (přístrojů, nábytku, ...) a přístupu k navrhování api a kódu obecně. Trochu nepřekvapivě se poznatky z první oblasti dají úspěšně používat i v oblasti druhé.

Dirty Hacks With Java Reflection Heinz Kabutze na závěr byla lahůdka. I když vlastně všechny ukázané techniky byly unsafe :-) Opět doporučím počkat na záznam a mezitím koukněte na kód.

Na závěr jen poznámka: jsem dost citlivý na kvalitu kávy (zly jazykové tvrdí, že přecitlivělý). Ale tady to bylo tragické. Hnědá tekutina vydávaná za filtrovanou kávu snad ani nezaslouží komentář. Pro všechny účastníky tak byl k dispozici jeden kávovar s ucházející kávou, ale ono si ho naštěstí zase tolik lidí nevšimlo, takže u něj nebyly nekonečné fronty. A viděl jsem i pár lidí, kteří nelenili a vybíhali do okolních kaváren v obchodním centru.



---------------------
http://jinoch.cz/czech-geecon-2016-praha
Oct 24, 2016
9 hits



Recent Blog Posts
307
What to expect in upcoming SmartNSF Beta 3 release?
Mon, Mar 20th 2017 11:35a   Martin Jinoch
Changes We've decided to rename strategies to make the names shorter, yet still descriptive enough. We've basically removed all SELECT_ and ALL_ parts of the names. For example SELECT_ALL_DOCUMENTS_FROM_VIEW is from now on DOCUMENTS_FROM_VIEW. Extending the life of your keyboard is just a positive side effect of this change. Bug fixes Date format of returned DATETIME items was broken, so we fixed it. Bigly! ARRAY_OF_DOUBLE data type was returning array of nulls instead of array of actual doubl
48
Re: Domino REST performance analysis
Wed, Mar 15th 2017 7:18a   Martin Jinoch
Csaba Kiss has published blogpost http://xpagexplorer.org/domino-rest-performance-analysis/ about his findings regarding performance of various REST technologies available on Domino now. Just a couple of remarks: use case for reading 10000 documents at once is probably very far from most real world scenarios some may argue ReadViewEntries method is not REST service per se. And it is a core function deep in the HTTP server, probably developed in C. That's something we can't beat I guess SmartN
7
SmartNSF Beta 2 released
Tue, Mar 7th 2017 9:50a   Martin Jinoch
You may have noticed that there is new project available on OpenNTF.org site. It is called SmartNSF (https://openntf.org/main.nsf/project.xsp?r=project/SmartNSF/summary) and it aims to help developers build REST services on top of the Domino databases. Unlike other approaches I am aware of, this project adds Designer integration and smart definition of routes, data retrieval strategies and returned values in one place. And this definition is made using Groovy syntax. How cool is that?:-) You can
6
Get ready for Java 8 in Domino/Notes
Mon, Feb 6th 2017 10:42a   Martin Jinoch
Java 8 is coming to Domino/Notes. First just runtime environment for server and client in FP8 and later this year hopefully to Designer as well. That will be huge improvement for developers, because it means - apart from Java 8 new features - we'll get newer Eclipse, newer OSGi etc. Yay! At the same time I feel like admins are not going to be that happy. Change of Java runtime from 6 to 8 should - in theory - be safe. Chances are, however, some stuff will be broken. A really really thorough te
10
IBM Champions 2017 - welcoming new Czech one!
Thu, Dec 15th 2016 8:39p   Martin Jinoch
I am very very happy that my friend and real yellowbleeder Jan Krejcárek has been named IBM Champion in ICS for 2017. He is the third one from Czech Republic (in ICS) and it is a well deserved achievement. I do not have any real statistics (apart from those I am just making up), but I think we might be the best in "champion per capita" ratio. There might be some smaller country though, I really should check it before writing it in the blogpost. But we have post-fact era after all :-) Thanks
9
[In Czech] GeeCON 2016 - Praha
Mon, Oct 24th 2016 4:16a   Martin Jinoch
Na úvod je asi vhodné uvést, že s organizováním a přednášením na konferencích nějaké zkušenosti mám a ačkoliv se v následujících řádcích někde vyjadřuji kriticky, tak celkově byl GeeCON výborně zvládnutý a přes hodně slušnou návštěvnost jsem nikde nezaznamenal výraznější problémy. Konečně se mi zadařilo mít čas zajít na GeeCON. A navíc díky Romanu Pichlíkovi z CZ Podcastu jsem měl volný vstup, takže dokonalá win-win situace. O to více, že js
9
The 8th SUTOL Technical Conference: Nov 10-11, 2016, Prague
Thu, Oct 13th 2016 3:36a   Martin Jinoch
SUTOL (Czech Lotus User Group) has published agenda for its annual event in Prague. I think the lineup of speakers is great - with one exception :) - and conference will be full of interesting information and cool technologies. After successful last year's event we are doing it again in English, day and a half instead of one day, with three tracks instead of two. You can find additional info about the event on SUTOL website. I really do hope to meet as many of you as possible in Prague on Nove
9
Domino/Notes support extended to (at least) 2021
Tue, Sep 13th 2016 9:10a   Martin Jinoch
IBM has officially announced that it will support IBM Domino/Notes 9.0.1 until September 2021. Although the announcement does not specifically say so, IBM was communicating it as AT LEAST until 2021. Which is good news, regardless if your plan is to migrate off the platform or to stay there. FixPack 7 for 9.0.1 is now in Stage 4: Gold Build and list of fixes now has 81 entries (well those two regarding Java 6 are technically the same change, so 80). Still no sign of Java 8 being added in FP7 an
15
Java 8 in 9.0.1FP7? Not likely.
Fri, Sep 2nd 2016 5:11a   Martin Jinoch
According to these two documents in fix list database 9.0.1 FP7 is not bringing Java 8: SPR # KLYHAC4JS8 fixed in 9.0.1 FP7 release SPR # KLYHA9KMNR fixed in 9.0.1 FP7 release
11
A quick follow up on last post
Fri, Aug 26th 2016 8:34a   Martin Jinoch
A lot of things happened since Monday morning. It turned out I was not at all alone in thinking this. So there are some other posts on the subject, much better than my rant. And most importantly you can find Ed Brill's comment under Darren's post. (I tried to sort them chronologically, not 100 % sure I did it right, though) Oliver Busse Paul Withers Darren Duke Volker Weber - reacting to Ed's comment, read the comments here as well Heiko Voigt So we now know IBM will support Domino/Notes unti




Created and Maintained by Yancy Lent - About - Planet Lotus Blog - Advertising - Mobile Edition