<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Xebia Blog &#187; conference</title>
	<atom:link href="http://blog.xebia.com/tag/conference/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.xebia.com</link>
	<description>Software development done right!</description>
	<lastBuildDate>Wed, 01 Feb 2012 00:30:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>QA&amp;TEST 2011 Conference Impression</title>
		<link>http://blog.xebia.com/2011/11/02/qatest-2011-conference-impression/</link>
		<comments>http://blog.xebia.com/2011/11/02/qatest-2011-conference-impression/#comments</comments>
		<pubDate>Wed, 02 Nov 2011 20:40:31 +0000</pubDate>
		<dc:creator>Cirilo Wortel</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Quality Assurance]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[conference]]></category>

	<!-- AutoMeta Start -->
	<category>accessibility</category>
	<category>pixels</category>
	<category>accessibility</category>
	<category>pixels</category>
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://blog.xebia.com/?p=7985</guid>
		<description><![CDATA[Last week I joined the QA&#38;TEST conference in the beautiful town of Bilbao. In this post I’ll give an impression of some of the presentations I attended to and the idea’s I picked up. Most valuable sessions I attended were “Pushing the Boundaries of User Experience” by Julien Harty and “Automated Reliability Testing via hardware [...]]]></description>
			<content:encoded><![CDATA[<p>Last week I joined the <a href="http://qatest.org">QA&amp;TEST</a> conference in the beautiful town of <a title="Bilbao" href="http://www.flickr.com/photos/iamroot/sets/72157628030705674/">Bilbao</a>. In this post I’ll give an impression of some of the presentations I attended to and the idea’s I picked up. Most valuable sessions I attended were “Pushing the Boundaries of User Experience” by Julien Harty and “Automated Reliability Testing via hardware interfaces” by Bryan Bakker. Read about it in more detail in the article.<img title="More..." src="http://blog.xebia.com/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" alt="" /></p>
<p><span id="more-7985"></span>I was so fortunate to be invited to present at the 10th edition of the <a href="http://qatest.org">QA&amp;TEST</a>. The conference focuses on QA and testing for embedded systems, an area I know little about. Though, when I first started testing in the late nineties, I was so lucky to work with a gentleman that had lost his job at Fokker (the airplane manufacturer had just gone bankrupt). At Fokker he used to test instruments used in the airplanes, like altitude meters, speedometers and other fine machinery. He knew very little about computers and was struggling with was to me basic stuff (being a rookie myself), but he was also one of the most structural and detail critical people I ever worked with. Besides loads of test techniques and responsibility for my work, what I learned from that experience is that testing is testing and the same rules apply in most fields. So after contemplating the above I happily accepted the invitation. What I experienced during the conference is that testing embedded systems is about software testing and lucky for me, in this field Agile methodologies and test automation can be applied just the same.</p>
<p><strong>Automated Reliability Testing via hardware interfaces</strong> by <strong>Bryan Bakker</strong></p>
<p>How test automation can successful be applied was highlighted by fellow speaker Bryan Bakker who did a great presentation of a case study on how his team. The team was requested to improve the reliability of a system and call it in an act of rebellion kept on increasing test automation rather than adding new functionality. This resulted in (if I remember the correct figures) a savior of over 1.2 million euro’s on damage that bugs would have otherwise caused in production. The result was so spectacular that they were granted extra budget to continue with their work, but also to apply the approach in other projects. Interesting takeaway from his presentation, that seems a bit more specific for embedded systems but might apply in other area’s as well, was a smart test-scheduler they had introduced. The product under test was a medical x-ray device that under circumstances would get an overheated engine, it took hours for it to cool down again which made it impossible to continue the test run. Whenever this was detected they would automatically switch to other types of tests, that were less dependent on the engine and could run until the engine had cooled down again. A simple but effective time-saver coming from a pragmatic mind.</p>
<p><strong>Continuous Quality Improvement using Root Cause Analysis</strong> by <strong>Ben Linders</strong></p>
<p>A session I unfortunately did not actually attend to, but that I had an interesting discussion about with the presenter, was the conference closing presentation by Ben Linders called “Continuous Quality Improvement using Root Cause Analysis”. He claims that a team can accurately predict the number of bugs it is going to make during a sprint and he has developed a method to help reduce this number using root cause analysis. I found this a fascinating and somewhat controversial idea, I have yet to meet a developer (specially the ones in Agile projects) that can admit let alone predict they’re making bugs. But as I understood it works in a similar way as predicting velocity, you get more accurate as you go, using historic data from previous sprints.</p>
<p><strong>Runaway Test Automation Projects</strong> by <strong>Michael Stahl</strong></p>
<p>The presentation of Michael Stahl titled “Runaway Test Automation Projects” seemed less relevant to Agile environments (at least the once I worked in), he however pointed out lots of valid risks that exist when doing test automation. Main take away for the audience in my opinion was the point that test automation should be treated as “regular” software, creating unit tests, applying quality standards and using version control. Things that in my experience sound like common sense, but never the less very true.</p>
<p><strong>Pushing the Boundaries of User Experience</strong> by <strong>Julien Harty</strong></p>
<p>The presentation that was probably of the most added value to me was called “Pushing the Boundaries of User Experience”, by Ebay’s Julien Harty. He had an enlightening story on automated user experience testing. With crawlers like <a href="http://crawljax.com/">Crawljax</a> analysis of the dynamic (Ajax) behavior of a website can be done. With static analysis accessibility issues can be found, stuff that can be very important if you want to comply to <a href="http://nl.wikipedia.org/wiki/Web_Content_Accessibility_Guidelines">WCAG</a> guidelines, which hardly ever gets proper attention. Accessibility is often seen as something to facilitate a minority, but from a development point of view it helps to improve testability of the product What makes accessibility testing feasible from a business perspective is that it actually helps to improve search engine optimization, which increases the visibility of the site in search engines.<br />
He explained how at Ebay they run automated tests for improving usability and accessibility, but also for finding layout issues and browser dependencies in a cost effective way.<br />
Layout bugs can be found in an extremely simple but effective way using <a href="http://code.google.com/p/fighting-layout-bugs/">FightingLayoutBugs</a>. Let me describe this in a little more detail.<br />
How does this work? First you need to know which pixels belong to text, second you need to know which pixels belong to a horizontal or vertical edge, now if text pixels and edge pixels overlap you have a layout bug. Sounds pretty simple and it actually is!<br />
How is text detected? All text of a page is set to a white font color and a snapshot is taken. All the text on a page is set to black and a snapshot is taken. Now when the two are compared, all different pixels are probably text.<br />
How are horizontal and vertical lines detected? First set all the text on the page to transparent (btw setting the text color is done using jQuery), so now there are only graphics, take a screenshot. Now it’s identified which sequences of pixels have a certain minimal length and the same or very similar color, only those that have a high contrast to the left or to the right are selected. The same approach applies for horizontal lines. Now compare the outcome with the identified text. When text and lines overlap there’s a layout bug (which happens to be automatically reported).</p>
<div>
<dl id="attachment_7978">
<dt><a href="http://blog.xebia.com/wp-content/uploads/2011/11/bla.jpg"><img title="Ebay's test setup" src="http://blog.xebia.com/wp-content/uploads/2011/11/bla-300x188.jpg" alt="Ebay's test setup" width="300" height="188" /></a></dt>
<dd>Ebay&#8217;s test setup</dd>
</dl>
</div>
<p>During a life demo Julian ran some of these tools against the <a href="http://qatest.org">conference</a> website. With <a href="http://code.google.com/p/web-accessibility-testing/">web-accessibility-testing</a> pointed out how bad the accessibility was for people that rely on tabbing to navigate through the screen. Static analysis of the site pointed out the page contained url’s with duplicate or no alt texts. Stuff that seems of minor severity but for disabled people essential. He concluded by revealing a security issue that caused some hilarity. He gave away the most lucrative reduction code for registration. It turned out all reduction codes for the conference were hardcoded in the Javascript in the page source.</p>
<p>All together it has been a valuable learning experience, beside the fact that a visit to Bilbao alone is definitely worth the trip!</p>
<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="small" count="1" href="http://blog.xebia.com/2011/11/02/qatest-2011-conference-impression/"></g:plusone></div><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.xebia.com%2F2011%2F11%2F02%2Fqatest-2011-conference-impression%2F&amp;title=QA%26%23038%3BTEST%202011%20Conference%20Impression" id="wpa2a_2"><img src="http://blog.xebia.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.xebia.com/2011/11/02/qatest-2011-conference-impression/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>My days at Devoxx: 2009 Conference Review</title>
		<link>http://blog.xebia.com/2009/11/21/my-days-at-devoxx-2009-conference-review/</link>
		<comments>http://blog.xebia.com/2009/11/21/my-days-at-devoxx-2009-conference-review/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 09:00:23 +0000</pubDate>
		<dc:creator>Andrew Phillips</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[devoxx]]></category>

	<!-- AutoMeta Start -->
	<category></category>
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://blog.xebia.com/?p=3552</guid>
		<description><![CDATA[I&#8217;ve just come back from Devoxx 09 in Antwerp, Belgium, a conference that will probably become known as the one in which closures sneaked back in to Java 7. Whilst I didn&#8217;t feel any particular urge to return for the day 3, there was more than enough interesting material, both technical and abstract, in the [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.xebia.com/wp-content/uploads/2009/11/devoxx_logo.jpg" alt="Devoxx logo" title="Devoxx logo" width="200" height="75" class="alignright size-full wp-image-3561" style="float: right;" /><br />
I&#8217;ve just come back from <a href="<br />
http://www.devoxx.com/display/DV09/Home" target="_new">Devoxx 09</a> in Antwerp, Belgium, a conference that will probably become known as the one in which <a href="http://puredanger.com/tech/2009/11/18/closures-after-all/" target="_new">closures sneaked back in</a> to Java 7.<br />
Whilst I didn&#8217;t feel any particular urge to return for the day 3, there was more than enough interesting material, both technical and abstract, in the first two days for me to chew on. Here some thoughts and comments on my personal &#8220;slice&#8221; of Devoxx.<br />
<span id="more-3552"></span></p>
<h3>Andrew&#8217;s agenda</h3>
<p>What I saw (and, for the curious, <a href="http://www.devoxx.com/display/DV09/Schedule" target="_new">what I missed</a>)<sup>1</sup>:</p>
<h4>Wed</h4>
<ul>
<li><em>Keynote:</em> <a href="http://www.devoxx.com/display/DV09/Java%2C+the+Platform+for+the+Future" target="_new">Java, the Platform for the Future</a></li>
<li><em>Keynote:</em> <a href="http://www.devoxx.com/display/DV09/Java+EE+6+and+GlassFish+V3" target="_new">Java EE 6 and GlassFish V3: Evolution of a Platform</a></li>
<li><a href="" target="_new">Agile Mythbusters</a></li>
<li><a href="http://www.devoxx.com/display/DV09/The+Concurrency+Revolution" target="_new">The Concurrency Revolution</a></li>
<li><a href="http://www.devoxx.com/display/DV09/Traditional+Programming+Models" target="_new">Traditional Programming Models: Stone Knives and Bearskins in the Google Age</a></li>
<li><a href="http://www.devoxx.com/display/DV09/Keeping+Your+Options+Open%2C+Even+if+the+Cloud+is+Not" target="_new">Keeping Your Options Open, Even if the Cloud is Not</a></li>
<li><a href="http://www.devoxx.com/display/DV09/Distributed+Programming+the+Google+Way" target="_new">Distributed Programming the Google Way</a></li>
</ul>
<h4>Thu</h4>
<ul>
<li><em>Keynote:</em> <a href="http://www.devoxx.com/display/DV09/Do+we+really+know+how+to+develop+software" target="_new">Do we really know how to develop software?</a></li>
<li><em>Keynote:</em> <a href="http://www.devoxx.com/display/DV09/Filling+The+Professionalism+Gap" target="_new">Filling The Professionalism Gap</a></li>
<li><a href="http://www.devoxx.com/display/DV09/The+not+so+dark+art+of+Performance+Tuning" target="_new">The not so dark art of Performance Tuning</a></li>
<li><a href="http://www.devoxx.com/display/DV09/Google+Appengine+Java+-+Groovy+baby" target="_new">Google Appengine Java &#8211; Groovy baby</a></li>
<li><a href="http://www.devoxx.com/display/DV09/Traditional+Programming+Models" target="_new">Traditional Programming Models: Stone Knives and Bearskins in the Google Age</a></li>
<li><a href="http://www.devoxx.com/display/DV09/Using+BTrace+and+DTrace+to+Instrument+and+Analyse+Java+Applications" target="_new">Using BTrace and DTrace to Instrument and Analyse Java Applications</a></li>
<li><a href="http://www.devoxx.com/display/DV09/Performance+for+the+performance-shy" target="_new">Performance for the performance-shy</a></li>
</ul>
<h3><em>That</em> announcement</h3>
<p>Yes, it&#8217;s somewhat ironic that I missed <u>the</u> big announcement of the conference: that closures <em>may</em> sneak in to Java 7 after all. In fact, I had decided to forego Mark&#8217;s talk in the moderately firm belief that there wasn&#8217;t going to be anything in it he hadn&#8217;t presented elsewhere or blogged about before. So much for instinct.<br />
Needless to say, news filtered through pretty soon, though, and of course almost everybody <a href="http://puredanger.com/tech/2009/11/18/closures-after-all/" target="_new">has</a> <a href="http://www.java.net/blog/cayhorstmann/archive/2009/11/18/closures-java-7" target="_new">an</a> <a href="http://weblogs.java.net/blog/editor/archive/2009/11/19/devoxx-surprise-out-nowhere-closures-jdk-7" target="_new">opinion</a> about this unexpected (to say the least) development.</p>
<p>Some samples<sup>2</sup> of what they might look like</p>
<pre class="brush: java; title: ; notranslate">
Collections.sort(strings, #(String a, String b) a.length() - b.length());
Collections.sort(strings, #(String a, String b) { return a.length() - b.length(); });
</pre>
<pre class="brush: java; title: ; notranslate">
@Shared int clickCount = 0;
button.addActionListener(#(ActionEvent e) { clickCount++; });
</pre>
<h3>What&#8217;s buzzing</h3>
<p>With Sun and Adobe &#8220;premium partners&#8221; of the event, it was hardly surprising to come across quite a number of JavaFX and Flex talks. Oracle&#8217;s entry into the fray was slightly more intriguing, focussing as they did on new features in the upcoming WebLogic releases.</p>
<p>Needless to say, that was slightly more enterprisey than one is used at developer conferences; I personally was intrigued to see them starting to get interested in the <a href="http://blog.xebia.com/2009/11/13/do-application-server-vendors-really-understand-deployment/" target="_new">deployment space</a> with an initial offering that makes it possible to create virtual machine images from configured systems.<br />
From what I saw, there are still some important concepts missing there (which, naturally, we at <a href="http://www.xebialabs.com" target="_new">XebiaLabs</a> are trying to address with <a href="http://www.xebialabs.com/deployit-automated-deployment-java-applications" target="_new">Deployit</a>), but it&#8217;s interesting to see the middleware vendors beginning to pay attention to this.</p>
<p>Sponsors aside, the conference&#8217;s main threads, as far as I could see, were the &#8220;usual suspects&#8221; of concurrency, OSGi, Cloud and Scala. Of these, concurrency/distributed programming and OSGi seem to be gaining a little more enterprise traction (in terms of the number of people who actually appear to be using them for real projects); Scala and Cloud remain things to be &#8220;interested in&#8221; and &#8220;play with&#8221;, but still retain a slightly experimental flavour.</p>
<p>I can&#8217;t say, though, that I came across anything that hasn&#8217;t been around the conference block for at least a year. No real surprises, in other words.</p>
<h3>Highlights</h3>
<h4>Most Professionally Thought-Provoking</h4>
<p>Joint award here to <a href="http://www.devoxx.com/display/DV09/Ivar+Jacobson" target="_new">Ivar Jacobson</a> and <a href="http://www.devoxx.com/display/DV09/Robert+C.+Martin" target="_new">Uncle Bob</a>, both of whom presented a rather critical view of the current state of the software development industry and made some thought-provoking remarks.</p>
<p>The main gist of Ivar&#8217;s talk was that software engineering as a discipline lacks any kind of solid theoretical foundation, lurching from (methodological) fad to fad rather than developing a cumulative body of best practice knowledge.</p>
<p>His approach to avoiding what he considers as a recurring tendency to throw out the baby out with the bathwater is to break methodologies such as Agile down into sets of <em>practices</em>. In this framework, these constitute the &#8220;atomic&#8221; entities, and supposedly make it easier to identify common features of different methodologies and incrementally improve them.</p>
<p>Whether the <em>Iterative</em> practice in e.g. Scrum is really the same as <em>Iterative</em> in a different methodology, or whether processes are really just &#8220;bags&#8221; of practices to which you can add others without disturbing some inherent balance, are questions left unanswered.</p>
<p>In any case, Ivar has drummed up a bunch of Thought Leaders and is issuing the following <a href="http://www.semat.org/" target="_new">call to action</a>, to which all developers are apparently invited to contribute.</p>
<p>By contrast, Uncle Bob&#8217;s talk focussed less on the <em>process</em> and more on the <em>technical</em> side of software engineering. His central tenet: developers need to learn to behave more like <u>skilled professionals</u>. Which to him means, amongst other things:</p>
<ul>
<li>Learning to say <strong>no</strong> (how often have you heard a doctor say: &#8220;Fff, it&#8217;ll be tough, but we&#8217;ll try and get your liver done by tomorrow?&#8221;)</li>
<li>Demanding a right to a <u>technical</u> career path that suitably recognizes<br />
accumulated skill and experience (rather than forcing developers to become managers to progress)</li>
<li>Always aiming for a &#8220;professionally ethical&#8221; level of <em>code</em> quality (<u>independent</u> of business value)</li>
</ul>
<p>It intrigued me to note that the attitudes that Bob was referring to are most commonly found in guild-like professions (such as law or medicine), whose practices are usually based more on experience and tradition than hard science. But let&#8217;s keep the &#8220;software development: craft or science?&#8221; debate for some convivial pub session, shall we?</p>
<h4>Most Technically Thought-Provoking</h4>
<p>Looking back on it as a whole, <a href="http://www.devoxx.com/display/DV09/Cameron+Purdy" target="_new">Cameron Purdy&#8217;s</a> talk was no more or less than a well-delivered, knowledgable presentation on the benefits of event-driven architectures. The observation he used as an introduction, however, I found fascinating: <em>simply learning to program is bad for scalability</em>.</p>
<p>The argument goes a little bit like this: in almost all the languages you might learn as a beginning programmer, you can write something like:</p>
<pre class="brush: java; title: ; notranslate">
  int total = 0;
  int i = 10;
  addToTotal(i);
  // now total = 10
  i = 20;
  addToTotal(i);
  // now total = 30
</pre>
<p>Trival. But hidden amongst our &#8220;natural&#8221; interpretation of what code will do are the following expectations:</p>
<ul>
<li>the statements <em>will</em> be executed</li>
<li>the statements will be executed <em>in the order written</em></li>
<li>the statements will be executed <em>exactly once</em></li>
</ul>
<p>Cameron&#8217;s point is that, if you consider distributed systems, these requirements &#8211; <em>guaranteed execution</em>, <em>global ordering</em> and <em>exactly once processing</em> &#8211; are just about the most stringent, and hence costly, expectations one can have.</p>
<p>Systems which are <em>fault-tolerant</em>, <em>free of race conditions</em> and <em>idempotent</em> have a much better chance of scaling and distributing well, and one of these reasons this is hard is because it goes so deeply against the grain of the intuitive picture of how programs run that are ingrained right from the first line of code we write.</p>
<h4>Best Technical Content</h4>
<p>Trust Google to put together the talk with the most varied range of &#8220;cool stuff&#8221;. <a href="http://www.devoxx.com/display/DV09/Gregor+Hohpe" target="_new">Gregor Hohpe</a> gave a very engaging presentation on <a href="http://en.wikipedia.org/wiki/MapReduce" target="_new">MapReduce</a>, <a href="http://en.wikipedia.org/wiki/Bigtable" target="_new">Bigtable</a>, <a href="http://en.wikipedia.org/wiki/Sawzall_%28programming_language%29" target="_new">Sawzall</a> and others, interspersed with mentions of things like <a href="http://en.wikipedia.org/wiki/Bloom_filters" target="_new">Bloom filters</a> and other interesting theoretical concepts.</p>
<p>The common theme here was definitely trading off functionality for scalability, with the conclusion that we can often get away with much less functionality than one might expect. Sawzall, for instance, does lightning-fast distributed aggregations, but, being history-less (you only see the current row), can&#8217;t even do duplicate checks.</p>
<p>So what do you do if you discover that the engineers over at the Mountain View chocolate factory have sacrificed even the tiny little bit of functionality you need? Can you hand back a bit of that Bigtable scalability for multi-row locks, or are you straight back to Oracle 11g?</p>
<p>Well, it appears that Google <em>does</em> have a transactional engine on top of Bigtable, after all. But <em>that&#8217;s</em> certainly not open source!</p>
<h4>Best Presentation</h4>
<p><img src="http://blog.xebia.com/wp-content/uploads/2009/11/expectation_failed-300x300.jpg" alt="417 Expectation Failed" title="417 Expectation Failed" width="200" height="200" class="size-medium wp-image-3554" style="float: right;"/></p>
<p>The prize for sheer viewing pleasure goes to <a href="http://www.devoxx.com/display/DV09/Doug+Tidwell" target="_new">Doug Tidwell&#8217;s</a> talk on <a href="http://www.simplecloud.org/" target="_new">SimpleCloud</a>. Humourous, slickly presented, with a good mix of examples and concepts served in manageable chunks, I certainly enjoyed this one. Including a recurring joke (in this case, Adam Koford&#8217;s set of <a href="http://www.flickr.com/photos/apelad/sets/72157594388426362/" target="_new">HTTP response code illustrations</a> isn&#8217;t a new idea, of course, but this one was actually topical <em>and</em> funny.</p>
<p>In terms of the content, SimpleCloud looks like a pretty decent cloud API. Quite how useful a PHP library can be for Java developers remains to be seen; if you&#8217;re looking for a powerful, concurrent Java cloud library with support for lots of cloud providers try <a href="http://code.google.com/p/jclouds/" target="_new">jclouds</a><sup>3</sup>.</p>
<h3>Lowlights</h3>
<h4>Most Annoying Trait</h4>
<p><em>To presenters from North America, a polite request:</em> if at all possible, please remove jokes or other references to intrinsically North American popular culture.<br />
Having to sit through a five-minute explanation of who a particular character in an American sitcom in the 70s was, or what the point of a certain gameshow was, isn&#8217;t a great start for a presentation that was supposed to begin with a quick joke and then get on to the topic the audience is actually interested in.<br />
Thank you.</p>
<h4>Biggest Disappointment</h4>
<p>Working for a company that is widely known for its Agile expertise, I was looking forward to <a href="http://www.devoxx.com/display/DV09/Scott+Ambler" target="_new">Scott Ambler&#8217;s</a> promise of investigating some of the myths and rumours surrounding Agile to the scrutiny of cold, hard statistics.<br />
What we got, however, was a lightning dash through the self-reported results of a number of surveys, without so much as a hint of analysis or further explanation.</p>
<p>Whilst it&#8217;s certainly not uninteresting to learn that more than 50% of Agile teams <em>do</em> in fact do some up-front design, what I would very much like to know is whether up-front design actually leads to more successful projects! Suffice it to say that my colleague and I left the hall with many questions and few, if any, answers, and that&#8217;s not taking into account the confusing presentation of many of the numbers.</p>
<h4>A note on Performance Talks</h4>
<p>As you might have guessed from my conference agenda, I&#8217;m quite interested in all this concurrency and performance stuff (it probably wouldn&#8217;t surprise you either to learn that I&#8217;m also trying to help with <a href="http://code.google.com/p/multiverse/" target="_new">Multiverse</a>, a Java <a href="http://en.wikipedia.org/wiki/Software_transactional_memory" target="_new">STM</a> implementation). But after this round I think I&#8217;ll be skipping performance tuning presentations for a while.</p>
<p>Not that <a href="http://www.devoxx.com/display/DV09/Kirk+Pepperdine" target="_new">Kirk&#8217;s</a> or <a href="http://www.devoxx.com/display/DV09/Holly+Cummins" target="_new">Holly&#8217;s</a> presentations were bad or even boring, they were simply going over the same basic &#8220;performance tuning 101&#8243; stuff that is talked about every year, at every conference.</p>
<p>Now, these sessions are usually packed, so there certainly still seems to be plenty of demand for learning how to get a thread or heap dump or how to write a <a href="http://jakarta.apache.org/jmeter/" target="_new">JMeter</a> test plan.</p>
<p>Naturally, I understand that, because performance tuning is so specific to the application at hand, it&#8217;s difficult to give more than general information and guidance. But at the end of one of these sessions I always feel I&#8217;ve hardly scratched the surface of these experts&#8217; knowledge of application performance.</p>
<p>What I would love to attend, for instance, is session during which I could simply watch these performance experts at work, attacking the problem of tuning a real application &#8220;from scratch&#8221;.<br />
The point would not be to see to what extent the application could be speeded up &#8211; in fact, that would be completely irrelevant. But I think there would be a <em>lot</em> to learn from seeing how a performance tuning professional goes about such a task in practice: where to start measuring, what tools to use, how initial hypotheses are formed etc.</p>
<p>But of course it&#8217;s also not realistic to expect people to give away the &#8220;trade secrets&#8221; that allow them to earn a living just like that.</p>
<p>Oh, and to all the JVM vendors out there: <em>please</em> consider coming up with some standardized formats for profiling information! It&#8217;s such a pity to watch demonstrations of really useful-looking tools (such as IBM&#8217;s <a href="http://www.ibm.com/developerworks/java/jdk/tools/healthcenter/" target="_new">Health Center</a>) only to discover they can&#8217;t work with the data produced by the JVM your client is using.</p>
<h3>Quote of the conference</h3>
<p>The rumour that Mark had come up with the new closure proposal syntax on the plane over to Belgium certainly caused a few chuckles. My favourite, though, was a remark attributed to Larry Ellison, who in response to possible demands from the EU to sell off mySQL is <a href="http://digitaldaily.allthingsd.com/20090922/oracle-mysql/" target="_new">supposed to have said</a>: &#8220;The &#8216;my&#8217; in &#8216;mySQL&#8217; means <em>Larry&#8217;s</em> SQL.&#8221;.</p>
<h3>A final note</h3>
<p>Hats off again to the Devoxx team. Content seems to be more or less on a par with JavaOne, and yet the attendance fee is still roughly €1000 less than almost all other conferences. </p>
<p>It&#8217;s not perfect, of course: the wireless connection is just as continuously unavailable as elsewhere, and the food-loving Belgians are unlikely to consider the catering the pinnacle of Belgian culinary tradition. But after all, for €1000 you could eat and drink yourself pretty silly in Antwerp&#8217;s many good restaurants and bars, and still have enough left over for some lightning-fast internet. </p>
<p>For me, still the European conference to beat.</p>
<div style="background-color: #EFEEEA; border: 1px solid #AAAAAA; margin: 0.8em; padding: 0.4em; font-size: 85%;">
<strong>Footnotes</strong></p>
<ol>
<li>Links to slides will be added as soon as they&#8217;re available. You can also watch recordings of the talks over at <a href="http://devoxx.parleys.com/" target="_new">Stephan&#8217;s site</a>.</li>
<li>See Cay Horstmann&#8217;s <a href="http://www.java.net/blog/cayhorstmann/archive/2009/11/18/closures-java-7" target="_new">blog post</a> for further examples.</li>
<li>Disclaimer: I&#8217;ve been a bit involved with jclouds myself <img src='http://blog.xebia.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </a>
</ol>
</div>
<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="small" count="1" href="http://blog.xebia.com/2009/11/21/my-days-at-devoxx-2009-conference-review/"></g:plusone></div><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.xebia.com%2F2009%2F11%2F21%2Fmy-days-at-devoxx-2009-conference-review%2F&amp;title=My%20days%20at%20Devoxx%3A%202009%20Conference%20Review" id="wpa2a_4"><img src="http://blog.xebia.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.xebia.com/2009/11/21/my-days-at-devoxx-2009-conference-review/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Life on Tour: JAX 2009 Conference Review</title>
		<link>http://blog.xebia.com/2009/04/30/life-on-tour-jax-09-conference-review/</link>
		<comments>http://blog.xebia.com/2009/04/30/life-on-tour-jax-09-conference-review/#comments</comments>
		<pubDate>Thu, 30 Apr 2009 00:12:26 +0000</pubDate>
		<dc:creator>Andrew Phillips</dc:creator>
		<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/home/blog.xebia.com/www/wp-content/plugins/autometa/autometa.php</b> on line <b>303</b><br />
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Eclipse Forum]]></category>
		<category><![CDATA[JAX]]></category>
		<category><![CDATA[OSGi]]></category>
		<category><![CDATA[SOACON]]></category>

	<!-- AutoMeta Start -->
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://blog.xebia.com/?p=1423</guid>
		<description><![CDATA[Last week I attended JAX &#8217;09, the Java User Conference in Mainz, Germany. Or rather &#8220;conferences&#8221;, because once you&#8217;re there JAX is indistinguishable from something called SOACON and the Eclipse Forum Europe, which officially take place in parallel. Vibe Compared to last year&#8217;s Devoxx (a.k.a. JavaPolis) and certainly events like FOSDEM, the mood at JAX [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right;"><img src="http://blog.xebia.com/wp-content/uploads/2009/04/jax09_logo.png" alt="jax09_logo" title="jax09_logo" width="150" height="66" class="alignright size-full wp-image-1663" /><br />
<img src="http://blog.xebia.com/wp-content/uploads/2009/04/jax09_3_in_1.jpg" alt="jax09_3_in_1" title="jax09_3_in_1" width="150" height="73" class="alignright size-medium wp-image-1661" /></div>
<p>Last week I attended <a href="http://it-republik.de/jaxenter/jax/?l=_en" target="_new">JAX &#8217;09</a>, the Java User Conference in <a href="http://en.wikipedia.org/wiki/Mainz">Mainz</a>, Germany.<br />
Or rather &#8220;conferences&#8221;, because once you&#8217;re there JAX is indistinguishable from something called SOACON and the Eclipse Forum Europe, which officially take place in parallel. <span id="more-1423"></span></p>
<h3>Vibe</h3>
<p>Compared to last year&#8217;s <a href="http://www.devoxx.com/" target="_new">Devoxx</a> (a.k.a. JavaPolis) and certainly events like <a href="http://fosdem.org/" target="_new">FOSDEM</a>, the mood at JAX seemed rather subdued. Since I hadn&#8217;t been to JAX before, though, it&#8217;s hard to say if that was the recession biting or just the norm for this conference.<br />
I overheared one of the organisers mention that attendance <em>was</em> down on previous years, though. Certainly, for a conference of this size &#8211; 08:30 to 22:15 daily, with up to 12 concurrent sessions &#8211; it felt a bit empty. The &#8220;expo&#8221; area looked especially quiet.</p>
<p>Apart from some of the &#8220;usual suspects&#8221; (Neal Ford, Ted Neward, Peter Kriens; SpringSource, JBoss, dynaTrace), the vast majority of the audience and exhibitors were German developers and consultancies, respectively, giving the conference a strong &#8220;national&#8221; feel.</p>
<h3 style="color: red;">Hot</h3>
<p>Buzzwords at this year&#8217;s JAX (coinciding, unsurprisingly, with the conference&#8217;s &#8220;Theme Days&#8221;):</p>
<ul>
<li><a href="http://en.wikipedia.org/wiki/Agile_software_development" target="_new">Agile</a></li>
<li><a href="http://en.wikipedia.org/wiki/Scala_(programming_language)" target="_new">Scala</a></li>
<li><a href="http://www.osgi.org/Main/HomePage" target="_new">OSGi</a></li>
<li><a href="http://en.wikipedia.org/wiki/Domain-specific_language" target="_new">DSLs</a></li>
</ul>
<p>Slightly disappointingly, these were all things that have been around for a while.</p>
<h3 style="color: blue;">Not</h3>
<ul>
<li>Web application development in Java</li>
<li>ESBs</li>
<li><a href="http://en.wikipedia.org/wiki/Cloud_computing" target="_new">Cloud</a></li>
</ul>
<h3>Keynotes</h3>
<h4>Ancient Philosophers and Blowhard Jamborees</h4>
<p>Neal Ford&#8217;s <em><a href="http://nealford.com/downloads/conferences/canonical/Neal_Ford-Ancient_Philosophers_and_Blowhard_Jamborees_keynote.pdf" target="_new">Ancient Philosophers and Blowhard Jamborees</a></em> keynote was an entertaining, as ever, look at software development&#8217;s past, present and future.</p>
<p>Neal laments our continuted inability to learn from the past &#8211; our blissful ignorance of software development&#8217;s &#8220;<a href="http://www.merriam-webster.com/dictionary/lore" target="_new">lore</a>&#8220;, as he put it. As a result, we not only keep reinventing the wheel; instead of tackling the actual <em>core problem</em> at hand, we waste a lot of time and energy grappling with <strike>enormous white elephants</strike> architectural patterns, whose complexity is essentially peripheral to the issue to be addressed.<br />
Whenever we&#8217;re struggling with SOA, ESB or one of the other <strike><a href="http://en.wikipedia.org/wiki/Rube_goldberg_device" target="_new">Rube Goldberg devices</a></strike> enterprise middleware solutions, we&#8217;re paying, in his words, &#8220;complexitax&#8221;. And our ignorance is keeping the tax rate high.</p>
<p>Perhaps to underline the message that we urgently need to become more aware, critical and, ultimately, better programmers, Neal pointed out that, if we don&#8217;t, Chindia (ThoughtWorks-speak for the China/India juggernaut) <em>will</em>. They definitely have the capacity: as Neal mentioned, India&#8217;s top 1% = <strong>11,298,661</strong> people.</p>
<p>That certainly sobered everyone up a bit.</p>
<h4>Fette Maschinen brauchen schlanke Software</h4>
<div style="float: right"><img src="http://blog.xebia.com/wp-content/uploads/2009/04/jax09_amdahls_law.png" alt="jax09_amdahls_law" title="jax09_amdahls_law" width="243" height="183" class="alignright size-full wp-image-1662" /></div>
<p><em>Fette Maschinen brauchen schlanke Software</em> (&#8220;Heavyweight machines need lean software&#8221;) was Klaus Alfert&#8217;s take on the impact of multi- and massively multi-core architectures on our future programming styles and requisite skills.<br />
Using the well-known graph of <a href="http://en.wikipedia.org/wiki/Amdahl%27s_law" target="_new">Amdahl&#8217;s Law</a> to demonstrate that additional processing units won&#8217;t give us extra performance just like that, he posited that <a href="http://en.wikipedia.org/wiki/Von_neumann_architecture" target="_new">Von Neumann architecture</a> itself, with it&#8217;s mutable memory cells, is the root cause of many of our concurrency struggles.<br />
Referring to <a href="http://www.stanford.edu/class/cs242/readings/backus.pdf" target="_new">John Backus&#8217; famous Turing Award Lecture</a>, he singled out three approaches as key in the quest for safer, simpler concurrent programming:</p>
<ul>
<li>Functional Programming</li>
<li><a href="http://en.wikipedia.org/wiki/Actor_model" target="_new">Actors</a> (cf. <a href="http://en.wikipedia.org/wiki/Erlang_(programming_language)" target="_new">Erlang</a>)</li>
<li><a href="http://en.wikipedia.org/wiki/Software_transactional_memory" target="_new">Software Transactional Memory</a><sup>1</sup></li>
</ul>
<h3><em>Spotlight:</em> Agile Documentation</h3>
<p>Uwe Friedrichsen gave a interesting talk on how to approach documentation requirements in an Agile project. Some key points:</p>
<ul>
<li>Production &#038; maintenance costs <a href="http://users.jyu.fi/~koskinen/smcosts.htm" target="_new">consume 85% of a project&#8217;s budget</a>. Compare this with Agile&#8217;s focus mainly on the <em>development</em> phase.</li>
<li>A complete product is more than just software; maintenance often relies heavily on documentation, for instance. But many &#8220;standard&#8221; documentation templates comprise 1000-1500 pages &#8211; that <strong>can&#8217;t</strong> all be valuable.</li>
<li>The purpose of documentation ultimately is <strong>answering users&#8217; concerns</strong>, so good &#8220;stakeholder engineering&#8221; is critical.</li>
<li>Given changing requirements and functionality, it doesn&#8217;t pay to start producing documentation too early &#8211; <em>do</em> ensure negotiate structure and content are agreed upon, though.</li>
</ul>
<p><a href="http://it-republik.de/konferenzen/jax/materials/agile_day/uwe_friedrichsen_-_agile_systemdokumentation.pdf" target="_new">Slides</a> are only available in German, unfortunately.</p>
<h3><em>Spotlight:</em> OSGi New &#038; Noteworthy</h3>
<p>Coming up in <a href="http://www.osgi.org/Specifications/Drafts" target="_new">OSGi 4.2</a>, amongst others</p>
<ul>
<li>Service Hooks</li>
<li>(updated) Declarative Services</li>
</ul>
<p>In the pipeline are also</p>
<ul>
<li>Distributed OSGi</li>
<li>Transactions</li>
<li>JPA</li>
<li><em>more J2EEy stuff</em></li>
</ul>
<p>&#8220;A Component Model for OSGi&#8221; (a.k.a. RFC 124 a.k.a. <a href="http://www.springsource.org/osgi" target="_new">Spring DM</a>) doesn&#8217;t appear to have made it<sup>2</sup>, even though it was mentioned in the last <a href="http://www.osgi.org/download/osgi-4.2-early-draft3.pdf" target="_new">early draft</a>. For a quick summary of the original early draft, have a look at <a href="http://osgi.mjahn.net/2008/08/28/some-thought-on-the-osgi-r42-early-draft" target="_new">Mirko Jahn&#8217;s blog post</a>.</p>
<p>With support for Enterprise Java development coming more and more to the fore in OSGi, Kai Tödter and Heiko Seeberger&#8217;s <a href="http://max-server.myftp.org/trac/pm" target="_new">comparison of the current DI offerings</a> was timely. Martin Lippert&#8217;s <a href="http://www.martinlippert.org/events/JAX2009-DynamicsForOSGi.pdf" target="_new">slides</a> (from another talk) contain some further examples.</p>
<p>The reference implementation of Distributed OSGi is being provided by <a href="http://cxf.apache.org/distributed-osgi.html" target="_new">CXF</a>.</p>
<h3>Gripes</h3>
<h4>Sprechen Sie Deutsch?</h4>
<p>By far the most surprising realisation came when I walked into the first talk and discovered that it was in German. Fortunately for me, that&#8217;s my mother tongue, but international visitors will have had a somewhat ruder awakening.</p>
<p>This was all the more surprising given that I don&#8217;t recall seeing an explicit mention of this anywhere on the conference website, during the registration process or even on arrival! </p>
<p>OK, the summaries of many presentations were in German, but on the German version of the site that was hardly surprising. One might say that the fact that the abstracts were in German even on the <em>English</em> pages should have served as a hint, but 9 out of 10 times that simply means that they simply didn&#8217;t get round to translating it, in my experience.</p>
<p>To be fair, the Eclipse Forum Europe talks were all supposed to be in English (hardly a surprise for a conference with <em>Europe</em> in its title, I&#8217;d say). </p>
<p>However, at least one of the presenters, when asked by a Greek former colleague of mine to please switch to English, responded that he&#8217;d only heard about that requirement late at night on the day before his talk, and thus wasn&#8217;t prepared. Hm.</p>
<p>To cut a long story short, I would simply expect <u>all</u> presentations and materials at an international conference to be in English, and I found JAX highly unprofessional in that respect. I&#8217;d be curious to hear what any of organizers would have to say about this.</p>
<h4>Working Offline</h4>
<p>Pleasing as it is to see nations refusing to live up to tired stereotypes, some aspects of the organisation could have done with a <em>leetle</em> more &#8220;German efficiency&#8221;. </p>
<p>Before I am accussed of nitpicking, is it really <em>that</em> unexpected that attendees at a software development conference might be bringing portable devices, that may require power sockets to be recharged? Or that, in today&#8217;s networked world, these attendees may wish to connect to the internet?</p>
<p>As it was, most venues had barely a couple of coveted rows with extension cords, and in some there was no power because the fuses blew (to be fair, this was quickly addressed as the week progressed).<br />
With respect to connectivity, the Wifi connection, on the rare occassions when it was up, was so slow it was barely distinguishable from being offline. So much so that most presenters crawled through the online portions of their presentations via GPRS, rather than risking a wireless connection.</p>
<p>Not big things, really, but they stick in one&#8217;s mind.</p>
<p>PS: To all the Dutch readers, have a great <a href="http://en.wikipedia.org/wiki/Koninginnedag" target="_new">Queen&#8217;s Day</a>!</p>
<div style="background-color: #EFEEEA; border: 1px solid #AAAAAA; margin: 0.8em; padding: 0.4em; font-size: 85%;">
<strong>Footnotes</strong></p>
<ol>
<li>If you&#8217;re interested in STM implementations in Java, take a look at Peter Veentjer&#8217;s <a href="http://code.google.com/p/multiverse" target="_new">Multiverse</a> or <a href="http://sites.google.com/site/deucestm/" target="_new">Deuce</a>. <a href="http://en.wikipedia.org/wiki/Clojure" target="_new">Clojure</a> and <a href="http://en.wikipedia.org/wiki/Concurrent_Haskell" target="_new">Haskell</a> both have native language support for STM.</li>
<li>See <a href="#comment-91656">Eric Newcomer&#8217;s comment</a> below.</li>
</ol>
</div>
<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="small" count="1" href="http://blog.xebia.com/2009/04/30/life-on-tour-jax-09-conference-review/"></g:plusone></div><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.xebia.com%2F2009%2F04%2F30%2Flife-on-tour-jax-09-conference-review%2F&amp;title=Life%20on%20Tour%3A%20JAX%202009%20Conference%20Review" id="wpa2a_6"><img src="http://blog.xebia.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.xebia.com/2009/04/30/life-on-tour-jax-09-conference-review/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  blog.xebia.com/tag/conference/feed/ ) in 1.25939 seconds, on Feb 9th, 2012 at 4:01 pm UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 9th, 2012 at 5:01 pm UTC -->
