While chatting with my best friend regarding the latest updates on the IMF austerity plan for Ireland, maybe Portugal soon or Spain (oops that will hurt), I had this spontaneous idea of designing a t-shirt (I am actually going to have one). Down-here we felt a bit lonely all these months, being criticized and thrown in every little corner of the financial and political eu- star - system. It is not an excuse, we are still responsible for what we get - no argument about that.We still have a special sense of humor though (humor is not imf funded for sure). You may print or change it - as you wish- you get the point! Greetings from Greece ;)

Last day of Devoxx – I managed to attend 2 session and then head back to Brussels airport and fly back to Athens. I will provide some comments regarding the talks and then some final thoughts of this year’s Devoxx.

It is always an interesting thing to see a panel of important java community figures. Past and current Sun-Oracle Java architects, community leaders, open source advocates. We all share a common thing – passion for Java despite the fact due to corporate politics and conflicts – sometimes conflicts appear. The session was moderated by the JavaPossee guys and had lots of questions, which have been previously submitted online by the community. Questions related to corporate strategies and information regarding upcoming products was not answered – at least from the participants who happened to work for that corporation (Google, Oracle). One of the most heated moment of the discussion was the Oracle vs Apache conflict while Stephen Colebourne who has recently blogged about it – sort of iterated through his old statements – “ Oracle should keep it’s promises regarding TCK and JDK” while J.Bloch reminded the panel that it was 2 years earlier that Oracle and BEA through JCP were pushing for a more open platform and specification process etc. How things change, now Oracle controlling Java and the JCP is accepting almost the very same arguments from the Apache Foundation, Google and others. It was overall a positive discussion , all of the speakers concluded that Java the JCP should work towards an open and fair process while the Java Platform should evolve towards simplicity and developer productivity, something that was sort of lost in the past releases and platform roadmap.

It always a pleasure to listen Adam Bien, his blog IMHO is one of the most interesting and vibrant related to J2EE6 development, he is constantly addressing real world problems , trying to apply cutting edge standards from the java platform. His talk was all about that – how to realistically and effectively use some of the technologies brought in JavaEE6 in a regular J2EE project. I really like his style of presentation. One slide, introduction and then his favorite IDE boots and the fun begins. Adam clearly understands the old saying ‘ if you are in Rome you have to act/behave like a Roman’, so we are in a developer conference with 90% java devs inbound – firing up your IDE and doing some interesting and at the same time pragmatic stuff (not just demo ) is the way to go. Lot’s of nice things in the new J2EE6 spec, I really like the simplicity of EJB3.1 and as I have previously elaborated the introduction of asynchronous calls, events , the Timer service and Single. Excellent talk you should check his blog as well , lots of interesting stuff.

I think this was most probably one of my best Devoxx /Javapolis experiences. I managed to go through the whole conference every day (more than 10 hours per day and 5-6 talks per day).

Content : 10/10

When it comes to the content IMHO it was excellent and this is the reason despite the fact that were moments where you were feeling brain drained – you always had a good reason to just attend the next talk – because there was almost another interest talk. Lots of great people from the other side of the Atlantic visit Devoxx and they fuse all the latest feeling and updates for my favorite platform – that is Java of course. At the same time devoxx is becoming more open to other technologies and trends as well. This year I had a very good overview around trends on areas like NoSQL DB, distributed caching technologies, clustering of large enterprise application or even alternative languages currently living inside the JVM. So the content was very rich – yes for sure still Java oriented but – there is a large ecosystem that resides in the Java world – of technologies built on top of Java that power systems integrating different stacks – they just happen to be created in Java :D (see examples HBase, Cassandara ). I think you get the point.

Organization: 9/10

Stephan and his team have been doing this thing for years now – every year theyfix problems or try to satisfy the attendees demand. In the past years the wifi support was the biggest concern for the majority of the people attending. This year – it was perfect I did not have not even one dropped connection – I was tweeting, emailing, uploading photos to flickr or IM-ing with friends back in Greece while 2000+ developers were doing the very same thing. It is not an easy task to support 3000+ concurrent users especially in a place where you do not own – or control. The food was decent – and eventually a lot healthier (more fruits ) which is something very good – we…the geeks tend to ..eat lots of bad and ugly stuff during conferences – a good reason for a healthy conference diet (if you exclude the beers haha). My only request for next year would be to increase the size of the coffee cups – ha ha ha, really I am java geek – a javaholic. Already delegated my request to Stephan we had a laugh! So yes, excellent organization congrats to the team.

