written by primehammer

Ruby Stories 7 Report

Railway Oriented Programming, Slackbots with Serverless and Smuggling TCP traffic through an HTTP connection. It is important that Ruby Developers have at least some understanding of Javascript, core principles of HTTP protocol and of course, error handling. Find out more about the talks at Ruby Stories 7 and download the slides.

PrimeHammer and Red Hat developers, gave in-depth talks on the following topics: The Railway Oriented Programming – a great error handling methodology, with roots in functional programming; Building a Slackbot with Serverless in mind; Smuggling TCP traffic through an HTTP connection – which could be used for building a VNC client in browser. All slides are attached at the end of this post.

The Ruby Stories 7 meetup, took place at Otevrena zahrada. A modern venue, serving both as a model and blueprint for smart city development. Within one of their conference halls, our speakers held talks on the following topics:

Railway Oriented Programming

Erich Kaderka spoke to us about Railway Oriented Programming, which is a functional approach to error handling described by Scott Wlaschin. He showed how can this powerful concept help us solving real world problems in both Ruby and Elixir programming languages.

Erich Kaderka talking about Railway Oriented Programming

Building a Serverless Slackbot

Matej Minárik briefly introduced Serverless, which enables us to build infinitely scaleable, pay-per-execution applications. He also introduced Slackbots. Then, he showed a simple Slackbot for fetching lunch menus, talked about implementation details (Javascript & Node.js) and gotchas.

Matej Minárik building Slackbots with Serverless

How to smuggle TCP traffic through an HTTP connection (Red Hat)

David Halász used Rack, a super simple yet a very versatile tool to implement web servers in Ruby. Rack beats under the hood of Rails, but it can do much more. The socket hijacking has been implemented into Rack to support WebSockets. David showed, that together with the HTTP Upgrade requests, this can be used to send regular TCP traffic through an open HTTP connection. You can find his presentation here.

David Halász smuggling TCP traffic

Feedback and final remarks

We were pleased to see that many developers, including DevConf attendees, took the time to attend Ruby Stories 7, we thank you all! We welcomed some of our long-term supporters, but also a number new faces. This is exactly why we set up these events and we’re already looking forward to Ruby Stories 8!

Join meetup group: https://www.meetup.com/meetup-group-ETMwXpSM

Like PrimeHammer page: https://www.facebook.com/primehammerbrno