AppEngine 1.7.7 – incrémental et fondamental

April 11, 2013 § 1 Comment

La toute dernière version d’AppEngine (1.7.7, annonce officielle) introduit son lot de nouveautés, comme le support de java.net.Socket et java.net.DatagramSocket sortantes (avec qq restrictions et pour les applications payantes uniquement), mais elle est pour moi surtout marquée par des améliorations incrémentales importantes et pour beaucoup transparentes pour l’utilisateur (c’est l’intérêt d’avoir délégué l’admin à Google dans une approche PaaS). En voici les plus marquantes :

  • déploiements beaucoup plus rapides
  • généralisation de Java 7 (par défaut pour toute nouvelle application)
  • amélioration du plugin Maven, développé par l’équipe AppEngine, propose la génération de code Cloud Endpoints et se trouve (avec ses archetypes) dans Maven Central
  • nouveau scheduling pour un auto-scaling encore plus efficace (perf et donc $/€)
  • amélioration des performance de la console et de ses rapports de charge

Deux autres modifications concernent:

  • la facturation (un nouveau système est maintenant en place) avec la suppression des $2.10 de “ticket d’entrée”
  • l’introduction du Cloud SDK, une consolidation des outils en ligne de commande des différentes offres de Cloud Google: Storage, Compute Engine, CloudSQL, BigQuery et AppEngine

A partir de cette version les logs contiennent maintenant la version AppEngine.

Rendez-vous maintenant à Google I/O (15-17 mai 2013) pour une version avec son lot de nouveautés.
Ship early ship often!

Is the Vert.x episode spotlighting an open source weakness?

January 11, 2013 § 10 Comments

With all my Sun years advocating open source and my following closely of the Hudson/Jenkins drama from within Oracle some two years ago, I’ve been tracking the recent vert.x issue with quite some detachment (I’m no longer at Oracle and I’m not involved in any way in this technology) but also with a lot of interest. What was really fascinating was to read everyone’s perspective bias in the public discussion :

  • A (somewhat naive) lead and creator of the project caught in the middle of politics
  • Red Hat’s experience with Netty influencing its current behavior
  • VMWare claiming they have lots of open source experience too
  • The idea that foundations would solve all the IP and governance issues
  • My foundation is better than yours arguments
  • The realization that neither Eclipse nor Apache are ideal
  • Jenkins’ Kohsuke suggesting nonprofits for shared assets
  • The Eclipse Foundation being called once again a trade association
  • etc…

http://en.wikipedia.org/wiki/File:Ascending_and_Descending.jpg

Clearly, as Simon Phipps writes in his column, “In an age of open source, it’s hard to acquire a technology” and this brings up what I think is a paradox for any open source believer :

This recent episode will make it even harder for startups to bet on open source to find funding and for companies to be acquired for their open source assets, thus in turn leading to less usage of open source.

In the end, isn’t this underlying a weakness of the greater open source cause or should open source technologies never be a reason to acquire (or sell) a company?

Google (free) talks from Devoxx

January 7, 2013 Comments Off

We now have the following five Google sessions from Devoxx 2012 freely available to all on Parleys :





If you like shorter formats, you might enjoy these 3 to 10-minute interviews with some of the Google speakers.

Google interviews from Devoxx 2012

November 20, 2012 Comments Off

I was lucky to interview a number of our great Google speakers at Devoxx 2012. Here is the result with seven 3 to 10-minute interviews. A YouTube playlist is also available here. Enjoy!







Chaîne Google Developers pour améliorer votre anglais

November 20, 2012 § 1 Comment

Lire et écrire des emails, échanger par messagerie instantanée avec des collègues qui sont souvent dans d’autres pays, le tout en anglais, c’est le quotidien dans le travail de beaucoup d’ingénieurs.

Améliorer son niveau d’anglais peut être parfois difficile si l’on n’est pas immergé dans un environnement de collègues parlant tous l’anglais. Il est aussi quasi-impossible de rester informé sur les dernières nouveautés technologiques sans maîtriser cette langue. L’apprentissage de la technologie et de l’anglais sont des efforts perpétuels.

Les ingénieurs ont de nombreuses opportunités de lire de la documentation, de communiquer avec des communautés open source, de visionner des vidéos sur YouTube, le tout en anglais et désormais il existe une méthode gratuite pour améliorer ses connaissances techniques et son anglais en même temps.

Apprendre l’anglais sur la chaîne Google Developers sur YouTube
Le principe ici est de rajouter des sous-titres de qualité aux vidéos techniques.

Ces sous-titres permettent :

  • d’entraîner vos oreilles à un anglais parlé
  • de consulter sur le champ la définition de mots que vous ignorez
  • d’apprendre des constructions et des expressions propres à l’anglais parlé

Tout ceci est certainement plus efficace qu’une simple lecture ou écoute de contenu en anglais.

Tout le contenu produit dans le cadre de Google Developers Live (GDL) est proposé avec des sous-titres. Il s’agit d’une initiative de l’équipe Developer Relations de Google dont l’objectif est de promouvoir auprès des développeurs des technologies comme Chrome/HTML5, Android, ou le Cloud. Ces vidéos sont publiées immédiatement après leur passage en direct et les transcriptions manuelles (et donc à priori de qualité) sont habituellement disponibles dans les deux semaines suivantes.

Pour accéder aux sous-titres traduits manuellement, il vous suffit de choisir “Anglais” comme indiqué dans l’image ci-dessus. Si le bouton est rouge, le choix “Anglais” fait référence à une transcription de qualité effectuée par un humain.

Si vous êtes intéressés, il ne vous reste plus qu’à vous abonner à la chaîne Google Developers sur YouTube pour commencer à apprendre votre technologies favorite en même temps que d’améliorez votre anglais. Ces vidéos sont également accessibles depuis l’application YouTube sous Android et iOS.

Quelques vidéos recommandées

La famille Google Cloud au grand complet le 12 octobre à Paris

September 12, 2012 Comments Off

Dans le cadre d’OpenWorld Forum à Paris le 12 Octobre, une matinée complète sera dédiée au Cloud de Google. Non seulement c’est une belle occasion de se mettre à niveau sur les nouveautées de Google AppEngine (comme son arrivée dans des DataCenters européens), mais aussi de découvrir une offre de Cloud complète, désormais avec Google Compute Engine (annoncé à Google I/O en juin dernier), avec BigQuery et avec d’autres encore.

Peut-être plus important encore que les sujets traités, les intervenants seront les directeurs de l’engineering Google responsable de ces produits. Une occasion donc de leur exposer vos problématiques techniques et stratégiques en matière de PaaS, IaaS et autres BigData.

N’oubliez pas de vous inscrire (gratuit) et de venir à l’heure ce vendredi matin, la salle n’étant pas la plus grande. Vous pouvez également indiqué votre venue sur ce Google+ Event.

Project Jigsaw delay, now with a Q&A

August 28, 2012 § 2 Comments

Last Friday, Oracle posted a Q&A on Mark Reinhold’s blog as a follow-up to the announcement that Jigsaw would miss the Java 8 train.

With only 23% of people agreeing with the decision (on java.net) and with an “amount of disappointment, and even anger, as Project Jigsaw is deferred for a second time”, I was eager to read the alternate options Oracle would propose.

The part of the Q&A on Maven and OSGi makes for a good read. They’re not related to the Jigsaw change in plans per say but go check them out if you haven’t already. As for the rest, it turns out that everyone loves the new plan…

(Picture removed)

So here’s a short list of additional questions.

Is modularizing the JDK really the best way to prove Jigsaw works?
One of the top questions in the Q&A puts the modularization of the JDK itself as a pre-requisite for jigsaw’s integration in Java 8. While it’s a neat feature, a modular JDK would really mostly serve the JavaME camp, something Oracle, not the broader Java community, is generally interested in. There are many ways to validate the design and the implementation of Jigsaw with real-life Java applications and the JDK is not (by far) the best example of such an app. Modularization of the JDK, an implementation detail, can come later.

How much more time do you need?
The Q&A states that “a lot of progress” was made on Jigsaw, and I trust that to be very true, but what would have been really useful is to assess how much extra time was required to complete the work. Failing to do so simply slams the door on any alternate proposal based on a different release schedule.

Does longer JDK cycles really mean a later Jigsaw?
Speaking of the release cadence, those arguing for longer cycles are really asking for a Java 8 delay because they’re still trying to move to Java 7. So it’s probably safe to say that both those people asking for more frequent releases of Java and those calling for a delayed Java 8 all want Jigsaw earlier than the current 2015 plan. A lot of options would become possible if only Oracle was to reconsider the train model (one that has yet to be implemented anyhow).

By the way, as it stands, DateTime (JSR 310) has become a top-level feature of Java 8. As much as I appreciate its value I can’t help but think about the irony of the situation.

I don’t want to speak for the JavaEE camp but I also don’t believe modularity dropped off of their list of requirements (it was initially slated for Java EE 7). It seems that the requirements of Java EE, arguably one of JavaSE’s very top user and customer, have been ignored. Maybe it will comfort those in the community to know that being a colleague and a top customer comes with no privilege.

This is not a democracy
Of course, whether you and I like it or not, this is not a democracy and just like Twitter can upset its developer ecosystem, Oracle has the right to put its engineering cycles wherever it feels is right. I was hoping that the JDK team at Oracle would try its best to address the community concerns given the promise made less than 2 years ago but instead Java will be moving forward slowly. Very slowly.

(this is still of course my very personal opinion)

Google Developer Live – Tous les contenus, tous les jours

July 27, 2012 Comments Off

Google Developer Live (GDL) a été lancé peu de temps avant Google I/O 2012 et propose du contenu technique sous forme de vidéos: courtes démonstrations, webinars, présentations complètes ou office hours, qui sont elles interactives par nature avec l’utilisation de hangout on Air (discussion dans un Google + Hangout, (re)diffusion et avec YouTube).

Les sujets traités vont de Android à Chrome en passant par Google+, AppEngine, YouTube, Maps et autres APIs Google.

Coté Cloud, il y a par exemple cette courte présentation des différentes solutions de stockage (Cloud Storage, Datastore et Cloud SQL) et de requêtage (REST, SQL, BigQuery). Il y a aussi des formats plus longs comme ce tutorial sur l’API Search d’AppEngine, un tutorial interactif sur l’API Google MAPS, cette session sur le language Dart couplée à une série de questions sur Google Moderator ou encore ces réflexions de Robert Scoble sur le monde des startups.

Coté Android, il y a les Office Hours (horaire Européen) pour poser ses questions et les Friday App Review (ici avec Reto Meier).

Vous trouverez un agenda complet sur le site Google Developer Live ainsi que tous le contenu archivé sur YouTube. Il se passe quelque chose tous les jours!

“Bon, et le contenu en français c’est pour quand?” Stay tuned!

API Google Maps: gratuit ou pas?

July 20, 2012 Comments Off

Pour certains ce sera un rappel ou une clarification, pour d’autres peut-être une information nouvelle.

L’API Google Maps est une des toutes premières API proposée par Google et probablement aussi une des plus populaire auprès des développeurs.


Cartes stylisées ou pas, l’usage gratuit de l’API est limité à 25 000 chargements de cartes par jour. Au delà il en coutera $0.50 pour 1000 chargements supplémentaires (après avoir initiallement été de $4). Les détails sont disponibles sur cette page. Il est important de comprendre qu’un chargement de carte (map load) est en réalité une instanciation de l’API Maps et non pas l’affichage de chaque tuile (tile). De telles limites existent également pour le geocoding, l’API Image Street View, etc.

Google estime à moins de 0,5% le nombre de sites concernés par cette règle des 25 000 chargements quotidiens. Dans les faits, les sites qui dépasseront cette limite tous les jours pendant plus de 90 jours consécutifs seront contactés par Google. Pas d’arrêt de service à prévoir en cas de popularité soudaine d’un site ou d’un service. Le meilleur moyen de mesurer sa consommation est de se connecter sur la Console Google API.

Tout ceci est applicable lorsque le site ou service qui utilise l’API Google Maps est librement accessible à tous. Les détails sont disponibles ici. Dans le cas contraire (éditeur de logiciel embarquant l’API par exemple), Google propose Maps API for Business.

Si vous avez besoin d’un “rafraichissement” sur l’API Google Maps, je vous invite à regarder cette présentation récente en français. Au rang des anecdotes, vous y apprendrez par exemple que Google Maps utilise une variante de la projection Mercator ou que ses tuiles sont des images 256×256 pixels. Si vous ne l’avez pas encore fait, la migration vers l’API v3 est fortement encouragée.

Comme pour toutes ses technologies, Google vous invite à poser vos question techniques sur StackOverflow et à suivre sa page Google+.

Enfin coté actualité produit, il y a désormais la possibilité de télécharger des cartes entières pour une utilisation hors-ligne, l’arrivée dans certaines villes du projet helicopter (vues à 45 degrés) et de nouvelles offres SaaS pour l’entreprise : Google Maps Engine, ou Google Maps Coordinate.

Thoughts on the Jigsaw debacle

July 20, 2012 § 8 Comments

Disclaimer: this is a personal piece of opinion and in absolutely no way does it necessarily reflect the views of my current employer. I have spent 13 years at Sun/Oracle (5 of which in the GlassFish team which had a modularity experience of its own) and I still care very much about the future of Java. I now work at Google.

Runtime modularity in Java has been promised since JSR 277 was filed in 2005 and I wrote how excited I was about its potential back then. Seven (7!) years, a fair amount of OSGi lobbying and politics, Sun’s acquisition, and a plan B promise later, we’ve come to this day to learn that it’ll be pushed further out to 2015 which really means 2016 for a stable release and probably 2020 for a wide adoption. After being promised Java 8 with Jigsaw in late 2012 by Oracle, we’re now taking another 3-year hit because the project missed “the train”.

About resources and goals
Jigsaw has been Mark Reinhold’s baby project for all this time (Mark is the Chief Architect of Java) and I’m now hearing excuses about staffing issues. “Oracle failed to staff Java modularity effort for years”. Hey, now that’s a much better headline! The reality I believe is that Oracle still doesn’t know why it’s doing Jigsaw and thus giving it the proper priority is hard. Modularize the JRE itself to help with JavaME and JavaFX adoption? Offer a modules system for Java’s longer-term viability? A business case can certainly be put together to shrink down the JRE to get Oracle upper management on board. On the other hand, bringing the JVM, the compiler, and the language together around a modules system seems, sadly, to be falling off of Oracle’s radar.

About that train
The common wisdom is that the Eclipse way of shipping software is the best way to get a community of developers building on a platform. You’ve probably also heard of “release early release often”. Eclipse is a very special project which is really about providing a baseline for the Foundation members to build upon and I’d argue that Eclipse IDE users on the other side are not benefiting much from this release model. When it comes to Java, we’re talking about something that also has a diverse audience and I think developers remain far more important than vendors and that a cadenced release model is actually harmful. It’s easy to agree on shipping software when it’s fully baked but the two-year cycle is really the key issue here. Oracle should be able to declare Jigsaw a strategic goal and deliver it with an extra 6 to 12 months (which, by the way, would still mean 2+ years from now!).

About the community
Jigsaw has been presented for many many years by Sun and later Oracle as a key feature in numerous keynotes and conferences and promised in Java 7, Java 8 (in fact I’ve done my share of such promotion while at Oracle) and now Java 9. That has created a lot of expectations in the community. In fact, it’s not only about Java SE as a large portion of the Java ecosystem is also waiting for a standard modularity solution: JavaME, Java EE (see this sample IBM reaction when modularity had to be removed from EE 7), Groovy and other JVM languages and probably by many developers building non-trivial applications with Java. Surely there’s got to be a better way to convey bad news to the community than “sorry, we’ve missed the train!”. In retrospect, the plan A/plan B approach was a brilliant communication plan with Plan A really not being an option and the community rallying behind Plan B. It’s often about how things are conveyed, not only about what they convey.

About open source
I hear some say that this would not have happened if Java was truly open source with a community, not a company, overlooking its destiny. First, my definition of Open Source remains. IP and governance are (ideally) orthogonal to the license and no simple solution exists for all software projects. But more importantly, this is a sad case of a project’s failed risk mitigation (sadly a very common failure in our industry). To consider that a different governance model would have changed anything is wishful thinking. Innovative carefully crafted designs always come from a very small number of talented engineers and in fact, this may even be a case where going open source and transparent was not a good idea but rather a fatal distraction.

About what’s next
As I wrote above, Oracle has the resources to declare Jigsaw a strategic goal. I can agree that it may be hard to deliver by late 2013 but waiting for 2016 is effectively killing Jigsaw and encouraging everyone to look at alternatives which will jeopardize yet even more Jigsaw’s chances of ever seeing the light of day. In fact, even Oracle is considering profiles in Java 8, an ugly band-aid if you ask me. One you’ll need to painfully tear off to get proper modularity in the platform. Jigsaw really shouldn’t be seen as “a new feature”, to me it’s really the Java reboot some people have been calling for a long time. Only a compatible one.

Now of course this is all my personal take and I don’t pretend to know what’s good for Java nor represent the community at large. So getting some hard data about what the community expects from Jigsaw would be a good start before making any decision. I believe this has not been done so far. The closest I’ve seen is the recent JAXenter poll which isn’t very scientific (self-selected, somewhat biased questions).

So in the end, if the community wants Java 8 with its updated and stripped-down content (Lambda, maybe JSR 310, what else?) in 2013, Oracle and the JCP should deliver just that. Again, it’s about meeting expectations. But shipping a Java 8.5 with Jigsaw sooner than later should also be considered. And if there really needs to be a train release model, it has to be a yearly one and not every release needs to be a major one.

In a world where standing still is perceived as fossilization, bringing proper modularity to Java is what moving Java forward ™ is really about.

Where Am I?

You are currently browsing the Uncategorized category at Bistro! 2.0.

Follow

Get every new post delivered to your Inbox.