14-15 September 2019, Kyiv

RubyC is a European conference devoted to Ruby, Rails and other related technologies.

Every year we invite hundreds of Ruby enthusiasts and developers from various programming groups to exchange knowledge, discuss the latest news, learn from one another, and generally have a wonderful time in Kyiv, Ukraine.

Next year we change our customary timing and meet in September. Do not worry, it is usually still warm.


Speakers

Katrina Owen

About speaker

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.

One Small Step

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

About speaker

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.

Parallel and Thread-Safe Ruby at High-Speed with TruffleRuby

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 Stolfo

About speaker

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.

Beauty and the Beast: Applications and Distributed Systems

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 Dąbrowski

About speaker

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.

10 performance sins of Rails applications

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 Oletskaya

About speaker

Yulia is a Ruby developer from Minsk, Belarus. She is an open source contributor and is passionate about learning new things and sharing knowledge.

RPC frameworks overview

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 Shamatov

About speaker

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.

It's all about money, money, money

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

About speaker

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.

Audit Logs. Secure and protected

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.

Yevhen Kuzminov

About speaker

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 year with Hanami in production: the Good, the Bad and some Recipes

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

About speaker

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.

Steal This Talk

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 Sobczak

About speaker

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.

Distributed stream processing in Ruby

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.

Dávid Halász

About speaker

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.

How to hijack, proxy and smuggle sockets with Rack/Ruby

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

About speaker

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.

Misadventures in Continuous Delivery for the Largest Online Apparel Resale Marketplace

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.

Alexey Vasiliev

About speaker

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.

Application Security for Rails Engineers

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.

Mikhail Bortnyk

About speaker

Mykhailo has been a web&system developer for more than 7 years, and a Team Leaderfor over 5 years. He works primarily in Ruby and Javascript, and is interested in virtual machines. He is top-3 contributor to mruby/c, special version of Ruby for MCUs, and a developer of mruby-mongo driver. He is a co-founder of Kottans.

Open Talk

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.

Agenda

09:00-10:30 Morning Coffee
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
12:45-14:00 LUNCH TIME
14:00-14:40 Dmytro Shapovalov Audit Logs. Secure and protected
14:50-15:30 Alexey Vasiliev Application Security for Rails Engineers
15:30-16:10 Coffee&Snacks
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
09:00-10:30 Morning Coffee
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
12:40-14:00 LUNCH TIME
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
15:30-16:10 Coffee&Snacks
16:10-16:55 Ivan Shamotov It's all about money, money, money
17:00-17:50 Aleksander Dąbrowski 10 performance sins of Rails applications
17:50-18:00 Happy Ending

Venue

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

Tickets

Sponsors

Organizer

Svitla

Golden Sponsors

Msl dev Railsware Thred up

Media Partners

Rubymed Experimentg Odessarb Syndicode logo red  93b2e631c8ede9e7a835cb950da0c4e8b31a2e45bf55da3288 pimgpsh fullsize distr Rw Chi Logo red codica Wroclove logo small Cluster Datag Coax Ifrb logo  4x  1 Innocode Daxxg Pivorak Codeguideg Rubyconfby 2019 logo If Mobidev Zendesk

Host

Rus

Archives

Contacts

  • Nadia Beregova
  • Mail: ​n.beregova@svitla.com
  • Mob: +38 097 852 86 71
  • Skype: Limontika1