• Home
  • RSS Feed
  • Log in

My days at Devoxx: 2009 Conference Review
Posted by Andrew Phillips mid-morning: November 21st, 2009

Devoxx logo
I'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'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 "slice" of Devoxx.

Andrew's agenda

What I saw (and, for the curious, what I missed)1:

Wed

  • Keynote: Java, the Platform for the Future
  • Keynote: Java EE 6 and GlassFish V3: Evolution of a Platform
  • Agile Mythbusters
  • The Concurrency Revolution
  • Traditional Programming Models: Stone Knives and Bearskins in the Google Age
  • Keeping Your Options Open, Even if the Cloud is Not
  • Distributed Programming the Google Way

Thu

  • Keynote: Do we really know how to develop software?
  • Keynote: Filling The Professionalism Gap
  • The not so dark art of Performance Tuning
  • Google Appengine Java - Groovy baby
  • Traditional Programming Models: Stone Knives and Bearskins in the Google Age
  • Using BTrace and DTrace to Instrument and Analyse Java Applications
  • Performance for the performance-shy

That announcement

Yes, it's somewhat ironic that I missed the big announcement of the conference: that closures may sneak in to Java 7 after all. In fact, I had decided to forego Mark's talk in the moderately firm belief that there wasn't going to be anything in it he hadn't presented elsewhere or blogged about before. So much for instinct.
Needless to say, news filtered through pretty soon, though, and of course almost everybody has an opinion about this unexpected (to say the least) development.

Some samples2 of what they might look like

