BuildThis Visits RubyConf

January 29, 2020

This past November, BuildThis attended RubyConf in the country music capital of the world, Nashville, Tennessee. RubyConf is the world’s largest and longest-running gathering of Ruby enthusiasts, practitioners, and companies. Over the course of the 3-day conference, there was a plethora of interesting talks by all kinds of Rubyists ranging from Ruby specific to more general, all encompassing topics. BuildThis Developer, Russell Mstowski, was one of 800 attendees. He documented his experience at the event through photos and other shared resources linked throughout this blog!

Unfortunately we were not able to attend all of the sessions, so those documented here are some of our favorites!

Day One

Day Two

Day Three

 

Opening Keynote

The creator of Ruby, Yukihiro Matsumoto or “Matz”, started off the conference as the opening keynote speaker. During his talk, he gave a ruby progress report, announcing that Ruby 2.7 will release December 2019 (which has now happened and can be found here!) and that Ruby 3.0 will be released December 2020.


Keynote Video

 

Conscious Coding Practice: The Three Concrete Steps

Practicing coding is hard, but it shouldn’t have to be. Coding exercises are somewhat okay, but can be insufficient as you are relying on someone experienced to write them, they don’t usually exercise your judgement about what to build, it’s hard to learn things you don’t know, and you have to constantly find new ones. A better choice? The Coding Study:

  1. Choose and write your Tool, Task and Purpose.
    1. Tool: Your Language, Libraries, and so on.
    2. Task: What you will build.
    3. Purpose: Why you’re building it.
  2. Choose how long to work on it.
  3. Do the work until done, or until time runs out.
  4. Look back: what went well or poorly.

Tools used

  • My brain


Conscious Coding Practice Session Video

You can view the slides to the session here: Speakerdeck Slides

 

Creating Augmented Reality Apps with RubyMotion

RubyMotion allows you to write cross-platform applications for macOs, iOS, and Android. These applications are statically compiled and call into the native platform APIs which means it is actually native unlike frameworks like React Native. It also means that you can use things like Apple’s ARKit to develop AR applications using Ruby! Combining these technologies is a powerful toolset that can be used to develop all types of applications.

Tools used

  • RubyMotion –  Cross-platform native app written in Ruby
  • DragonRuby – A downloadable game engine for Windows, macOS, and Linux


Creating Augmented Reality Apps Session Video

You can view the slides to the session here: Speakerdeck Slides

 

Cocktail Masterclass with Ruby and Friends

Have you ever wanted to technologically make a drink? Julian, a British Ruby/Rails developer, combined a number of modern technologies to demo an actual robotic cocktail maker that receives messages from a web application to start pouring drinks. K3S, a super lightweight version of kubernetes built for IoT & Edge computing, allows you to deploy some of the smallest Kubernetes distributions ever, which is perfect for a small server like a Raspberry Pi. Hooking up Apache Kafka allows for real-time data management so that the Rails application and cocktail maker can communicate seamlessly and quickly.

Tools Used

  • Raspberry Pi – A series of small single-board computers
  • Kubernetes/K3S – Kubernetes distribution built for IoT & Edge computing
  • Apache Kafka – A distributed streaming platform
  • Racecar – A simple framework for Kafka consumers in Ruby
  • Delivery Boy – A simple way to publish messages to Kafka from Ruby applications
  • AASM – State machines for Ruby classes (plain Ruby, ActiveRecord, Mongoid)


Cocktail Masterclass with Ruby and Friends Session Video

You can view the slides to the session here: Speakerdeck Slides

 

Lo-fi hip hop Ruby – beats to relax/study o

Lo-fi hip hop is a relaxing music genre steadily growing in popularity. It is a type of music or production quality that usually has imperfections of a recording or performance that is audible to form a chill and unique beat. Zach used a few ruby gems to build an intuitive Ruby desktop application to be able to create your own lo-fi beats. Ruby2D allows you to create cross-platform 2D Ruby applications with ease. Combining this with ruby-audio for wav manipulation and beats for sequencing, creating a digital audio workstation with Ruby becomes a reality. Zach has also open-sourced this project and is taking pull requests. Check out the project on GitHub!

Tools used


Lo-fi Hip Hop Ruby Session Video

You can view the slides to the session here: Speakerdeck Slides

 

How to lose 50 Million Records in 5 minutes

Losing data can be very easy. Whenever you are dealing with large datasets or have crucial data that your application needs to run, backups are almost always required, or at least highly recommended. Without backups, a business can be ended in the blink of an eye. Learn a lesson without having to suffer the consequences by listening to Jon talk about how not having back ups caused him to lose 50 million records by trying to upgrade a real estate listing platform to use Elasticsearch!

Tools used

  • Elasticsearch – A distributed, open source search and analytics engine for all types of data


How to lose 50 Million Records in 5 minutes Session Video

You can view the slides to the session here: Slideshare Slides

 

Containerizing Local Development… Is It Worth it?

Containers are one of the hottest technologies in software development/deployment. A container is a standard unit of software that allows you to easily port applications from one computing environment to another. This could be from one developer’s computer to another, or from a local to staging to production environment. Containers help keep the software the same regardless of where you are transferring it to. Tony, a Ruby developer from Indianapolis, goes through multiple scenarios in this talk, including some real world examples to explain to you why or why not containerizing your local development is worth it, and the conclusion is yes!

Tools used

  • Docker – Independent container platform


Containerizing Local Development Session Video

You can view the slides to the session here: SpeakerDeck Slides

 

 

Let’s Start a Web Design Project

Talk with a Web Strategist.

Array