Denis Neklyudov 90Seconds.tv, Singapore
Martin Splitt Archilogic, Zürich, Switzerland
Natalia Neverova Facebook AI Research, Paris, France
Dave Cheney Atlassian, Sydney, Australia
Tanay Pant Mozilla, New Delhi, India
Sergey Melehin Ramax Intl., Vladivostok, Russia
Alexander Efremenkov Yandex.Taxi, Moscow, Russia
Illya Klymov WookieeLabs, Kharkiv, Ukraine
Natalia Neverova Facebook AI Research, Paris, France
Armagan Amcalar unu GmbH, Berlin, Germany
Tanay Pant Mozilla, New Delhi, India
Sergey Melehin Ramax Intl., Vladivostok, Russia
Mikhail Viceman Trinity Digital, Moscow, Russia
Danil Baburin ARQA Technologies, Novosibirsk, Russia
Sergey Melehin Ramax Intl., Vladivostok, Russia
Konstantin Tckhovrebov RedMadRobot, Saint Petersburg, Russia
Andrey Solodovnikov N1.RU, Krasnodar, Russia
Alexey Genus Sape, Moscow, Russia
Sina Yazdanmehr Infigo IS, Zagreb, Croatia
Wilson Mendes Australia
Vladimir Makeev Surf, Voronezh, Russia
Anastasya Lubennikova Postgres Professional, Moscow, Russia
Elena Grahovac Openprovider, Novosibirsk, Russia
Igor Dolzhikov Openprovider, Novosibirsk, Russia
David Vávra Step Up Labs, Prague, Czech Republic
Sergey Pugachev Google, Moscow, Russia
Vigneshwer Dhinakaran Mozilla, Bengaluru, India
Dmitry Ivanov Postgres Professional, Moscow, Russia
Elena Grahovac Openprovider, Novosibirsk, Russia
Igor Dolzhikov Openprovider, Novosibirsk, Russia
Marcelo Quinta Universidade Federal de Goiás, Goiânia, Brazil
Vigneshwer Dhinakaran Mozilla, Bengaluru, India
Mikhail Kulagin Postgres Professional, Moscow, Russia
Elena Grahovac Openprovider, Novosibirsk, Russia
Igor Dolzhikov Openprovider, Novosibirsk, Russia
Viktor Sukochev Exyte, Novosibirsk, Russia
Evgeny Gusev Wrike, Saint Petersburg, Russia
Vigneshwer Dhinakaran Mozilla, Bengaluru, India
Sergey Ivanov Tochka bank, Yekaterinburg, Russia
Elena Grahovac Openprovider, Novosibirsk, Russia
Igor Dolzhikov Openprovider, Novosibirsk, Russia
Anton Dudakov Yandex, Moscow, Russia
Ronald Harmsen NForza, Amsterdam, Netherlands
Dave Cheney Atlassian, Sydney, Australia
Yuriy Korzhenevskiy RND.center, Moscow, Russia
Svetlana Bozhko HighDimension.io, London, UK
Wilson Mendes Australia
Alda Luong Optimizely, San Francisco, USA
Vladimir Kovalyov Paymentwall, Berlin, Germany
Dave Cheney Atlassian, Sydney, Australia
Yosun Chang AReality3D, San Francisco, USA
Natalie Pistunovich Berlin, Germany
Wilson Mendes Australia
Artur Vasilov Yandex, St. Petersburg, Russia
Andrew Minkin MadDevs.io, Bishkek
Yuri Strot Exyte, Novosibirsk, Russia
Beata Romanovsky YouTube Trust & Safety, Google
Jon Ander Novella Uppsala universitet, Uppsala, Sweden
Wire Snark Mera, Nizhny Novgorod, Russia
Sergey Pugachev Google, Moscow, Russia
Marcin Moskala GameKit, Poland
Nikita Baksalyar MaidSafe, Nizhny Novgorod, Russia
Andrey Akinshin JetBrains, Saint Petersburg, Russia
Evgeny Saturov Surf, Voronezh, Russia
Ivan Kartyshov Postgres Professional, Moscow, Russia
Sergey Pugachev Google, Moscow, Russia
Sergey Kuks JetBrains, Saint Petersburg, Russia
Konstantin Bulenkov JetBrains, Munich, Germany
Alexey Zolotykh Wrike, Saint Petersburg, Russia
Aleksandr Denisov Netckracker, Nizhny Novgorod, Russia
Evgeny Saturov Surf, Voronezh, Russia
Anton Doroshkevich 1C, Moscow, Russia
Alex Korovyansky Handsome, Omsk, Russia
Eugene Komarov Handsome, Omsk, Russia
Aleksey Fadeev SibEDGE, Tomsk, Russia
Alex Korovyansky Handsome, Omsk, Russia
Eugene Komarov Handsome, Omsk, Russia
Denis Neklyudov Sr. Mobile Engineer, 90Seconds.tv, Singapore
Google Developer Expert who live together with Android for more than six years. He is also well known as co-host of famous Russian speaking Android development podcast. Now he’s working in Singapore at 90Seconds.tv.
What do you need to store a lot of client data on disk and sleep peacefully? On this session will be shown insights for fast key/value storage on aspects of serialization and disk I/O. Also will be shown the bunch of pitfalls inside native SharedPreferences implementation and existent key/value solutions.
By adding the fingerprint reader, a new way to authenticate users has been introduced to smart phones. This new authentication feature is attractive to both developers and users.
Although this biometric authentication manner has simplified the authentication process, incorrect implementations can introduce critical security problems.
Early adopters of fingerprint authentication are in many cases mobile banking applications, where this authentication vector can be used instead of a PIN for the login process. However, other, more sensitive actions such as money transactions pose a greater challenge when migrating to fingerprint authentication.
Additionally, in order to increase security, virtually all mobile banking application nowadays depend on OTP algorithms to generate time-based secrets, which ultimately depend on a secret key (the seed). This secret key is the ultimate secret for access to mobile banking.
Since this secret key needs to be available for the login and transaction authentication process, most current mobile banking applications solve this by encrypting the secret key with the user’s PIN code, and then storing the PIN code on the device encrypted in such a way that it will be accessible with fingerprint authentication.
The problem with this approach is that the keystore is accessible for root user without authentication.
Developers utilize this solution because it does not require a lot of changes in the server side code or in the backend database. Other solutions require substantial changes.
This presentation is going to introduce a novel approach which is secure and does not need any change in the backend database. Programmers will be able to use this way with a small change in the backend web-service and mobile application.
Additionally, it is going to be shown how this manner can be employed for two-factor, and multi level authentication even when the device supports hardware-backed keystore in order to make the application more secure.
Sina Yazdanmehr Information Security Consultant, Infigo IS, Zagreb, Croatia
Sina Yazdanmehr is a penetration tester and information security consultant. His expertise is web and mobile applications security. He currently works for Infigo IS, and has worked for other security firms and CERT since 2009.
The talk will be about the dependency injection library Toothpick created by Groupon developers. It's advantages on real cases in comparison to Dagger 2. For folks who want something new and for those who are tired of the Dagger's complexity.
Konstantin Tckhovrebov Team Lead Senior Android Developer, RedMadRobot, Saint Petersburg, Russia
I am in Android dev 5+ years. My last projects were huge, complex client side applications. I like solving architecture related tasks but also love grinding layouts and animations trying to archieve perfection. In addition I am contributor for several android opensource projects. Linux fan.
Android Support library isa very powerful set of APIs from Google that help us to deliver android apps. But are they really good at all? Is there some update? Lets discuss it!
Marcelo Quinta Professor, Universidade Federal de Goiás, Goiânia, Brazil
Master in software engineering, professor at Universidade Federal de Goias, mobile developer with 10 years experience with different platforms. Actually has many apps delivered around the world, from banks to startups, government and even planes. He is Google Developer Expert in Android, Intel Innovator, GDG Goiania organizer and Technology Mentor in Google Developers Launchpad Accelerator.
Why do we need interactions between applications? What are the ways of interaction, how do they work, and what are the limitations?
When the browser puts pixels on to screen, there’s a lot of work happening behind the scenes. While it’s well known that “GPU accelerated” is good for silky smooth animations and apps, it’s surprisingly hard to figure out what that really entails and means.
This talk is a tour of what goes into painting pixels onto the screen and what we can do to help the browser do it better. You will learn more about tiles, layers, compositing, painting and why the GPU is so great at pushing pixels around.
You will also see what’s the difference between using CSS, 2D Canvas and WebGL for image manipulation and how antialiasing, filtering and blending work.
Martin Splitt Head of Engineering, Archilogic, Zürich, Switzerland
Martin is a fullstack developer, yet he feels most at home in web technologies, working with WebVR, WebGL and Polymer.
As a GDE, Mozillian and W3C contributor, he wants to help others to leverage and push the web platform.
Reason is a new initiative to bring OCaml to Javascript devs. Why is it happening? What are an issues of existing JS/TS/Dart ecosystem and what problems we are trying to solve? This talk is my path of seeking answers for these questions.
Illya Klymov CEO, WookieeLabs, Kharkiv, Ukraine
Illya has 12 years of JS experience everywhere: from microcontrollers to cloud video rendering and more than 5 years of mentoring people on their way to JS world. Illya created and runs for 5 years own company, WookieeLabs, specializing in JS only solutions.
Nuxt.js is a framework for creating applications based on Vue.js. It brings together infrastructure around Vue.js library, making building web applications even more simple. I'll show how to you use it and what kind of profit it can bring.
Andrey Solodovnikov Lead Javascript Developer, N1.RU, Krasnodar, Russia
Frontend and Javascript developer for 5 years at NGS Technologies Company while building various web services. Creator of Vue-server.js - SSR for Vue 1 (https://github.com/ngsru/vue-server). Lead developer and code architect at N1.RU (real estate listings and more). Vue.js core team member.
In this talk I will share a success case of how we changed a coupled, hard to maintain/evolve codebase and some actions for tracking its real problems. How tracking performance, code coverage, pain points and other topics helped us in the journey to evolve the platform and the next improvement steps.
Sergey Pugachev Technical Solutions Consultant, Google, Moscow, Russia
Starting from the end of 2014 Sergey Pugachev is working at Google. He is responsible for monetization platforms support for Russian and European customers. Before Google, Sergey worked at Microsoft for more than 4 years. He is an author of several books on application development. And he was a speaker at numerous conferences, including all DevCon, TechEd Russia, Patterns & Practices Summit and others. In 2009-2012 was a Microsoft MVP (Microsoft Most Valuable Professional).
Let the Holy War beings!
Evgeny Gusev Frontend TeamLead, Wrike, Saint Petersburg, Russia
Dart + Angular 3 developer, speaker. For a long time Evgeny was engaged in .NET, Microsoft stack. He worked at Quest Software, then at Dell, where he began to engage in frontend. Currently Evgeny is working in Wrike (www.wrike.com), the heavy-duty SAAS application with a very rich client code. Wrike team writes on Dart and Angular and aims to be up to date with modern trends in the Web world.
A world-renown augmented reality hacker talks about AR capabilities of both current consumer and depth-sensing devices while featuring live demos of AR apps and platform she has made. Takehome point: If you know what you want to build, using the right frameworks and tools, one person can build 'big company apps' solo.
Yosun Chang Hacker in Residence, AReality3D, San Francisco, USA
Yosun is a creative hacker at heart - she uses emerging tech to build things previously considered impossible. She has a knack for making hacks in record time - fuels a one-person-shop boutique 3D AR VR rapid prototyping agency called Prototype48 and has won hundreds of hackathons, from TechCrunch Disrupt Grand Prize to coding competitions held by Intel, Microsoft, Google + more. Beyond iOS Android apps that use 3D graphics, computer vision and 9dof, she's CTO of multiple startups and has made killer software for every single depth camera device out there, from Intel RealSense to Tango to HoloLens.
On June 5 Apple introduced iOS 11 and the ARKit which turns millions of iPhones and iPads into the largest augmented reality platform in the world. In this session we'll discuss the key features and limitations of the ARKit framework and compare it to other AR technologies like Google Tango and Microsoft HoloLens. The talk will include SceneKit, Unity and other tools that can be used together with ARKit to bring virtual objects into the real world. We will create a simple augmented reality game as part of the session and play it inside the conference room. Then we will share our experiences of making apps using ARKit and talk about other exciting AR applications. Finally, we'll talk about the future of AR and fields that can benefit from these technologies.
Yuri Strot CTO, Exyte, Novosibirsk, Russia
Yuri is a UX expert, open source advocate, cofounder and CTO of Exyte. He is a project lead of Macaw — a popular Swift vector graphics library for iOS, included in top 100 open source Swift projects on GitHub. Yuri leads the R&D department and experiments with VR/AR and other bleeding edge technologies. He has expert knowledge in a wide range of areas: before Exyte he worked on dozens of programming tools as a Technical Leader at Xored, contributed to the Fantom programming language and was part of the Speaktoit (API.AI) startup, acquired by Google.
Workshop on building and programming a robot
Sergey Melehin Team Lead, Ramax Intl., Vladivostok, Russia
Sergey is a software development team lead specializing on data-centric systems like billing, search engines, crawlers, etc. His projects include toll road interconnect systems, emply.ru CV parsing and scoring system and vertical search engine for vacancies. GDG Vladivostok leader, active tinkerer in robotics and machine learning.
SaltStack is a configuration management system written in Python, which for a long time has outgrown its original purpose.
Now it is a system for deploying applications of any complexity, creating links between them, managing remotely code analysis and much more. I will give an insight into how the SaltStack core works, what subsystems are in it, how to extend its functionality and how to scale it. From the very basics to the production solutions, I'll show you how and in what applications SaltStack should be us
The workshop's goal to give the practical ideas & tips about microservices architecture. Last years, developing reliable and scalable systems using microservices is the big buzz in developers community all over the World. However, if your team faced with this architecture pattern for the first time, you should beware of multiple gotchas and complicated tasks, that might make you feel disappointed. We want to share our story about implementing Go and Kubernetes in production, covering the next questions:
PostgreSQL 10.0 is to be released in autumn 2017. This talk describes the development and release cycle of PostgreSQL, and new features of the upcoming release, including logical replication, declarative partitioning, ehanced statistics and many other.
Table Partitioning is a highly demanded functionality of PostgreSQL. The existing possibility to make partitioning through inheritance has several serious disadvantages, such as ineffective planning, missing runtime optimization, need to manage triggers and sections manually.
This talk describes the pg_pathman extension developed by our team. pg_pathman supports HASH and RANGE partitioning and performs query optimization during planning and execution stages, provides a fast drop-in replacement for insert triggers (Custom Nodes) instead of triggers, supports FDW, lock-free data migration and other possibilities.
In conclusion I will describe the new features, expected in next releases, and our plans for integration with PostgreSQL 10.
The highly available configurations for PostgreSQL are usually mode with the help of binary replication and some third party utilities. This talk will review the existing solutions, including a simple one based on corosync/pacemaker, which is supported by Postgres Pro. A live demo will be presented.
Another hight availability approach is proposed by the multimaster Postgres Pro extension, which provides high availability without any third-party products. A live demo and description of multimaster caveats will be presented.
Conventional wisdom suggests that the key to high performance servers are native threads, or more recently event loops.
Neither solution is without its downsides. Threads carry a high overhead in terms of scheduling cost and memory footprint. Event loops lessen those costs, but introduce their own requirements for a complex callback driven style.
Go is a general purpose programming language in use in a wide range of domains, and is especially suited to writing network software. Go was introduced in 2009 with the explicit goal of helping programmers write programs that could solve problems of Google’s scale, and that means writing high performance servers.
This talk will focus on the features of the Go language and runtime environment, that (mostly) transparently allow programmers to write simple, high performance network services without resorting to native threads or event loop-driven callbacks.
Dave Cheney Software Engineer, Atlassian, Sydney, Australia
David is a programmer, public speaker, and author from Sydney, Australia. David has been a contributor to the Go project since February 2011 and is an organiser of GopherCon Denver. David currently works at Atlassian building Kubernetes infrastructure for their internal platform as a service.
Microservices are taking the world by storm and it's more than just an architecture — in order to fully function, microservices approach needs a transformation in your development teams and total commitment to several best practices: * Change. Change is inevitable. Code, dependencies, deployment and release processes will change. * DevOps. Developers will own the release and every Middle step has to be automated and kept in code. * Eliminating hierarchy within the team and increasing autonomy. This talk will go into detail on what you need to change in order to properly adopt microservices in terms of mindset, infrastructural and organizational changes as well as the benefits that will be obtained as a result of such changes. The lessons are learnt the hard way and this talk is based on a true story — the transformation of development teams at unu GmbH.
Armagan Amcalar Head of Software Engineering, unu GmbH, Berlin, Germany
Armagan is the Head of Software Engineering at unu GmbH, and is currently working on building the infrastucture for the future of mobility. A software architect well versed in both the backend and frontend systems, he focuses on building resilient clouds. He loves open source and is the author of cote, a library for building microservices with Node.js.
In the presentation Danil will speak about benefits and implications of the modular architecture of the software platform and will share the practical aspects of development and testing.
Danil Baburin Head of QUIK development, ARQA Technologies, Novosibirsk, Russia
After graduating from Novosibirsk State University in 1998 Danil has joined Relativity Technologies where he used his skills of automatic graph visualization for re-engineering the large COBOL systems and helping the industry to overcome the year 2000 problem. Then, from 2001 he took part in developing QUIK – a leader in trading platforms in Russia with more than 100 000 screens all over the world.
Imagine an obsolete bank system written in php 5.6 using ZendFramework 1.
This will be the story about how we refactored the stuff using cutting edge php 7, split monolithic platform to a swarm of microservices, applying the best practices.
Going through the World of dragons, continuous integration systems, monitoring and logging systems we came to the place of high productivity, fault tolerance, the place where developers can sleep during the nights.
Over the last 5-7 years, deep learning has made a tremendous impact in artificial intelligence technologies, demonstrating previously unattainable performance on such tasks as speech recognition, machine translation, computer vision and game AI. Although the theoretical basis for these algorithms goes back to 1960s, their efficient realization until now has not been possible due to the lack of computational resources and sufficient amounts of data collected at web-scale. To overcome these limitations, today we see many institutions in academia and industry joining their efforts and largest tech companies actively investing in fundamental research in this field.
In this talk, I will briefly overview the scope of deep learning research at this moment and give more information on what Facebook has been doing in this field since 2013, when Facebook AI Research lab (FAIR) was created. Finally, I will focus in more detail on computer vision and perception challenges that our group at FAIR has been tackling, show some latest results and highlight priorities for upcoming years.
Natalia Neverova Postdoctoral Researcher, Facebook AI Research, Paris, France
Natalia is a research scientist on the Facebook AI Research (FAIR) team working on deep learning and computer vision. Before coming to FAIR, she obtained her PhD from INSA Lyon (France) and University of Guelph (Canada). She also spent several months as a visiting researcher at Google ATAP (USA) working on a large scale project on mobile authentication.
Machine learning is the future of the mobile world.
All technology companies and business are coming to an understanding of this point.
Recently, it was an incredibly high entry threshold in developing artificial intelligence applications. You had to have in-depth knowledge both in algorithms and programming; the existed tools were also weak, so you had to write them on your own.
Today we have a whole heap of fine instruments for manipulating with AI quickly.
At the talk, I will give you an overview of the current frameworks and will show you on the examples from real cases how to deal with TensorFlow in Android application.
Vladimir Makeev CEO and Founder, Surf, Voronezh, Russia
Vladimir is a CEO and founder of Surf, one of the first Google Certified Agencies in the world. He used to be a teacher at VSU, Java/Android developer, project and product manager. In various roles contributed to dozens of projects. Now he prepares the world to be taken over by machines and promotes Machine Learning technologies. When robots come for you — remember him.
Rust is a great programming language for building stable and scalable mathematical AI models which can crunch real-time data and provide human level insights. The talk focuses on covering the methods by which one can implement the state-of-the-art deep learning units in rust lang to create an end to end learning system for solving a real-world machine learning problems. A demo of a gender detector algorithm running on a web app will be showcased to the audience in which all the functional units are developed in Rust language. The functional units include data collection from an edge device such as a mobile camera, designing the deep learning algorithm architecture for predicting the subject in the image, as well as the other services of the web application for hosting the learning system. All the code implementation will be available in DeepRust crate units, which is a deep learning crate in Rust.
Vigneshwer Dhinakaran TechSpeaker, Mozilla, Bengaluru, India
Vigneshwer is an official Mozilla TechSpeaker & author of Rust CookBook who has an artistic perception of technology and business, having 3+ years of experience in various domains such as IOT, DevOps, Computer Vision & Deep Learning. He strongly believes and evangelizes that technology needs to have a human-centric design & workflow in order to cater solutions for a diverse and broader audience.
TBA
At I/O 17 Google presented a new collection of libraries to help developers architect their apps and solve lifecycle problems. Is that yet another way to hack Android bad design or really a good solution? Why Google believes in MVVM and not in MVP and that's the difference? And the most import thing - how to build a good app using Google architecture components and what problems we can face? During the session we will see answers to all questions and dive into the deep details about these libraries.
Artur Vasilov Android developer, Yandex, St. Petersburg, Russia
Artur is Android developer with large experience in many different apps. He is now working on Yandex application. Artur is a fan of good Android architecture and author of the largest free course for architecturing client-server apps. GDG Kazan & SPB Lead.
Not so long ago I faced problem finding a ready-to-go solution for VIPER pattern usage. More to say pattern itself is still a mystery for most of the developers. So I studied repositories of available VIPER projects and figured out pretty easy but correct template for VIPER module in SWIFT. By using it in the existing project I faced several not so obvious problems and benefits, which I like to share. My main conclusion - in a real environment - VIPER is not a good choice for projects with limited resources. But with a correct attitude, it can outperform other presentation layer patterns in long-term projects.
With Instant Apps, you can use the Android app without having to install it on your phone.
I'll tell you our success story: how we implemented this technology before it's beta stage; how this technology evolved and what value it brings for business.
As long as Instant Apps is a quite fresh feature, so that's why important to show you the possible pitfalls.
Evgeny Saturov Lead Android developer, Surf, Voronezh, Russia
Evgeny leads a team of Android developers at Surf. His team was the first in Russia to implement Instant Apps in production (even before the beta release at I/O) and won the invite-only Android Pay hackathon hosted by Google. Always taking part in early access programs, Evgeny is your go-to man for the latest Android technologies.
With Instant Apps, you can use the Android app without having to install it on your phone.
I'll tell you our success story: how we implemented this technology before it's beta stage; how this technology evolved and what value it brings for business.
As long as Instant Apps is a quite fresh feature, so that's why important to show you the possible pitfalls.
Evgeny Saturov Lead Android developer, Surf, Voronezh, Russia
Evgeny leads a team of Android developers at Surf. His team was the first in Russia to implement Instant Apps in production (even before the beta release at I/O) and won the invite-only Android Pay hackathon hosted by Google. Always taking part in early access programs, Evgeny is your go-to man for the latest Android technologies.
People who listen to the talk will come out with the knowledge and tools needed to build a complex, industry-standard Apple SDK. The talk will cover the following topics:
- How to build a modular Apple platform SDK compatible with Cocoapods and Carthage, as well a “universal” SDK that can be installed without a dependency manager.
- XCode build settings to make automation for builds and deploys more streamlined.
- Exploration of shared core libraries using Rust and C++.
- End-to-end testing strategies.
Alda Luong Senior Software Engineer, Optimizely, San Francisco, USA
Alda is a software engineer at Optimizely, an A/B testing company in SF. She served as the tech lead for the mobile team, responsible for delivering the Optimizely Mobile X SDK onto four platforms: iOS, tvOS, Android, and AndroidTV, all of which are open sourced. Before joining Optimizely, Alda was an iOS developer at Microsoft, where she built and open sourced a number of UI features on the Skype and Yammer apps. In another life, long ago, Alda was a hardware engineer at Apple and Intel.
Full modification workflow will be described, starting from getting the original ROM and slicing it into images ready for modification. Extracting processes for apk, odex (deodexing), dex, jar, decompiling will be shown. Re-packing processes will be discussed as well.
While Kotlin introduced property delegates long time ago, most developers still have no idea what to do with them. And they are a really powerful feature. This talk will show how they are really working, how to use Standard Library property delegates and finally, how to use its superpowers.
How to achieve high-availability of MySQL. Different high-availability solutions: MHA, Galera Cluster, Percona Replication Manager, Orchestrator. Vertical vs horizontal scaling. How to scale reads in MySQL, MySQL replication, replication formats. How to scale writes. Sharding solutions: Vitess, jetpants, MySQL Fabric, custom.
The file-based storage for 1C should be left in the past. We will compare SQL Express and PostgreSQL on Windows platform, outlining some useful features of MS SQL, still lacking in PostgreSQL, discuss usage of tablespaces in PostgreSQL and MS SQL. Then we'll discuss the important configuration settings and critical operations for running 1C platform, replication, cascades, a fast way for creating developer copies of the databases, and make backups and check their integrity.
Anton Doroshkevich Chief Information Officer, 1C, Moscow, Russia
The Web becomes increasingly centralized. We trust our private data to corporations despite news about data leaks. We exchange our messages and they are handled to three-letter agencies without you knowing about it. Can we do better and return the Web to its decentralized roots? A combination of proven and emerging technologies like WebRTC can help us. In this talk we'll learn about the building blocks and basic principles of decentralized networks on real-world examples, using WebRTC, Kademlia DHT, and BitTorrent (which is useful way beyond just file sharing).
Frontend is where the size of the output file matters. Less is better. I believe that Dart (https://www.dartlang.org) copes with reducing the size of the input file best. I will talk about methods for reducing bandle size and about how developers apply them in their project, even if you do not use Dart. Dart will help me with it.
As a complement to my conference talk I’ll be teaching a workshop on the Go execution tracer.
The execution tracer is a new profiling and tracing facility integrated into Go since version 1.5. Unlike “external” profiling tools like pprof, valgrind, or perf, the execution tracer is integrated directly into the Go runtime, giving it detailed knowledge of the scheduler, the network poller, and the garbage collector.
In this workshop I will explain the operation of the execution tracer, how to collect, then analyse, the results of a trace. The audience we’ll step through a set of problems, framed as the trace output of unknown programs to learn how to interpret the results from the execution tracer, improve our code to address performance or scalability bottlenecks, and verify the results.
This workshop follows on from my GolangUK presentation last year, http://go-talks.appspot.com/github.com/davecheney/presentations/seven.slide#1, and my High Performance Go workshop, https://dave.cheney.net/training#high-performance-go and specifically focuses on the execution tracer, an integrated tracing facility built into each Go program.
Dave Cheney Software Engineer, Atlassian, Sydney, Australia
David is a programmer, public speaker, and author from Sydney, Australia. David has been a contributor to the Go project since February 2011 and is an organiser of GopherCon Denver. David currently works at Atlassian building Kubernetes infrastructure for their internal platform as a service.
On this workshop participants will learn how to work with Android things and connect hardware components. They will create a device for image recognition and executing a simple action in real world. Android application will be created for control Android-things device and Firebase will be used for data synchronization. You should have notebook with latest Android Studio
Alex Korovyansky Technical Director, Handsome, Omsk, Russia
Alex is a Google Developers Expert in Android and a Technical Director of Mobile & Devices department at Handsome. Together with team Alex creates beautiful experiences for global brands, including Facebook, Indeed, Nickelodeon. In 2011, Alex started Google Developer Group in Omsk and greatly influenced the growth of the regional IT-community through its organizational and expert effort. Currently Alex is enthusiastically working on a new ambitious project in the community — creative mobile laboratory, where developers can experiments with the very latest mobile technologies and devices (ex. SLAM, AR/VR, IoT, drones).
Eugene Komarov Mobile and Devices Software Engineer, Handsome, Omsk, Russia
Eugene holds a PhD in technical sciences with a focus on automatisation of industrial robots. Eugene believes that the future of our technical world lies somewhere on the intersection of thoughtful engineering and innovative software achievements.
Workshop for web developers or programmers having basic knowledge of HTML5, CSS3 and JavaScript. The workshop assumes no previous knowledge in WebVR or A-Frame and is focussed at beginners.
Tanay Pant Mozilla Tech Speaker, Mozilla, New Delhi, India
Tanay Pant is an Indian author, hacker, developer and tech enthusiast. He is best known for his work on "Building a Virtual Assistant for Raspberry Pi" and "Learning Firefox OS Application Development". He is also an official representative of Mozilla. He has been listed in the about:credits of the Firefox web browser for his contributions to the different open source projects of the Mozilla Foundation.
I'll demonstrate the creation of a product (mobile application) - using machine learning - from scratch to the working prototype in 30 minutes. I will show that with the help of Tensorflow and the Google Cloud API you can add key-value features to your project, and that it does not take 6 years and a staff of 100 programmers - it's enough to have tensorflow, hands, and some magic! At the end of the report, we would read poems and see the pictures, and we would check them for the Turing test.
We going to discuss about real-life blockchain integration experience from our R&D clients. And we will talk about blockchain thin moments, architecture patterns and best-practices linked with top Russian financial companies.
When you have build your state of the art software with DDD and maybe even CQRS, you probably want to build a task based UI that will map great to the business domain. So, how do you achieve this? When you are building a web application you might want to take a look at what ASP.NET core & Angular have to offer you.
During this session Ronald will show you a different perspective on building a web-based frontend applying DDD techniques from back to front, allowing you to quickly change when business requirements change.
Ronald Harmsen Principal consultant software development, NForza, Amsterdam, Netherlands
Ronald has been active in professional software development since the mid-90s and has worked on lots of different projects and technologies. Currently he mainly works with the .NET stack, Azure, Angular 2 & TypeScript. Ronald’s focus is on delivering well engineered and maintainable software, preferably by applying DDD & Eventstorming techniques. When not developing Ronald is training developers throughout Europe in the technologies above.
In my talk, I'm going to tell you a story. The story is the path of a project from the beginning of development to production. Our project becomes more popular and we face with increasing load and we are going to talk about:
0. Load. How to analyze it? How can I understand where the load? How optimize code? When deploy caching and begin to scale. What gotchas hide inside it?
1. Caching. How to deploy it. Where are gotchas hide? How to know that your cache works fine.
2. Scaling and struggle for resources. How to live when all systems fight with each other? When we can scale and what options do we have?
3. Load balancing problems
4. Gotchas in distributed systems. Race conditions and concurrency problems. Data consistency/Eventual consistency
What does it mean to be a startup founder? What is the most difficult thing in a transition from a software engineer to a startup founder? Growth mindset - what is that? Are there any reasons for moving to London if you wanna build a deep tech startup? What do investors expect from a startup founder? What is the point for entering a startup accelerator? Does it help? Whom and how? Important things when you read a term sheet from an investor. Bonus: how I failed my first startup and how I got three visas for the UK during one year (business visitor visa, Tier 1 Entrepreneur and Tier 1 Exceptional Talent).
Svetlana Bozhko Co-Founder, HighDimension.io, London, UK
Svetlana has 5+ years in software engineering. She's been working as a server-side software engineer (primary using JVM languages - Java, Scala) for 5+ years in different areas such as banking, games and gambling, adtech, processing sensor data using AI and data engineering. She holds Masters's from Belarusian State University of Informatics and Radioelectronics in stream data processing and big data analysis. She also runs a weekly tech podcast DevZen for 4k+ listeners per episode. She's been accepted to the best European tech accelerator in London - Entrepreneur First, where she was CTO and co-fonder of her own AI-startup. She also got a Tier 1 Exceptional Talent visa from Tech City UK based on her tech background (there are only 200 visas of such a type available for the world annually). Now she runs her own company in the UK. She is also a Tech Nation Visa Ambassador at Tech City UK and a mentor at the second summer school on social entrepreneurship for Belarusian teenagers "SEI Youth: My First Business" supported by the European Union.
The next billion people going online live in emerging countries. This is a mobile-first reality, where a feature-phone or a smartphone is the main point of communication, local use of mobile apps and web is different and the infrastructure places strict limits on internet data volume. This subject is getting increased attention, and many projects are focusing on it, offering solutions ranging from guidelines to cater to a range of data plans and devices, to improving the infrastructure and bringing more affordable internet. Getting a better picture of this will help you make your work more inclusive towards people in emerging countries, whether it is part of your job or your side project - there is still a lot to learn and even more to make. In this talk Natalie will share her experience in the field, having researched it in Berlin, and now working on the ground in Nairobi, putting her learnings to practice. Some of the subjects we will cover include: the local tech ecosystem, common apps and devices, technical and product localisation guidelines and technical limitations. We’ll also focus a lot on mobile: apps, pages, web apps, Progressive Web Apps and other tools. After this talk you’ll know more about why and how you should build for billions, what financial inclusion has to do with it and why should the Silicon Savannah be on your mind.
Natalie Pistunovich Backend Engineer, Berlin, Germany
Natalie is a learner, a Gopher, and a public speaker. She co-founded Connta, a mobile platform in emerging countries helping store owners go online easily, based in Nairobi. Prior to that she was a Backend Developer at adjust in Berlin and a Silicon Integration Engineer at Intel. She graduated with a B.Sc. in Computer and Software Engineering from the Technion in Israel. In her free time she is co-leading the Berlin chapters of GDG Golang and Women Techmakers, volunteering with the Tunapanda coding school in Nairobi and sailing.
The talk describes the existing solutions for backup and restore for PostgreSQL, including barman, pgbackrest and pg_probackup utilities. The comparison of their functions with analysis of theis drawbacks and advantages will be presented. You will learn how to setup a block level incremental backup with compression and integrity verification.
Do you want to know how to use Javascript to read sensors and create powerful applications with Nodebots? Do you want to learn how to create performance tests and good architecture practices for complex applications? So this workshop is for you!
In this workshop I will share some points about NodeJS with the framework Johnny-Five, how to start a application, first commands and advanced concepts such as unit tests, architecture improvements and more.
More details are coming
Sergey Pugachev Technical Solutions Consultant, Google, Moscow, Russia
Starting from the end of 2014 Sergey Pugachev is working at Google. He is responsible for monetization platforms support for Russian and European customers. Before Google, Sergey worked at Microsoft for more than 4 years. He is an author of several books on application development. And he was a speaker at numerous conferences, including all DevCon, TechEd Russia, Patterns & Practices Summit and others. In 2009-2012 was a Microsoft MVP (Microsoft Most Valuable Professional).
Anyone in the world that has access to the internet has the ability to influence YouTube’s identity through uploading their content. Whether it’s a tutorial or a personal vlog, the challenge is to maintain the openness to share your world with the community while at the same time ensuring the content is not abusive. This talk will explore the core tenants that guide YouTube’s Policy team through the decision making process on which content stays on the platform and which should be removed. You will gain insight into how YouTube defines its Community Guidelines and Privacy Guidelines, how these policies are applied and insider scoop on the team that navigates these murky waters.
Beata Romanovsky Policy Strategist, YouTube Trust & Safety, Google
Несколько лет назад понятие .Net-разработчик означало работу со стеком «Windows – Microsoft SQL Server» без вариантов. Но мир меняется, и вот уже Microsoft – платиновый член The Linux Foundation, новая платформа .Net Core используется в продакшне крупными компаниями на Linux/Unix-серверах, а PostgreSQL набирает всё большую популярность как в новых, так и в существующих проектах, в том числе и под .Net. В докладе будут рассмотрены несколько популярных ORM, сравнительные характеристики их работы, а также способы, как заставить их работать быстрее. Не всегда ORM означает генерацию SQL: «Микро-ORM», как его называют разработчики, Dapper-Dot-Net, выполняет функции маппинга, показывая потрясающую производительность, при этом формирование SQL-запросов остаётся за разработчиком. Так же будет рассмотрено увеличение быстродействия за счёт комбинирования нескольких ORM-технологий. Наиболее интересная часть доклада будет о достижении высокой производительности операций вставки и обновления данных с использованием особенностей реализации операций «Multi Insert» и «Upsert» в PostgreSQL. Я продемонстрирую в режиме реального времени, как в Postgres, работающий на обычном ноутбуке, к тому же под Windows, выполняется вставка, а затем и обновление миллиона записей менее, чем за 20 секунд, и всё это через ORM.
Aleksey Fadeev Developer, SibEDGE, Tomsk, Russia
-Review of new Firebase features -Overview of Cloud Functions -Using Cloud Functions for extending the backend capabilities, examples -Interaction with third-party services -Dynamic hosting on Firebase using Cloud Functions -Example of using Google Assistent on the backend with Cloud Functions -What is better to use? Cloud Functions or AWS Lambda. Advantages and disadvantages
Aleksandr Denisov Lead Software Engineer, Netckracker, Nizhny Novgorod, Russia
Aleksandr is a business logic and database specialist. He has been a professional developer for more than 10 years. Before he used to work with C++ and C#, but recently he has shifted to Java. Aleksandr is also a founder of GDG Nizhny Novgorod. After attending Google I/O 2016 he has been carried away with learning Firebase.
Будем разговаривать про то, насколько сложными могут быть измерения производительности очень маленьких методов и зачем они нужны. Посмотрим несколько весёлых примеров микробенчмарков, для понимания которых придётся вспомнить как в современном железе устроены память и процессор. Примеры будут на C#, но код будет очень простым и понятным, а общая мораль применима к любым стекам технологий.
Andrey Akinshin Senior Software Developer, JetBrains, Saint Petersburg, Russia
Andrey is a senior developer at JetBrains, where he works on Rider (a cross-platform .NET IDE based on the IntelliJ platform and ReSharper). His favorite topics are performance and micro-optimizations, and he is the maintainer of BenchmarkDotNet (a powerful .NET library for benchmarking supported by the .NET Foundation). Andrey is a frequent speaker at various events for developers, and he is the program director of the DotNext conference. Andrey is also a PhD in computer science, a Microsoft .NET MVP, a silver medalist of ACM ICPC. In his free time, he likes to study science (his primary research interests are mathematical biology and bifurcation theory).
Computational biology is complex not only because of the increasing amounts of data. Additionally, biologists must manage analyses that encompass multiple stages and a great number of tools, all the while maintaining reproducibility of results. Amongst the variety of available tools to undertake parallel computations, Pachyderm is an open-source workflow-engine and distributed data processing tool that leverages the container ecosystem. In our study we aimed to enable a scalable and reproducible metabolomics workflow using Pachyderm. To achieve this goal, we deployed it on our Kubernetes cluster running on Openstack backed by a Minio object store and GlusterFS. After testing the solution in the Swedish National Infrastructure for Computing cloud, we showed that it scales well and that it is a great alternative for bioinformatics analyses.
Jon Ander Novella Rsearch assistant, Uppsala universitet, Uppsala, Sweden
With a background in Computer Engineering and Bioinformatics, Jon Ander works as a Research Assistant at the Pharmaceutical Bioinformatics group at Uppsala University, Sweden. His main interests lie in the field of information science, including: medical informatics, large-scale data infrastructures, cloud computing solutions, decision support systems and ubiquitous mobile computing. Recently, he has been working with Pachyderm: a workflow engine designed for reproducible large-scale data processing.
Which agile methodology to chose for the project? Whether to perform code review or not? How to make 3 major releases a year. Different JetBrains teams have different answers.
Sergey Kuks ReSharper Project Manager, JetBrains, Saint Petersburg, Russia
Sergey is a project manager and a technical lead of ReSharper project in JetBrains. He has contributed to most parts of it varying from action system to ASP.NET and XAML support. As an early adopter of Kotlin language Sergey was one of the original developers of the Exposed - Kotlin SQL framework and JetBrains customer portal.
Konstantin Bulenkov Project Manager, JetBrains, Munich, Germany
Konstantin is a project manager of JetBrains Toolbox App and a team leader of IntelliJ Platform UI at JetBrains. Together with team Konstantin is making professional software development a more productive and enjoyable experience. Konstantin is the author of Darcula theme as well as many other UI features in IntelliJ Platform.
Kotlin is now an official language for Android and it’s getting popular. Everybody probably starts by converting some Java code. The automatic converter in Android Studio is a start, but you usually need to do a little bit more. Most of this talk will be livecoding to convert Java code and show you some nice Kotlin features.
Anyone in the world that has access to the internet has the ability to influence YouTube’s identity through uploading their content. Whether it’s a tutorial or a personal vlog, the challenge is to maintain the openness to share your world with the community while at the same time ensuring the content is not abusive. This talk will explore the core tenants that guide YouTube’s Policy team through the decision making process on which content stays on the platform and which should be removed. You will gain insight into how YouTube defines its Community Guidelines and Privacy Guidelines, how these policies are applied and insider scoop on the team that navigates these murky waters.
Beata Romanovsky Policy Strategist, YouTube Trust & Safety, Google