❯ Guillaume Laforge

Automating Chrome Headless mode on App Engine with Node.JS 8

On the Google Cloud front today, the big news is the release of the new Node.JS 8 runtime for Google App Engine Standard. It’s been a while since a completely new runtime was added to the list of supported platforms (Python, Java, PHP, Go). You could already run anything in custom containers on App Engine Flex, including your own containerized Node app, but now you can have all the nice developer experience on the Standard environment, with fast deployment times, and 0 to 1 to n instance automatic scaling (you can see the difference between those two environments here).

Read more...

Vision recognition with a Groovy twist

Last week at GR8Conf Europe, I spoke about the machine learning APIs provided by  Google Cloud Platform: Vision, Natural Language, Speech recognition and synthesis, etc. Since it’s GR8Conf, that means showing samples and demos using a pretty Groovy language, and I promised to share my code afterwards. So here’s a series of blog posts covering the demos I’ve presented. We’ll start with the Vision API.

The Vision API allows you to:

  • Get labels of what appears in your pictures,
  • Detect faces, with precise location of face features,
  • Tell you if the picture is a particular landmark,
  • Check for inappropriate content,
  • Give you some image attributes information,
  • Find if the picture is already available on the net,
  • Detects brand logos,
  • Or extract text that appears in your images (OCR).

You can try out those features online directly from the Cloud Vision API product page:

Read more...

Ten years of App Engine with a Groovy twist

The venerable Google App Engine platform celebrated its 10th anniversary!

Back in 2008, it started with Python, as its first runtime, but I got way more interested in App Engine when the Java runtime would launch the following year. It’s a bit of a special story for me, as I’ve always been a fan of App Engine, since the beginning.

Over the years, I’ve built several apps running on App Engine. For instance, this blog you’re reading now is running on App Engine, as well as my personal picture / video sharing app, some Github post-commit webhook for the Apache Groovy project, or the Groovy Web Console to share / edit / run Groovy scripts in the cloud.

Read more...

I'm a Java Champion!

The Java Champions recently nominated me to become a Java Champion!

There’s also a post on the Java Champions’ blog, and InfoQ also echoed the new nominees recently.

I’m super happy and proud of this nomination, and I’m looking forward to continuing being involved in the Java ecosystem, present at Java-friendly conferences, contribute to Open Source projects using Java and Apache Groovy, and write articles here and there using my favorite languages.

Read more...

The 2018 countdown: a tip a day about Google Cloud Platform

A few weeks ago, I’ve started a new blog dedicated to Google Cloud Platform, to share tips’n tricks I come across while exploring the platform, getting to know new products, or gathered through experience with a particular service I’ve been using:

https://googlecloud.tips/

With the holidays season, I went with a “2018 countdown” approach (like an “advent calendar” without the religious connotation), where I publish a tip every day of the month of December.

Read more...

Gradle vs Maven and Gradle in Kotlin or Groovy

Once in a while, when talking about Gradle with developers, at conferences or within the Groovy community (but with the wider Java community as well), I hear questions about Gradle. In particular Gradle vs Maven, or whether developers adopt the Kotlin DSL for Gradle builds.

In the past, I blogged several times about using BigQuery and the Github dataset to analyze open source projects hosted on Github, by running some SQL queries against that dataset. You might want to have a look at this past article on some Gradle analysis with BigQuery. Considering those questions popped up recently, I decided to do a quick run through those questions with some simple queries.

Read more...

The JDK built-in web server with Apache Groovy

In my timeline, I saw a tweet from Joe Walnes about the built-in HTTP server available in the JDK since Java 6. It’s super convenient, starts super fast, easy to use, but I often forget about it. I’d probably not use it for serving planet-wide load, but it’s very useful when you need to create a quick service, a little mock for testing some web or micro-service.

Here’s a little hello world for the fun.

Read more...

More voice control for Actions on Google

Today, there were some interesting announcements for Actions on Google, for building your conversational interfaces for the Google Assistant. Among the great news, one item particularly caught my attention: the improved SSML support:

Better SSML: We recently rolled out an update to the web simulator which includes a new SSML audio design experience. We now give you more options for creating natural, quality dialog using newly supported SSML tags, including <prosody>, <emphasis>, <audio> and others. The new tag <par> is coming soon and lets you add mood and richness, so you can play background music and ambient sounds while a user is having a conversation with your app. To help you get started, we’ve added over 1,000 sounds to the sound library. Listen to a brief SSML audio experiment that shows off some of the new features here.

Read more...

Cloud Shell and its Orion-based text editor to develop in the cloud

After deploying in the cloud, there’s a new trend towards programming in the cloud. Although I’m not sure we’re quite there yet, there are a couple of handy tools I’ve been enjoying when working on the Google Cloud Platform.

I had been using the built-in Cloud Shell console, on the Google Cloud console, to have a terminal already pre-configured for my Google Cloud project. It allows you to easily have access to your whole environment, run commands, etc, just like you would from your own computer. The fact that all the command-line tools you can imagine (gradle, maven, gcloud sdk, etc) are already there is helpful, as well as the fact that you are already configured for using other cloud services.

Read more...

Apache Groovy and Google App Engine at JavaOne

I’ll be back at JavaOne in San Francisco in October to speak about Apache Groovy and Google App Engine.

Apache Groovy

I’ve been involved with the Apache Groovy project for 14 years now, it’s a long time, and it’s interesting to see how the language has evolved over time, how it was influenced by other languages, but also how it influenced those other languages itself! Let’s see which operators or syntax constructs evolved and moved from one to the other.

Read more...