vendredi 9 mai 2008

Voilà.... c'est fini...

Comme toutes bonnes choses, JavaOne à une fin.... dernière fois ce matin que l'on pouvait assister à une étrange migration de personnes, portant toutes le même sac à dos, vers le même point de convergence : le Moscone Center.

Début de la journée par la dernière session générale de Sun, qui débuta par une petite cérémonie de remerciement à John Gage, avec la remise d'un trophée "Duke" en or (ou tout du moins doré) de toute beauté :o)
Puis James Gosling a présenté une série de projets autour de Java, dans l'ordre : VisualVM (outil permettant le monitoring simple d'une VM et l'analyse d'un dump mémoire), le support de JavaScript dans NetBeans (avec la complétion, le debugging, les "hint", etc.), l'application de Java3D sur les GPU mobile de NVidia, le projet Darkstar qui est une plate-forme et un serveur de jeux MMO, JavaCard 3.0 avec un "robot battle contest", Java embarqué dans des micro-ordinateur (la taille d'une carte SD) et reliés à toutes sortes de capteurs, Java embarqué dans un stylo dont la démo était du plus bel effet !, le projet BlueWonder qui est l'application RealTime de Java dans le monde de l'industrie (il y avait un genre de "The Incredible Machine" pour ceux qui connaissent, où les billes étaient triées automatiquement par couleur. Elles passaient dans un tuyau en chute libre, leur couleur étant identifiée par un capteur et un aiguillage basculait en fonction 10cm plus bas... on peut effectivement dire que c'est du temps réel !), un projet de voiture autonome elle aussi bourrée de capteur et pilotée en Java, l'outil JMars qui permet d'exploiter des téraoctets de données issues de Mars, afin par exemple de préparer l'atterrissage du prochain module, et enfin l'utilisation de Java au CERN pour visualiser le "choc" des atomes dans un accélérateur à particule, et gérer toutes les installations gravitant autour.
La fin de cette session annonçait donc la fin ou presque de JavaOne, plusieurs installations avaient déjà été retirée comme l'ensemble de postes Solaris en libre accès, ou bien le Pavilion entier qui s'était terminé la veille.

J'ai ensuite participé à un lab de 2H sur WS-BPEL, sur plateforme NetBeans + Glassfish. Ca parait si simple d'implémentation et si puissant que je me demande pourquoi je ne le vois pas si souvent utilisé...

Après la pause déjeuner, j'ai pu assister à une session intéressante sur JRuby vs Groovy. Ne connaissant vraiment aucun des 2, ça m'a permis également de voir ce qu'apportait ce genre de langage... et bien ça m'a donné l'envie de me mettre à Groovy tellement ce langage a l'air élégant (ce qui m'a conforté dans la première approche que j'ai eu hier). D'un côté, Groovy apporte l'aspect dynamique au langage Java, tandis que JRuby est un portage de Ruby sur la plate-forme. Ruby a l'air d'avoir des avantages supplémentaires par rapport à Groovy mais c'est aussi un tout autre langage que Java... à apprendre.... donc, one bite at a time :-)

Ensuite vint une conférence sur Flex & Java, plutôt un show de quelques demonstrations, mal organisé.... les supports se trouvent ici : http://www.riajava.com, worth a look... Malgré tout, l'ensemble semble très prometteur !

Et finalement, j'avais gardé le meilleur pour la fin : Rod Johnson qui présentait les dernières nouveautés de Spring 2.5. La part belle était donnée aux annotation, notamment celles permettant l'injection de dépendances (ce que je n'aime pas particulièrement, puisqu'il devient alors nécessaire de recompiler les classes, et que si on se fie à l'autowire, cela devient presque plus difficile de changer une implémentation par une autre). Le manque de temps a du lui faire zapper la partie MVC, qui pourtant semble avoir subi beaucoup d'amélioration. Il ne reste plus qu'a y jeter un oeil ;)

Et voilà, ceci clos JavaOne 2008, une très belle expérience à la fois professionnelle et personnelle (première fois aux "states", youhou !).
Un grand merci encore à Xebia (non, non, je n'ai pas d'actions chez eux) grâce à qui j'ai pu passer ces très bon moments !

That's poker !

jeudi 8 mai 2008

3ème jour à Javaone... la fin approche

Petit déjeuner "Américain" avant de débuter la journée, petit gobelet de café (comprenez de la taille d'un bon gros mug !), donuts... et c'est parti !
La général session était loin de faire salle comble, puisqu'il s'agissait d'Intel. On peut se demander que fait un constructeur d'hardware à une conférence sur le software... et c'est justement en posant cette question que le speaker a commencé la conférence ! Pas de grande annonce, juste les objectifs d'intel sur les prochains processeurs : moins de consommation, plus de puissance (on s'en doute !). Mais aussi l'optimisation de la cohésion entre hardware et software, pour preuve le gain de performance à matériel égal que les équipe de Sun et Intel réunies ont pu obtenir en un an sur le JDK6. Ils avaient prévu un gain théorique et optimiste de 60%, ils sont arrivés à 68 :)
Des optimisations en cours également sur les système de virtualisation, pour réduire l'overhead (La plateforme Sun xVM a été citée, cohésion de Xen et OpenSolaris)

Après recul, ma session technique préférée de la journée : Groovy et Grails. Animée de main de maître par Guillaume Laforge (euh non... je ne suis pas chauvin !). Je n'avais aucune connaissance sur le sujet, et sa présentation m'a vraiment donné l'envie d'utiliser cette plate-forme qui paraît si élégante ! Il nous a principalement présenter le principe de metaClass et de ses utilisation. La principale étant l'interception d'appel aux méthodes non déclarée, la création dynamique de cette méthode et de son comportement, et enfin la mise en cache pour les prochains appels.
Le langage fait donc la part belle aux conventions de nommage plutôt qu'à la configuration ou aux déclarations "en dur". Avec la petite dose d'humour "à la française" en plus, qui manque cruellement aux autres session (qu'elle soit d'ailleurs "à la française" ou pas, on a rarement l'occasion de rire un peu...)

La session suivante était un retour d'expérience de Boeing sur l'utilisation de la plate-forme NetBeans pour développer leurs applicatifs. Les raisons de ce choix n'ont malheureusement pas été citées en détail, surtout vis à vis d'un Eclipse RCP. Pas vraiment de contenu finalement dans cette session, je ne m'étale pas plus dessus :(

Ensuite vint une session sur la conversion d'une application existante vers OSGi. La encore, pas de surprise, le conseil principal est bien sur de commencer petit et d'avancer pas à pas ("How do you eat an elephant ? One bite at a time !).
Le fonctionnement d'OSGi a été plus ou moins détaillé, notamment les principes de packages privés, pakages exportée et importés.
Exploser son application en autant de bundle qu'il y a de JAR n'est vraiment pas la meilleur solution, il est tout à fait possible d'inclure un maximum de JAR à l'intérieur d'un bundle, s'ils n'ont pas pour objectifs d'être utilisés par ailleurs, afin de réduire les dépendances.

La session suivante concernait les Design Pattern d'application composites. Encore une session qui s'est vidée à vitesse grand V, la faute sûrement d'une part aux "banalités" qui étaient citées, et d'autre part aux slides qui contenaient trop, mais alors trop d'inforations ! Un signe qui ne trompe pas : lorsque tout ce qu'un speaker dit se trouve intégralement sur le slide, c'est que le slide ne joue pas son rôle de support, de synthèse.... (en plus, rapidement plus personne ne lis et de toute façon la conséquence directe est que c'est écrit trop petit !)
Bref, la seule chose intéressante que j'ai retenue est le mécanisme de compensation (que j'ai déjà évoqué ici) couplé à celui du mécanisme de "check service availability" permettant de réduire la probabilité de déclencher la compensation (qui, dans la plupart des cas, a du mal à revenir à l'état initial car c'est rarement complètement possible... )

On relève ensuite le niveau avec une session très intéressante (et d'ailleurs qui a fait salle comble) sur la "reconsidérations des design pattern". 3 en l'occurence : Singleton, Template et Visitor. Pour résumer, il vaut mieux préférer la Dependency Injection au Singleton, et remplacer au possible l'héritage par de la composition. L présentation devrait être disponible ici : http://tech.puredanger.com/presentations/design-patterns-reconsidered. En attendant, des références très intéressantes y sont listées.

Pas vraiment convaincu par la session ce matin d'Intel, je suis allé un peu à reculons à celle de Motorola en milieu d'après-midi. La speakerine (qui a disparue de nos écrans de télé depuis longtemps :-P) a brossé le tableau de l'écosystème des plates-formes mobiles comme très hétérogène, à l'image de ce qu'était l'informatique "personnelle" à ses début. Le principe est qu'il se produit à chaque nouvelle ère technologique une explosion, puis un recentrage sur une ou deux technologies. Aujourd'hui les OS mobiles sont multiples et une harmonisation devrait émerger. Elle est en partie déjà là, non pas sur l'OS mais sur la VM Java (et encore, les profils JME implémentés diffèrent énormément d'un appareil à un autre, sachant que le tronc commun ne permet pas grand chose de sexy....).

La journée s'est terminée par 2 BOF, la première sur la pate-forme NetBeans versus Eclipse RCP. Je n'y ai vu que des points communs alors que je m'attendais justement à connaitre les différences.... dommage ! La seconde sur la gestion d'application JEE dans un environnement en cluster. Par gestion comprendre la configuration et la modification de cette modification au runtime. La solution présentée était intéressante, basée sur JMX et une surcouche "maison" adressant les faiblesse de JMX dans ce genre d'environnement comme la propagation des changements, la hiérarchisation des éléménents de configuration ou encore la notification atomique de l'ensemble des changements. Malheureusement, le speaker était... très... lent..... et à 8H du soir, après une journée bien remplie, ça en a découragé plus d'un. Je suis resté évidemment jusqu'au bout et bien m'en a fallu car le sujet était intéressant.

Fin de la journée par un concert à l'extérieur, dans les jardin juste au dessus du centre, ça sent la fin...
Concert expéditif et évacuation à 9H.... The american way !

mercredi 7 mai 2008

Second jour à JavaOne

A nouveau une longue journée... on n'a qu'une envie, celle de profiter de tout ces intervenants et il faudrait se diviser en 15 pour y arriver ! Les choix de sessions se font donc malheureusement au détriment d'autres, probablement aussi intéressantes.

La "general session" du matin était présentée par Oracle, qui a commencé par annoncer la bienvenue aux équipe de BEA, récemment acquises. Les 5 grands principes sur lesquels Oracle met le focus sont SOA, Event Driven Business, Rich "2.0" Application et le GridConputing.
Les démonstrations mettaient en avant leur IDE, outil de RAD ou les palettes de composants donnent le vertige tellement il y en a, avec des options à n'en plus finir ! Ils intègrent également un composeur de services SCA et un orchestrateur BPEL graphique. La dernière démo mettait en oeuvre le serveur GridComputing de BEA avec l'utilisation de leur JVM JRockit "Real Time" et de son Garbage Collector deterministic, permettant de ne pas "bloquer" la JVM durant son exécution.

J'ai ensuite enchaîné par une session technique sur la réalisation d'une Appliance créée à partir d'OpenSolaris et GlassFish. Le but était de réaliser un "boitier" permettant de déployer et faire fonctionner une application web sans aucun talent d'administrateur. Cet appliance était administrable par un écran LDC de 20 lignes et une demi-douzaine de boutons. Pas très convainquant pour ma part, n'étant pas convaincu qu'il existe réellement une cible pour ce genre de serveur... L'intérêt était plutôt dans les features d'OpenSolaris comme le système de fichier ZFS ou le manager de service SMF.

Ensuite une session "Modularity in Java". JAM signifie JAva Module et instaure le mot clef "module" agissant comme un modificateur de visibilité (tel public ou protected) au sein d'un module. Il est vrai qu'aujourd'hui, lorsque l'on développe un composant logiciel (pour ne pas dire module) si des méthodes ou attributs doivent être appelée entre des packages différents, ils doivent être déclarés public. Alors que ce ne sont pas forcément des entités que l'on souhaite exposer à l'utilisateur du composant.
Un module possède des meta-données contenues dans un fichier module-info.java, composé d'annotations. on peut ainsi déclarer une version, importer d'autres modules, créer des dépendances inter-modules ou encore définir une classe d'initialisation.
Un nouvel outil, jam, sera disponible (similaire à l'outil jar).
Les dépendances intermodules sont gérés par la JVM au runtime, et sont gérés dans des classloader différents, où chaque classloader est managé par celui du module dont il dépend. On peut voir ainsi plusieurs versions d'un même module cohabiter dans une même JVM car ils ont été requis par 2 modules différents. On évite ainsi les classiques problèmes de version de JAR (qui n'a jamais eu de problème de version de parseur XML ?!?)
Le système de module JAM, par son API d'accès au repository de module, promet de récupérer et gérer les modules quelques soient le gestionnaire de module sous-jacent (OSGi par exemple). A voir en pratique...

L'après-midi débuta par une session sur JPA 2.0, assez décevante puisqu'on a eu droit à une simple énumération des nouvelles (et parfois anciennes !) annotations et leur fonction.
Pour rappel, l'implémentation de référence est EclipseLink.

J'ai poursuivi par une session sur l'asynchronicité avec les WebServices. Sujet intéressant qui abordait les problématiques côté client et côté serveur.
L'API JAXWS 2.X permet les appels asynchrones au niveau du client par la déclaration d'une méthode de callback.
La partie serveur peut etre assurée par l'utilisation de WS-Adressing, qui permet de définir au sein de l'enveloppe du WebService les données supplémentaire comme reply-to et fault-to pour que le serveur sache "où" répondre une fois que le traitement est fini, et le champ relates-to
qui contient l'identifiant du message d'origine, permettant au client de savoir à quelle précédente requête correspond la réponse qu'il reçoit.

J'ai assisté ensuite à une session très bien menée sur JMX (et ce n'est pas seulement parceque l'un des 2 speaker était français ;-) ) qui, après avoir présenté l'intérêt de JMX et ses nouveauté en version 2, a été l'occasion d'une démo très parlante et instructive.
Cette démonstration mettait en scène un logiciel de poker, qui exposé son état et des événements via JMX. Les 2 speaker ont "joué" en direct pour cette démo et le commencement de la partie en mettant leur lunettes noires a fait son petit effet :-).
Au niveau interopérabilité, la prochaine avancée est l'exposition et le management de ces MBean via des WebService. La démo présentait le fonctionnement réel avec les outils de management de Microsoft et un script VB.Net pour automatiser le tout.
Du travail bien préparé !

Pour finir la journée, j'ai assisté à BOF d'une heure chacune. La première était.... bof.... sur EJB3.1 à laquelle ils ne se sont contenté que de répondre à des questions. Et les questions n'ont tourné autour que d'un thème ou presque : la gestion des appel asynchrones avec les EJB (je ne pense pas personnellement que ce soit dans le scope des EJB de gérer cela... d'autres technologies sont bien plus à même d'y répondre).
Le second BOF était sur JMS, JBI et les transactions. JMS ne propageant pas les transaction, JBI adresse ce point. Le NMR (Normalize Messsage Router) assure les transaction XA (2 phase commit). BPEL quand à lui répond à la problématique de transaction sur traitements asynchrones ou traitements longs, par la gestion des compensation.
Avec cette solution, toutes les actions exécutées sont directement commitées, les actions de compensations sont exécutées si un événement d'erreur est déclenché. Le mécanisme de compensation a pour but d'exécutée les actions nécessaire au retour à l'état initial.
Et pour finir, le dernier BOF fut un retour d'expérience sur la mise en pratique d'un SOA au sein d'une entreprise ayant un système legacy important et vieillissant (cas classique s'il en est !).
Il était là plus question de méthodologie et d'approche que de technique pure. Bien plus instructif ! Le choix des objectifs, de la roadmap, de la définition de ce qu'est un bon projet pilote (must create business value but not too much ! has a limited scope, useful but not mission critical, ...). Et le maître mot que devrait mettre en pratique tout bon DSI : have an easy exit strategy ! Car si le projet ne fonctionne pas comme espéré, dans les délais prévus...... on connait la suite !


That's all folks (for today at least !)

mardi 6 mai 2008

Premier jour à JavaOne

La première chose que je peux dire est que la journée fut bien remplie ! 8H à 22H30 avec 30min de pause déjeuner :-)

