A team of five Ipponites hungry for knowledge descended upon a bustling Capital One for DevFest DC 2016 – A two day Google Developer Group Washington DC Event consisting of over 600 attendees. There were three educational tracks to talk Cloud, Mobile, Big Data, & Design featuring speakers from domestic and abroad as well as Ippon’s own USA Hipster – Dennis Sharpe. Here’s our take of what was hot at the biggest Developer Tech conference in the Washington Metro area!
Yufeng started with the idea that, in Harry Potter, doors are paintings that can recognize people and ask for passwords. He wanted to reproduce the same principle with a Raspberry Pi and a few accessories, among which a webcam and a microphone. He showed us how he leveraged the Google Cloud APIs to perform speech and face recognition.
Yufeng first showed us how he integrated the Google Speech API in his application. This API can recognize over 80 languages and can be enhanced by providing some context. In his demo, he gave “DC DevFest” as a context to help the API detect appropriate words.
He then showed how powerful the Google Vision API is. It can detect objects, faces, text, and much more from an image.
These APIs are powered by Machine Learning algorithms that are constantly improved by Google. Free tiers (60 minutes/month for the Speech API and 1000 images per month for the Vision API) make it easy to build a Proof of Concept application.
In this talk, Josh showed how he trained a Deep Neural Network and used it to identify paintings in a museum on his smartphone. This is all made very easy thanks to the open source library TensorFlow.
Through his talk, Josh demonstrated powerful features of the library (including image categorization) and gave an overview of the high-level Python API. Thanks to the portability of the library, one can train a model on a cluster of servers in the cloud and then use the model on a smartphone, all of this without requiring extensive knowledge of neural networks.
Josh finally gave many pointers to help people get started with TensorFlow. Here are a few:
In this panel, Dave Erickson Director of Solutions Architecture, demonstrated many of the features available within Elastic’s big data search and analytic tools. In particular, he focused in on Elasticsearch and Kibana. The Elastic Stack consists of several tools that are designed to “help you take data from any source, any format, and search, analyze, and visualize it in real time.” Elastic Search is core to the Elastic Stack and is designed for high compatibility by utilizing a RESTful API.
After giving a brief history of Elastic and the various products available, Dave went on to discuss the importance of visualization. Data by itself is difficult to process by humans even with the help of search and analytic tools like Elasticsearch. Kibana allows for a more efficient way for humans to digest and process the data.
In his talk Dave provided a demo of Kibana using the DC cycle share data from the first year the program started. He zeroed in on July 4th. Kibana displayed a simple bar graph that showed a drastic decline in activity right around 9:00 pm and a sharp increase in activity shortly thereafter. Dave explained that this anomaly may very likely be something that machine learning couldn’t identify. However, having a visual representation of the data allowed us to determine that the dramatic change in bike share usage was due to fireworks celebrating Independance Day. Dave went on to discuss how Kibana can add value to your big data projects and can be particularly attractive to clients or non-technical members of a team who may need to interact with data.
The Web has utilized HTTP 1 for more than fifteen years. However, it is beginning to present more and more issues to web developers. Azat used this talk as an opportunity to discuss the change to HTTP/2 and how it will affect development when using NodeJS and ExpressJS. He first assured us that HTTP/2 is in fact here and that all the major web browsers are already supporting it!
Azat then highlighted some of the benefits of HTTP/2:
He finished up his presentation by taking the audience through a short demo on setting up and starting a node server. Azat used the spdy module to create a quick and easy Express web application.
After some additional setup, he concluded by pulling up the application on the local host in a web browser and using the browsers developers tools to demonstrate the use of HTTP/2.
Yuriko gave a brief walk through tech history. One point she made was increasingly better developer working conditions over time. I personally see this as having been working for many years, the opportunity to have flexible working arrangements has only increased. I’ve found that many companies are starting to value productivity over facetime which is a win for everybody. Some more interesting points:
This was my favorite technical talk of the day. Google is bringing back RPC from the dead! Remember fun technologies like CORBA, RMI/IIOP, and SOAP? Just to refresh your memory, here’s a “Hello World” for CORBA: Tutorial for CORBA Hello World using Java. Google has had many years of experience with distributed systems and this is their take on it.
gRPC is Google’s implementation. It’s designed to be low latency, bandwidth and CPU efficient for today’s modern applications. The protocol it uses is binary and supports many different languages. How many of you have struggled with using the wrong protocol for the right job? I’m looking at you RPC over JMS…
The gRPC tech stack includes:
Ray then did a live coding demo where he progressively built a chat server and client from scratch. It was quite impressive due to the lack of ceremony involved in wrangling with the protocol as compared to how I’d envision doing it with something like REST. gRPC is absolutely in play for my next greenfield project. Check it out at: http://www.grpc.io/. The getting started guide is one of the better ones I’ve seen out there. Give it a shot!
This was one of my favorite talks of the day. Annyce creates technical courses. First, this is a great way of making some extra money using skills you already have. Second, it’s a great way to build your brand as a developer. More detailed information about the full talk is here.
Here are some key takeaways I got from the talk:
Annyce boiled it down to Preparation, Execution, and Marketing. This is a great rule of thumb when creating tutorial content in mind. In addition, if you click on the presentation link above, you’ll notice that she has other related material to her talk: slides and a blog post. There are plenty of times where I’m not able to watch a video so having a blog post to walk through would be more suitable for me.