Community: You can not give a mark to the community.

3000 people – it’s a big number yes there were moments where you wanted to get in on J.Bloch’s or Heinz’s session and you had to wait a bit – I acknowledge that. But it was really nothing difficult or catastrophic, I still remember waiting in the queue on JavaONE2007 for the very same sessions -..waiting…and waiting. It’s really nice to see a theater full of geeks showing enthusiasm as you do – for people that have written your favorite Java book usually residing next to your work pc, or meeting the people behind their favorite Java podcast – the voices that make them laugh while coding – fusing some more enthusiasm when their upper manager is assigning boring or non related tasks :) .

I really like this feeling and this why I am still trying to keep the Java Hellenic User Group alive, I want to share and learn, I want to share ideas with people that go through the same pain, enthusiasm, anxiety in their work desk with me– the people that truly love Java because this is all about. Real developers no matter what, are always enthusiastic about technology, programmers about their tools, for some of us programming, trying to solve problems, trying to make things work it is not just a work – it part of our life and attending such an event as Devoxx you don’t feel alone – there lots of people like you out there - it's your Java friends ..from all over the world.

See you next year on Devoxx 2011 – thank you all for following my posts all over this week, it is quite an experience to see hits from all over the world. I will try to blog more often in English about Java..my love as a developer.

Friday, November 19, 2010

Wow this is it, the peak of the conference has just passed. Another full day is completed full of interesting talks. Tomorrow I will be able to attend only the first maybe the second session and then I will have to head for the Brussels airport and Athens. I will be writing a final post - during the flight I guess. So let's get started.

Quite an interesting talk from (apart from certain parts). J2EE is evolving that became more than obvious during these days - and the update of the spec + any new things coming in will be mostly aligned with the releases on the JavaSE field. Jerome Dochez, demo-ed a simple scenario of a virtualised environment with cluster able GlassFish instances which is quite nice. It is already demo-ed though in previous times and the concept is already know to other platforms as well - so I was not fully excstatic about it - nevertheless its nice to see app servers progressing as such.

The other big news is that J2EE is going to inherit parts of project JigSaw as previously elaborated - and we are going to have similar modularization principle as in JavaSE. This is good news - lets make the whole thing less classpath and jar intesive on the other hand I am wondering is this the end of OSGi - in terms of becoming the de-facto standard. Eventually the modularization story is lasting for years now - and I can still remember from 2007-2008 two different specs regarding this - OSGI and java module system . it seems that OSGI is not easily accepted as is.

Linda DeMichel iterated through the new JPA2 stuff coming in - already mentioned in other talks as well.

This session was a re-cap of the already mentioned in previous talks - changes on the programming language that aim to increase developer's productivity rather than rapidly updating the language keyword set or profiles. Above all things demo-ed my favorites were the strings in the switch construct, the multicatch construct and the <> character on the definition of generified types.

Break: Cloudbees. I left a bit earlier from the previous session since it was adding anything new - to the context and headed for the exhibition area - in order to see if there is anything interesting in the booths, any company worth looking at or asking information. Eventually I stopped by the booth of Cloudbees a new company started by one former JBoss exec Sasha Labourey. Cloudbees provides a virtualized development environment (in the cloud) where you can set your project repositories ,the build servers, for your team members. The team can develop remotely, can build (Hudson) and test on the Cloudbees space - without the need of any infrastructure. The current package is something like 45 euro (unlimited number of svn accounts) and is charging 1p per minute for the amount of build time - your project is reserving to the cluster (which actually runs on top of amazon ec2). Another service is shortly going to be added to the existing portfolio for a service where you just have your app ready and you want a virtualized - configured environment (mostly for java-web apps). The overall project seems to be a quite nice idea, the people behind are very talented ex-Jboss employees + the creator of Hudson -and business wise there is a market need that could make ClousBees a success story or close enough. I am a bit skeptic about the cost - depending on the project the monthly fee may rise up to 80-100/euro per month which eventually is not a great deal of money but is really targeting a small to medium companies rather than individuals. At the time being CloudBees is open for beta (free) so i sign-ed up and I will be testing the service in the upcoming days.