La journée a commencé par la session générale, présentation à l'américaine comme on aime dire en france, avec un show d'entrée plutot sympa ! La session était à mon goût un peu trop commerciale : on a pu voir défiler des acteurs du commerce qui je trouve se servent un peu de Java comme un prétexte, comme par exemple Amazon avec leur ebook Kindle, ou encore Sony Ericsson. Les principales présentations tournaient autour de JavaFX avec quelques "effets démo". Le rendu est très sympa, et semble offrir une réconcialiation entre les designers et les développeur (ce que semble faire Flex également chez Adobe). L'évolution du plugin Java pour navigateur était aussi à l'honneur avec une démo sympa d'une applet pouvant être glissée-déposée en dehors du browser, ers le bureau, et devenir ainsi une application Destok indépendante sans aucune autre action nécessaire. Le tout en techno JavaFX pour une interface utilisateur du plus bel effet (enfin, moi j'aime bien ;-) )

Ma première session fut un peu décevante, en même temps le topic était un peu flou : "Java Platform Standard Edition : A Youthful Maturity". On a eu droit à quelques mots sur les apports des prochaines versions : la 6u5p (!) qui est simplement une release pour augmenter les performances sur plate-forme 64 bits. La 6u10 "Consumer JRE" qui apporte un plugin complètement refondu, et qui est "JavaFX ready".
Quelques infos intéressantes concernant le support par la JVM des langages de scripting avec le ScriptEngineManager. Le support de JavaScript est assuré aujourd'hui et JRuby le sera dans la version 7. Un mot aussi de Java Modularity, qui se veut une abstraction des frameworks de module tel que OSGi, et le JAM qui est une sorte de manifest pour les modules (comprenant la version, la mainclass, les modules dépendants, etc.). Ainsi, le module repository de Java pourra se reposer à la fois sur une repository JAM et sur OSGi (JSR 277).
Java SE lui-même sera modularisé, donnant lieu à différents profiles.
Les deux autres updates importantes sont les I/O et JMX 2.0. Il sera également question de WebService Connector for JMX Agent, permettant de manager des MXBeans via WebService.
Le tout terminé par une démo de VisualVM qui permet d'interagir avec une VM via une interface graphique. L'utilisation démontrée ici consistait à identifier une fuite mémoire. A terme, le but est d'intégrer cet outil avec JConsole (ou l'inverse !).


