Principal Technologist, mentor at WeWork, General Assembly, AngelHack, and CapitalFactory, on the board of engineering groups including Redis Austin, Big Data Analytics Club, and Austin All Girl Hack Night. Engineer by day & Artist by night.
Worked with gamedev, hardware, social networks analysis instruments. Is acquainted with Java, Perl and Ruby. Focuses on development of highly loaded backend on Go for more than 2 years. He does GIS & algorithmic solutions implementation.
Being CEO of ITooLabs, he decided to develop a telephone switch using early Go versions in 2012 and didn't regret. Alex found himself in coding, driving his company, architecture designing and speaking at the conferences.
Google Developer Expert on machine learning, a relentless user of Open Source. Former systems programmer, today he pretends that he knows deep learning, and evangelize ML on the source code. Suffers from a lack of generics in Go.
Leads the search team at Lazada (Alibaba Group) and still hasn't lost his mind. In Go world since 2012.
10.00 -19.00 2 halls Coming soon!
Go: looking back and looking forward.
Go best practices
101 Ways to Compile a Go Binary. Learn about the Go linker, interesting bugs and how they were fixed in the Go linker, and fun ways to link and build your applications for different use cases.
GOPATH and compiler references. The 'go' command line tools provide a convenient and friendly interface to the underlying compiler and linker. But they're not the only show in town. In this talk I'll show you how you can compile Go code without using the `go` command, by writing our own compiler that doesn't rely on GOPATH to find imported code.
Fuzzing: the new unit testing. Fuzzing is a software testing technique that involves providing invalid, unexpected, or random data as inputs to a program. This talk covers types of fuzzers, how they work and an existing implementation for Go -- go-fuzz. We will write and run a real fuzzer. Find some bugs in the standard library. Also I will talk about how fuzzers can guess correct CRC checksums in input data, help with regression testing, find logical bugs in code and how we are using fuzzing inside of Google.
Introduction to s2 geo library with usage examples at Badoo. Taxi services, social networks, games, maps - they all regularly collect and process the location of users. I'll introduce you to one of the libraries designed for easy work with coordinates. You will see it's major usage examples, learn how to apply it to high-performance services in Go and know what s2 is used for in Badoo.
How to measure the code's mood in a git repository. Let's take Sentiment Neuron (a model for determining the tonality of text) and Tensorflow's bindings for Go. Then we extract comments from the sources using Babelfish and run the repository's code through Hercules. As a result, by typing a few lines, we will plot the chart describing how the tonality of the development has been changing by the time.
Networking in Go. We will see the options for working with HTTP, TCP, UDP, both from stdlib and some third-party solutions, from high-level to direct syscalls and their options. There will be examples of the code, implementation's comparisons, and required benchmarks.
Creating the effective client library statsd. A step-by-step introduction to creating an effective (both from memory and from the CPU point of views) client library for the statsd protocol. Since in the case of statsd aggregation is performed on the server side, the application sends metrics to statsd at a very high speed, several metrics per each measured action. The monitoring library should not be a bottleneck and should not have a significant impact on application performance.
Writу your own cryptocurrency in Go. I will write a proof-of-concept cryptocurrency and show how it works under the hood: generating wallets, creating a transaction on one side, adding the transaction in the block, and confirming of this block by the "miners", receiving this transfer on the other side, etc. The emphasis will be on how Go is applied in this case - its pros, cons, existing solutions and libraries and so on.
Building search ecosystem with Go. In my talk, I'll show the design of search engines on examples, what has already been done in the Go community, compare the performance of the "self-made" search engine in Go and the solutions on the "riot" framework. Also, I will tell you how to build a search infrastructure in the company and quickly put into operation new search algorithms.
Including a JS interpreter into Go product. IToolLabs have a platform which runs on commodity hardware and yet scales easily while delivering a complex business calls processing. This processing is programmed using scripts written in built-in programming language, a dialect of ECMAScript. That was quite an interesting experience to say the least, and we're eager to share it and answer some questions, like: - why would anyone in sane mind want to include an interpreter into Go product? - how to integrate interpreter with Go concurrency? - how to build a cluster with tons of small interpreted tasks to process calls at scale? - how does Go's GC manage to deal with that hell? - oh, and how to deploy and operate all this at five nines? … and many more.
Restarting Go applications gracefully. What is the graceful restart? What is it for? How does it work on Linux? How to implement it in Go? How does the feasibility of the graceful restart depend on a protocol? We will talk about it and processes' wrappers.
Go + grpc backend for mobile application in production. The talk about grpc in a real case: alternatives, issues, advantages, exploitation. We will discus tracing and debugging, how to balance grpc on servers and much more.
Let's automate services map building! If your project consists of all sorts of services, storages, and message brokers, you may have thought about building a map of the interaction of all these resources. There are many problems with a services map drawn up manually: it obsoletes, does not provide the necessary level of detail, links to documentation and other useful materials. We will talk about how you can automate the building of such service map and write a tool that allows you to build it in real time.
The pros and cons of Go in comparison with Pony language. We will talk about the main advantages of Go and compare it with Pony - the main future competitor for the resources utilization of multi-core systems. We will understand what disadvantages Go acquired because of the direction to easy learning ability of many employees in a company and maintaining the overall code style during development. We will learn what advantages can be gained in the future from Pony, which has been developing taking into account Go / Erlang / Scala experience in actor-based ideas.
You write tests wrong. Do you happen to had written code, ran unit tests, and then checked the result manually in different cases? Are there often bugs in your application that unit tests did not catch? Do you have a feeling that your tests work poorly? Or vice versa, do you spend too much time on tests? Many of us were learning to write tests by intuition, on the residual principle. This created the situation that we see around us. I'll tell you what problems your tests might have, how to write tests well, and how to learn to do it systematically. In Go.
OpenTracing not only for distributed tracing. Distributed Tracing significantly simplifies the operation of large systems with multiple microservices. However, this does not mean that tracing is useless for simple services and monolithic applications. The talk will cover OpenTracing as a unified approach to backend services, which is applicable not only to large systems.
Gometalinter is our everything. Oleg will show you how to test code without writing tests (and with them too), learn how to do linters and find out more about your code than before.
Here is your chance to reach the best Go-developers. Interested in sponsoring GopherCon Russia 2018? See our sponsorship proposal.
One of the most popular classifieds site in Russia. We have tens of thousands of rps to the backend, hundreds of millions ads in the database, terabytes of images in the storage, and a powerful system of automated moderation, on machine learning basis. Monthly audience of the project is a quarter of Russian population.
Mail.Ru Group is a leading IT-company and the most intellectual company in Russia. There are over 40 unique businesses with various technologies and internal climate. Mail.Ru Group develops IT-education in Russia and runs technology forums, international Olympiads and hakatons.
JetBrains has a passion for making developers more productive: we design intelligent development tools to simplify your challenging tasks and automate the routine ones. We offer top-notch IDEs and team productivity tools, and our latest offering is GoLand, a brand new Go IDE based on IntelliJ Platform
We are performing the complex development of highly loaded portal, from projecting and development of design, to programming and building the project infrastructure, with the use self-learning neural networks technologies.
Congress centre Technopolis Moscow Volgogradsky prospekt, 42k5