I don't want to be harsh but this was by far the worst talk I seen in Devoxx 2010. I am really interested in technologies related to BPMN and despite the fact that - another proprietary BPMN engine in the past has really made my development life a hell, i was curious to listen what IBM has to offer with it's new product (actually acquired the company). So the talk started and - it was like - mentioning the word Lombardi every 5 sec's - a pure marketing talk - no demo - screen shots only, no action nothing only promises and hints that this technology will solve all your process management needs. It is kind of funny devoxx is mainly a developer's conference not sales people - you can not easily trick a developer especially when he is already working on similar technologies. I browsed for a minute into the IBM site - trying to find anything more interesting than this marketing attack - which would be find for some middleman managers - but nothing - not even one direct download or a sample. So long...lombardi I wish you all the best.

Dalibor is a great speaker and very into the OpenJDK project - famous for his involvement on the Kaffee VM and other projects - is part of the OpenJDK governing board. Dalibor talked about how to download and build JDK7 on our machine, the current status of the project and of course future updates and route to follow. One interesting point during his talk, OpenJDK7 is currently 7million lines of code while version 6 was 5.5 . With the previous announcements of Oracle - placing the OpenJDK to the heart of JDK development and it's code becoming the core - of the offical Oracle releases - we can all acknowledge the fact that this project is going to sky rocket in terms of significance and activity. Very nice session indeed.

It is the usual Java geek fun time. Java ....Java...Java Java J J J! Every decent Java developer must have heard at least once these 4 guys (Dick Wall, Carl Quinn , Joe Nuxoll and Tor Norbye). The session was host by the first three while Tor Norbye was on Skype - live with the audience. Great laugh, great geek talk and I wish every year - they will be present @ Devoxx so we can have our own European JavaPosse time!

As I have stated many times in the blog I am great fun of JBPM (3x) - I had the luck to meet and host Tom Baeyens in one of our JUG's talks and in these last 2 years to actively work using his project. Activiti is the evolution of JBPM, a clean - pure BPMN2 process engine - that aims to make business process modeling easier for both the developers and analysts. The current version of Activiti is on RC1 phase and I will be expecting in the upcoming months a final release. The stuff already in the technology are really impressive and Activiti really provides features that were not present on old JBPM releases. One of the few that I like the most - by default the engine offers process history (of execution), there is new DB layer underneath implemented in iBatis which seems to be faster than the old hibernate implementation, the designer is better and more advanced + there is a web based designer for analysts that wish to design their concept model using BPMN2 constructs. Joram Barrez said - that is currently working on a solution of providing some sort of automatic migration for processes (this one I really need to examine - since I am doing the very same work for the project I work for - and sometimes this can be very tricky - since you are messing with the internal DB state / schema of JBPM). I hope soon enough the Activiti team to present again to the Greek java user group.

The usual duo of code brothers - was present this year again in Antwerp to torture in a good way - the java audience . 6 Puzzlers - that made people to think re think, raise it's hand..and accept defeat. I like the fact that Joshua Bloch is many times involved on the actually implementation of the code that has some sort of obscure implementation and leads to a puzzling development experience. Early versions of the JDK still hold code that can be considered outdated or not properly implemented. I managed to get a few right - but..its not enough.Always a pleasure to be in the java puzzlers audience and listen to these two charismatic java rock stars.

My day, ended with the Java User Group Leader's BOF - very crowdy (I was really amazed).Oracle is trying get in touch with the huge Java community. Lot;s of lessons to be learnt from both communities , lots of experiences to be shared. I hope we have a nice and productive collaboration it is all about Java anyway and the people developing in Java!! Nothing more nothing less.

Thursday, November 18, 2010

This is it, the official conference has started , lots of talks lots of action so let me begin.

Session1: Keynote

Stephan Janssen, the conference leader and beJUG leader - opened the keynote with some statistics regarding this year's Devoxx. 3000 attendees, 150 speakers, a wifi infrastructure that is able to support most of the people (developers) (that is really impressive)..ah..yes and lots of food!

Stephan demo-ed some of the existing Devoxx conference schedule application for various platforms - iphone, android, html5 version even a command line in Scala! I have to point here that these small apps (there 2 for the iphone) have proven extremely useful all over the conference days. Finally he showed samples of the parleys.com clients for the android platform and ipad. That was really impressive from his android phone he could stream talks and then remotely control the parleys application at his mac! I wish they release such a client for the iPhone as well - soon enough. You will find the Android version - which is open source - here.

