[Valid RSS] This is a valid RSS feed.


This feed is valid, but interoperability with the widest range of feed readers could be improved by implementing the following recommendations.


  1. <?xml version="1.0" encoding="utf-8"?>
  2. <rss version="2.0" xml:base=""  xmlns:dc="">
  3. <channel>
  4. <title>martin jinoch</title>
  5. <link></link>
  6. <description></description>
  7. <language>en</language>
  8. <item>
  9. <title>SmartNSF webinar recording available</title>
  10. <link></link>
  11. <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden view-mode-rss&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot; property=&quot;content:encoded&quot;&gt;&lt;p&gt;Did you miss webinar about SmartNSF on June 13? No problem! &lt;/p&gt;
  12. &lt;p&gt;Go ahead and learn about the cool new features coming in next release! Recording is available here: &lt;a href=&quot;; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;;/a&gt;.&lt;/p&gt;
  13. &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
  14. <pubDate>Tue, 20 Jun 2017 07:02:37 +0000</pubDate>
  15. <dc:creator>martin jinoch</dc:creator>
  16. <guid isPermaLink="false">72 at</guid>
  17. <comments></comments>
  18. </item>
  19. <item>
  20. <title>I have bad case of FOMO this week</title>
  21. <link></link>
  22. <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden view-mode-rss&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot; property=&quot;content:encoded&quot;&gt;&lt;p&gt;This week hosts two events I would love to attend: DNUG 44 in Berlin and Social Connections 11 in Chicago. Being part of the team organizing an event and then not be able to go to the event sucks. Big time.&lt;br /&gt;
  23. With the rest of the team already in Chicago (and asleep now) or en route there, our usual chat channels are quiet this morning. That feels strange. I keep checking my internet connection if it is working. Seems to be ok.&lt;br /&gt;
  24. At DNUG IBM has just &lt;a href=&quot;; target=&quot;_blank&quot; rel=&quot;noopener nereferer&quot;&gt;announced&lt;/a&gt; acquisition of XCC! Congratulations to (long time sponsor of Social Connections) Felix and his team!!&lt;br /&gt;
  25. To all travelling to and attending DNUG and Social Connections 11: safe travels and enjoy!&lt;/p&gt;
  26. &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
  27. <pubDate>Wed, 31 May 2017 08:37:48 +0000</pubDate>
  28. <dc:creator>martin jinoch</dc:creator>
  29. <guid isPermaLink="false">71 at</guid>
  30. <comments></comments>
  31. </item>
  32. <item>
  33. <title>Very unexpected (and weird) question</title>
  34. <link></link>
  35. <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden view-mode-rss&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot; property=&quot;content:encoded&quot;&gt;&lt;p&gt;&quot;Are you available for XPages training for beginners?&quot; was the question asked recently. I am not making this up. I really am not. My first reaction (after several seconds - or perhaps minutes -  of total suprise) was: &quot;Whaaat? Why would anybody for crying out loud now START to learn XPages?&quot; Then we talked a bit about dates and after realizing I can only do it in September I was sure they won&#039;t want me to do it anymore. To my even bigger surprise they came back. And it got even better today: can you do follow-up advanced training?&lt;/p&gt;
  36. &lt;p&gt;I still think that it is some elaborate practical joke from Sutol guys. After several years of presenting sessions about modern ways of development in Domino, doing this would make total sense. I keep telling Sutol audience, that if they want to stay competitive, they need to move on or at least start heavily using Java, ODA, REST etc. in Domino apps. That there is no future for Notes Client applications.&lt;/p&gt;
  37. &lt;p&gt;Of course, if you already know XPages, there may be projects where using them makes total sense. But to start with them now?? Planning to invest a lot of money in training? I guess (if this is real) that they must be some big companies/government bureaus. Who else could afford ignoring the reality and live deep in the past?&lt;/p&gt;
  38. &lt;p&gt;Moral of the story? There&#039;s none. If time permits I&#039;ll do the training, I want to see those people and ask them why. And to see they faces when I open up the training with telling them they should &lt;a href=&quot;;&gt;run away&lt;/a&gt; :-)&lt;/p&gt;
  39. &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
  40. <pubDate>Tue, 30 May 2017 16:10:27 +0000</pubDate>
  41. <dc:creator>martin jinoch</dc:creator>
  42. <guid isPermaLink="false">70 at</guid>
  43. <comments></comments>
  44. </item>
  45. <item>
  46. <title>Speaking at Engage 2017 about SmartNSF</title>
  47. <link></link>
  48. <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden view-mode-rss&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot; property=&quot;content:encoded&quot;&gt;&lt;p&gt;I think I can call it a tradition now, as I every year since 2011 travel to Belgium (or Netherlands) to attend and sometimes even to speak at Engage (formerly BLUG) user group event. This year the latter applies. &lt;/p&gt;
  49. &lt;p&gt;Christian Guedemann and I will be presenting SmartNSF (&lt;a href=&quot;;&gt;;/a&gt;) and its role in application modernization &quot;movement&quot;. The session is scheduled for Monday, May 8 from 11:45 to 12:30 in room D. Gorilla.&lt;/p&gt;
  50. &lt;p&gt;Looking forward to meeting yellowverse people in person again!&lt;/p&gt;
  51. &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
  52. <pubDate>Thu, 04 May 2017 13:02:32 +0000</pubDate>
  53. <dc:creator>martin jinoch</dc:creator>
  54. <guid isPermaLink="false">69 at</guid>
  55. <comments></comments>
  56. </item>
  57. <item>
  58. <title>What to expect in upcoming SmartNSF Beta 3 release?</title>
  59. <link></link>
  60. <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden view-mode-rss&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot; property=&quot;content:encoded&quot;&gt;&lt;p&gt;EDIT: Beta 3 has been released: &lt;a href=&quot;;&gt;;/a&gt;&lt;/p&gt;
  61. &lt;h3&gt;Changes&lt;/h3&gt;
  62. &lt;p&gt;We&#039;ve decided to rename strategies to make the names shorter, yet still descriptive enough. We&#039;ve basically removed all SELECT_ and ALL_ parts of the names. For example &lt;code&gt;SELECT_ALL_DOCUMENTS_FROM_VIEW&lt;/code&gt; is from now on &lt;code&gt;DOCUMENTS_FROM_VIEW&lt;/code&gt;. Extending the life of your keyboard is just a positive side effect of this change.&lt;/p&gt;
  63. &lt;h3&gt;Bug fixes&lt;/h3&gt;
  64. &lt;p&gt;Date format of returned DATETIME items was broken, so we fixed it. Bigly!&lt;/p&gt;
  65. &lt;p&gt;ARRAY_OF_DOUBLE data type was returning array of nulls instead of array of actual double values. Not exactly convenient, especially when you hadn&#039;t stored nulls there in the first place.&lt;/p&gt;
  66. &lt;h3&gt;New features&lt;/h3&gt;
  67. &lt;p&gt;For &lt;code&gt;DOCUMENTS_FROM_VIEW_BY_KEY&lt;/code&gt; and &lt;code&gt;DOCUMENTS_FROM_VIEW_BY_KEY_PAGED&lt;/code&gt; strategies you can now specify &lt;code&gt;mode(&#039;exact&#039;)&lt;/code&gt; in routes.groovy. Use it when you want to get just those documents exactly matching that specified key, same as calling &lt;code&gt;view.getAllDocumentsByKey(key, true)&lt;/code&gt;. If omitted, partial mode is used - so like &lt;code&gt;view.getAllDocumentsByKey(key, false)&lt;/code&gt;.&lt;/p&gt;
  68. &lt;p&gt;&lt;code&gt;VIEWENTRIES&lt;/code&gt; and &lt;code&gt;VIEWENTRIES_PAGED&lt;/code&gt; strategies has been added and they are quite fast. These allow you to define which view columns from the view you want to return, by programmatic name. Example routes.groovy can look like this:&lt;/p&gt;
  69. &lt;pre&gt;
  70. router.GET(&#039;entries&#039;) {
  71.  strategy(VIEWENTRIES_PAGED) {
  72.    viewName(&#039;ByTopic&#039;)
  73.  }
  74.  mapJson &#039;Subject&#039;, json: &#039;title&#039;, type: &#039;STRING&#039;
  75.  mapJson &#039;\$101&#039;, json: &#039;created_date&#039;, type: &#039;DATETIME&#039;
  76.  mapJson &#039;\$110&#039;, json: &#039;price&#039;, type: &#039;DOUBLE&#039;
  77. }
  78. &lt;/pre&gt;&lt;p&gt;
  79. Note the need to escape $ when programmatic name of the column contains it.&lt;/p&gt;
  80. &lt;p&gt;You can only use these strategies to read (GET) data from view, no formulas can be used and supported datatypes are STRING, DATETIME and DOUBLE. For multi-value columns use ARRAY_OF_STRING, ARRAY_OF_DATETIME and ARRAY_OF_DOUBLE.&lt;/p&gt;
  81. &lt;p&gt;As usual (well not so usual, to be frank, but we are working on it), you can find all these changes and more documentation in project wiki &lt;a href=&quot;;&gt;;/a&gt;&lt;/p&gt;
  82. &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
  83. <pubDate>Mon, 20 Mar 2017 10:35:30 +0000</pubDate>
  84. <dc:creator>martin jinoch</dc:creator>
  85. <guid isPermaLink="false">68 at</guid>
  86. <comments></comments>
  87. </item>
  88. <item>
  89. <title>Re: Domino REST performance analysis</title>
  90. <link></link>
  91. <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden view-mode-rss&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot; property=&quot;content:encoded&quot;&gt;&lt;p&gt;Csaba Kiss has published blogpost &lt;a href=&quot;;&gt;;/a&gt; about his findings regarding performance of various REST technologies available on Domino now.&lt;/p&gt;
  92. &lt;p&gt;Just a couple of remarks: &lt;/p&gt;
  93. &lt;ul&gt;&lt;li&gt;use case for reading 10000 documents at once is probably very far from most real world scenarios&lt;/li&gt;
  94. &lt;li&gt;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&#039;s something we can&#039;t beat I guess&lt;/li&gt;
  95. &lt;li&gt;SmartNSF doesn&#039;t (yet?) support reading data from ViewEntries. We are currently discussing if/how to implement it.&lt;/li&gt;
  96. &lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
  97. <pubDate>Wed, 15 Mar 2017 07:18:08 +0000</pubDate>
  98. <dc:creator>martin jinoch</dc:creator>
  99. <guid isPermaLink="false">67 at</guid>
  100. <comments></comments>
  101. </item>
  102. <item>
  103. <title>SmartNSF Beta 2 released</title>
  104. <link></link>
  105. <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden view-mode-rss&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot; property=&quot;content:encoded&quot;&gt;&lt;p&gt;You may have noticed that there is new project available on site. It is called SmartNSF (&lt;a href=&quot;;&gt;;/a&gt;) 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 implement business logic there as well.&lt;/p&gt;
  106. &lt;p&gt;First beta version was released little over two weeks ago. Most of the work on the project is done by Christian Guedemann.&lt;/p&gt;
  107. &lt;p&gt;Beta 2 has been recently released (with a little help from me) with these new features:&lt;/p&gt;
  108. &lt;ul&gt;&lt;li&gt;It now supports handling of attachments, yet this is still in experimental stage&lt;/li&gt;
  109. &lt;li&gt;New paged strategies have been added, so you can specify &lt;code&gt;start&lt;/code&gt; position and &lt;code&gt;count&lt;/code&gt; of returned documents&lt;/li&gt;
  110. &lt;li&gt;&lt;code&gt;SELECT_DOCUMENTS_BY_SEARCH_FT&lt;/code&gt; and &lt;code&gt;SELECT_DOCUMENTS_BY_SEARCH_FT_PAGED&lt;/code&gt; strategies support both &lt;code&gt;GET&lt;/code&gt; and &lt;code&gt;POST&lt;/code&gt; methods
  111. &lt;/li&gt;&lt;li&gt;Partial documentation is available at &lt;a href=&quot;;&gt;;/a&gt;&lt;/li&gt;
  112. &lt;/ul&gt;&lt;p&gt;I will be updating the documentation this week to make it up to date with Beta 2 features.&lt;/p&gt;
  113. &lt;p&gt;Please test the new release and let us know at &lt;a href=&quot;;&gt;;/a&gt; if - or  should I say when? -  you find any bugs. Or if you miss some features.&lt;/p&gt;
  114. &lt;p&gt;What&#039;s in the pipeline for next beta? Things such as generation of OpenAPI .yaml file for use with Swagger, handling for response and response to response documents or code assistance in Designer.&lt;br /&gt;
  115. Stay tuned!&lt;/p&gt;
  116. &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
  117. <pubDate>Tue, 07 Mar 2017 08:50:00 +0000</pubDate>
  118. <dc:creator>martin jinoch</dc:creator>
  119. <guid isPermaLink="false">66 at</guid>
  120. <comments></comments>
  121. </item>
  122. <item>
  123. <title>Get ready for Java 8 in Domino/Notes</title>
  124. <link></link>
  125. <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden view-mode-rss&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot; property=&quot;content:encoded&quot;&gt;&lt;p&gt;Java 8 is coming to Domino/Notes.&lt;br /&gt;&lt;a href=&quot;; target=&quot;_blank&quot; rel=&quot;noopener nereferrer&quot;&gt;First just runtime environment for server and client in FP8&lt;/a&gt; and later this year hopefully to Designer as well.&lt;br /&gt;
  126. That will be huge improvement for developers, because it means - apart from Java 8 new features - we&#039;ll get newer Eclipse, newer OSGi etc. Yay!&lt;/p&gt;
  127. &lt;p&gt;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 testing is in order. Especially when using third party libraries. You have been warned! :-)&lt;/p&gt;
  128. &lt;p&gt;The best new features of Java 8 are functional interfaces and lambda expressions. And Stream API. And there&#039;s more. Google it and start preparing yourself for the future!&lt;/p&gt;
  129. &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
  130. <pubDate>Mon, 06 Feb 2017 09:42:28 +0000</pubDate>
  131. <dc:creator>martin jinoch</dc:creator>
  132. <guid isPermaLink="false">65 at</guid>
  133. <comments></comments>
  134. </item>
  135. <item>
  136. <title>IBM Champions 2017 - welcoming new Czech one!</title>
  137. <link></link>
  138. <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden view-mode-rss&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot; property=&quot;content:encoded&quot;&gt;&lt;p&gt;I am very very happy that my friend and real yellowbleeder &lt;a href=&quot;;&gt;Jan Krejcárek&lt;/a&gt; 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. &lt;/p&gt;
  139. &lt;p&gt;I do not have any real statistics (apart from those I am just making up), but I think we might be the best in &quot;champion per capita&quot; 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 :-)&lt;/p&gt;
  140. &lt;p&gt;Thanks everybody who nominated him (I know I did, but for sure others did as well).&lt;br /&gt;
  141. Also thanks for nominating me again, it sure feels good to know that you appreciate what we are doing.&lt;/p&gt;
  142. &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
  143. <pubDate>Thu, 15 Dec 2016 20:39:47 +0000</pubDate>
  144. <dc:creator>martin jinoch</dc:creator>
  145. <guid isPermaLink="false">64 at</guid>
  146. <comments></comments>
  147. </item>
  148. <item>
  149. <title>[In Czech] GeeCON 2016 - Praha</title>
  150. <link></link>
  151. <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden view-mode-rss&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot; property=&quot;content:encoded&quot;&gt;&lt;p&gt;&lt;em&gt;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.&lt;/em&gt;&lt;/p&gt;
  152. &lt;p&gt;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.&lt;br /&gt;
  153. 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 &quot;dvousečné&quot;, 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 (&quot;This guy clearly loves graphs&quot;). 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.&lt;/p&gt;
  154. &lt;p&gt;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 &lt;a href=&quot;;&gt;GraalVM&lt;/a&gt;, 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 &lt;a href=&quot;;&gt;github&lt;/a&gt; a můžete se kouknout, jak to celé funguje.&lt;/p&gt;
  155. &lt;p&gt;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:&lt;/p&gt;
  156. &lt;p&gt;&lt;em&gt;Who’s Afraid of Graphs? - David Ostrovsky&lt;/em&gt;&lt;br /&gt;
  157. 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é.&lt;br /&gt;
  158. Co jsem si odnesl: i Elasticsearch má podle všeho Graph API, se kterým se dá poměrně pěkně pohrát.&lt;/p&gt;
  159. &lt;p&gt;&lt;em&gt;Effective and Clean Java Code? Tips and Tricks from the Real World - Edson Yanaga&lt;/em&gt;&lt;br /&gt;
  160. Jedna z &quot;potvrzovacích&quot; 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 &lt;a href=&quot;;&gt;githubu&lt;/a&gt;.&lt;br /&gt;
  161. Co jsem si odnesl: zatím mi vlak neujel.&lt;/p&gt;
  162. &lt;p&gt;&lt;em&gt;Need for speed: tools for JVM tuning - Andrey Adamovich&lt;/em&gt;&lt;br /&gt;
  163. 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.&lt;/p&gt;
  164. &lt;p&gt;&lt;em&gt;Hot code is faster code - addressing JVM warm-up - Mark Price&lt;/em&gt;&lt;br /&gt;
  165. 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 &quot;cold&quot; čá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 &quot;vyvolené&quot;). To znamená, že po nějaké době běhu programu jsou jeho nejvytíženější části nejvíce optimalizované. A právě to &quot;po nějaké době běhu programu&quot; 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 &quot;testovací&quot; 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ů.&lt;br /&gt;
  166. Další z variant je prý &quot;přehrát&quot; 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 &quot;hot&quot; 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.&lt;/p&gt;
  167. &lt;p&gt;Naprostý omyl pro mne bylo jít na &lt;em&gt;Enterprise Java in the cloud&lt;/em&gt;, 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.&lt;/p&gt;
  168. &lt;p&gt;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é.&lt;/p&gt;
  169. &lt;p&gt;&lt;strong&gt;Den druhý&lt;/strong&gt;&lt;/p&gt;
  170. &lt;p&gt;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 &lt;em&gt;How to bake reactive behavior into your Java EE application&lt;/em&gt; pořád nevím. Snad se Ondra Mihályi nebude zlobit.&lt;/p&gt;
  171. &lt;p&gt;Na &lt;em&gt;One VM to rule them all&lt;/em&gt; 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 &lt;a href=&quot;;&gt;GraalVM/Truffle&lt;/a&gt;.&lt;/p&gt;
  172. &lt;p&gt;&lt;em&gt;What is your application doing when you are not around? - Adam Dubiel&lt;/em&gt;&lt;br /&gt;
  173. 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 mezi 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!&lt;/p&gt;
  174. &lt;p&gt;Na &lt;em&gt;TDD: That&#039;s not what we meant&lt;/em&gt; 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 &lt;a href=&quot;;&gt;tohle&lt;/a&gt; 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.&lt;br /&gt;&lt;a href=&quot;;&gt;Co jsem si odnesl&lt;/a&gt;&lt;/p&gt;
  175. &lt;p&gt;&lt;em&gt;JVM dive for mere mortals&lt;/em&gt; od Jakub Kubryńského pro mne bylo po čtvrtečním &lt;em&gt;Hot code is faster code - addressing JVM warm-up&lt;/em&gt; 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ě &lt;a href=&quot;;&gt;tento slide&lt;/a&gt; je myslím velmi užitečný.&lt;/p&gt;
  176. &lt;p&gt;&lt;em&gt;Reverse engineering clean code - Jakub Marchwicki&lt;/em&gt;&lt;br /&gt;
  177. 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é.&lt;/p&gt;
  178. &lt;p&gt;&lt;em&gt;Dirty Hacks With Java Reflection&lt;/em&gt; 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 &lt;a href=&quot;;&gt;kód&lt;/a&gt;.&lt;/p&gt;
  179. &lt;p&gt;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.&lt;/p&gt;
  180. &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
  181. <pubDate>Mon, 24 Oct 2016 08:16:38 +0000</pubDate>
  182. <dc:creator>martin jinoch</dc:creator>
  183. <guid isPermaLink="false">62 at</guid>
  184. <comments></comments>
  185. </item>
  186. </channel>
  187. </rss>

If you would like to create a banner that links to this page (i.e. this validation result), do the following:

  1. Download the "valid RSS" banner.

  2. Upload the image to your own server. (This step is important. Please do not link directly to the image on this server.)

  3. Add this HTML to your page (change the image src attribute if necessary):

If you would like to create a text link instead, here is the URL you can use:

Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda