Chaîne Google Developers pour améliorer votre anglais

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


Google @ Devoxx 2012 (a preview)

Google has been present for several years at Devoxx and an official partner since last year. This time, not only are we again a premium sponsor for the conference, we are bringing some of the best content and speakers to Antwerp. Before we go any further, make sure you check out the Devoxx 2012 G+ Events (for photo sharing and overall online interaction during the conference).

Of course, you’ll hear about Android, HTML5/Chrome and Cloud/AppEngine, but let me start with the less obvious Google content at Devoxx :

  • Damon, the lead for ROSjava, will talk about “Cloud Robotics” (a good reason to stay until Friday), he has some amazing demos
  • Tom will present j2objc, the recently announced Java to iOS Objective-C translation tool and runtime (also on Friday)
  • Nicolas will be busy presenting on OAuth 2 (a very widely-used technology for Google) together with Tim Bray (the Google keynote speaker) as well as on the Google Drive SDK. Both talks are on Thursday.
  • Probably the most hard-core Java talk by Google this year will be given by Jérôme and Nicholas on “Effective Dependency Injection“, a session based on experience refactoring massive projects such as GMail (and GlassFish). Also on Thursday.
  • Ian should give a fun talk (a Wednesday BOF) on how to build a Google+ client in Clojure.

As you know Android 4.2 is around the corner, so you should expect a thing or two about this new version and likely even Nexus devices to check out at the Google booth. Scheduled Android content include (mostly duets as you can see) :

  • Starting on Monday, Nick and Rich will offer a 3-hour-long Android Hands-on lab.
  • On Tuesday, Romain and Chet will cover “Important Android Stuff” in a 3-hour University session. Expect important Android stuff.
  • Another duet, Xav and Tor the tools guys, will offer an “Android Tools in Action” and a session on “What’s new in Android Developers’ Tools“.
  • On Wednesday, Nick and Rich are back for a live Google Developer Live EMEA Office Hours session from the interview lounge.
  • Romain and Chet have two regular 1-hour conference sessions on “What’s new with Android” and a more advanced graphics session titled “For butter or worse“.
  • Xav will also cover the new Android build system in a BOF on Tuesday.
  • There are many more Android talks from the community!

On the Web / HTML 5 / Chrome front, there’s also plenty of exciting sessions :

  • Ilya is holding a 3-hour “Faster Websites: Crash Course on Frontend Performance” University talk on Tuesday and a Chrome DevTools talk on Wednesday.
  • Seth will provide an update on the Dart side (Milestone 1 and beyond) in his “Putting the App back into Web Apps” session on Wednesday
  • Mike will offer a “Building safe web applications with HTML5” session, surely followed by many (security matters and sells)
  • Paul will take a slightly different take on Chrome and HTML 5 with the newly announced Chrome Packaged Apps in a Wednesday evening BOF.
  • Sam will cover exciting and bleeding-edge “disruptive media” technologies in HTML 5 such as WebRTC/getUserMedia() as well as “Fast UIs for the mobile web”, with both sessions are scheduled on Thursday.
  • Last but not least, the AngularJS team (Igor, Vojta and Misko) are offering no less than a “Building awesome client-side web apps with AngularJS” Hands-on Lab on Tuesday, a “Re-imagining the browser with AngularJS” session on Thursday and a Testacular session on Tuesday.

I’ll have the privilege to help Ludo cover the Cloud content in the “What’s new with Google App Engine and Compute Engine” Thursday session. As the name implies, it’ll provide an update on AppEngine (lots of stuff happen in a year with the monthly releases) but also cover the newly introduced IaaS offering Compute Engine, and how the two play well together.

I also spotted a peculiar “The Future of Software Development Process Methodology Effectiveness” by Chet Haas’ homonym. Certainly a session that will get every agile practitioner happy that the conference is, after all, not agile-free!

Tim will be delivering the Google keynote on Thursday morning – “Life online”. That’s one keynote you don’t want to miss (demos included).

As part of the yearly innovation the Devoxx organizers have decided to bet on NFC Wristbands instead of the traditional conference badges. Google gladly provided a few Nexus devices. In addition to the Android applications for the conference (providing schedule and more) there’s one to interact with the Devoxx NFC Wristband. Check them out!

With all those great speakers around, you should also expect a series of interviews to be posted on the Google Developer YouTube Channel.

Finally, make sure you stop by the Google booth throughout the conference to meet the Googlers present ar Devoxx. The exhibition floor is open from Tuesday to Thursday. See you there!

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

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

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 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

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?

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

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.