EclipseCon Day 2: Are you Sirius?

Posted on in Blog

Hi guys, as always after only 1 day I cannot get the time to write about everything I’ve seen today, let me try to sum it up….

Morning Keynotes

image

Stephen O’Grady and Jeffrey Hammond gave us their insights on the shape of things to come in the software world, in which considering that Software business is only about selling softwares becomes a hudge mistake: without free softwares like linux, php or mysql, the market would not have evolved and no business would be possible.

The idea is to make money with software rather than from software, like Google, which built itself from free softwares. In that context, the developers are the new kingmakers, at they are the ones that pick the technology software will be based on.
Jeffrey pointed out that now that innovation in softwares costs less, the market is opened for new ideas (remember that facebook was born from a student project). Open source, agile behaviors, quick feedback collection, evolving infrastructure and quality builds then become the keys of Modern Applications. I liked the way he presented the software evolution: software are now organic, always evolving, rather than mecanic pieces you assemble.
The art of java performance tunning [Ed Merks]
 
image
Ed took us to a journey in the world of java performance tunning, which, given its  complexity (different hardwares, jvm, language versions…), takes more from art than from science. Ed insisted that we should be paranoid in regards to performance: they’re unerlyable, and the assomptions we, our friends or the expert (bu the way thanks for the photos Ed, you look outstanding in both dresses or robotic suits).
The first thing we should focus on is the algorithmic complexity, to know how our application will scale. No measure required here, just a thorough analysis of our code. Basically, basic principle like “don’t do something in a loop you can do outside a lopp” can already improve your perfs. A big issue is that the Just In Time compilation can produce very different results between runing the code in isolation and integrated in the software. VM options like -XX:-printcompilation can be useful to follow what the VM is doing.
Ed then destroyed some performance mythbusters (see the slides for more details), and showed us how EMF took advantage of JIT magic to behave with outstanding performances (EList.get() has the same perfs as list.get, EObject.eGet() is as efficient as Hashmap.get()…).
The main lesson was : write maintenable code, measure it, and try to master his peformances. Trust nothing, and focus on quality.
Requirements on the verge of a nervous breakdonw Tom Grant
 
Software development, and especially with Agile methods, is on the edge of a requirement crisis. Tom took an interesting metaphore to explain what requirements were: basically the same thing as having to quickly find a present for a person you don’t know well. 100% of ALM assessments starts with good requirement, and again having more regular feedbacks and agile deliveries was a key point of Tom’s point.
According to Tom, to be able to answer the crisis it’s tIme to  change requirements rules : 
- we must change the way we get requirements from customers, e.g. with serious games
- better requirements toolkits (Tom you should check the Mylyn Intent talk to see how can we keep software cood and requirements up-to-date). I liked the “Just in time requirements” idea: you really have to know where to get requirements and how to use them according to wether they are long, medium or short-term. The conclusion was that software world needs a new job: requirement guys. Instead of using bosses or commercials to do it, use guys with economics, computer science and anthropology skills. They can be seen as mediators between IT and Business, in order to produce the minimal viable product.
 
That’s when I started to get lazy…
Sorry about that, but my battery was running low so I did not took notes for the other talks of the day… Let me just talk about the Sirius talks, if unfortunately you did not have a chance to see the demos.
 
Sirius: a new awesome eclipse project finally making modeling easy for functional users
image
Some serious Sirius magic occured today, both at:
- the Sirius talk, during which Stephane Bonnet from Thales presented how Sirius was already deployed in many use-cases like space, aeronotics, risk management…). I saw the sparkles in the audience eyes, damn proud to be working on this project for more than 2 years now.
- the Modeling symposium, in which Cedric showed how to create diagram, table and tree-based modelers in a few clicks.
Anyway, I don’t want to seem corporate so if you’re interested in this brand new piece of eclipse technology just check the ObeoDesigner website.
 
And more beers
And as usual, I had the opportunity to meet Mylyn Intent enthusiasts around beers, like David Moreno who proved that you can be a bad-ass developer using full-OSGI apps and still care about having an up-to-date and meaningful documentation.
 
I’ll try to be a good guy and get back early tonight, still have a few work on our Documentation Driven Testing talk with Goulwen. A great story to share and a good example of how cool technologies like SWTBot, Mylyn Intent and Goulwen’s knowledge of the Modeling tools can improve your day to day life as a software developer. Imagine an SWTBot interpreter able to play SWTBot tests from a scenario described in Xtext, and just a pinch of Intent to keep the explanations of those tests up-to-date :)