Katrina is an Ecosystem Engineer at GitHub. Co-author of '99 Bottles of OOP'. She works primarily in Go and Ruby, contributes to several open source projects, and is the creator of exercism.io, a platform for code practice and programming mentorship. She accidentally became a developer while pursuing a degree in molecular biology. When programming, her focus is on automation, workflow optimization, and refactoring.
Refactoring sometimes devolves into an appalling mess. You're chasing a broken test suite, and every change just makes it worse. At other times it's a slow, controlled process culminating in dreadful design. This talk presents an end-to-end refactoring that demonstrates simple strategies to avoid such misadventures.
Benoit Daloze is a researcher at Oracle Labs, working on TruffleRuby. He is interested in concurrency and virtual machines. He has contributed to many Ruby implementations, including TruffleRuby, MRI and JRuby. He is the maintainer of ruby/spec, a test suite for the behavior of the Ruby programming language.
Array and Hash are used in every Ruby program, but current implementations either prevent to use them in parallel (MRI) or lack thread-safety guarantees (JRuby raises on concurrent Array#<<). We show how to make Array and Hash thread-safe while allowing Ruby collections to scale up to tens of cores!
Emily works on the Elasticsearch Ruby client and the Rails integrations gems at Elastic. She is also an adjunct faculty of Columbia University where she has taught courses on databases and web development. Although originally from New York, Emily lives in Berlin. She enjoys running at Tempelhofer Feld and making ceramics in her free time.
Writing code that interfaces with a distributed system is not trivial but we can usually depend on libraries to encapsulate the details. Nevertheless, with more web applications employing service-oriented architectures, web developers must also know how to talk to distributed technologies and be able to handle errors and failures appropriately. This talk will explore common errors and failures so you are better able to understand and predict the behavior of your distributed systems. It will arm you with algorithms and testing strategies so you can tame your services and build robust applications.
Aleksander Dabrowski is a CTO of koleo.pl - the fastest growing train ticket retailer in Poland. He has worked in a variety of start-ups and even in a marketing agency. Aleks works with Ruby for more than a decade, he co-organised Warsaw's Ruby User Group, and was the author of rubysfera.pl, the leading Polish blog focused on Ruby and Rails. Aleks particularly enjoys deleting ulgy code, and in his spare time is city guide of Warsaw, Poland.
It’s easy to write Rails app. It’s also easy to write slow Rails app. In this talk you will learn abthe out most popular performance smells, and how to fix them. It will include database, caching, views and serialisation anti-patterns.
Yulia is a Ruby developer from Minsk, Belarus. She is an open source contributor and is passionate about learning new things and sharing knowledge.
Lately a lot of web developers tend to find out that REST isn't always the ultimate solution for services communication problems. Some people thrift to search for new architectural styles (e.g. GraphQL) and others give a new breath to long-forgotten ol' RPCs. This talk is a brief overview of existing RPC frameworks (e.g. gRPC, Apache Thrift, Twirp) including Ruby specific pitfalls.
Ivan is a Ruby developer since 1.8.6 and rails developer since Rails and Merb merge. Huge part of his carrier was connected with billing domains and now he is fully dedicated to the ruby community at Saint Petersburg.
Simple scenarios of how to deal with money at your project. Tasks you faced if you've ever tried to implement any kind of billing/payment gateway/exchange/wallet/accounting app.
Dmytro Shapovalov began his career in 1996, as a software developer. Spent over 13 years working as the Senior Network Administrator in a large Ukrainian Internet service provider. For a long period, he architected and supported high availability projects, commercial virtualization platforms. Currently, he is an Infrastructure engineer at Cossack Labs, British-Ukrainian company that creates cryptographic tools for software developers. He turns the inventions of security engineers’ into convenient useable products.
Every application today generates a lot of telemetry data: logs are the most known example. Logs are used not only for health monitoring but also for recording security-relevant information to be used in intrusion detection or forensic analysis. Logs themselves became a valuable attack targets: they should not leak sensitive info and resist tampering. We will review existing approaches to securing logs (cryptographic protection, masking, pseudonymization) while keeping them convenient to use.
Ruby team leader in MobiDev. Gone all the way from PHP "one-pager" development to the full-stack. And building Ruby and Blockchain teams from scratch. Author of the "Ruby Web Dev: The Other Way" and the "Hanami Cookbook". Started using in production all that fancy Trailblazer, Hanami, and Dry gems before it became mainstream.
A story of one commercial project grown with Hanami:
• Brief comparison major differences between Hanami and Ruby on Rails web apps;
• Solving "well known" issues using Hanami and facing "now known yet";
• Recipes for what we used to with Rails: "doсkerization", Trailblazer, background jobs, caching, WebSockets, etc.;
• Vision of the ideal Hanami app, comparison with Elixir/Phoenix;
• Hanami as a modular puzzle - an example of building somewhat exotic.
Aaron Cruz is a food lover who speaks about Ruby, Go and Elixir at conferences and meetups around the world. For his real job, he helps growing startup optimize their hiring process.
I like to give talks. Tragedy has hit for the past year and I haven't been able to come up with anything interesting to speak about. I had almost given up, thrown in the towel. But then I had an idea... I will build an app that will write a talk for me! It's been a long journey building "Talkie", but in the process I've consumed 100's of Ruby talks from over the last years and I want to boil them down to the best things I can fit into this time slot. We can also see how far I've come with the app. (Hint: AI is hard)
Walerian is a Senior Software Engineer at Zendesk working on growth and billing by introducing scalable solutions using Ruby. He may be considered a loyal Rubyist by day, and a Haskell enthusiast by night. He likes building things from scratch to better understand how they work. In his free time, he plays the guitar, cooks vegan food and reads all kinds of books to overcome the knowledge FOMO.
How to handle and process hundreds of thousands of requests per minute? How does introducing a distributed real-time computation platform can help build a reliable product? Let’s figure it out by discovering Apache Storm topologies and their functionalities powered by Ruby. Continuous data streams are becoming omnipresent and the software we build is required to process those huge volumes of data. This is where Apache Storm comes in with its benchmarked million tuples processed per second. Let’s see how the Storm topologies work, how to build them using Ruby and how they can help us build powerful and predictable data transformation pipelines.
Graduated as an embedded systems engineer in the time it wasn't called IoT, now pretending to be a Software Engineer. Codes in Ruby for work and in C for fun at Red Hat. He likes his guitars and now annoys his colleagues with a ukulele at the office.
Rack is a super simple, yet a very versatile tool to implement web servers in Ruby. It beats under the hood of Rails, but it can do much more. The socket hijacking has been implemented into Rack to support WebSockets by bypassing the middleware and so not blocking the worker threads. Together with the HTTP Upgrade requests, this can be used to send regular TCP traffic through an open HTTP connection. This talk is about leveraging socket hijacking to smuggle an SSH connection through an HTTP session using Rack. All this by using Ruby, a language that’s not ideal for doing concurrency and IO.
Dan DeMeyere is a Michigan native who began his engineering career at Toyota before making the trek to California to dive into the start-up world. Although he’s worked at multiple start-ups, the bulk of Dan’s experience comes from 8 years at thredUP scaling their engineering team from 3 to 70. Along the way he’s helped thredUP keep their stack close to the edge with React/Redux on the front-end, Ruby/Node/Java back-end orchestrated by a GraphQL API service, all powered by Kubernetes. He’s currently the Chief Product Officer at thredUP and recently he’s spearheaded thredUP’s organizational transition to a cross-functional pod system.
There are plenty of posts on Hacker News extolling the virtues of CD and how to implement it in your favorite tech stack. But what if you’re not starting from scratch? What if you’ve already got a large Ruby on Rails/Node.js/Java code base that the company depends on? What if the way your team worked for the better part of a decade requires a paradigm shift? We all know how open engineers are to change… The best way to grow is to learn from your mistakes, but it’s even better if you can learn from someone else’s blunders. So come with me on a cathartic journey through my team’s CD misadventures. From deployment rollback horror stories to Black Friday engineering nightmares, I’ll detail the good, the bad, and the ugly on our continuous delivery quest.
Software engineer at Railsware in Kiev, Ukraine. Creator of Open Source manuals about PostgreSQL database and Chef DevOps tool. Leading local podcast about Ruby and JS - RWpod.
Security is a shared responsibility and something we should all be familiar with when writing web applications. In this talk, I will describe common security problems, how to avoid them and make your code secure by default.
To keep a good tradition on Sunday morning we are having an Open Talk. Format: Q&A with speakers. Grab a cup of coffee and take a seat.
CFP is now closed.
|10:30-11:15||Dávid Halász||How to hijack, proxy and smuggle sockets with Rack/Ruby|
|11:20-12:00||Katrina Owen||One Small Step|
|12:05-12:45||Emily Stolfo||Beauty and the Beast: Applications and Distributed Systems|
|14:00-14:40||Dmytro Shapovalov||Audit Logs. Secure and protected|
|14:50-15:30||Alexey Vasiliev||Application Security for Rails Engineers|
|16:10-16:50||Dan DeMeyere||Misadventures in Continuous Delivery for the Largest Online Apparel Resale Marketplace|
|17:00-17:50||Aaron Cruz||Steal This Talk|
|17:50-00:00||Presents raffle from Sponsors, followed by an afterparty|
|10:30-11:10||Mikhail Bortnyk||Open talk (panel discussion with speakers)|
|11:15-11:55||Walerian Sobczak||Distributed stream processing in Ruby|
|12:00-12:40||Benoit Daloze||Parallel and Thread-Safe Ruby at High-Speed with TruffleRuby|
|14:00-14:40||Yulia Oletskaya||RPC frameworks overview|
|14:50-15:30||Yevhen Kuzminov||A year with Hanami in production: the Good, the Bad and some Recipes|
|16:10-16:55||Ivan Shamatov||It's all about money, money, money|
|17:00-17:50||Aleksander Dąbrowski||10 performance sins of Rails applications|
Our special place, a majestic three-star Premier Hotel RUS is advantageously located right in the centre of Kyiv. The Hotel clambered upon a hill in the very heart of the business and tourist districts of the capital. The famous artery street - Khreshchatyk - is just few steps away. Palats Sportu metro station is located near-by, and the Hotel offers the views of the Olympic Stadium - the main sports arena in Kyiv.
4 Hospitalna str., Kyiv Show on Google Maps