{"id":183,"date":"2013-07-22T23:54:34","date_gmt":"2013-07-22T21:54:34","guid":{"rendered":"https:\/\/nikostotz.de\/blog\/?p=183"},"modified":"2013-07-22T23:54:34","modified_gmt":"2013-07-22T21:54:34","slug":"eclipse-demo-camp-kepler-stuttgart-retrospective","status":"publish","type":"post","link":"https:\/\/www.nikostotz.de\/blog\/eclipse-demo-camp-kepler-stuttgart-retrospective\/","title":{"rendered":"Eclipse Demo Camp Kepler Stuttgart Retrospective"},"content":{"rendered":"<div id=\"attachment_185\" style=\"width: 650px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart02.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-185\" src=\"https:\/\/nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart02-1024x767.jpg\" alt=\"Welcome!\" width=\"640\" height=\"479\" class=\"size-large wp-image-185\" srcset=\"https:\/\/www.nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart02-1024x767.jpg 1024w, https:\/\/www.nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart02-300x224.jpg 300w, https:\/\/www.nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart02.jpg 1876w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><p id=\"caption-attachment-185\" class=\"wp-caption-text\">Welcome!<\/p><\/div>\n<p>We had a great DemoCamp in Stuttgart. About sixty people crowded the room and welcomed every beverage the hotel could come up with.<br \/>\n<div id=\"attachment_186\" style=\"width: 650px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart03.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-186\" src=\"https:\/\/nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart03-1024x768.jpg\" alt=\"The room just sufficed\" width=\"640\" height=\"480\" class=\"size-large wp-image-186\" srcset=\"https:\/\/www.nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart03-1024x768.jpg 1024w, https:\/\/www.nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart03-300x225.jpg 300w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><p id=\"caption-attachment-186\" class=\"wp-caption-text\">The room just sufficed<\/p><\/div><\/p>\n<p>Please refer to the <a href=\"http:\/\/wiki.eclipse.org\/Eclipse_DemoCamps_Kepler_2013\/Stuttgart\">Eclipse Wiki<\/a> for abstracts, slides and additional links for all demos.<\/p>\n<p><div id=\"attachment_187\" style=\"width: 650px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart04.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-187\" src=\"https:\/\/nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart04-1024x767.jpg\" alt=\"Andreas Sewe shows Hippie Code Completion\" width=\"640\" height=\"479\" class=\"size-large wp-image-187\" srcset=\"https:\/\/www.nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart04-1024x767.jpg 1024w, https:\/\/www.nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart04-300x224.jpg 300w, https:\/\/www.nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart04.jpg 1730w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><p id=\"caption-attachment-187\" class=\"wp-caption-text\">Andreas Sewe shows Hippie Code Completion<\/p><\/div> Andreas Sewe demonstrated Code Recommenders, including their newest feature called Hippie Code Completion. He explained the various ways Eclipse supports the developer with code proposals. After a quick recap of already available Code Recommenders features we saw how Hippie Code Completion collects code patterns live during input and distills proposals on the spot.<\/p>\n<p><div id=\"attachment_188\" style=\"width: 234px\" class=\"wp-caption alignright\"><a href=\"https:\/\/nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart05.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-188\" src=\"https:\/\/nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart05-224x300.jpg\" alt=\"Jan Stamer on Eclipse Gemini\" width=\"224\" height=\"300\" class=\"size-medium wp-image-188\" srcset=\"https:\/\/www.nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart05-224x300.jpg 224w, https:\/\/www.nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart05-767x1024.jpg 767w, https:\/\/www.nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart05.jpg 1279w\" sizes=\"auto, (max-width: 224px) 100vw, 224px\" \/><\/a><p id=\"caption-attachment-188\" class=\"wp-caption-text\">Jan Stamer on Eclipse Gemini<\/p><\/div> Jan Stamer gave an overview of Eclipse Gemini, the Eclipse implementation of OSGi Enterprise specification. He compared OSGi Enterprise to Java EE and showed implementation examples for database access, JPA, and dependency injection.<\/p>\n<p><div id=\"attachment_189\" style=\"width: 650px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart06.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-189\" src=\"https:\/\/nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart06-1024x767.jpg\" alt=\"Dominik Obermaier connects anything via Eclipse Paho\" width=\"640\" height=\"479\" class=\"size-large wp-image-189\" srcset=\"https:\/\/www.nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart06-1024x767.jpg 1024w, https:\/\/www.nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart06-300x224.jpg 300w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><p id=\"caption-attachment-189\" class=\"wp-caption-text\">Dominik Obermaier connects anything via Eclipse Paho<\/p><\/div> Dominik Obermaier swapped his slot with the Contracts for Java talk. He demonstrated Eclipse Paho, the umbrella project for machine-to-machine (M2M) protocols. He argued for MQTT as lightweight, low-bandwith, and fault-tolerant protocol suited for small systems. He implemented live a publisher and subscriber of MQTT messages within a few lines of code.<\/p>\n<p><div id=\"attachment_190\" style=\"width: 650px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart07.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-190\" src=\"https:\/\/nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart07-1024x767.jpg\" alt=\"Sebastian Zarnekow in passion about Xtend\" width=\"640\" height=\"479\" class=\"size-large wp-image-190\" srcset=\"https:\/\/www.nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart07-1024x767.jpg 1024w, https:\/\/www.nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart07-300x224.jpg 300w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><p id=\"caption-attachment-190\" class=\"wp-caption-text\">Sebastian Zarnekow in passion about Xtend<\/p><\/div> Sebastian Zarnekow demonstrated Xtend, aka Java on steroids. He began by writing a simple list processing example in Java style. Step by step, he refactored the code using Xtend features, thus becoming far more concise and readable. Finally, he gave a crash course on one of Xtend&#8217;s newest features, Active Annotations: Sebastian live developed an Annotation to enable logging on any class.<\/p>\n<p>I had been warned that once we opened the windows, the air conditioning would shut down. After stepping outside and back into the room, I decided in favor of at least some oxygen, taking the risk on the air conditioning. Unfortunately, the warning came true, and we had an increasingly hot second term.<\/p>\n<p><div id=\"attachment_191\" style=\"width: 650px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart08.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-191\" src=\"https:\/\/nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart08-1024x767.jpg\" alt=\"Andreas Graf shows a dozen Eclipse projects combined to allow Function Oriented Development\" width=\"640\" height=\"479\" class=\"size-large wp-image-191\" srcset=\"https:\/\/www.nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart08-1024x767.jpg 1024w, https:\/\/www.nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart08-300x224.jpg 300w, https:\/\/www.nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart08.jpg 1795w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><p id=\"caption-attachment-191\" class=\"wp-caption-text\">Andreas Graf shows a dozen Eclipse projects combined to allow Function Oriented Development<\/p><\/div> Andreas Graf demonstrated the current state of an automotive research project. As an example, he picked the seemingly simple car function of start-stop system to save fuel at a traffic light. He explaind how this function concerns lots of different car subsystems. Most likely, they are provided by different external suppliers and managed by different internal departments. The research project IMES combines lots of Open Source and some commercial Eclipse based projects to tackle this complexity. Andreas showed this combination to enable advanced concepts like traceability, feature and variant modelling, and impact analysis.<\/p>\n<p><div id=\"attachment_192\" style=\"width: 650px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart09.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-192\" src=\"https:\/\/nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart09-1024x767.jpg\" alt=\"Hagen Buchwald explains Stefan Sch\u00fcrle&#039;s demonstration of Contracts for Java\" width=\"640\" height=\"479\" class=\"size-large wp-image-192\" srcset=\"https:\/\/www.nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart09-1024x767.jpg 1024w, https:\/\/www.nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart09-300x224.jpg 300w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><p id=\"caption-attachment-192\" class=\"wp-caption-text\">Hagen Buchwald explains Stefan Sch\u00fcrle&#8217;s demonstration of Contracts for Java<\/p><\/div> Stefan Sch\u00fcrle stood in for Florian Meyerer to demonstrate Contracts for Java together with Hagen Buchwald. Hagen started by explaining the basic ideas of contracts. Every step Hagen explained, Stefan implemented within the C4J framework. The demo application provided a student&#8217;s bank account, guarded by contracts to disallow debit.<\/p>\n<p><div id=\"attachment_193\" style=\"width: 650px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart10.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-193\" src=\"https:\/\/nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart10-1024x767.jpg\" alt=\"Timo Kehrer explains SiLift\" width=\"640\" height=\"479\" class=\"size-large wp-image-193\" srcset=\"https:\/\/www.nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart10-1024x767.jpg 1024w, https:\/\/www.nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart10-300x224.jpg 300w, https:\/\/www.nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart10.jpg 2027w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><p id=\"caption-attachment-193\" class=\"wp-caption-text\">Timo Kehrer explains SiLift<\/p><\/div> Timo Kehrer explained SiLift, the Eclipse implementation of his concept how to compare\/merge models on a meaningful level. He focused on edit operations as basic blocks rather than model modifications. Timo illustrated how SiLift can detect the changes of some edit operations automatically; more complex examples need to be described by the developer. He spent quite some time on putting the concept into usable tools.<\/p>\n<p><div id=\"attachment_194\" style=\"width: 310px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart11.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-194\" src=\"https:\/\/nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart11-300x203.png\" alt=\"Sorry Ed, I forgot to take a picture (-:\" width=\"300\" height=\"203\" class=\"size-medium wp-image-194\" srcset=\"https:\/\/www.nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart11-300x203.png 300w, https:\/\/www.nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart11-1024x694.png 1024w, https:\/\/www.nikostotz.de\/blog\/wp-content\/uploads\/2013\/07\/EclipseDemoCampKeplerStuttgart11.png 1312w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-194\" class=\"wp-caption-text\">Sorry Ed, I forgot to take a picture (-:<\/p><\/div> Ed Merks concluded the sessions with his &#8220;first non-modelling talk in the last ten years&#8221;, as he put it. He told about his experience on improving Java performance in two customer projects. He learned not to trust anything and to be paranoid about common knowledge, each and any measurement, experts, and even oneself. He showed how to establish some baseline by looking for the quickest action one environment can measure (limited by timer resolution) and the fastest operations a JVM is capable. On this baseline, he wrote a simple framework to work on more complex cases. The <a href=\"http:\/\/wiki.eclipse.org\/images\/c\/ca\/JavaPerformanceTuning.pdf\">extended slides<\/a> offer much more detail than Ed was able to squeeze into the 20 minute slot.<\/p>\n<p>After more than three hours of new and exciting ideas, combined with a jungle-like climate in the room, both the speakers and the audience rushed for the buffet and more cool drinks. We had a relaxed evening with lots of interesting discussions, leaving the premises just about midnight.<\/p>\n<p>My special thanks go to all the speakers, arriving from all over Germany on their own expenses to show us their Cool Stuff&trade;.<\/p>\n<p>I appreciate all our guests participating in the DemoCamp and the survey we sent. We got more than 50&nbsp;per&nbsp;cent response rate &mdash; thank you! The survey resulted in a favor for short slots in English. The demo vs. presentation question came out more closely, with advantage for a mixed program.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We had a great DemoCamp in Stuttgart. About sixty people crowded the room and welcomed every beverage the hotel could come up with. Please refer to the Eclipse Wiki for abstracts, slides and additional links for all demos. Andreas Sewe demonstrated Code Recommenders, including their newest feature called Hippie Code Completion. He explained the various [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[13,17,14,16,7,15,20,18,19,12,21,23,22,8],"class_list":["post-183","post","type-post","status-publish","format-standard","hentry","category-eclipse","tag-13","tag-c4j","tag-code-recommenders","tag-contracts-for-java","tag-democamp","tag-eclipse-gemini","tag-eclipse-paho","tag-eclipse-xtend","tag-function-oriented-development","tag-kepler","tag-mqtt","tag-performance-tuning","tag-silift","tag-stuttgart"],"_links":{"self":[{"href":"https:\/\/www.nikostotz.de\/blog\/wp-json\/wp\/v2\/posts\/183","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.nikostotz.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.nikostotz.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.nikostotz.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nikostotz.de\/blog\/wp-json\/wp\/v2\/comments?post=183"}],"version-history":[{"count":35,"href":"https:\/\/www.nikostotz.de\/blog\/wp-json\/wp\/v2\/posts\/183\/revisions"}],"predecessor-version":[{"id":230,"href":"https:\/\/www.nikostotz.de\/blog\/wp-json\/wp\/v2\/posts\/183\/revisions\/230"}],"wp:attachment":[{"href":"https:\/\/www.nikostotz.de\/blog\/wp-json\/wp\/v2\/media?parent=183"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.nikostotz.de\/blog\/wp-json\/wp\/v2\/categories?post=183"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.nikostotz.de\/blog\/wp-json\/wp\/v2\/tags?post=183"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}