Then it Mark Reinhold - Chief Java Architect for Oracle - came on stage. His talk was about the past the present and future of Java and the JDK. Eventually there was lots of anticipation for this talk since - the java community is expecting from the new Java 'owner' to step up with a plan on future releases. Eventually Mark Reinhold, despite the fact that iterated over things that have already been elaborated in previous years (actually his talk last year here), presented indeed a quite concrete estimate for the upcoming Java 7 and 8 version. The plan will be found here. During the summer we will be expecting the version final version of JDK 7 with main features, Project Coin, Invoke Dynamic, and fork join framework (plus other stuff) as listed in the link of the plan. More major changes like project JingsawLamda project will be included in JDK8 ...but that seems quite ahead and some of them (apis / specs) are subject to change. and

Despite the fact that there is a lot of fuzz regarding stuff like closures or how Java is evolving - copying some Scala ideas ( this is not bad per-Se) - I am interested on changes that are about to happen soon enough and are going to help developer's productivity. Project coin is the main thing to talk about for me - and simple stuff from the new switch statement to multi-catch with precise re-throw or new generics syntax elimination the duplication of type writing in the right side of the object declaration are going quite a help for every day coding.

The keynote ended with a talk from by Dion Almaer and Ben Galbraith about The State of the Web . Despite the fact that - it started quite well - i felt a bit bored in the end - especially with the CSS editing examples etc, anyway I am not a big fun of these technologies so...maybe I am biased.

Heinz is one of the favorite java rock starts for every java developer - it was no surprise that the room was more than full - i would say packed. Heinz talked about weird and tricky hacks you can do on present and past implementations of the JVM using the Reflection API. Really impressive stuff that when coded could create havoc in a system or can provide dynamic and flexible solutions on hard problems. It depends on how you view things. Excellent talk, very nice examples and lots of enthusiasm from the attendees. Heinz was kind enough to upload his slides right away after the talk - so you will find them here.

It's been a year that I have attended a similar session from Manik around his latest child Infinispan , an open source data grid (distributed cache). The technology seems more mature, under rapid development and is evolving to areas like the NoSQL field. Definitely one of the project that is in my to check and evaluate list. Infinispan can operate in an embedded mode (inside - along with your container) or a standalone mode - communicating over the network with potential client applications - of any kind (not only Java). It seems the perfect fit for those already working with JBossCache but it's grid nature makes it something more than a simple cache. Excellent talk with very good material - related to a technology that is maturing as the time goes by.

The talk of the day. Joshua Bloch is the Java Architect of Google, famous for his contributions on the JDK and Java lang spec and books like Effective Java. His session was more than packed - people have been standing everywhere just to listen to his talk. Eventually Stephan responded quickly when twits from the audience started complaining by not getting any seat - so this talk will be the FIRST free talk to be published on parleys.com in a few days. Well done Stephan!

The talk was about how complexity in today's systems affects performance in a way that some times we can not predict. Bloch stated that the modern CPUs of our days - are making things sometimes non deterministic and the very same code that could be performing for a period at certain levels could alter it's performance state on another occasion due to many factors. As he noted we should benchmark as much as possible but at the same time 'Benchmarking is difficult, avoid traps and pitfalls'. He mentioned a benchmarking framework developed at Google - Caliper. It was an excellent talk - i have not seen any bad talk by this guy anyway for some many years. I really liked some hints provided like difference in performance of && and & operator. According to Bloch && is slower (in certain occasions) comparing to & . At the end of the talk I was lucky enough to make him sign the latest version of Effective Java which I had bought an hour ago from the Devoxx bookstore. Very proud - book owner see here.

That was my last session of the day - i tried to attend some BOF's later but the rooms were packed- really!. WebSockets is part of the HTML5 specification. Still quite blurry on what is actually going to end up - or look like - but there are already implementations from company like Kazzing. So what is actually websockets in plain words? Eventually a dynamic fullduplex communication channel over HTTP ports enabling clients to pull or push data to servers - by passing the stateless model of the HTTP - Web. Really I find the idea logical and nice - especially in the ear of RIA where applications want to provide a user experience closer to the desktop and the need for interactive data flow - decoupled from stateless and long running http requests. What I don't like or may I say - is putting me away from my comfort zone of how we built up until now web applications is that - giving such a power to the client (there were examples where within the browser using JavaScript we could create a web socket channel and start communicating with the other end) - we really go back on where the logic will be - the client become again fat (the need to consume data - models much faster and with a more flexible way) and it is like we going back to the old pure client - server model. I dont know maybe I am over reacting. What I want to say is that I believe websockets is a nice idea - we have the means to support it technically but the spec should limit or may I say control the use cases where they can be used.