Collections.sort(strings, #(String a, String b) a.length() - b.length());
Collections.sort(strings, #(String a, String b) { return a.length() - b.length(); });
@Shared int clickCount = 0;
button.addActionListener(#(ActionEvent e) { clickCount++; });

What's buzzing

With Sun and Adobe "premium partners" of the event, it was hardly surprising to come across quite a number of JavaFX and Flex talks. Oracle's entry into the fray was slightly more intriguing, focussing as they did on new features in the upcoming WebLogic releases.

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 deployment space with an initial offering that makes it possible to create virtual machine images from configured systems.
From what I saw, there are still some important concepts missing there (which, naturally, we at XebiaLabs are trying to address with Deployit), but it's interesting to see the middleware vendors beginning to pay attention to this.

Sponsors aside, the conference's main threads, as far as I could see, were the "usual suspects" 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 "interested in" and "play with", but still retain a slightly experimental flavour.

I can't say, though, that I came across anything that hasn't been around the conference block for at least a year. No real surprises, in other words.

Highlights

Most Professionally Thought-Provoking

Joint award here to Ivar Jacobson and Uncle Bob, both of whom presented a rather critical view of the current state of the software development industry and made some thought-provoking remarks.

The main gist of Ivar'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.

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 practices. In this framework, these constitute the "atomic" entities, and supposedly make it easier to identify common features of different methodologies and incrementally improve them.

Whether the Iterative practice in e.g. Scrum is really the same as Iterative in a different methodology, or whether processes are really just "bags" of practices to which you can add others without disturbing some inherent balance, are questions left unanswered.

In any case, Ivar has drummed up a bunch of Thought Leaders and is issuing the following call to action, to which all developers are apparently invited to contribute.

By contrast, Uncle Bob's talk focussed less on the process and more on the technical side of software engineering. His central tenet: developers need to learn to behave more like skilled professionals. Which to him means, amongst other things:

  • Learning to say no (how often have you heard a doctor say: "Fff, it'll be tough, but we'll try and get your liver done by tomorrow?")
  • Demanding a right to a technical career path that suitably recognizes
    accumulated skill and experience (rather than forcing developers to become managers to progress)
  • Always aiming for a "professionally ethical" level of code quality (independent of business value)

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's keep the "software development: craft or science?" debate for some convivial pub session, shall we?

Most Technically Thought-Provoking

Looking back on it as a whole, Cameron Purdy's 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: simply learning to program is bad for scalability.

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:

  int total = 0;
  int i = 10;
  addToTotal(i);
  // now total = 10
  i = 20;
  addToTotal(i);
  // now total = 30

Trival. But hidden amongst our "natural" interpretation of what code will do are the following expectations:

  • the statements will be executed
  • the statements will be executed in the order written
  • the statements will be executed exactly once

Cameron's point is that, if you consider distributed systems, these requirements - guaranteed execution, global ordering and exactly once processing - are just about the most stringent, and hence costly, expectations one can have.

Systems which are fault-tolerant, free of race conditions and idempotent 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.

Best Technical Content

Trust Google to put together the talk with the most varied range of "cool stuff". Gregor Hohpe gave a very engaging presentation on MapReduce, Bigtable, Sawzall and others, interspersed with mentions of things like Bloom filters and other interesting theoretical concepts.

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't even do duplicate checks.

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?

Well, it appears that Google does have a transactional engine on top of Bigtable, after all. But that's certainly not open source!

Best Presentation

417 Expectation Failed

The prize for sheer viewing pleasure goes to Doug Tidwell's talk on SimpleCloud. 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's set of HTTP response code illustrations isn't a new idea, of course, but this one was actually topical and funny.

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're looking for a powerful, concurrent Java cloud library with support for lots of cloud providers try jclouds3.

Lowlights

Most Annoying Trait

To presenters from North America, a polite request: if at all possible, please remove jokes or other references to intrinsically North American popular culture.
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'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.
Thank you.

Biggest Disappointment

Working for a company that is widely known for its Agile expertise, I was looking forward to Scott Ambler's promise of investigating some of the myths and rumours surrounding Agile to the scrutiny of cold, hard statistics.
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.

Whilst it's certainly not uninteresting to learn that more than 50% of Agile teams do 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's not taking into account the confusing presentation of many of the numbers.

A note on Performance Talks

As you might have guessed from my conference agenda, I'm quite interested in all this concurrency and performance stuff (it probably wouldn't surprise you either to learn that I'm also trying to help with Multiverse, a Java STM implementation). But after this round I think I'll be skipping performance tuning presentations for a while.

Not that Kirk's or Holly's presentations were bad or even boring, they were simply going over the same basic "performance tuning 101" stuff that is talked about every year, at every conference.

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 JMeter test plan.

Naturally, I understand that, because performance tuning is so specific to the application at hand, it's difficult to give more than general information and guidance. But at the end of one of these sessions I always feel I've hardly scratched the surface of these experts' knowledge of application performance.

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 "from scratch".
The point would not be to see to what extent the application could be speeded up - in fact, that would be completely irrelevant. But I think there would be a lot 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.

But of course it's also not realistic to expect people to give away the "trade secrets" that allow them to earn a living just like that.

Oh, and to all the JVM vendors out there: please consider coming up with some standardized formats for profiling information! It's such a pity to watch demonstrations of really useful-looking tools (such as IBM's Health Center) only to discover they can't work with the data produced by the JVM your client is using.

Quote of the conference

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 supposed to have said: "The 'my' in 'mySQL' means Larry's SQL.".

A final note

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.

It'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's many good restaurants and bars, and still have enough left over for some lightning-fast internet.

For me, still the European conference to beat.

Footnotes

  1. Links to slides will be added as soon as they're available. You can also watch recordings of the talks over at Stephan's site.
  2. See Cay Horstmann's blog post for further examples.
  3. Disclaimer: I've been a bit involved with jclouds myself ;-)
  • Share/Bookmark

Tags: conference, devoxx
Filed under Java | 1 Comment »



One Response to “My days at Devoxx: 2009 Conference Review”



    Vincent Partington Says:
    Posted at: November 23, 2009 at 12:24 pm

    @Andrew: Nice write-up of Devoxx! I too enjoyed Devoxx very much. Which you’d know since we went there together. ;-)

    Anyway, apart from the talks you mentioned, I visited two session on Adobe Flex:

    • Spring ActionScript
    • Test driven development in Flex

    The speakers were not the experienced speakers of some of the other slots, but they knew their stuff. It’s also a refreshing change when you don’t get annoyed by generic presentations with American jokes in them. ;-)

    In any case, both presentations showed me how some of the practices we’ve learned to love in the Java space can be applied to the Flex domain. Looking forward to trying some of that stuff out for myself!

    And already looking forward to Devoxx 2010…



Leave a Reply

Click here to cancel reply.

Deployment automation for Java application running on Websphere, WebLogic and JBoss

Archives

  • January 2010
  • December 2009
  • November 2009
  • October 2009
  • September 2009
  • August 2009
  • July 2009
  • June 2009
  • May 2009
  • April 2009
  • March 2009
  • February 2009

