❯ Guillaume Laforge

New Features in the Google Cloud Natural Language Api Thanks to Your Feedback

The GA release of Cloud Natural Language API is easier to use, better at recognizing language nuances and adds additional support for Spanish and Japanese

Earlier in November, we announced general availability for the Cloud Natural Language API and highlighted the key new improvements. This launch included many additions to the API like expanded entity recognition, granular sentiment analysis with expanded language support, improved syntax analysis with additional morphologies and more.

Many of these improvements were the result of feedback from beta users, so thank you for your contributions! But concretely, what do these updates mean? Let’s take a closer look.

Read more...

A poor-man assistant with speech recognition and natural language processing

All sorts of voice-powered assistants are available today, and chat bots are the new black! In order to illustrate how such tools are made, I decided to create my own little basic conference assistant, using Google’s Cloud Speech API and Cloud Natural Language API. This is a demo I actually created for the Devoxx 2016 keynote, when Stephan Janssen invited me on stage to speak about Machine Learning. And to make this demo more fun, I implemented it with a shell script, some curl calls, plus some other handy command-line tools.

Read more...

Analyzing half a million Gradle build files

Gradle is becoming the build automation solution of choice among developers, in particular in the Java ecosystem. With the Github archive published as a Google BigQuery dataset, it’s possible to analyze those build files, and see if we can learn something interesting about them!

This week, I was at the G3 Summit conference, and presented about this topic: I covered the Apache Groovy language, as per my previous article, but I expanded my queries to also look at Grails applications, and Gradle build files. So let’s see what the dataset tells us about Gradle!

Read more...

Becoming Twitter verified

Probably for vanity sake, or perhaps even out of jealousy seeing friends becoming “twitter verified”, I was curious to see if, me too, I could get those little ticks beside my name on my Twitter profile.

Generally speaking, verified accounts are accounts of “public interest”. It can range from your usual movie stars, to politicians, from well-known artists, to company CEOs, but also persons somehow well known in the twittosphere, including tech luminaries, representative of particular tech communities, etc. So, seeing my tech friends getting the little tick, I thought I should try that out.

Read more...

Latest features of Google Cloud Platform

When you’re following a project, a company, a platform, you’re looking for the latest news, about the latest feature announcement, to take advantage of what’s coming up.

Last time, I blogged about the gcloud command line tool, which nicely shows you the latest updates since the last time you updated its components.

If you go to the Google Cloud Platform website, you’ll see dedicated release notes pages for pretty much all products. For example, here are the release notes for:

Read more...

Viewing my Groovy source files in Stackdriver's debug view

As I was working on a demo for one of my talks at Devoxx, I was encountering a bug in my Groovy code (a Gaelyk app using Glide). I had deployed a new version of my App Engine app, changing some code to persist some data in the Datastore. After those changes, I saw a trace in the logs:

Looks like there’s an error in receiveTweet.groovy on line 11. And there’s a link! Although I hadn’t linked the source code to the application, I was surprised to see this link. But I knew that Stackdriver is able to pick up sources in different ways (from uploaded local files, from a Google code source repository, from Github or BitBucket, or with a “source capture”).

Read more...

IP filtering access to your VMs on Google Cloud

How do you filter access to your VMs on Google Cloud Platform? During a discussion with a customer, I was asked this question: only certain IP addresses or a range of IP addresses should have access to a particular VM. Let’s see that in action!

Let’s assume you already have an account on Google Cloud Platform, but if you don’t, don’t miss the $300 credits for a free trial! I created a new project, then navigated to the Compute Engine section to create a new VM instance. I used all the default parameters, except that I checked the checkbox for “Allow HTTP traffic”, at the bottom of the following screenshot:

Read more...

GCloud informative update message

I was playing with the new IntelliJ IDEA plugin for Google App Engine yesterday. The plugin depends on the gcloud SDK to do its work. And I started exploring gcloud a little bit more.

I was experiencing some odd bug which prevented me to run my application locally with the App Engine’s local app server. It was a bug which was present in an old version of gcloud and its App Engine component, so I had to update the SDK and its App Engine Java component to fix it. No big deal, but what I wanted to highlight here was a little detail about that upgrade process.

Read more...

JavaOne 2016 sessions

Next week will be this time of the year where tons of Java developers are gathering & meeting in San Francisco for JavaOne. It’ll be my 10th edition or so, time flies!
This year, I’ll participate to a couple sessions:

  • Java and the Commoditization of Machine Intelligence [CON2291]
    It’s a panel discussion with representative from IBM, Microsoft and Google to talk about Machine Learning APIs. I’ll be covering the ML APIs from Google Cloud Platform: Vision, Speech, Natural Language.
  • A Groovy Journey in Open Source [CON5932]
    In this session, I’ll cover the history of the Apache Groovy project, and talk about the latest developments and new features.

Google colleagues will also be present to speak about:

Read more...

Natural language API and JavaScript promises to bind them all

A bit of web scraping with Jsoup and REST API calls with groovy-wsclient helped me build my latest demo with Glide / Gaelyk on App Engine, but now, it’s time to look a bit deeper into the analysis of the White House speeches:

I wanted to have a feel of how positive and negative sentences flow together in speeches. Looking at the rhetoric of those texts, you’d find some flows of generally neutral introduction, then posing the problem with some negativity connotation, then the climax trying to unfold the problems with positive solutions. Some other topics might be totally different, though, but I was curious to see how this played out on the corpus of texts from the speeches and remarks published by the White House press office.

Read more...