So that is all for today, tomorrow is an interesting day as well. Thank you for your time. I managed to collect some more T-shirts ...by far the coolest one was this from jetbrains.

It is always a pleasure in the recent years to see this french duo. Alexis from the GlassFish Team and Antonio, the JUG Paris (France) leader and author of J2EE 5-6 books - presented a heavy set of features of the J2EE 6 specification.

I am huge supporter of the EJB model in J2EE spec and the latest version of the specification -> 3.1, has some very cool and long awaited features (for years). My personal favorites (I have blogged about them, in the past), the Timer Service, the Asynchronous calls (even though people should watch out - Async Calls is not something that aims to replace completely JMS- which is indeed one of the most important parts of the spec + continer.

The new definition of profiles that slowly make it into implementation while known App Servers start to support them I believe is going to boost even more the j2EE6 adoption.

The standalone container (app-container) was one of the nice things in the demo - EJB's could be used within a J2SE environment preserving most of their capabilities (injection, transactions, wiring) - something that can help even more the adoption of mainstream and easy EJB testing. Currently there are solutions like the OpenEJB lightweight container - from now on we will be expecting each major J2EE container to provide such an implementation.

The session was full of upcoming or new features finally implemented (Servlet 3.0, CDI) - so it was really a worth attending session. My overall feeling is that J2EE6 adoption is going to grow, the technologies and tools have matured a lot - and we are going through an era where Enterprise Developers are actually more free to work and deal with real business problems rather than tools and framework technicalities. The source code for the demo's can be downloaded here.

I know Mike form the Java Champions and JUG leaders community + his involvement on areas related to Agile Software development, Scrum and team coaching. His sort session (15minutes) was about Agile Application Lifecycle which is a summary of techniques, tools and ways integrated various tools towards rapid and agile software development. Michael talk briefly about things like continuous integration, code repositories, ticketing systems, bug trackers, testing tools, communication platforms between peers within a company- the use of all them integrated can lead to a better software development process.

One of the things noted and I really gave it a second thought is that very often known methodologies for example Scrum are not the complete answer to the question - or challenge of agile development. Scrum deals with the management life cycle and work time boxing - it functional aspects and what we will be doing within the software development cycles, what tools we will be using and how these tool feat with the methodology is another story.

That led me to think that I have seen cases where they have quite a complete and good approach on the functional side - using and integrating tools and techniques into their software development process (Code repositories, build systems, cont. integration, testing, automated testing bla bla) but are completely lacking of a good management methodology (Scrum, KanBan) . Of course there is the other way around -companies introduce methodologies but do not accompany them with the appropriate tools. You may ask the same question - to your self and place you company on the board. It was a 15 minutes session - buts lots of stuff to wonder about afterward. Definitely worth attending and very happy to see an old Java friend from the glory days of the Sun Java Champions program.

After the yesterday's interesting buzz with 2 sessions related to alternative DBMS systems (Hadoop, Mongo) and the fact that facebook announced that is going to use HBase as its main db for the upcoming messaging system - I though I could give it a try and find more about HBase.

HBase is a DB system (actually a is an open-source, distributed, version-ed, column-oriented store as stated in their official system) build on top of Hadoop and relying on the concepts of Google's Big table. Is built mainly on Java. Again the same restrictions and characteristics apply as with Hadoop, mainly used for systems that will handle Petta Bytes (yes) in a distributed scalable manner.

Despite the fact that the topic was interesting - I have to kindly admit that I got a bit bored by the pace of the slides, at the same time - I was eager to check stuff on the parallel session of Hibernate Search/JPA2 . The session was quite interesting with lots of coding /examples and references to Apache Lucene.There was some demo of the Hibernate EnvVers a technology that offers hibernate - entity versioning - I can already think of existing projects that we would love to have such a thing!!Last but lot least E.Bernard talked about Hibernate OGM - an interesting mixture of existing and new technologies in the ORM and DB field. One of the best descriptions were given by one attendee in a twit here. (#hibernate ogm = jpa - database + #nosql (#infinispan) + lucene query).
The demo code of the session can be found here (GitHub)

Session 5: Java EE 6: Tooling Status: what am I missing? by Ludovic Champenois
Quite of an interesting session by Ludovic C. member of the GlassFish team Architect @ Oracle. It was around the current state of J2EE6 support in our famous IDE's java community). Netbeans, Eclipse and IntelliJ are equally competing for user share - providing different type/amout of support to the upcoming standards. From the slides I could derive (as the speaker also notetd) that currently Netbeans seems to provide the most complete support towards J2EE 6 standards - but things are rapidly changing since the other IDE's are catching up with upcoming releases. Last but lot least the speaker commented on Oracle's strategy towards supporting the GlassFish Application server especially version 3.1 and the Netbeans platform (IDE).

Session 6: Android Q&A by Romain.Guy and Chet Hasee.Despite the fact that I bought some books related to iphone development I acknowledge the power behind Android in many ways - and I silently following community and technology updates. I thought tha this session could reveal some more interesting aspects of the Android platform since both speakers are active developers. Despite the fact that both them - did not actually respond to some question due to some restrictions applied by Google policy (so much for the open I guess) , some nice things came out. In one question regarding a book recommendation for someone starting coding for Android Chet Hasee proposed the book he is currently reading - Professional Android 2 Application Development. I managed to make a question regarding the types of testing being performed currently during the development of Android OS - the answer was pointing to several things, functional, automated, unit testing , smoke testing integration testing etc. The last part of the question was about - which methodology the Android team is using in order to ship the various releases - I was expecting some sort of agile-ish answer or apply of Scrum - eventually the answer was 'we just ship code' no formal methodology. There were many other questions regarding specific development problems or other asking about the future, some of them did get an answer some others were skipped due to policy restrictions :).

Session 7: Scalable Data Structures for Java by Talip OzkurtCan you imagine a library of almost 1.5 Mb being table o provide the same (almost) functionality as products like Terracota or Infinispan or JBossCache. I have to admit I was surprised with all the stuff this fellow neighbor (Turkish) presented- with his technology hazelCast. A distributed in memory cache (vm based) that operates on pure Java structures like Maps, Sets, providing messaging capabilities among different jvms and enabling task execution on different jvms? The programming model is VERY easy (I was amazed) and the host managed to answer all the different questions regarding the stability and efficiency of his implementation. Its free and open source so in order to make sure and justify (or not) the 'too good to be true statement' I will give it a try! I suggest you all do it is pretty easy actually. It was quite of session ...after a tiring second day!

That is all for now - big day tomorrow - conference day one and I think I managed to collect 3-4 tshirts today - eventually I am expecting some more tomorrow - geek happiness.

Tuesday, November 16, 2010

Well here we go, it is almost 12:30 am and I am just back to my hotel room. It must have been something like 10-11 hours of Devoxxing - and that was only the start. Despite the fact that I feel a bit tired and brain drained - I am forcing my self to write the day's review so that friends, colleagues or anyone interested, especially back in Greece can read the post - early in the morning tomorrow while checking corporate email etc.

The NoSQL, distributed , high scalability wave of things in the database front - is getting more and more momentum over the past two years. It is clear that certain projects are getting mature, eventually while being widely adopted, so more people talk or buzz about them. Hadoop is becoming more and more famous - so I felt like - attending this 3 hour session - getting some serious introductory knowledge about it.

The session was split into 2 parts ,for first one (which I liked the most) was about HDFS - the Hadoop distributed file system originally developed by Google and the MapReduce Technology. I have to admit during the session I acquired a sufficient technical overview of both technologies - eventually some things were made very clear about the positive and negative aspects of them. One of the most important things noted relared to HDFS is that is not indented to be used in cases were you want to store small files - the HDFS blocks are 64 to 128 MB large anything smaller could result to loss of space in the local file system.

The second part was about Hive and Pig 2 competing technologies aiming to provide to the developers a layer of querying support - in order to extract or manipulate data out of a Hadoop DB. Hive is offering an SQL-like interface (although it is very very limited) and was originally developed by Facebook.

On the other hand Apache Pig which was originally developer within Yahoo - uses a specific expression language in order to extract large data sets our of Hadoop.

Both of the technologies demonstrated caused me a bit of frustration mostly because of the current limitations (or developer unfriendliness). I can clearly see that the original developers of them were having specific use cases and for these 'cases' the tool is delivering it's promises. I was just a bit puzzled on trying to find a know to me use case where the combination of Hadoop - Hive/Pig could be used.

Overall though very interesting presentation that made things clear about what is Hadoop, what it's main purpose, which are the main use cases and which are not.

This was actually my favorite session for the day. So starting with Hadoop the session of MongoDB seemed to be more compelling comparing to others plus as I have already elaborated the noSQL wave is getting bigger and bigger every year.

So what is MongoDB, a hybrid DBMS that aims to combine the best out of 2 worlds the traditional RDBMS (Oracle, MySQL) and the fast, no sql mem-based key-value pair hash based technologies. In MongoDB there is no such a thing as a database Table but we treat everything as a document. At the same time there are not relationships in the form of SQL relationships + so there are no joins instead you have lists of documents within other documents forming trees and links between them.

I have to admit I am very enthusiastic after this 3 hours session and I have promised my self to try Mongo as soon as possible. My main motive is to try out the new way of modeling data - thinking in documents , lists and maps rather than tables, foreign keys, joins and enforced constraints. It seems that this type of modeling data within an application in many cases can prove to be much more efficient for the application and the developer (since it is simpler - and you have more time adding new functionality - rather than fighting your own domain model). Of course MongoDb is not perfect (for example no distributed transactions - everything is an atomic transaction or there is not strict enforce of constraints for 'document relationships comparing to our RDBMS world, but still sounds very compelling to try it out. The scalability characteristics were also very promising - sharding and partitioning seemed to be reasonable powerful,

So note to my self - play with MongoDB within the next month and blog about it!

This talk was about the PrettyFaces servlet filter extension that brings to the Java Web Developer (of any web framework) the power of proper and clean URL re-writting. URL rewritting can be a pain we all know it, frameworks like JSF especially in early versions do not help at all (ever noticed the ugly urls? I guess so). The flexibility of PrettyFaces and the simplicity implied on actually integrating to any web app - really gained my attention. Worth looking at + considering if you want a nice tool - technology for making your URL's nice and clean. Eventually as the presenter was noting down the technology can be used in many other cases (apart from plain URL rewriting) and is considered to be embedded on stacks like Seam3.

This session was my least favorite of the day, it was not bad - but eventually not in my main area of things to watch out. We all use VisualVM (or quite lots of people) this session was around hacking anew Visual VM module and integrating to the existing app for monitoring cpu cycles.

Session 5: After an hour break, I joined the Seam 3 Gathering featuring some of the main developers and leads in this technology stack. Worth noting the request from the users of completing the Seam 3 in Action book + additional documentation on migrating projects from older versions of seam. There was a lot of buzz around Seam Forge, a tool (technology) towards rapid project setup , resolving dependencies and introducint various modules.

Session 6:Despite the fact that - I was not greatly interested in the Adobe technology stack - I ran to the second half of their BOF just listening to various questions and requests. Managed to pick some statements like - eventually the Flash/Air player is getting faster on specific platforms (like the Mac) and side- effects of high CPU loads on just running a player or some related application will just vanish. There is a lot of buzz around Google TV and Samsung which are partnering with Adobe on Flex/Air bundling the technology to their sets.

It was very nice seeing Heinz again after some time, I actually had the chance to share my late dinner with him- chatting about life in Greece the economic downturn and of course Macs!!!

Heinz talked about his latest community project jpatterns an effort to build a annotation library that will be used by developers so that they can annotate clearly in the code base - concrete implementations of known design patterns - like those defined by the famous Gang of Four or J2EE design patterns. A very interesting discussion started regarding current experiences on applying design patterns, good and bads, how developers might treat such a annotation set, if this is actually going to help developers or pollute its code and many other stuff.

From my experience I have seen most of the cases developers over engineering their code just to show off some design pattern knowledge without considering if the code written is actually worth using, reading or at least 'in the context' of the actual need. I really hate this over engineering. Overall patterns are ok to implement but need experience and good design knowledge in order to be applied properly.

So this was my review - for today- I still have a couple of links for things I have heard or red on twitter and sessions I was not able to attend but it is already very late (writing this one) and I have to get ready for tomorrow. Overall - a very nice start - with interesting sessions and lots of notes in my devoxx notebook. I also got the privilege to get my Activity T-Shirt by T.Baeyens and the rest of the team - I was very happy to see them and talk about Activity and recent JBPM developments.

Thanks for your time! You may find some today's photos here. I will be uploading some new stuff every day