Xebia Sites

  • Xebia Corporate
  • Xebia France
  • Xebia India

Categories

  • Java (279)
  • Agile (109)
  • General (50)
  • Testing (42)
  • Performance (42)
  • Hibernate (36)
  • Scrum (33)
  • Podcast (31)
  • Architecture (31)
  • Spring (28)
  • SOA (24)
  • Maven (22)
  • Project Management (22)
  • Flex (17)
  • JPA (17)
    • JPA implementation patterns (13)
  • Eclipse (15)
  • Quality Assurance (14)
  • Middleware (19)
  • Frameworks (13)

Tag Cloud

    qcon Agile Groovy product owner esb JavaOne Architecture fitnesse Performance Closures Semantic Web SOA Seam XML Scrum Java Hibernate Grails IntelliJ Maven Introduction to Agile Testing Lean Spring Agile Awareness Workshop Poppendieck Ajax Functional Programming Scala Xebia
medicin depression buy phentermine without a perscription aricept generic hair loss help how do you prevent bone loss urinary tract infection symptoms viagra sex domination cialis viagra cures for throat infection buy sumycin acne care new medication for cancer treatment help for sleeping problems on-line pharmacies cure snoring medications to help clot blood what is aspirin buy zestoretic bronchitis vs pneumonia back pain muscle acne face medication muscle women pain behind knee fat blocker man health arthritis natural cure woman health women insomnia cheap phentermine online cats and irritable bowel syndrome buy cialis generic online nutritional diet for osteoporosis abnormal blood clots treatments for hair loss what is zyprexa dental whitening products impotence herbs drugs for diabetes allergy prevention buy canada levitra Mentax adhd in children hair loss in woman medicines for blood clot online imitrex viagra buy free dog products clindamycin drug how to stop hair loss chloramphenicol discount drug viagra what valium does permanent hair loss heart failure medicine avapro 150mg ordering viagra online food allergies order viagra online online viagra prescription carisoprodol mg improve your skin discount erectile dysfunction medication buy xanax online buy order viagra scabies teatments information allegra vitamine b1 diazepam breast cancer support free stop smoking cipro side effects ultram cheapest treatment attention deficit disorder discount vitamins supplements how to get viagra online synthroid buy cheapest cialis zyrtec online how to clear acne preventive osteoporosis immune stimulants what is hoodia On Line Viagra getting over the pain diflucan dosage health asthma online stores hair loss products blood clot drugs colon parasites hair loss products discount medicine pravastatin buy griseofulvin tablets order indomethacin dog health products how to take a beta-blocker diazapan is valium treating cold sores chronic pain drug what is osteoporosis stress drug tooth whitening lowering cholesterol naturally legality of buying cialis online order levitra treatment for insomnia cheapest cialis index depakote overdose alprazolam condom sales treatment of yeast infection xanax sales taking viagra after cialis how to control pain new birth control chest pain health prozac prescription blood clots viagra in mexico chlamydia pill cancer drugs cold flu drugs how do i order viagra online super viagra acyclovir medicine benadryl dosage erythromycin pregnancy buy contoured condom chronic muscle pain pet health dogs treatment attention deficit disorder dental teeth whitening asthma medicine free prescription drugs herpes drug diabetes treatment buy tooth whitening gel cheap fast valium generic levitra buy cheapest viagra online lopressor drug pharmacy drug prices ultram dosing treatments for bipolar disorder neurontin withdrawal parasite medication chlamydia tips for increasing breast size ways to enhance breast what is valium used for metformin tablet order birth control hair loss for men how does xanax work treatment hepatitis c rythmol cheap acai antioxidants nexium generic blood pressure pills levitra online no prescription Levitra Online medications on line motion sickness drugs bactrim online order roxithromycin nicotine where can i order viagra immune supplements buy erexin v bph prostate allopurinol xanax for depression drug new smoking stop cheap impotence drug generic cialis delivery new treatment for depression antibiotics for cat viagra china alternative medicine cholesterol viagra dose anxiety disorder treatment severe muscle pain treatment of cancer calcium carbonate penis enlargement without pill valium maximum dosage reasons for high blood pressure energy product breast enlargement info cheap effexor building your body wrinkle cream aricept dosage alpha blocker increasing female sex drive valium depression new pain meds no rx xanax drug trileptal mg imitrex avapro 150mg medicine drugs contraception female claritin pill medication for acne med orders buy viagra internet levitra effect treatment for blood clots order sominex buy creatine buy precose cheap viagra overnight lopressor drug body building info health drugs general health and medical what is diazepam eye infections in dogs online prescription pills diclofenac tablet new medication anxiety buy citalopram medication male enhancement enhancement fat blocker medicine for throat infection order cardizem about soma health remedies for dogs generic xanax cheap zyrtec for depression medicine viagra sex domination buy acne skin care product hypnosis help study cure vaginal yeast infection weight loss supplement program muscle pain in leg how to increase erection buy viagra what is cla augmentin doses gaining muscle mass health med online heart rate treatments lopressor drug dog ear canal phentermine without prescription viagra order online weight loss glipizide diabetes astelin generic fat blocker buy gel tooth whitening cheap wellbutrin online weight loss program buy antiox anti-biotics acne skin treatmen tramadole vpxl pill drugs affecting levitra immune system support augmentin hypothyroidism medication buy erexin v uy prescription medication without a prescription buy discount order osteo arthritis online buy pilocarpine cheapest place to buy phentermine parasite treatment impotence help body fat loss viagra herb alternative constipation supplements treatment dementia adhd and medications muscle spasm relief viagra online cheap relieve upper back pain stop hair loss discount viagra online menstrual cycle problems antifungal shampoo side effects ativan gabapentin medication where can i buy viagra diazepam buy soma online clonidine dosage viagra gel top hair loss fast antibiotics cure chlamydia skin fungal infections drug zofran give up smoking alternative medicine cholesterol sleeping help best online viagra scams prednisone 10mg viagra sex domination lotensin easy weight loss pain meds without prescription over the counter drugs new high blood pressure medic generic compazine cetirizine drug order phentermine best fat blockers woman enhancement supplement drug zofran buy precose new drug treatment for cancer how to increase fertility viagra in australia benadryl dosing buy alcoholism medications order l arginine buy diazepam generic for ativan ativan prescription drugs weight loss treatment for chest pain woman health where can i buy phentermine online skin fungal infection give up smoking viagra on line hoodia information how does osteoporosis occur buy viagra online buy alcoholism medications depakote overdose klonopin pill tetracycline capsules what is high blood pressure bladder control for dogs generic for lipitor glucophage online pharmacy gabapentin dosage treating yeast infections dog health info cymbalta anxiety cheap tramadol without prescription hydrea drugs used for cancer cure for high blood pressure alcohol and valium relief from constipation liver infection treatment cialis soft zantac medication help sleep problems all natural antibiotics order medication without prescription sleep problems free hypnotherapy gaining muscle mass cheap viagra order online natural help for pain how to buy viagra drug price celebrex information otc diuretic levitra 10 mg buy medicine online pets products relief foot pain cialis without prescription med care cheapest generic cialis rapid hair loss pain medications generic side effects meds without prescriptions cat anxiety buy simplicef natural cure arthritis effects of high blood pressure lowest price generic viagra how to get birth control new breast cancer drug buy topamax blood pressure meds when are beta blockers prescribed how to get pain meds order fosamax online viagra name order viagra viagra cialis cat's eye health how to relieve lower back pain treating ear infections diazapan is valium online pain doctors high blood pressure in elderly medication to stop smoking wellbutrin dosages diabetes blood sugar levels weight loss diet pill side effects of prescribed pain pills drug list high blood pressure buy cialis online in usa ultram cost how to help osteoporosis how to use clomid discount brand viagra wellbutrin cymbalta buy pills without a prescription buy pain medicine online tab tramadol depression symptoms treatment how levitra work hypertension medications beta blockers prevent premature ejaculation xanax interactions with other medicines purchase medicine on line does alli work xenical mexico prescriptions buy sumycin uy prescription medication without a prescription ambien cost methocarbamol effects cheap beta blockers cats bladder reduce cholesterol naturally metformin tablet scabies medicine breast enhancer pills body building over 50 order viagra cheap zestril medication how to buy prescription medications online pharma kamagra drugs depression ear infection symptoms big muscle controlling blood pressure pain meds and pregnancy buy diazepam without prescription skin allergies antibiotic zoloft buy weight loss nutrition program Buy Cialis breast increase meds without prescriptions blood clots medical edema treatment for flu best hangover remedy diabetes drugs