Come in, get your swag and mingle with others.
Learn what we have prepared for you, where the rooms are and what else is important to know.
Gianluca Segato Uniwhere
Anna Doubkova Red Badger
Thomas Fricke Endocode
Mat Ryer GrayMeta, Inc.
Florina Muntenescu upday
Michal Harakal
David Cifuentes Zalando SE
Hasan Hosgel ImmobilienScout24
Marcos Placona Twilio
Mat Ryer GrayMeta, Inc.
Thomas Fricke Endocode
Filipe Mendes
Mario Bodemann Contentful
Björn Rabenstein SoundCloud
Florian Mierzejewski Novoda
Stefan Judis Contentful
Piyush Verma oogway.in
Make new friends while sharing a meal
Niko Schröer Google
Miloš Marinković
Robert Kubis Google UK
Tomek Polanski Futurice
Niko Schröer Google
Piyush Verma oogway.in
Raymond Chenon Zalando
Ash Davies ImmobilienScout24
The best time to talk with speakers and attendees
Let's meet again and recap a great community conference day!
Join us for a great night on a crashed space station called c-base - the oldest hacker space in the world!
Come in, get your swag and mingle with others.
Learn what we have prepared for you, where the rooms are and what else is important to know.
Make new friends while sharing a meal
The best time to talk with speakers and attendees
Let's meet again and recap a great community conference day!
Join us for a great night on a crashed space station called c-base - the oldest hacker space in the world!
Why is this relevant for you?
Store ratings are arguably the most crucial marketing tools developers and businesses have to promote their app: They can drive millions of downloads when positive, but also can totally kill the project when negative.
The problem is that it’s very difficult to understand who you should ask for a rating, and when: the wrong user, or the wrong moment, can destroy your chances of getting a 5-stars review. In this workshop, I will show how you can implement a Machine Learning system that will automatically determine both the criteria. What are you going to learn?
I will use Firebase as a middle layer between the clients and the backend, mainly because the overhead required to set it up is almost nil and it poses no limitation for scaling. The Machine Learning algorithm will be coded in Python, and I will be as much specific as possible explaining its underlying functioning: If the system is not a black box to you, you can improve it and customize it based on your needs.
At the end of the workshop, you will be able to implement a system like this on your own app. You will understand how Firebase works, and why it’s the right tool for the job. You will also have a sense of how these problems can be tackled using Machine Learning, and what is the best strategy to do that.
Gianluca Segato Founder and Lead Android Developer, Uniwhere
Gianluca is the founder and the lead Android developer of Uniwhere, a Berlin-based startup. He graduated in Economics, he has been a theatre actor and he thinks that code is like poetry: If you have it inside, it’s the only way you know to express yourself.
Google App Engine provides developers with a NoOps solution for hosting their applications and services. With a configuration file and a few tweaks to the code, a Go package can be deployed to Google’s servers where it’s ready for near infinite scale.
This workshop will explain everything you need to know to get started, along with some pragmatic advice, and common gotchas to avoid.
The workshop covers how to store and query data using Google Cloud Datastore, memcache, options for authenticating users, scheduling background tasks, building micro-services, and more.
Mat Ryer Chief Architect, GrayMeta, Inc.
Programming since age 6 (Mat would type BASIC code out from computer magazines with his father to make little programs and games), Mat has always had a keen obsession with programming. When he was 18, he turned his hobby into a job working for an Internet service provider in a small town near Nottingham in England.
After founding a small technology company, Mat worked on many disparate projects in London and around the world and became an avid contributor to the open source community. He sold his company to Front Porch Digital in 2011 and moved to Boulder, Colorado for two years until the company was sold to Oracle. While blogging about technology, in particular a new language called Go that came out of Google, Mat was asked to author Go Programming Blueprints (http://www.amazon.com/Go-Programming-Blueprints-Development-Challenges/dp/1783988029) which has received a great reception.
Today he works for GrayMeta, employing his Go expertise in this exciting California based big meta-data company. He spoke at Gophercon in April 2014 (lightening talk) in Denver, Colorado and the UK’s Go conference in August 2015 and 2016 as well as infoShare in Poland and ProgsCon in London. He founded Testify and Silk, as well as some less successful projects.
In this workshop we will do a small intro to firebase on Android and after that we will go through the Firebase Android Codelab in a self spaced manner.
If you join this session please have Android Studio already installed.
Hasan Hosgel Android GDE & Senior Android Developer, ImmobilienScout24
Since 2010 doing all day long Android application development. Continuous improvement of the architecture, performance and also quality are his dedication.
He works since 2006 for ImmobilienScout24, Germany’s real estate marketplace leader. With a short intermezzo at Kitchen Stories, which offered a premium cooking application.
As a co-organizer of the “GDG Berlin Android” and as a speaker he attended many mobile conferences and several Google Developer Groups across Europe. As well being in program committees and organization of mobile conferences.
Google App Engine provides developers with a NoOps solution for hosting their applications and services.
With a configuration file and a few tweaks to the code, a Go package can be deployed to Google’s servers where it’s ready for near infinite scale.
This talk will explain everything you need to know to get started, along with some pragmatic advice, and common gotchas to avoid.
The talk covers how to store and query data using Google Cloud Datastore, memcache, options for authenticating users, scheduling background tasks, building micro-services, and more.
Mat Ryer Chief Architect, GrayMeta, Inc.
Programming since age 6 (Mat would type BASIC code out from computer magazines with his father to make little programs and games), Mat has always had a keen obsession with programming. When he was 18, he turned his hobby into a job working for an Internet service provider in a small town near Nottingham in England.
After founding a small technology company, Mat worked on many disparate projects in London and around the world and became an avid contributor to the open source community. He sold his company to Front Porch Digital in 2011 and moved to Boulder, Colorado for two years until the company was sold to Oracle. While blogging about technology, in particular a new language called Go that came out of Google, Mat was asked to author Go Programming Blueprints (http://www.amazon.com/Go-Programming-Blueprints-Development-Challenges/dp/1783988029) which has received a great reception.
Today he works for GrayMeta, employing his Go expertise in this exciting California based big meta-data company. He spoke at Gophercon in April 2014 (lightening talk) in Denver, Colorado and the UK’s Go conference in August 2015 and 2016 as well as infoShare in Poland and ProgsCon in London. He founded Testify and Silk, as well as some less successful projects.
Have you heard about Service Workers and thought “They are cool but I probably won’t be able to use them until 2020 anyway”?
Here’s your chance to get a hands-on experience with them in a coding dojo. This way you can make an offline-first web app and see how you can use SW in your production apps.
Coding dojo is way of learning new tech using mob-programming, TDD, and consumer first approach.
You don’t need to have any previous experience, just know a bit of javascript - the other attendees and I will help you with the rest!
Anna Doubkova Software Engineer, Red Badger
I’m a software engineer at Red Badger, a London-based consultancy. We love new tech combined with reasonable engineering principles to create cutting-edge, yet reliable applications. Having been a web “developer” since I was 13, I’ve always liked using the newest available tools on the web. Web Sockets, Web Components, Service Workers, React, GraphQL - you name it. I’m keen on overlap of technology and humanities, on the “whys” and not only “hows”. Last but not least, I enjoy meeting developers from all around the world - so come and say hi when you have a moment!
The MapReduce paper, published by Google more than 10 years ago (2004!), sparked the parallel processing revolution and gave birth to countless open source and research projects.
The MapReduce model is now officially obsolete, so the new data processing model we use is the “Dataflow model” and you can see it in action in the hosted Cloud Dataflow service, or its open source Apache Beam implementation.
They allow you to specify both batch and real-time data processing pipelines and have them deployed and maintained automatically – and yes, dataflow can deploy *lots* of machines to handle Google-scale problems.
The workshop gives a short introduction into Kubernetes. How to create basic pods, replication controllers, services etc.
It is shown how to deploy microservices in an easy and reproducible way through the cli or the web ui.
The workshop is hands-on and can cover only the basics.
Thomas Fricke CTO, Endocode
Thomas Fricke is the CTO of Endocode and a cloud architect. He likes to work with scaling applications, specially with distributed databases. He has worked as a development engineer, system, software and cloud architect for many years. Current topics are large scale system automation for cloud native applications.
Android security is nowhere near where it should be. I have been able to hack and get sensitive information from a few different apps and I’m just an amateur hacker at best.
Whether it’s because we are exposing information when making HTTP requests to our backend servers or because we’re simply storing things we shouldn't in our apps, it’s easy to forget mobile devices aren't as safe as we think they are.
In this session we will explore a number of ways an Android app can be exploited and most importantly methods that we can use to avoid these attacks.
We will finish by looking at common techniques that will help you protect sensitive information within your application by adding tampering detection and making sure every external communication request is made securely.
Marcos Placona Developer evangelist, Twilio
Marcos Placona is a developer evangelist at Twilio, a company founded to disrupt telecommunications.
He spends most of his time working with Android and .Net open source projects while equipping and inspiring developers to build killer applications. He’s also a great API enthusiast and believes they bring peace to the Software Engineering world.
Good architecture is crucial for any software and Android apps are not different.
A lot has been said about clean architectures but very few people explained how to evolve into them from a typical monolithic approach.
In this talk, I will guide you through my journey on how I evolved from no architecture at all, with business logic and HTTP requests in the activities, into the clean architecture with RxJava based on Fernando Cejas approach.
I will describe the architectural solutions from 4 different apps and the pros and cons of each solution.
Filipe Mendes Android developer,
As an Mobile Software Engineer, Filipe believes that every application should be as simple and as easy to use as possible. Filipe is a freelancer, a blogger on Sharednode.org, GDG organiser in Lisbon and a former teacher of Java and Android courses in a media school. To add more, he is also, a Benfica supporter.
What’s our main complaint when we use an application?
- Speed!
We all expect speed. We want to access everything from the point of our fingers and we want that as fast as possible. When an application is taking to long to open or process some data I bet you also feel the urge to search for another solution - or just to throw your smart phone against the nearest wall in despair. And while you think about this, you’re looking at that never ending spinner… that… it just doesn't seem to go away.
Google Play and the App Store are full of similar solutions… Why should I bother to keep using this one?
We can make all sort of optimisations on our code - and yet, sometimes, we can’t really make that process as fast as we wanted. There are always some constraints that we can’t really avoid - device limitations, network, server, etc. but we can create the illusion of speed - a visual aid that keeps the user busy while, on the background, we are processing his action.
Yes. Time is relative and we want the users to feel that every action is as responsible as possible.
Carlos Mota ,
I’m a strong believer that… HAL didn’t do anything to harm Dave, he(?) was truly preoccupied with his friend safety. Also the answer to life, the universe and everything seems to (still) be 42.
At night I’m fighting crime… oh wait; wrong bio here. Here it goes the uncensored version: for several years now, I’ve been developing mobile applications. First on the energy consumption field, then Telco and, in the middle, of it I’ve found the time to create a game with some friends - Word Dare - it was fun! I’m currently working at WIT Software on the company RCSe applications - first for iOS and now on Android.
From time to time, I like to make long monologues and wait for the entire audience to fall asleep - lets call them “talks”. I’ve been giving a few for UC, WIT, DevFest, mdevcon, etc.
Most Android UI testing talks focus on how Espresso works and how to start writing simple tests.
This is fine for a simple app but maintaining and expanding those tests gets harder as the app grows. This talk will focus on writing complex tests scenarios while making sure we keep them maintainable, expandable and readable.
I’ll use a released app we developed as an example. This will involve multi-screen scenarios, handling asynchronous operations, providing a fake environment as well as some common and less common Espresso gotchas.
Google Play helps developers build great apps and games, and grow a large user base.
Set your app up for success using iteration and experimentation, and responding to user feedback.
Adapt your app to different markets through experiments.
Learn about increasing your app rating, gaining insights from user reviews, and testing your app easily across multiple devices.
Niko Schröer Business Development Android Apps at Google Play, Google
Prior to Google, Niko gained experience in different marketing positions for sporting goods company Adidas and earned his diploma in Media Economics from the University of Applied Sciences in Cologne. When he does not “geek out” on the possibilities of mobile devices, he loves watching and doing any kind of sports.
As a Business Development Manager for Android Apps Niko Schröer works with developers in the DACH & Benelux region to successfully build and distribute Android apps on the Google Play store. In previous roles at Google, Niko worked as a specialist for ad monetisation on mobile devices and as an account manager for retail clients across Google´s advertising solutions.
The way we develop Android applications has dramatically changed in the last few years. One of the biggest aspects of this change is the adoption of the reactive approach to programming. Once a prominent part of the Android landscape, we now almost exclusively see Threads and AsyncTasks in legacy code. Reactive approaches like EventBus, Agera and in particular, RxJava, have taken their place and have reshaped the way we write code.
But they are also evolving: RxJava 2 is on our doorstep.
I will talk about my experience of migrating a highly reactive application, used by millions of users, from RxJava 1.x to 2.x.
Firstly, I will share the advantages and disadvantages of moving to this new milestone release, so you can decide if it’s worth to migrate your application.
I will then focus on possible migration approaches; which strategies worked for me and which did not.
Finally, we can discuss the frustrations that you need to prepare yourself for and how you can avoid them.
Tomek Polanski Software Developer, Futurice
“50% of what we know is wrong, or inaccurate. Sadly, we don’t know which 50%”
This is a saying in medicine that drives people to ask “why?”. Challenging everything like this is the shortest way to improve oneself.
I’ve been a mobile software developer for over nine years and I’ve enjoyed every second of it. I am passionate about learning new things every single day and I am not afraid to have an open mind for any new idea.
I always try to find better ways of improving the thing we all love: creating
Intro to open source licenses
Modern software are built from open source projects. All Android apps use open-source code. As developer, open source save time to focus on the core of your apps. As author of an open source project, licences give control over your work. We are developers not lawyers, but let’s review the major licenses.
Generate open source licenses page
Most of the open source licenses oblige to credit the author of the project. A full “licenses” page in a commercial app will prevent getting into legal troubles. In all successful commercial apps, you will find this page if you know where to look. I authored an elegant library to credit the open source projects used in a commercial Android app. The licenses page of other apps will also be reviewed. Some advanced topics of RecyclerView will be discussed in order to show this project was done. Then I will demo my project http://bit.ly/2d10Wm1 and talk about my plans on how to automate the code generation.
Some tips on open sourcing
Most of us, know how to write apps, I will also share what I learned on publishing a library ( export on Bintray jcenter, travis CI, Github's README)
Raymond Chenon Software Engineer , Zalando
Raymond has developed Android apps since 2009 with a Nexus One. When the App Store went public, one of his colleague at Siemens Mobility, bragged about making a decent living with one iPhone app. He realised the potential of mobile apps. Ray gave several talks at Droidcon and meetups. A foodie by nature, he loves to try new restaurants ( next to work or during travels ).
When he is not coding, he learns foreign languages with the ultimate goal to claim one day : “I can speak more languages than I can program”. Ray also believes that writing in the 3rd person is impersonal.
As the app marketplace constantly becomes more competitive, developer success increasingly depends on retaining users in apps they love.
Find out which tactics and tools can help you analyse improve user engagement and retention in your app.
Niko Schröer Business Development Android Apps at Google Play, Google
Prior to Google, Niko gained experience in different marketing positions for sporting goods company Adidas and earned his diploma in Media Economics from the University of Applied Sciences in Cologne. When he does not “geek out” on the possibilities of mobile devices, he loves watching and doing any kind of sports.
As a Business Development Manager for Android Apps Niko Schröer works with developers in the DACH & Benelux region to successfully build and distribute Android apps on the Google Play store. In previous roles at Google, Niko worked as a specialist for ad monetisation on mobile devices and as an account manager for retail clients across Google´s advertising solutions.
Modular Android UI Discussing how to build complex UIs on Android is a very wide topic. I will try to cover some of the things you can do to make your life easier. This talk is divided into 3 segments: Architecture (options, design patterns) Organizing Android components Making UI modular Organizing things like this helps a lot with scaling the app from a few simple fragments to tens of different, module- or feature-limited, standalone app screens. Architecture This part of the talk covers some basic design patterns you can use to build your app, introduction to my favorite - Model:View:Presenter (MVP), and differences between the Passive View and the Supervising Controller variants of MVP. I will include some tips as well on how to map UI states to data states and reuse the code across the app. Android components The Android framework (including the UI toolkit) already provides basic data structures, UI elements and life-cycle events. As you are organizing and structuring other parts of your app, you will likely want to get the UI to work for you, not the other way around. This part of the talk covers some ideas on how to organize code and make your life easier. Modular UI Finally, the last step. When you have your structure set up and your data structures ready, it’s time to glue it all together - but! You must keep in mind that your app is scaling and becoming bigger, so you want to make it modular. This part covers some of the techniques I came up with over the years, helping me to properly disable/enable UI features, hide/show elements and even re-work the whole screens or even navigation models depending on external factors.
Miloš Marinković ,
Software enthusiast. Developer. Organizer. My interests are Android, modern web, tech and Internet Of Things. I like reading about innovation, programming, and organization. Love skiing. I organize events for Google Developer Group Novi Sad and work on various open-source projects.
Modular Android UI Discussing how to build complex UIs on Android is a very wide topic. I will try to cover some of the things you can do to make your life easier. This talk is divided into 3 segments: Architecture (options, design patterns) Organizing Android components Making UI modular Organizing things like this helps a lot with scaling the app from a few simple fragments to tens of different, module- or feature-limited, standalone app screens. Architecture This part of the talk covers some basic design patterns you can use to build your app, introduction to my favorite - Model:View:Presenter (MVP), and differences between the Passive View and the Supervising Controller variants of MVP. I will include some tips as well on how to map UI states to data states and reuse the code across the app. Android components The Android framework (including the UI toolkit) already provides basic data structures, UI elements and life-cycle events. As you are organizing and structuring other parts of your app, you will likely want to get the UI to work for you, not the other way around. This part of the talk covers some ideas on how to organize code and make your life easier. Modular UI Finally, the last step. When you have your structure set up and your data structures ready, it’s time to glue it all together - but! You must keep in mind that your app is scaling and becoming bigger, so you want to make it modular. This part covers some of the techniques I came up with over the years, helping me to properly disable/enable UI features, hide/show elements and even re-work the whole screens or even navigation models depending on external factors.
Miloš Marinković ,
Software enthusiast. Developer. Organizer. My interests are Android, modern web, tech and Internet Of Things. I like reading about innovation, programming, and organization. Love skiing. I organize events for Google Developer Group Novi Sad and work on various open-source projects.
Open discussion with speakers and audience about the future of Android
Support for SVG finally arrived to Android in the form of vector drawables. You have replaced (or you are planning to replace) absolutely all your PNGs with VectorDrawables and your APK is smaller. But now your app feels slower, the render time of your views has increased and you don’t know why! In this talk you will learn what VectorDrawables are and how they work under the hood.
I will show you why this is, what effect can big resources have on your app’s performance but also, what are the possible solutions for this. Have you ever tried referencing resources in your VectorDrawable’s XML and failed? The talk will explain why and how to solve this.
Most of Android apps are talking to a some kind of REST API services. Libraries like Retrofit make it quite easy to implement decent code talking to a API. Another libraries like Butterknife, @AutoValue or POJO generators are saving us from a writing of boilerplate code.
Lets make a next step and combine these together with a contract-first approach. In this talk we will have a look what contract-first approach is, on possibilities how to define API interfaces, endpoints, data structures (contract), how to generate code and we will share experiences from a real life project.
The Google Cloud Platform team recently announced the release of a new version of Google Cloud Endpoints, a set of tools for implementing and managing APIs based on Google’s own internal experiences and best practices.
This new release not only keeps building on the most successful and useful features from the previous version but also offers more flexibility of deployment, interoperability with industry standards among other benefits.
During this talk you’ll see the main changes and hopefully it’ll get you excited to use them in your next project.
Florina Muntenescu Senior Android Developer, upday
Florina passionately works at upday as a Senior Android Developer. She has been writing code for more than 7 years, mostly for Android. Florina keeps a strong focus on clean code and UI/UX. Previous work covered payment solutions at payleven and navigation services at Garmin.
David Cifuentes Software Engineer, Zalando SE
David is a Software Engineer at Zalando and a Google Developer Expert (GDE) for Cloud Platform based in Berlin, Germany. For the past few years, he has been developing applications for the cloud in different kinds of projects ranging from advertising tech, IoT and enterprise software. In his spare time he enjoys travelling, running and road cycling.
Packages are the building blocks of large projects in Go.
Whether intended for internal use, or destined for open-source stardom, writing good packages with clean and clear APIs will greatly increase the chance that the code is used and reused.
This talk will explore best practices, goals, and helpful tips and tricks that help you to write beautiful packages.
Mat Ryer Chief Architect, GrayMeta, Inc.
Programming since age 6 (Mat would type BASIC code out from computer magazines with his father to make little programs and games), Mat has always had a keen obsession with programming. When he was 18, he turned his hobby into a job working for an Internet service provider in a small town near Nottingham in England.
After founding a small technology company, Mat worked on many disparate projects in London and around the world and became an avid contributor to the open source community. He sold his company to Front Porch Digital in 2011 and moved to Boulder, Colorado for two years until the company was sold to Oracle. While blogging about technology, in particular a new language called Go that came out of Google, Mat was asked to author Go Programming Blueprints (http://www.amazon.com/Go-Programming-Blueprints-Development-Challenges/dp/1783988029) which has received a great reception.
Today he works for GrayMeta, employing his Go expertise in this exciting California based big meta-data company. He spoke at Gophercon in April 2014 (lightening talk) in Denver, Colorado and the UK’s Go conference in August 2015 and 2016 as well as infoShare in Poland and ProgsCon in London. He founded Testify and Silk, as well as some less successful projects.
On this year's IO Google announced Daydream, a new way of integrating your apps with Virtual Reality.
To prepare the audience for those new changes, I'll explain the current situation of the VR on Android by live coding two apps: An app using Unity to produce an App on Android and Ios, but also show how to write a simple photosphere app, written in pure Java, emphasizing the differences and similarities between both SDKs.
After showing how to easily write Cardboard Apps, I'll introduce Daydream, and how this specification changes the usage of the SDK and how to use the simulated, or real controller.
Stefan Judis Developer Evangelist, Contentful
Stefan started programming 6 years ago and quickly fell in love with web performance, new technologies and automation.
He worked for several startups in Berlin and recently joined Contentful to to tell the world how an API-first CMS can make you a bit happier.
He is also a curator of the web performance online resource Perf Tooling (perf-tooling.today), organizer of the Web Performance Meetup Berlin, contributes constantly to a variety of open source projects and enjoys sharing nerdy discoveries.
Passing 10,000 messages a second between apps and data stores is tough. Add on filtering and parsing and you’re bound to run into problems.
At Pivotal Cloud Foundry, we have to handle several factors of that load each day, which means our programs need to be highly concurrent and very careful with state.
Let’s look at some patterns and best practices that can be taken advantage of in order to handle this load.
Jean de Klerk ,
Jean is a consultant and open source evangelist at Pivotal helping companies achieve success through the agile process, moving to cloud-ready apps, and enabling developers on technologies. Jean also works on CloudFoundry, Pivotal’s open source PaaS, building highly concurrent microservices in Go. Outside of work, Jean contributes to open source libraries, tinkers with Arduinos and Raspberry Pis, and enjoys the Colorado outdoors.
Open discussion with speakers and audience about the future of Cloud Computing
Google has recently open-sourced its framework for machine learning and neural networks called Tensorflow.
With this new tool, deep machine learning transitions from an area of research into mainstream software engineering. In this session, we will teach you how to choose the right neural network for your problem and how to make it behave.
Familiarity with differential equations is no longer required.
Instead, a couple of lines of Tensorflow Python, and a bag of "tricks of the trade" will do the job.
No previous Python knowledge required.
Following a very strict approach, separating persistent and stateless applications, running everything in small units orchestrated by Kubernetes we could create descriptions of environments very rapidly, deploying complex environments with a single command. Examples in Java, Python and Ruby could be shown. Security has been addressed to pass an extensive security audit.
The talk touches also operational challenges as implementing a deployment pipeline, logging under load, monitoring, distribution of passwords and configurations as limits to the containers resource management.
Thomas Fricke CTO, Endocode
Thomas Fricke is the CTO of Endocode and a cloud architect. He likes to work with scaling applications, specially with distributed databases. He has worked as a development engineer, system, software and cloud architect for many years. Current topics are large scale system automation for cloud native applications.
The container orchestration system Kubernetes and the monitoring and alerting systemPrometheus were created independently but share spiritual ancestry far beyond the simple fact that they are both implemented in Go. The twins, separated at birth, are now finally reunified in theCloud Native Computing Foundation (CNCF), which has accepted Prometheus as their second hosted project after Kubernetes. Each project alone is of great importance for “born in the cloud” applications. However, it gets really interesting when you combine the two.
The speaker had an important role in the upbringing of Prometheus at SoundCloud. With more than seven years at Google under his belt, he is also quite familiar with the technologies that served as an inspiration for both, Kubernetes and Prometheus. He will tell you how their beautiful friendship could happen despite their independent development, and he will give you the top five reasons why the two play so nicely together.
We all build software, and we see ourselves using OOP in some manner or the other. Inheritance is one of the core properties of OOP. What are the common variants of Inheritance? Single, multiple, and mixin based inheritance.
All of these suffer from conceptual and practical limitations. Ir-respective of the choice of language, our design ends up the same way. Usually a mesh of interconnected types.
As the size of the project goes and we introduce more types, the complexity and cost of testing that system keeps increasing. The Internet is full of memes on that. We go about identifying and illustrating these problems.
We then talk about traits. A trait is essentially a group of pure methods that compose classes and is a primitive unit of code reuse. In this model, classes are composed from a set of traits by specifying glue code that connects the traits together and accesses the necessary state. We demonstrate how traits overcome these problems, and help you build simpler and reusable code.
This talk is based on a research paper published in “Traits: Composable Units of Behaviour”.
The talk covers code samples of such trait based implementations in Ruby, Python and Golang.
Piyush Verma Software Architect and Consultant, oogway.in
Piyush Verma is a Platform and Infrastructure consultant. He is an ex-KDE developer and created Siminars.com. He likes Multiprocessing, Distributed systems, APIs and automating everything. When not coding he can be found cycling around the town.
Microservices have rapidly evolved over the years as a popular way of developing applications, but they bring their own set of challenges in the form of what design pattern to use, monitoring,logging, error detection, scaling and service discovery.
We will explore the common characteristics and design patterns to be considered while dealing with service oriented architectures. We talk about Signal-Slots, RPC architectures, monitoring, log and error handling, function point scaling, and common unix philosophies that help you design scalable distributes systems.
Diving into code samples, demos and production deployments; I would like to showcase Gilmour (http://github.com/gilmour-libs): a cross language library we have authored for effective micro services that exchange data over non-HTTP transports.
Piyush Verma Software Architect and Consultant, oogway.in
Piyush Verma is a Platform and Infrastructure consultant. He is an ex-KDE developer and created Siminars.com. He likes Multiprocessing, Distributed systems, APIs and automating everything. When not coding he can be found cycling around the town.
After this years Google I/O, Firebase was upgraded and become an even more important role in the range of Google services available. Now properly integrated with Google Services, Firebase offers developers much more than than just a database for “personal” projects. The new updated Firebase however has left many developers a bit puzzled on how to properly include Firebase in their projects, how it integrates into Google Services, and how they can make use of the new features available. If you’ve used Firebase already, you might be aware of how to integrate and make use of it in your applications but if not prior knowledge isn’t necessary. In this talk I’d like to share with you how migrate your existing code to the updated versions, what new features you’ll be able to take advantage of, and any pitfalls that you can hopefully avoid!
Want to take advantage of machine learning without building and training your own models? The Google Cloud Vision and Speech APIs expose the machine learning functionality behind Google Photos, Google Images, and the speech recognition in “Ok, Google.” Developers can now build these features into their apps with a simple REST API call. We’ll provide an overview of these APIs, dive into code, and risk it all with a live demo.
Robert Kubis Cloud Developer Advocate, Google UK
Robert Kubis is a Developer Advocate for the Google Cloud Platform based in London, UK, specializing in Container, Storage and Scalable technologies.
Before joining Google, Robert collected over ten years of experience in Software Development and Architecture. He has driven multiple full-stack application developments at SAP with a passion for distributed systems, containers and databases.
In his spare time he enjoys following tech trends & good restaurants, traveling and improving his photographing skills.
Please attend the fireside chats at the Atrium (Android) or Casino (Cloud).