Berichten met label conference
With Apachecon NA 2010 about a month behind us, I’d like to share some of the trends I picked up there.
Big Data, the cloud
One of the main trends I noticed is the interest in Big Data (mainly Apache Cassandra) and Big Data processing in various shapes and forms (e.g. Apache Lucene, Apache Hadoop). In relation to many of these, we find a ring of ‘cloudness’: the products tend to allow distribution and replication of data and functionality.
But it doesn’t stop there. It’s no surprise to find cloud-references in talks about Apache Tuscany (including a talk on Building cloud native software, which I regrettably missed), but for instance Tomcat is making its move into cloud territory with Stratos.
OSGi all around
Of course I have a vested interest in OSGi, and my talk during the OSGi track on friday shows this. However, apart from in its own track, OSGi and OSGi-based technologies popped up in a number of other tracks. To name a few,
- Apache Sling is an OSGi based web application platform, and showed up in the Content Technologies track,
- Apache Geronimo 3.0 (in the Content Technologies track) is now based on OSGi, and
- in the Enterprise Track, a number of sessions were decidated to Apache Aries, which focuses on the OSGi Enterprise specification.
It is an interesting development that OSGi is now mainly being referenced in the web- and enterprise spaces, whereas it started out as a specification for embedded devices.
Does this mean that OSGi is really getting traction in the software community? Yes and no. I believe the thing that is really getting traction is the notions of modularity on the one hand, and µServices on the other. OSGi is currently the main technology that marries those two notions.
Business is not a dirty word
I noticed there were roughly three kinds of talks,
- Community talks are all about how Apache works, and how open source software fits into the world around it,
- Technology talks focus on some Apache project, or a combination of projects, and go into the technical details, and
- Industry talks that show how the projects are used in industry.
The last kind of talk shows how industry, the ‘people with the problem’ use open source technology to run their business. No, I probably don’t really care about the products and services you deliver, but I am very interested in your case studies in using open source in your daily life.
A few days ago, Slashdot ran a story Paid Developers Power the Linux Kernel. In the light of sessions on open source in industry (I counted about half a dozen on this year’s schedule), this is not that surprising: if you’re a good enough developer to become a committer in an open source project, it’s very unlikely you’re working as a janitor during the daytime. All of us work for a corporation in some way, and many of us work on open source project during our paid time. I believe this is a good thing!
In MDD explicit knowledge of the domain is crucial for successful development of domain-specific modeling languages (DSML). Yet many starting DSL developers are missing the skill of domain knowledge conceptualization. The main symptoms are difficulty to come up with good language concepts and struggling with levels of abstractions.
While language design remains an art, there are a number of paradigms, techniques and guidelines that can make creation of DSLs easier. These helping means are the core of the DSL design tutorial developed at Luminis Software Development.
The tutorial was given for the first time during the PPL2010 conference that took place on November 17 & 18 at Océ R&D, Venlo, NL. A small group of participants learned basics of domain analysis, participated in domain definition and implemented a simple metamodel of their own. The general feedback was very positive.
The slides for the tutorial can be downloaded here from the Bits&Chips website.
The video of my session is up! Check it out at http://oredev.com/videos/dynamic-deployment-with-osgi.
This past week (4 – 6 November), I went to Øredev, probably the largest developer conference in Scandinavia. I had been invited as a speaker, thanks for having me!
Great food, nice ambiance
The first thing that strikes me about this conference is how well it has been prepared. The food is great, there is a good evening program, and overall both your inner geek and inner person are well looked after.
Interactive Visualizations from Microsoft research – Eric Stollnitz (User Experience track)
One of the rare talks I actually did not like. Having not read the session description properly, I had totally wrong expectations; the session demoed visual tools like Photosynth, which are cool, but not something we haven’t seen before. And besides, running Vista on a Mac, and having to kill Internet Explorer…?
Open source Java: ten things you didn’t know you could do – Terrence Barr (Java track)
Early in the talk it felt like a plug for the greatness of Sun, making Java open source. Later, however, it mentions some seriously cool technology that has become possible now! Some honorable mentions,
- The Maxine guest VM is an effort to run a Java VM directly on a HyperVisor, skipping the entire OS!
- IKVM.NET is a project aiming to run Java code on a .NET VM. Somehow, it turns out that Java bytecode and .NET assembly language are so similar, that an effort has been started to create automatic translation tools between compiled Java and compiled .NET (and vice versa). I would like to add that this is allows not only Java to run on a .NET VM, but likely any language that runs on the Java VM! Interesting…
- Zero writes a Java VM in plain C without using assembler code, making it easier to port it to new platforms.
The Manager’s Guide to Agile Adoption – Mike Cottmeyer (PM In Practice track)
A great talk showing the issues that might hamper agile adoption, especially in larger organizations. Some snippets,
- “Agile adoption at the team level is not the issue, it’s adopting agile across teams.”
- Don’t speak of features of a system, speak of capabilities (think about that one!)
- Depending on the amount of dependencies between teams, we could use a Scrum of Scrums (resource dependency), Product Owner team (requirements dependency), or a Product Owner team with Architects (technical dependencies). Whatever method is used, this higher level should build a normalized backlog, intended to create some alignment along the teams. The team’s backlogs are based on this normalized backlog.
- Feature teams will break down at some level; at a certain system size, it’s no longer possible to create a top-to-bottom slice of the system which is small enough for a single team to manage.
In short, I really enjoyed this talk, and I feel there might be some applications for these ideas somewhere near me…
How Exactly Can Developers Create a Compelling User Experience? – Ben Galbraith (User Experience track)
Exactly the way I would expect a user experience talk to look (and feel!) like: polished imagery, a well-oiled story line, and lots of inspiration. Besides, I have two new books to add to my reading list: About Face by Alan Cooper, which seems to be the standard volume on interaction design, and The humane interface by Jeff Raskin.
Reconsidering cherished design dogmas – Johannes Brodwall & Finn-Robert Kristensen (Architecture track)
I actually had a beer with these guys a few days earlier, and they told me about their ideas. In short, there are a number of dogmas in software design we came to hold true, but are they actually true? For instance, is generic code really more reusable than specific code?
It’s a shame the talk didn’t really come across, and I could not put my finger on the problem; it might have something to do with the over-abstracted example they chose.
Dynamic Deployment with OSGi – Angelo van der Sijpt (Java track)
Well, let the crowds decide on this one. Have you visited my talk, and have an opinion about it? Let me know in the comments?
Modeling in the Age of Agility – Kevlin Henney (Agile Architecture track)
“Working software over comprehensive documentation” sounds good, but how about modeling? Are all models potential waste? Of course not, but when applying modeling because it is modeling, is sure to create models no one will ever look at, and the few good ones in there are buried. Some snippets,
- “Agile is all about doing.” Actually, I did not know the word ‘Agile’ comes from the Latin verb for ‘to do’.
- “The most important aspect of modeling is the -ing.”
Like I said, a great conference, and I’m sorry I missed the test track. I will leave you with a quote I picked up on Twitter (I don’t know which session it’s from),
“Don’t build frameworks, extract them”
On tuesday, june 23rd, luminis organizes a JavaOne reloaded event, where all the news and highlights from the 2009 JavaOne are presented. This will take place in the Arnhem offices, starting at 18:00. If you want to be present, please send a mail to Marcel. This year’s JavaOne is special for many reasons. Oracle just bought Sun. Microsoft gives their first keynote. JavaFX comes of age. Larry Ellison hints at a JavaFX frontend for OpenOffice. Enough reasons to be present!
Aan de druk bezochte J-Spring Java conferentie in een zomers warm Spant! in Bussum, heeft luminis weer een flinke bijdrage geleverd. Bij de stand werd de bezoeker getrakteerd op een overheerlijke tompouce (van de echte bakker!) en werden lootjes uitgedeeld voor een boekverloting. Op inhoudelijk vlak bestond de bijdrage uit 3 presentaties over uiteenlopende onderwerpen. En voor de bezoekers die het uithoudingsvermogen hadden om tot het eind te blijven, was er dan nog de door luminis gesponsorde borrel!
De presentatie van Jaap Vriend ging over LWUIT, een UI library voor J2ME. Deze library biedt een op Swing lijkend programmeermodel en maakt het veel makkelijker om een J2ME applicatie er op alle telefoons hetzelfde uit te laten zien.
Richard van der Laan presenteerde samen met Tony Sloos van ArchitecIT een pragmatische benadering van MDA. Aan de hand van een concreet voorbeeld lieten ze zien hoe je bottom-up MDA kunt invoeren, waarbij je er vanaf het begin voordeel van hebt.
Onze OSGi guru, Marcel Offermans, had een leuke demo samengesteld op basis van de leukste bug. Nu is een live demo natuurlijk altijd riskant, maar Marcel is typisch iemand die dat wel aan kan. Helaas voor hem (en voor het publiek) waren de goden hem dit keer niet zo goed gezind en lukte het niet de demo dat te laten doen wat hij had moeten doen. Dus die houden we van hem tegoed! Bij de J-Fall op de luminis stand?
De presentaties kun je als pdf downloaden:
Sharing knowledge, that’s the theme for the yearly Øredev conference, held in Malmö, Sweden, and that really sums up the spirit and wealth in sessions nicely. After visiting the conference with Karl for the first time last year, I decided to go there again this year. What makes Oredev such a nice conference is that it contains a lot of different and interesting tracks, so it’s not just about Java, or .NET, but also about Scrum, mobile development, languages in general and project management.
The opening keynote was by Ted Neward who talked about The Next Big Thing(tm), which he thinks is a renaissance of languages. The main reason for that is one that we have acknowledged within luminis, and that is that current languages (Java, C#, …) fail miserably when it comes to handling concurrency and really exploiting distribution of tasks amongst all available cores and nodes. Functional languages like Erlang, which we studied in a research project early this year, cope a lot better with that. With all these languages, the gap between researchers, who create these languages, and practitioners, who just want to use them to get real work done, also becomes more obvious. This gap is mainly caused by different interests of both groups and their inability to effectively give feedback to each other. An example he used was the time it took for object oriented languages to become popular: about 25 years, from the initial Smalltalk language to C++, which first used the concept of objects in a commercial setting. Ted argued that objects are not all that great, and that we probably need other ideas to go along with them to improve upon the way we work.
During the first day, I attended quite a few sessions on different subjects. A session on the Java ME SDK showed the integration of all ME components (CLDC, CDC) in an environment with better emulation and on device debugging support. The presentation itself had some basic demos, and one showing a SunSpot which showed off the sensors API. In overtime they mentioned the BluRay project, which is also supported, and the fact that they will add support for JavaFX. Later that same day, Josh Marinacci actually did a good presentation on JavaFX script, showing only three slides and developing sample applications on the spot. He showed some of the nice features of the new language and also demoed the Photoshop CS3 integration. A third presentation by Sun, done by Terence Barr, contained some demos that exposed the new features of the Java Mobile Services Architecture. A Marble Madness demo, showing off hardware accelerated Java3D and the motion sensor API was nice. He also showed how a single JavaFX application could be deployed on the desktop, as an applet and on a phone, but I’m still wondering who would like to use a UI designed for a phone on a 30″ cinema display. Then again, that does mean you can show about 200 applications side by side.
Rickard Oberg did a very good session on Qi4j, a domain-driven development language that builds on standard Java. Basically it tries to make the gap between code and the domain model as small as possible. He explained how an application, originally created using Spring, would have looked had it been done using Qi4j. It definitely sounds like Qi4j is ready to be used in a research experiment, possibly by also rebuilding some existing piece of code. I discussed this idea with Rickard, who was very enthousiastic about the idea and would love to hear the feedback that came from that.
Ken Gilmer from BugLabs showed “the bug” again. For those new to the bug, it’s basically Lego Mindstorms on steroids, really cool stuff for geeks! Having seen his talk already at EclipseCon 2008 earlier this year, some of it was familiar. The new thing was the fact that he showed they completely published the specs for the “bug” components so anybody is free to create their own hardware modules. After the talk I briefly talked to Ken. They’re still having some issues to solve before they can ship the thing abroad. An interesting thing to note is that he was interested in our device manager donation to Apache Felix, so perhaps we can get some feedback from them on how that runs on Concierge.
In the evening, a session about the principles of open space, coupled with an experiment with that, were conducted, but after dinner I spent most of the time in a 2 hour session with Alef Arendsen who demo’ed Spring DM and did a nice job of explaining how they use OSGi. After a long day, at around 10 in the evening, I stepped out of the conference building for a refreshing walk back to the hotel. To be continued!