<commit_before>{
    "145": {
        "id": 145,
        "title": "Practical WebGL with Three.js",
        "description": "Create interactive 3D worlds in your browser - no plugins needed, just JavaScript.\n\nWe will explore what it takes to get 3D graphics into your browser and how to load and interact with 3D models and get our hands on Three.js, a library to make this a lot easier than vanilla WebGL.\n\nYou will need to have a solid understanding of JavaScript (especially Arrays, TypedArrays, objects, requestAnimationFrame) and a browser & laptop that is able to display WebGL, which you can check at http://get.webgl.org.",
        "speakers": [
            41
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Web"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/martin-splitt-practical-webgl-with-three-dot-js"
    },
    "1441": {
        "id": 1441,
        "title": "Build a Progressive Web App with Firebase and Polymer (part 1)",
        "description": "In this codelab, you'll learn how to make a progressive web app using Firebase and Polymer Web Components. You'll connect pre-made view components to Firebase data components to build an app that features user authentication, a database backend, offline data availability and the ability to be installed to the home screen of an Android device. \n\nThat may sound like a lot to consider, but worry not: Polymer Web Components make it easy to unlock the power of the web platform. Let's get coding!",
        "speakers": [
            41
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Web",
            "Workshop"
        ]
    },
    "1442": {
        "id": 1442,
        "title": "Build a Progressive Web App with Firebase and Polymer (part 2)",
        "description": "In this codelab, you'll learn how to make a progressive web app using Firebase and Polymer Web Components. You'll connect pre-made view components to Firebase data components to build an app that features user authentication, a database backend, offline data availability and the ability to be installed to the home screen of an Android device. \n\nThat may sound like a lot to consider, but worry not: Polymer Web Components make it easy to unlock the power of the web platform. Let's get coding!",
        "speakers": [
            41
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Web",
            "Workshop"
        ]
    },
    "143": {
        "id": 143,
        "title": "Introduction to Golang",
        "description": "Go becomes more and more popular language. It's strongly focused on concurrency and breaks the traditional approach to object-oriented programming. And it's made by Google for the software written by Google. If you want to take a look at Golang as a beginner or a curious person, you're welcome!",
        "speakers": [
            40
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Cloud"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/michal-rostecki-introduction-to-golang"
    },
    "142": {
        "id": 142,
        "title": "Kubernetes: More than just a toy",
        "description": "The presentation covers automation of Kubernetes installation with Kargo. It has not so many working parts, but achieving real production HA takes work. We will cover deployment on bare metal and on clouds, such as GCE and AWS.",
        "speakers": [
            39
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Cloud"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/matthew-mosesohn-kubernetes-more-than-just-a-toy"
    },
    "141": {
        "id": 141,
        "title": "Fireside Chat. Hosted by <NAME>",
        "description": "Our friends from Professor Fortran Videocast decided to record a session at the DevFest Ukraine. Wait for a casual conversation with our speakers about IT. More details comming soon...",
        "speakers": [
            38
        ],
        "language": "English",
        "complexity": "Beginner",
        "image": "/images/backgrounds/fireside_chat.jpg",
        "tags": [
            "General",
            "Android",
            "Web",
            "Cloud"
        ]
    },
    "140": {
        "id": 140,
        "title": "TBD",
        "description": "TBD",
        "language": "English"
    },
    "139": {
        "id": 139,
        "title": "Keynote. How to take off in 2016",
        "description": "It's 2016 and turning your idea from just a concept in your head to a startup is easier than ever, but sometimes that road can get a bit turbulent. Let's talk about making your take off smooth, quick and fun!",
        "speakers": [
            42
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "General",
            "Startups",
            "Entrepreneurship"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/peter-tuszynski-keynote-how-to-take-off-in-2016"
    },
    "138": {
        "id": 138,
        "title": "Closing ceremony",
        "description": "Last words from the organizers and official conference closing.",
        "image": "/images/backgrounds/closing.jpg"
    },
    "137": {
        "id": 137,
        "title": "Afterparty & Networking",
        "description": "Afterparty is a great time to have some fun and meet new people",
        "image": "/images/backgrounds/party.jpg"
    },
    "136": {
        "id": 136,
        "title": "GDG DevFest Ukraine 2016 Opening",
        "description": "Official start of the conference. Greetings from the organizers, sponsors and partners.",
        "language": "English",
        "image": "/images/backgrounds/opening.jpg"
    },
    "135": {
        "id": 135,
        "title": "Morning coffee",
        "description": "Coffeeeeeee!",
        "image": "/images/backgrounds/morning.jpg"
    },
    "134": {
        "id": 134,
        "title": "Coffee break",
        "description": "Coffeeeeeee!",
        "image": "/images/backgrounds/coffee-break.jpg"
    },
    "133": {
        "id": 133,
        "title": "Lunch",
        "description": "Foooooooood!",
        "image": "/images/backgrounds/lunch.jpg"
    },
    "132": {
        "id": 132,
        "title": "Registration & morning Coffee",
        "description": "Get your badge, coffee, enjoy talking with tech edicts around",
        "image": "/images/backgrounds/registration.jpg"
    },
    "131": {
        "id": 131,
        "title": "Deal with it: Android DataBinding explained",
        "description": "In this talk, I will reveal you all the deepest secrets of using MVVM architecture in Android. \nWe will discuss on how to organise your application, views, models, how to retrieve data from the model requested from the view via data binding. \nLightweight Activities and Fragments, is it even possible? \n\nYes, and I will show you how to achieve this with MVVM and DataBinding!",
        "speakers": [
            27
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Android"
        ]
    },
    "1301": {
        "id": 1301,
        "title": "Designing an Android Wear Application (part 1)",
        "description": "Wearable devices are one of the most popular things nowadays. Specially, after the Apple Watch, we finally get the whole picture of the entire list of products and their features. Now, we can talk about how we can design a user experience for this type of devices.\nEvery platform has it's own design principles and approaches. But, in the core, they all need to follow same core rules. So, how we combine this core requirements with Google's Material Design and use them on an Android Wear device? Let's learn!",
        "speakers": [
            26
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Android",
            "Workshop"
        ]
    },
    "1302": {
        "id": 1302,
        "title": "Designing an Android Wear Application (part 2)",
        "description": "Wearable devices are one of the most popular things nowadays. Specially, after the Apple Watch, we finally get the whole picture of the entire list of products and their features. Now, we can talk about how we can design a user experience for this type of devices.\nEvery platform has it's own design principles and approaches. But, in the core, they all need to follow same core rules. So, how we combine this core requirements with Google's Material Design and use them on an Android Wear device? Let's learn!",
        "speakers": [
            26
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Android",
            "Workshop"
        ]
    },
    "129": {
        "id": 129,
        "title": "Accessibility on Android",
        "description": "Accessibility is a very important step to make sure that your app reaches everyone in an easy and fun way to use. \nGood accessibility support means much more than just making sure the app supports screen readers, different fonts sizes and good contrast ratios. It is a learning process, and one in which we ourselves still have much to learn and explore. ",
        "speakers": [
            26
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Android"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/resul-caner-yildirim-accessibility-on-android"
    },
    "128": {
        "id": 128,
        "title": "Android Wear 2.0: Great Changes Upcoming this Fall",
        "description": "Google announced Android Wear 2.0 become available this Fall. This major update brings some revolutionary changes in platform, that should change our approaches in developing wearable apps, including freedom of BLE tethering, system support for complications and activity recognition by GoogleFit, developed mainly for Android Wear 2.0. We will talk deeper about these new features and look at some ways to implement them in the code.",
        "speakers": [
            25
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Android"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/constantine-mars-android-wear-2-dot-0-great-changes-upcoming-this-fall"
    },
    "127": {
        "id": 127,
        "title": "ExoPlayer: Media playback without pain (almost...)",
        "description": "If you have any experience with Android Media Player, you definitely know how hard it is to prepare it and do not lose your mind. ExoPlayer - is an alternative, which can help you deal with media with much less pain. So lets discuss if it really a \"silver bullet\" or yet another State Machine hell.",
        "speakers": [
            24
        ],
        "language": "Ukrainian",
        "complexity": "Intermediate",
        "tags": [
            "Android"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/anton-minashkin-exoplayer-media-playback-without-pain-almost-dot-dot-dot"
    },
    "126": {
        "id": 126,
        "title": "Android hacking for dummies: \u2018if\u2019 operator demolytion",
        "description": "Imagine the world where you can get any application, look into its code (even if it is not open sourced) and modify any conditional operator in any way you like. Welcome, you are in the Android applications world! Let's discover how anyone can decompile your app and, for example, hack your 'if' operators. For the beginning, we will play a role of a script kiddie and try to hack some simple app. After this, we will pretend security-conscious Android developers and try to think how we can protect ourselves.",
        "speakers": [
            23
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Android"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/michael-pustovit-android-hacking-for-dummies-if-operator-demolytion"
    },
    "125": {
        "id": 125,
        "title": "Application Delivery with OpenStack and Kubernetes",
        "description": "OpenStack is the open-source cloud computing platform for building elastic and scalable clouds, originally launched by NASA and Rackspace and now developed and maintained by over 150 different contributing organizations. While OpenStack began as a platform for managing compute resources represented as virtual machines, now it provides wide abilities to run the workloads in multiple forms, including VM-based, bare-metal, containerized and hybrid models. To this end folks from the OpenStack and Kubernetes communities have been working together to build Kubernetes’ awareness of the capabilities of the underlying cloud when running on OpenStack, ultimately providing an ideal platform for modern containerized applications while they themselves remain agnostic of the underlying infrastructure. \n\nIn this session we will review what OpenStack is at a high level, what are the benefits of running Kubernetes on OpenStack today, and the integration opportunities that mean you are even more likely to want to run Kubernetes on OpenStack in the future! Attend this session to learn how and why you would use Kubernetes and OpenStack to modernize your application delivery and management. We’ll also discuss how you yourself can get involved in the work of the Kubernetes OpenStack SIG.",
        "speakers": [
            22
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Cloud"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/ihor-dvoretskyi-application-delivery-with-openstack-and-kubernetes"
    },
    "124": {
        "id": 124,
        "title": "Continuous Integration in Android",
        "description": "You are tired of building every patch for your QA ? Still deploying to google play manually ? You still think that build server is something that you don't need ? Than I will try to show you how you can make life of your team easier with CI.",
        "speakers": [
            21
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Android"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/sergiy-mokienko-continuous-integration-in-android"
    },
    "123": {
        "id": 123,
        "title": "Highlevel overview of the Angular 2",
        "description": "In the session, we'll talk about the current state of the Angular 2 and usages to build progressive web apps, mobile apps (hybrid and native). How to get the best performance from the Angular and serverside rendering.\n\nTo make it even more interesting, we'll spice the talk with live codding with Dart.",
        "speakers": [
            20
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Web"
        ],
        "presentation":"https://olostan.github.io/slides_ng2high/"
    },
    "122": {
        "id": 122,
        "title": "Firebase + Kotlin + RxJava + MVP: Practical Tips",
        "description": "New Firebase products announced at I/O make an Android developer’s life so much easier. We have been happily developing with it since January 2016. Sample projects work great, but what if your database structure is complex and you want a solid architecture with MVP, RxJava and Kotlin? Come to learn some practical tips.",
        "speakers": [
            19
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Android"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/david-vavra-firebase-plus-kotlin-plus-rxjava-plus-mvp-practical-tips"
    },
    "1211": {
        "id": 1211,
        "title": "Offline-first progressive web apps (part 1)",
        "description": "Using service workers and other modern progressive web apps capabilities we can update our web applications to be offline-fires. In this session we'll show how to easily convert your applications be usable without the internet connection.",
        "speakers": [
            18
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Web",
            "Workshop"
        ]
    },
    "1212": {
        "id": 1212,
        "title": "Offline-first progressive web apps (part 2)",
        "description": "Using service workers and other modern progressive web apps capabilities we can update our web applications to be offline-fires. In this session we'll show how to easily convert your applications be usable without the internet connection.",
        "speakers": [
            18
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Web",
            "Workshop"
        ]
    },
    "1213": {
        "id": 1213,
        "title": "Offline-first progressive web apps (part 3)",
        "description": "Using service workers and other modern progressive web apps capabilities we can update our web applications to be offline-fires. In this session we'll show how to easily convert your applications be usable without the internet connection.",
        "speakers": [
            18
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Web",
            "Workshop"
        ]
    },
    "120": {
        "id": 120,
        "title": "Progressive web apps - prepare your web for 2017",
        "description": "Remember back when AJAX completely changed what was possible in the desktop web? Progressive web apps are that same fundamental shift for the mobile web.\" said <NAME> (Google\u2019s product lead for chrome and the web platform) on stage at Google I/O 2016. - Progressive web apps use new capabilities to deliver an app-like user experience. In this talk we will take a look at push notifications, app shell, RAIL and other new technologies.",
        "speakers": [
            18
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Web"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/jakub-skvara-progressive-web-apps-prepare-your-web-for-2017"
    },
    "1191": {
        "id": 1191,
        "title": "Hands-on with UI testing for Android developers (part 1)",
        "description": "Writing Android apps is usually fun because you are actually building something. But what about writing tests? Boring stuff. Errr, UI tests? I am a developer!\n\nIn this talk we will take a look at options for UI tests on Android, why you should write them and how they help you with your app development workflow. No more untested apps!",
        "speakers": [
            17
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Android",
            "Workshop"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/jana-moudra-hands-on-with-ui-testing-for-android-developers"
    },
    "1192": {
        "id": 1192,
        "title": "Hands-on with UI testing for Android developers (part 2)",
        "description": "Writing Android apps is usually fun because you are actually building something. But what about writing tests? Boring stuff. Errr, UI tests? I am a developer!\n\nIn this talk we will take a look at options for UI tests on Android, why you should write them and how they help you with your app development workflow. No more untested apps!",
        "speakers": [
            17
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Android",
            "Workshop"
        ]
    },
    "1193": {
        "id": 1193,
        "title": "Hands-on with UI testing for Android developers (part 3)",
        "description": "Writing Android apps is usually fun because you are actually building something. But what about writing tests? Boring stuff. Errr, UI tests? I am a developer!\n\nIn this talk we will take a look at options for UI tests on Android, why you should write them and how they help you with your app development workflow. No more untested apps!",
        "speakers": [
            17
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Android",
            "Workshop"
        ]
    },
    "118": {
        "id": 118,
        "title": "Kotlin + Android",
        "description": "TBD",
        "speakers": [
            16
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Android"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/dmytro-danylyk-kotlin-plus-android"
    },
    "117": {
        "id": 117,
        "title": "Building data pipelines: from simple to more advanced - hands-on experience",
        "description": "Data is becoming one of the main decision-makers in an organisation. The more data we have the more challenges we face every day. Every decision we make will have long-term implications. In the talk we will go through different approaches to the data pipelines: from a simple in-house built, with comparison to open source solutions based on Apache stack(Apache Kafka, Apache Samza, Spark) and finally hosted auto-scaling solutions based Amazon(S3, Kinesis, Lambda, EMR) or Google(Pub/Sub, Dataflow, BigQuery). The talk covers the main aspects of data collecting processes altogether with further implications for data processing, highlighting appropriate solutions and architectures for the particular use-cases. ",
        "speakers": [
            15
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Cloud"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/sergii-khomenko-building-data-pipelines-from-simple-to-more-advanced-hands-on-experience"
    },
    "116": {
        "id": 116,
        "title": "On Polymer and smileys... or Polysmileys",
        "description": "One of my favourite things about the web are ASCII smileys. They're sweet, fun and simply make the web a better place. How could anyone not like them \u00af(\u30c4)/\u00af?\n\nThis talk is an overdose of smileys, because they're the perfect excuse to get started with Polymer. Polymer is a library built on top of the Web Components standards that helps developers create reusable components for the modern web. And since I know that everybody has been wondering how one could take over the world by creating a suite of Polymer animated emoticon components, we're going to do exactly that.",
        "speakers": [
            14
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Web"
        ],
        "presentation":"http://carmenpopoviciu.github.io/on-polymer-and-smileys/"
    },
    "115": {
        "id": 115,
        "title": "Android tool-chain and run-time improvements in N",
        "description": "Upcoming Android N release will bring some interesting changes to both Android run-time and toolchain. Let's talk about JIT, AOT, hybrid JIT/AOT, Jack, Jill and other acronyms and codenames ;-) In this presentation we'll see how many awesome tricks are needed to make our apps start fast and run smoothly on modern Android devices. Hopefully we'll also answer the most important question -- what's next for Android after Java.",
        "speakers": [
            13
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Android"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/aleksander-piotrowski-android-tool-chain-and-run-time-improvements-in-n"
    },
    "114": {
        "id": 114,
        "title": "J2ObjC. Cross platform development - Google way",
        "description": "The war between mobile platforms is over. After several years of active competition, we’ve got two operating systems with almost the same quality and feature set.\n\nFor mobile developers this means that all further projects should target at least two platforms. In this talk, Vitaliy wants to share results of internal R&D experiments at GetSocial with J2ObjC – Java to Objective-C translation tool developed by Google.\n\nJ2ObjC goal is to write an app’s non-UI code (such as application logic and data models) in Java, which is then shared with no editing by Android and iOS apps.",
        "speakers": [
            12
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Android"
        ],
        "presentation":"https://speakerdeck.com/zasadnyy/j2objc-cross-platform-development-google-way"
    },
    "113": {
        "id": 113,
        "title": "Microservices in Google App Engine",
        "description": "Microservices is coming with a certain workload and constraints. Let's try to see how Google Cloud Platform and App Engine can help the overall microservices implementation.",
        "speakers": [
            11
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Cloud"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/jean-baptiste-clion-microservices-in-google-app-engine"
    },
    "112": {
        "id": 112,
        "title": "Going offline with Service Worker",
        "description": "Last year brought a lot of new capabilities to browsers, fundamentally changing the way we will build web apps in the near future. Offline support is definitely one of the most exciting additions. In this talk, we will dive deep into Service Worker and see how we can use it in our apps.",
        "speakers": [
            10
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Web"
        ]
    },
    "111": {
        "id": 111,
        "title": "Building modular architecture apps with Dagger 2",
        "description": "TBD",
        "speakers": [
            9
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Android"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/kseniia-shumelchyk-building-modular-architecture-apps-with-dagger-2"
    },
    "110": {
        "id": 110,
        "title": "The ultimate guide to MVP pattern on Android",
        "description": "There's a lot of hype around MVP pattern in the Android world. Now it's time for concretes. During his presentation Mateusz will tell you how IG divided responsibilities between pattern's different components, how they tied Presenters' and Views' lifecycles and what they did to make it all testable. If you'd love to make your Fragments' and Activities' code simpler and increase your coverage, but you're confused how to glue it all together - don't miss Mateusz's talk.",
        "speakers": [
            8
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Android"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/mateusz-herych-the-ultimate-guide-to-mvp-pattern-on-android"
    },
    "1091": {
        "id": 1091,
        "title": "How much money Firebase can save you (part 1)",
        "description": "TBD",
        "speakers": [
            7
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Cloud",
            "Workshop"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/jozef-vodicka-how-much-money-firebase-can-save-you"
    },
    "1092": {
        "id": 1092,
        "title": "How much money Firebase can save you (part 2)",
        "description": "TBD",
        "speakers": [
            7
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Cloud",
            "Workshop"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/jozef-vodicka-how-much-money-firebase-can-save-you"
    },
    "108": {
        "id": 108,
        "title": "New Data Architecture in Angular 2",
        "description": "Angular 2 introduces a new Data Architecture based on Reactive Programming using RxJS 5. We are really excited to see the new approach using Observable sequences aka Observables. We will cover a basic introduction of Angular 2 followed by RxJS 5 and the new HTTP API covering some basic use cases.",
        "speakers": [
            6
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Web"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/gerard-sans-new-data-architecture-in-angular-2"
    },
    "106": {
        "id": 106,
        "title": "Fuelio. Success story",
        "description": "I'll tell you a little bit about Fuelio - my hobby project that became my full time job. In my presentation I'll show you that coding is only one part of the job. I'll share with you other aspects that were important while creating the app.",
        "speakers": [
            5
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Android"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/adrian-kajda-fuelio-success-story"
    },
    "105": {
        "id": 105,
        "title": "Intro to TensorFlow",
        "description": "TensorFlow\u2122 is an open source software library for numerical computation using data flow graphs. The flexible architecture allows you to deploy computation to one or more CPUs or GPUs in a desktop, server, or mobile device with a single API. TensorFlow was originally developed by researchers and engineers working on the Google Brain Team within Google's Machine Intelligence research organization for the purposes of conducting machine learning and deep neural networks research, but the system is general enough to be applicable in a wide variety of other domains as well.",
        "speakers": [
            4
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Cloud"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/rustem-arzymbetov-intro-to-tensorflow"
    },
    "104": {
        "id": 104,
        "title": "The Physical Web: Context is King!",
        "description": "It's no longer just about digitizing our environment. It\u2019s rather about pervasive and ubiquitous computing. Almost all everyday things will turn into connected devices soon. This \u201cInternet of Things\u201d will allow the Web to be physically tangible. But what is the value, and how can one prevent IoT applications which just seem to be only more expensive and complicated than conventional solutions. Sascha will discuss the purpose and guide you through this complex topic showing inspiring solutions, tips from practice, and code samples in a variety of technologies from simple Bluetooth Eddystone Beacons to more sophisticated IoT platforms like Eclipse SmartHome.",
        "speakers": [
            3
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Web"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/sascha-wolter-the-physical-web-context-is-king"
    },
    "103": {
        "id": 103,
        "title": "Knock knock! Who's there? Doze.",
        "description": "Doze mode is just around the corner. \nIntroduced in Marshmallow, as the shy guy that was allowed to step in only when your device went to sleep. ZzzZzzzz\nWith the new N release, Doze mode becomes the rockstar. He rushes into the room with a big shabang by shooting all background services and network requests that forgot to get away. \nHe should no longer be shy. He just shoots and dances on bones of your scheduled alarms, while you wonder why this particular task is no longer running.\nWith the new Doze mode, you require to adapt your app architecture to the new reality.\nOn this talk, we will learn how to survive Doze mode using Job Scheduler, Content Provider and stay in one piece.",
        "speakers": [
            2
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Android"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/yonatan-levin-knock-knock-whos-there-doze"
    },
    "1021": {
        "id": 1021,
        "title": "Hands-on gRPC experience building your own multiplayer game client (part 1)",
        "description": "Do you remember the game Simon says from the 80s? I don\u2019t know about you, but I know many that spent hours trying to press those specific sequences of red, green, blue and yellow buttons in the correct order. But why play on your own? We\u2019ve implemented a gRPC server that allows you to play Simon with other players over the internet!\n\nIn this workshop we will dive into the toolset and libraries to build your very own Simon Says client for this server. We will have a message description in Protocol Buffers format and some stub code in several languages ready for you to play with. The goal for this workshop is for you to have a working Java client that you can use to play (and beat!) other attendees of the workshop.",
        "speakers": [
            1
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Cloud",
            "Workshop"
        ]
    },
    "1022": {
        "id": 1022,
        "title": "Hands-on gRPC experience building your own multiplayer game client (part 2)",
        "description": "Do you remember the game Simon says from the 80s? I don\u2019t know about you, but I know many that spent hours trying to press those specific sequences of red, green, blue and yellow buttons in the correct order. But why play on your own? We\u2019ve implemented a gRPC server that allows you to play Simon with other players over the internet!\n\nIn this workshop we will dive into the toolset and libraries to build your very own Simon Says client for this server. We will have a message description in Protocol Buffers format and some stub code in several languages ready for you to play with. The goal for this workshop is for you to have a working client that you can use to play (and beat!) other attendees of the workshop.",
        "speakers": [
            1
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Cloud",
            "Workshop"
        ]
    },
    "101": {
        "id": 101,
        "title": "Windows and .NET on Google Cloud Platform ",
        "description": "In this session, we will take a look at Windows and .NET support on Google Cloud Platform. We will build a simple ASP.NET app, deploy to Google Compute Engine and take a look at some of the tools and APIs available to .NET developers on Google Cloud Platform. ",
        "speakers": [
            1
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Cloud"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/mete-atamel-windows-and-net-on-google-cloud-platform"
    }
}<commit_msg>Added last presentation<commit_after>{
    "145": {
        "id": 145,
        "title": "Practical WebGL with Three.js",
        "description": "Create interactive 3D worlds in your browser - no plugins needed, just JavaScript.\n\nWe will explore what it takes to get 3D graphics into your browser and how to load and interact with 3D models and get our hands on Three.js, a library to make this a lot easier than vanilla WebGL.\n\nYou will need to have a solid understanding of JavaScript (especially Arrays, TypedArrays, objects, requestAnimationFrame) and a browser & laptop that is able to display WebGL, which you can check at http://get.webgl.org.",
        "speakers": [
            41
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Web"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/martin-splitt-practical-webgl-with-three-dot-js"
    },
    "1441": {
        "id": 1441,
        "title": "Build a Progressive Web App with Firebase and Polymer (part 1)",
        "description": "In this codelab, you'll learn how to make a progressive web app using Firebase and Polymer Web Components. You'll connect pre-made view components to Firebase data components to build an app that features user authentication, a database backend, offline data availability and the ability to be installed to the home screen of an Android device. \n\nThat may sound like a lot to consider, but worry not: Polymer Web Components make it easy to unlock the power of the web platform. Let's get coding!",
        "speakers": [
            41
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Web",
            "Workshop"
        ]
    },
    "1442": {
        "id": 1442,
        "title": "Build a Progressive Web App with Firebase and Polymer (part 2)",
        "description": "In this codelab, you'll learn how to make a progressive web app using Firebase and Polymer Web Components. You'll connect pre-made view components to Firebase data components to build an app that features user authentication, a database backend, offline data availability and the ability to be installed to the home screen of an Android device. \n\nThat may sound like a lot to consider, but worry not: Polymer Web Components make it easy to unlock the power of the web platform. Let's get coding!",
        "speakers": [
            41
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Web",
            "Workshop"
        ]
    },
    "143": {
        "id": 143,
        "title": "Introduction to Golang",
        "description": "Go becomes more and more popular language. It's strongly focused on concurrency and breaks the traditional approach to object-oriented programming. And it's made by Google for the software written by Google. If you want to take a look at Golang as a beginner or a curious person, you're welcome!",
        "speakers": [
            40
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Cloud"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/michal-rostecki-introduction-to-golang"
    },
    "142": {
        "id": 142,
        "title": "Kubernetes: More than just a toy",
        "description": "The presentation covers automation of Kubernetes installation with Kargo. It has not so many working parts, but achieving real production HA takes work. We will cover deployment on bare metal and on clouds, such as GCE and AWS.",
        "speakers": [
            39
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Cloud"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/matthew-mosesohn-kubernetes-more-than-just-a-toy"
    },
    "141": {
        "id": 141,
        "title": "Fireside Chat. Hosted by <NAME>",
        "description": "Our friends from Professor <NAME>ocast decided to record a session at the DevFest Ukraine. Wait for a casual conversation with our speakers about IT. More details comming soon...",
        "speakers": [
            38
        ],
        "language": "English",
        "complexity": "Beginner",
        "image": "/images/backgrounds/fireside_chat.jpg",
        "tags": [
            "General",
            "Android",
            "Web",
            "Cloud"
        ]
    },
    "140": {
        "id": 140,
        "title": "TBD",
        "description": "TBD",
        "language": "English"
    },
    "139": {
        "id": 139,
        "title": "Keynote. How to take off in 2016",
        "description": "It's 2016 and turning your idea from just a concept in your head to a startup is easier than ever, but sometimes that road can get a bit turbulent. Let's talk about making your take off smooth, quick and fun!",
        "speakers": [
            42
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "General",
            "Startups",
            "Entrepreneurship"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/peter-tuszynski-keynote-how-to-take-off-in-2016"
    },
    "138": {
        "id": 138,
        "title": "Closing ceremony",
        "description": "Last words from the organizers and official conference closing.",
        "image": "/images/backgrounds/closing.jpg"
    },
    "137": {
        "id": 137,
        "title": "Afterparty & Networking",
        "description": "Afterparty is a great time to have some fun and meet new people",
        "image": "/images/backgrounds/party.jpg"
    },
    "136": {
        "id": 136,
        "title": "GDG DevFest Ukraine 2016 Opening",
        "description": "Official start of the conference. Greetings from the organizers, sponsors and partners.",
        "language": "English",
        "image": "/images/backgrounds/opening.jpg"
    },
    "135": {
        "id": 135,
        "title": "Morning coffee",
        "description": "Coffeeeeeee!",
        "image": "/images/backgrounds/morning.jpg"
    },
    "134": {
        "id": 134,
        "title": "Coffee break",
        "description": "Coffeeeeeee!",
        "image": "/images/backgrounds/coffee-break.jpg"
    },
    "133": {
        "id": 133,
        "title": "Lunch",
        "description": "Foooooooood!",
        "image": "/images/backgrounds/lunch.jpg"
    },
    "132": {
        "id": 132,
        "title": "Registration & morning Coffee",
        "description": "Get your badge, coffee, enjoy talking with tech edicts around",
        "image": "/images/backgrounds/registration.jpg"
    },
    "131": {
        "id": 131,
        "title": "Deal with it: Android DataBinding explained",
        "description": "In this talk, I will reveal you all the deepest secrets of using MVVM architecture in Android. \nWe will discuss on how to organise your application, views, models, how to retrieve data from the model requested from the view via data binding. \nLightweight Activities and Fragments, is it even possible? \n\nYes, and I will show you how to achieve this with MVVM and DataBinding!",
        "speakers": [
            27
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Android"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/roman-herasymenko-deal-with-it-android-databinding-explained"
    },
    "1301": {
        "id": 1301,
        "title": "Designing an Android Wear Application (part 1)",
        "description": "Wearable devices are one of the most popular things nowadays. Specially, after the Apple Watch, we finally get the whole picture of the entire list of products and their features. Now, we can talk about how we can design a user experience for this type of devices.\nEvery platform has it's own design principles and approaches. But, in the core, they all need to follow same core rules. So, how we combine this core requirements with Google's Material Design and use them on an Android Wear device? Let's learn!",
        "speakers": [
            26
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Android",
            "Workshop"
        ]
    },
    "1302": {
        "id": 1302,
        "title": "Designing an Android Wear Application (part 2)",
        "description": "Wearable devices are one of the most popular things nowadays. Specially, after the Apple Watch, we finally get the whole picture of the entire list of products and their features. Now, we can talk about how we can design a user experience for this type of devices.\nEvery platform has it's own design principles and approaches. But, in the core, they all need to follow same core rules. So, how we combine this core requirements with Google's Material Design and use them on an Android Wear device? Let's learn!",
        "speakers": [
            26
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Android",
            "Workshop"
        ]
    },
    "129": {
        "id": 129,
        "title": "Accessibility on Android",
        "description": "Accessibility is a very important step to make sure that your app reaches everyone in an easy and fun way to use. \nGood accessibility support means much more than just making sure the app supports screen readers, different fonts sizes and good contrast ratios. It is a learning process, and one in which we ourselves still have much to learn and explore. ",
        "speakers": [
            26
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Android"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/resul-caner-yildirim-accessibility-on-android"
    },
    "128": {
        "id": 128,
        "title": "Android Wear 2.0: Great Changes Upcoming this Fall",
        "description": "Google announced Android Wear 2.0 become available this Fall. This major update brings some revolutionary changes in platform, that should change our approaches in developing wearable apps, including freedom of BLE tethering, system support for complications and activity recognition by GoogleFit, developed mainly for Android Wear 2.0. We will talk deeper about these new features and look at some ways to implement them in the code.",
        "speakers": [
            25
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Android"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/constantine-mars-android-wear-2-dot-0-great-changes-upcoming-this-fall"
    },
    "127": {
        "id": 127,
        "title": "ExoPlayer: Media playback without pain (almost...)",
        "description": "If you have any experience with Android Media Player, you definitely know how hard it is to prepare it and do not lose your mind. ExoPlayer - is an alternative, which can help you deal with media with much less pain. So lets discuss if it really a \"silver bullet\" or yet another State Machine hell.",
        "speakers": [
            24
        ],
        "language": "Ukrainian",
        "complexity": "Intermediate",
        "tags": [
            "Android"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/anton-minashkin-exoplayer-media-playback-without-pain-almost-dot-dot-dot"
    },
    "126": {
        "id": 126,
        "title": "Android hacking for dummies: \u2018if\u2019 operator demolytion",
        "description": "Imagine the world where you can get any application, look into its code (even if it is not open sourced) and modify any conditional operator in any way you like. Welcome, you are in the Android applications world! Let's discover how anyone can decompile your app and, for example, hack your 'if' operators. For the beginning, we will play a role of a script kiddie and try to hack some simple app. After this, we will pretend security-conscious Android developers and try to think how we can protect ourselves.",
        "speakers": [
            23
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Android"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/michael-pustovit-android-hacking-for-dummies-if-operator-demolytion"
    },
    "125": {
        "id": 125,
        "title": "Application Delivery with OpenStack and Kubernetes",
        "description": "OpenStack is the open-source cloud computing platform for building elastic and scalable clouds, originally launched by NASA and Rackspace and now developed and maintained by over 150 different contributing organizations. While OpenStack began as a platform for managing compute resources represented as virtual machines, now it provides wide abilities to run the workloads in multiple forms, including VM-based, bare-metal, containerized and hybrid models. To this end folks from the OpenStack and Kubernetes communities have been working together to build Kubernetes’ awareness of the capabilities of the underlying cloud when running on OpenStack, ultimately providing an ideal platform for modern containerized applications while they themselves remain agnostic of the underlying infrastructure. \n\nIn this session we will review what OpenStack is at a high level, what are the benefits of running Kubernetes on OpenStack today, and the integration opportunities that mean you are even more likely to want to run Kubernetes on OpenStack in the future! Attend this session to learn how and why you would use Kubernetes and OpenStack to modernize your application delivery and management. We’ll also discuss how you yourself can get involved in the work of the Kubernetes OpenStack SIG.",
        "speakers": [
            22
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Cloud"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/ihor-dvoretskyi-application-delivery-with-openstack-and-kubernetes"
    },
    "124": {
        "id": 124,
        "title": "Continuous Integration in Android",
        "description": "You are tired of building every patch for your QA ? Still deploying to google play manually ? You still think that build server is something that you don't need ? Than I will try to show you how you can make life of your team easier with CI.",
        "speakers": [
            21
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Android"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/sergiy-mokienko-continuous-integration-in-android"
    },
    "123": {
        "id": 123,
        "title": "Highlevel overview of the Angular 2",
        "description": "In the session, we'll talk about the current state of the Angular 2 and usages to build progressive web apps, mobile apps (hybrid and native). How to get the best performance from the Angular and serverside rendering.\n\nTo make it even more interesting, we'll spice the talk with live codding with Dart.",
        "speakers": [
            20
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Web"
        ],
        "presentation":"https://olostan.github.io/slides_ng2high/"
    },
    "122": {
        "id": 122,
        "title": "Firebase + Kotlin + RxJava + MVP: Practical Tips",
        "description": "New Firebase products announced at I/O make an Android developer’s life so much easier. We have been happily developing with it since January 2016. Sample projects work great, but what if your database structure is complex and you want a solid architecture with MVP, RxJava and Kotlin? Come to learn some practical tips.",
        "speakers": [
            19
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Android"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/david-vavra-firebase-plus-kotlin-plus-rxjava-plus-mvp-practical-tips"
    },
    "1211": {
        "id": 1211,
        "title": "Offline-first progressive web apps (part 1)",
        "description": "Using service workers and other modern progressive web apps capabilities we can update our web applications to be offline-fires. In this session we'll show how to easily convert your applications be usable without the internet connection.",
        "speakers": [
            18
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Web",
            "Workshop"
        ]
    },
    "1212": {
        "id": 1212,
        "title": "Offline-first progressive web apps (part 2)",
        "description": "Using service workers and other modern progressive web apps capabilities we can update our web applications to be offline-fires. In this session we'll show how to easily convert your applications be usable without the internet connection.",
        "speakers": [
            18
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Web",
            "Workshop"
        ]
    },
    "1213": {
        "id": 1213,
        "title": "Offline-first progressive web apps (part 3)",
        "description": "Using service workers and other modern progressive web apps capabilities we can update our web applications to be offline-fires. In this session we'll show how to easily convert your applications be usable without the internet connection.",
        "speakers": [
            18
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Web",
            "Workshop"
        ]
    },
    "120": {
        "id": 120,
        "title": "Progressive web apps - prepare your web for 2017",
        "description": "Remember back when AJAX completely changed what was possible in the desktop web? Progressive web apps are that same fundamental shift for the mobile web.\" said <NAME> (Google\u2019s product lead for chrome and the web platform) on stage at Google I/O 2016. - Progressive web apps use new capabilities to deliver an app-like user experience. In this talk we will take a look at push notifications, app shell, RAIL and other new technologies.",
        "speakers": [
            18
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Web"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/jakub-skvara-progressive-web-apps-prepare-your-web-for-2017"
    },
    "1191": {
        "id": 1191,
        "title": "Hands-on with UI testing for Android developers (part 1)",
        "description": "Writing Android apps is usually fun because you are actually building something. But what about writing tests? Boring stuff. Errr, UI tests? I am a developer!\n\nIn this talk we will take a look at options for UI tests on Android, why you should write them and how they help you with your app development workflow. No more untested apps!",
        "speakers": [
            17
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Android",
            "Workshop"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/jana-moudra-hands-on-with-ui-testing-for-android-developers"
    },
    "1192": {
        "id": 1192,
        "title": "Hands-on with UI testing for Android developers (part 2)",
        "description": "Writing Android apps is usually fun because you are actually building something. But what about writing tests? Boring stuff. Errr, UI tests? I am a developer!\n\nIn this talk we will take a look at options for UI tests on Android, why you should write them and how they help you with your app development workflow. No more untested apps!",
        "speakers": [
            17
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Android",
            "Workshop"
        ]
    },
    "1193": {
        "id": 1193,
        "title": "Hands-on with UI testing for Android developers (part 3)",
        "description": "Writing Android apps is usually fun because you are actually building something. But what about writing tests? Boring stuff. Errr, UI tests? I am a developer!\n\nIn this talk we will take a look at options for UI tests on Android, why you should write them and how they help you with your app development workflow. No more untested apps!",
        "speakers": [
            17
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Android",
            "Workshop"
        ]
    },
    "118": {
        "id": 118,
        "title": "Kotlin + Android",
        "description": "TBD",
        "speakers": [
            16
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Android"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/dmytro-danylyk-kotlin-plus-android"
    },
    "117": {
        "id": 117,
        "title": "Building data pipelines: from simple to more advanced - hands-on experience",
        "description": "Data is becoming one of the main decision-makers in an organisation. The more data we have the more challenges we face every day. Every decision we make will have long-term implications. In the talk we will go through different approaches to the data pipelines: from a simple in-house built, with comparison to open source solutions based on Apache stack(Apache Kafka, Apache Samza, Spark) and finally hosted auto-scaling solutions based Amazon(S3, Kinesis, Lambda, EMR) or Google(Pub/Sub, Dataflow, BigQuery). The talk covers the main aspects of data collecting processes altogether with further implications for data processing, highlighting appropriate solutions and architectures for the particular use-cases. ",
        "speakers": [
            15
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Cloud"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/sergii-khomenko-building-data-pipelines-from-simple-to-more-advanced-hands-on-experience"
    },
    "116": {
        "id": 116,
        "title": "On Polymer and smileys... or Polysmileys",
        "description": "One of my favourite things about the web are ASCII smileys. They're sweet, fun and simply make the web a better place. How could anyone not like them \u00af(\u30c4)/\u00af?\n\nThis talk is an overdose of smileys, because they're the perfect excuse to get started with Polymer. Polymer is a library built on top of the Web Components standards that helps developers create reusable components for the modern web. And since I know that everybody has been wondering how one could take over the world by creating a suite of Polymer animated emoticon components, we're going to do exactly that.",
        "speakers": [
            14
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Web"
        ],
        "presentation":"http://carmenpopoviciu.github.io/on-polymer-and-smileys/"
    },
    "115": {
        "id": 115,
        "title": "Android tool-chain and run-time improvements in N",
        "description": "Upcoming Android N release will bring some interesting changes to both Android run-time and toolchain. Let's talk about JIT, AOT, hybrid JIT/AOT, Jack, Jill and other acronyms and codenames ;-) In this presentation we'll see how many awesome tricks are needed to make our apps start fast and run smoothly on modern Android devices. Hopefully we'll also answer the most important question -- what's next for Android after Java.",
        "speakers": [
            13
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Android"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/aleksander-piotrowski-android-tool-chain-and-run-time-improvements-in-n"
    },
    "114": {
        "id": 114,
        "title": "J2ObjC. Cross platform development - Google way",
        "description": "The war between mobile platforms is over. After several years of active competition, we’ve got two operating systems with almost the same quality and feature set.\n\nFor mobile developers this means that all further projects should target at least two platforms. In this talk, Vitaliy wants to share results of internal R&D experiments at GetSocial with J2ObjC – Java to Objective-C translation tool developed by Google.\n\nJ2ObjC goal is to write an app’s non-UI code (such as application logic and data models) in Java, which is then shared with no editing by Android and iOS apps.",
        "speakers": [
            12
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Android"
        ],
        "presentation":"https://speakerdeck.com/zasadnyy/j2objc-cross-platform-development-google-way"
    },
    "113": {
        "id": 113,
        "title": "Microservices in Google App Engine",
        "description": "Microservices is coming with a certain workload and constraints. Let's try to see how Google Cloud Platform and App Engine can help the overall microservices implementation.",
        "speakers": [
            11
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Cloud"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/jean-baptiste-clion-microservices-in-google-app-engine"
    },
    "112": {
        "id": 112,
        "title": "Going offline with Service Worker",
        "description": "Last year brought a lot of new capabilities to browsers, fundamentally changing the way we will build web apps in the near future. Offline support is definitely one of the most exciting additions. In this talk, we will dive deep into Service Worker and see how we can use it in our apps.",
        "speakers": [
            10
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Web"
        ]
    },
    "111": {
        "id": 111,
        "title": "Building modular architecture apps with Dagger 2",
        "description": "TBD",
        "speakers": [
            9
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Android"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/kseniia-shumelchyk-building-modular-architecture-apps-with-dagger-2"
    },
    "110": {
        "id": 110,
        "title": "The ultimate guide to MVP pattern on Android",
        "description": "There's a lot of hype around MVP pattern in the Android world. Now it's time for concretes. During his presentation Mateusz will tell you how IG divided responsibilities between pattern's different components, how they tied Presenters' and Views' lifecycles and what they did to make it all testable. If you'd love to make your Fragments' and Activities' code simpler and increase your coverage, but you're confused how to glue it all together - don't miss Mateusz's talk.",
        "speakers": [
            8
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Android"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/mateusz-herych-the-ultimate-guide-to-mvp-pattern-on-android"
    },
    "1091": {
        "id": 1091,
        "title": "How much money Firebase can save you (part 1)",
        "description": "TBD",
        "speakers": [
            7
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Cloud",
            "Workshop"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/jozef-vodicka-how-much-money-firebase-can-save-you"
    },
    "1092": {
        "id": 1092,
        "title": "How much money Firebase can save you (part 2)",
        "description": "TBD",
        "speakers": [
            7
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Cloud",
            "Workshop"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/jozef-vodicka-how-much-money-firebase-can-save-you"
    },
    "108": {
        "id": 108,
        "title": "New Data Architecture in Angular 2",
        "description": "Angular 2 introduces a new Data Architecture based on Reactive Programming using RxJS 5. We are really excited to see the new approach using Observable sequences aka Observables. We will cover a basic introduction of Angular 2 followed by RxJS 5 and the new HTTP API covering some basic use cases.",
        "speakers": [
            6
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Web"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/gerard-sans-new-data-architecture-in-angular-2"
    },
    "106": {
        "id": 106,
        "title": "Fuelio. Success story",
        "description": "I'll tell you a little bit about Fuelio - my hobby project that became my full time job. In my presentation I'll show you that coding is only one part of the job. I'll share with you other aspects that were important while creating the app.",
        "speakers": [
            5
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Android"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/adrian-kajda-fuelio-success-story"
    },
    "105": {
        "id": 105,
        "title": "Intro to TensorFlow",
        "description": "TensorFlow\u2122 is an open source software library for numerical computation using data flow graphs. The flexible architecture allows you to deploy computation to one or more CPUs or GPUs in a desktop, server, or mobile device with a single API. TensorFlow was originally developed by researchers and engineers working on the Google Brain Team within Google's Machine Intelligence research organization for the purposes of conducting machine learning and deep neural networks research, but the system is general enough to be applicable in a wide variety of other domains as well.",
        "speakers": [
            4
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Cloud"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/rustem-arzymbetov-intro-to-tensorflow"
    },
    "104": {
        "id": 104,
        "title": "The Physical Web: Context is King!",
        "description": "It's no longer just about digitizing our environment. It\u2019s rather about pervasive and ubiquitous computing. Almost all everyday things will turn into connected devices soon. This \u201cInternet of Things\u201d will allow the Web to be physically tangible. But what is the value, and how can one prevent IoT applications which just seem to be only more expensive and complicated than conventional solutions. Sascha will discuss the purpose and guide you through this complex topic showing inspiring solutions, tips from practice, and code samples in a variety of technologies from simple Bluetooth Eddystone Beacons to more sophisticated IoT platforms like Eclipse SmartHome.",
        "speakers": [
            3
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Web"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/sascha-wolter-the-physical-web-context-is-king"
    },
    "103": {
        "id": 103,
        "title": "Knock knock! Who's there? Doze.",
        "description": "Doze mode is just around the corner. \nIntroduced in Marshmallow, as the shy guy that was allowed to step in only when your device went to sleep. ZzzZzzzz\nWith the new N release, Doze mode becomes the rockstar. He rushes into the room with a big shabang by shooting all background services and network requests that forgot to get away. \nHe should no longer be shy. He just shoots and dances on bones of your scheduled alarms, while you wonder why this particular task is no longer running.\nWith the new Doze mode, you require to adapt your app architecture to the new reality.\nOn this talk, we will learn how to survive Doze mode using Job Scheduler, Content Provider and stay in one piece.",
        "speakers": [
            2
        ],
        "language": "English",
        "complexity": "Intermediate",
        "tags": [
            "Android"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/yonatan-levin-knock-knock-whos-there-doze"
    },
    "1021": {
        "id": 1021,
        "title": "Hands-on gRPC experience building your own multiplayer game client (part 1)",
        "description": "Do you remember the game Simon says from the 80s? I don\u2019t know about you, but I know many that spent hours trying to press those specific sequences of red, green, blue and yellow buttons in the correct order. But why play on your own? We\u2019ve implemented a gRPC server that allows you to play Simon with other players over the internet!\n\nIn this workshop we will dive into the toolset and libraries to build your very own Simon Says client for this server. We will have a message description in Protocol Buffers format and some stub code in several languages ready for you to play with. The goal for this workshop is for you to have a working Java client that you can use to play (and beat!) other attendees of the workshop.",
        "speakers": [
            1
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Cloud",
            "Workshop"
        ]
    },
    "1022": {
        "id": 1022,
        "title": "Hands-on gRPC experience building your own multiplayer game client (part 2)",
        "description": "Do you remember the game Simon says from the 80s? I don\u2019t know about you, but I know many that spent hours trying to press those specific sequences of red, green, blue and yellow buttons in the correct order. But why play on your own? We\u2019ve implemented a gRPC server that allows you to play Simon with other players over the internet!\n\nIn this workshop we will dive into the toolset and libraries to build your very own Simon Says client for this server. We will have a message description in Protocol Buffers format and some stub code in several languages ready for you to play with. The goal for this workshop is for you to have a working client that you can use to play (and beat!) other attendees of the workshop.",
        "speakers": [
            1
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Cloud",
            "Workshop"
        ]
    },
    "101": {
        "id": 101,
        "title": "Windows and .NET on Google Cloud Platform ",
        "description": "In this session, we will take a look at Windows and .NET support on Google Cloud Platform. We will build a simple ASP.NET app, deploy to Google Compute Engine and take a look at some of the tools and APIs available to .NET developers on Google Cloud Platform. ",
        "speakers": [
            1
        ],
        "language": "English",
        "complexity": "Beginner",
        "tags": [
            "Cloud"
        ],
        "presentation":"https://speakerdeck.com/gdglviv/mete-atamel-windows-and-net-on-google-cloud-platform"
    }
}
{'fraction_non_alphanumeric': 0.0993334736546692, 'fraction_numerical': 0.015295025608643794, 'mean_word_length': 2.475203589018384, 'pattern_counts': {'":': 849, '<': 8, '<?xml version=': 0, '>': 8, 'https://': 59, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 6, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3992021', 'n_tokens_mistral': 19635, 'n_tokens_neox': 18263, 'n_words': 7794}