Seconde session sur Eclipse. Session très succinte abordant 2 thèmes : la prochaine release Ganymede, en insistant sur le fait que le process de release est éprouvé, planifié et tenu au jour près, et que ces release sont cohérentes dans la version et compatibilité des 24+ projets formant Eclipse. Le second thème était une démonstration de l'utilsation d'OSGi côté serveur (Equinoxe en l'occurence) et du développement en ciblant les 3 environnements cibles que sont RCP, RAP et eRCP sans changer plus de 10% du code. On a eu droit à une séquence "Blair Witch" selon le speaker car pour la cible eRCP qui était un téléphone Nokia, au lieu de se servir d'un émulateur, il a utilisé un vrai portable, qu'il filmait sous la table (pour la pénombre) avec une webcam qui tremblait ! d'où l'effet Blair Witch :-)

La troisième session concernait JBI et SCA, où comment utiliser le meilleur de ces 2 mondes. L'implémentation SCA utilisée était Tuscany et celle de JBI ServiceMix. Rien de bien nouveau, juste du bon sens ;-)

Ma session préférée fut celle de GlassFish v3. Autant pour le contenu que pour sa présentation. Cette nouvelle version est basée principalement sur Maven 2 (pour le build mais aussi pour la description des modules via des pom), Felix pour la partie OSGi et Eclipse Link comme implémentation de JPA.
La partie modularisation est assurée par HK2, qui apporte des services supplémentaires à OSGi tout en se basant dessus. Il offre notamment des fonctionnalité de ServiceMapper et gère les dépendances par des annotations. Pour les I/O, le framework Grizzly est utilisé.
La distribution basique se contente de tenir en 2Mo, avec le module de configuration, de module management et tout ce qui relève du life cycle (deployment, undeployment, etc.)
La demo qui a suivi était bluffante, il s'agissait de la version Embeddable. Celle-ci peut être fournie sous forme d'un seul JAR, lancée et configurée de manière programmatique, facilitant ainsi les tests unitaires (peut être lancée depuis JUnit) et augmentant la productivité. Il fallait voir avec quelle agilité la démonstration était faite ! Le bootstrap de cette version dure moins d'une seconde !

J'ai ensuite participé à un Lab sur Les WebService avec OpenESB et NetBeans. Tout se fait ou presque via l'IDE sans avoir à écrire de code, surtout sur la partie orchestration BPEL, très visuelle. Les exercices fait dans ce Lab seront dispo sur le site de JavaOne après la conférence, je ne peux que vous les conseiller. Ils sont très dicactiques et instructifs !

Dernière session, celle qui s'est vidée la plus rapidement, était sur la fusion des architecture "Event Driven" et "Service Oriented". Il s'agissait d'une plateforme WebLogic, basée en partie sur Spring, et qui propose un modèle de développement pour une architecture EDSOA donc !
Le concept est très intéressant et comporte même un langage de sélection d'évenement similaire au SQL mais adapté aux flots d'événements, l'EPL (Event Processing Language).
Leur produit s'exécute sur JRockit, seul Runtime selon eux permettant de gérer suffisamment le Garbage Collecteur pour ne pas perturber le flow d'événements et ainsi approcher le temps réel.

J'ai enfin fini la journée sur un Lab de 2H (de 20H30 à 22H30 !) sur le grid computing avec des exercices mettant en pratique la technologie GridEngine et DRMAA. Impressionnant de facilité avec les outils NetBeans et plugins qui vont bien ! Le résultat au bout de 30 minutes permettait de calculer le nombre PI sur les 100 postes Solaris que comportait la salle. Idem, c'est un Lab à refaire dès que les materials seront disponibles sur le site. En attendant : http://gridengine.sunsource.net/

Voilà pour la journée bien remplie... on remet ça demain !

Javaone : généralités

Après cette première journée voici, avant de rentrer dans le détail, quelques généralités sur JavaOne.
La carte remise à l'enregistrement est bien le sésame pour tout (enfin sauf pour le petit déj' et le déjeuner ou ça fonctionne encore avec des coupons en carton à détacher...).
Une fois le schedule réalisé sur le site web de Javaone, le badge est scanné à l'entrée avec des BlackBerry et des lecteurs RFID pour vérifier que vous êtes bien pre-registered pour la session. Sinon on vous met dans une seconde file d'attente et ne vous fait rentré que s'il reste des places.
A propos de registration, chaque créneau horaire comporte en moyenne 13 sessions différentes ! Souvent difficile de faire un choix !
La carte est également scannée de manière transparente lorsqu'on franchit une porte. Ils ont ainsi des statistiques sur le nombre d'entrées et de sorties durant une session (certaines sessions se vident très vite si l'intérêt n'est pas là, ou le niveau d'accessibilité trop élevé)

Il y a plusieurs styles de sessions, des sessions générales qui ont lieu dans une salle immense (peut-on encore parler de salle ?) pouvant contenir la totalité des participants (j'ai entendu un chiffre de 8 à 10 000, ça me parait réaliste). Les technical sessions et BOF (pas vu de différences parmi celles auxquelles j'ai assisté, quelqu'un peut m'éclairer sur ce point ?) et enfin les Lab, qui se déroulent devant un poste Solaris (100 dans la salle) à manipuler des exercices après une présentation rapide (j'aime ça !)

lundi 5 mai 2008

Premier contact avec JavaOne !

Ce matin, un peu par hasard, je me suis retrouvé devant le Moscone Center pour repérer les lieux car les conférences ne débutent que demain. Et puis je me suis rendu compte que je pouvais effectuer aujourd’hui la registration, même sans avoir sur moi le numéro de réservation.

On me remet alors un badge (Java Card évidemment !) et me dit que je peux me rendre au premier sous-sol pour y retirer mon sac. Le centre est plutôt grand et le hall d’accueil en bas est tapissé de pouf où tout le monde peut s’y poser confortablement (pour ceux qui aiment, moi j’ai toujours un peu de mal à m’y trouver une place). 10 minutes plus tard j’avais en ma possession la panoplie complète : sac à dos JavaOne, gourde Oracle, brochure avec l’intégralité des sessions, et évidemment une carte pour s’y retrouver dans ce dédale (qui d’ailleurs se trouve en grande partie sous l’avenue, on peut donc y rentrer par les 2 côtés… je m’en suis rendu compte lorsque ma curiosité m’a poussé à aller voir ce qu’il pouvait bien y avoir de l’autre côté :-/ ).

Le badge semble être le sésame de tout, il m’a servi pour retirer mon sac et permet aussi d’ouvrir une session sur les multiples postes Solaris à disposition.

Le rendez-vous est pris demain matin, ouverture à 7H pour le petit déj’ ;-)

jeudi 1 mai 2008

San Franciso, me voilà !

Tout a commencé par la lecture d’un post sur le flux RSS de Xebia : Xebia Blog ! Ce post invitant à un quizz autour des technologies Java, se terminant par un tournoi de poker… Mon goût pour Java et les jeux ne m’a pas fait hésiter longtemps et j’ai suivi de manière assidue le site de Xebia Poker, répondant aux questions chaque jour ou presque. Jusqu’à la date de clôture, le classement été serré et ma qualification s’est jouée à peu de choses ! (47ème sur 50 sélectionnés)

La finale se terminait donc par un réel tournoi de poker, sur une péniche à Paris. L’organisation était au top, l’ambiance très bon enfant :-)

J’avoue avoir eu la chance de commencer sur les chapeaux de roue en éliminant 3 personnes en très peu de temps sur la première table. J’avais donc très rapidement le plus gros tapis ce qui m’a permis de m’imposer plus facilement sur quelques coups. A vrai dire, je ne joue quasiment jamais au poker, une fois tous les 2 mois tout au plus. Par contre j’ai la chance (?) d’avoir un frère fan de ce jeu, qui me raconte parfois ses parties dans les moindres détails et comment il a pu gagné, et comment il s’est fait avoir ;-) Je pense que ses conseils y sont pour beaucoup dans ma réussite, l’autre partie étant la chance !

A ma grande surprise j’ai donc terminé premier de ce tournoi et remporté le voyage à San Francisco pour assister à JavaOne, LA conférence sur Java se déroulant sur 3 jours !

Première pour moi ! Première aux états-unis, première en avion (en avion de ligne, car à côté ma petite passion pour le parachutisme m’a permis de faire une soixantaine de décollages en petit coucou, mais aucun atterrissage ;-) ). Petit stress pour la passeport, que j’ai pu finalement avoir à temps après avoir joué au ping pong avec la préfecture et la mairie…

Je pars samedi midi …… !