icon-pin Chicago, IL USA
icon-calendar September 14-15, 2017

Schedule

Photo of attendees watching a talk at WindyCityRails 2015.

WindyCityRails will take place over two days. Attendees will have access to all sessions, along with continental breakfast and lunch on each day.

Thursday, September 14, 2017

8:00am–9:15am

Breakfast

Continental breakfast is included with your registration.

9:15am–9:45am
Photo of Noel Rappin

The Road To Legacy Is Paved With Good Intentions

Noel Rappin, Table XI

Legacy code. We’ve all dealt with it, we’ve all screamed at it. And we’ve all written it. A project becomes legacy when developers no longer have the context of old decisions. The transition to legacy status happens step by step, decision by decision. This talk will examine 10 patterns that lead to legacy code, such as “personnel turnover”, “shifting priorities”, and “developer fads”. We’ll show how the pattern turns code into legacy and, more importantly, how it can be avoided or mitigated. At the end of the talk, you’ll be able to keep your project from sliding quickly into the legacy swamp.

About Noel Rappin

Noel Rappin is the Director of Development at Table XI. Noel has authored multiple technical books, including Rails 4 Test Prescriptions, Trust-Driven Development, and Take My Money: Accepting Payments on the Web.

10:00am–10:30am
Photo of Brandon Hays

Seven Months in React: The Perilous Art of Swimming Upstream

Brandon Hays

You chose to use Ruby because something about it spoke to you. But there’s also tremendous social pressure to constantly learn and migrate to new technologies, for reasons you may not even agree with. You also have the added strain of trying to ship high-quality software on tight timelines. So how do you know when do you fight to swim upstream and when to go with the flow?

We’ll use specific examples, such as this Rails and Ember fan journeying into the world of microservices and React, as well as stories from folks who have made significant contributions to our industry, to illustrate the empowering concepts of “tactical alignment” versus “philosophical alignment”. Armed with this knowledge, you can sidestep many existential crises that come with our ever-changing landscape and focus on shipping great work.

About Brandon Hays

Brandon is a marketer-turned-programmer who can’t help but evangelize the joys of making things. His passions are writing, using technology to delight real people, and lightsaber battles with his kids.

10:45am–11:00am
Photo of Megan Tiu

Finding Beauty in the Mundane

Megan Tiu, CallRail

Amongst the exciting challenges of making software, there are some tasks we go out of our way to avoid: linting files, updating gems, writing documentation. But even the “boring” parts of the job are opportunities to make big changes for the better, little by little. In this talk, you’ll learn how to make even the most mundane development tasks exciting in order to better your applications and become your team’s hero in the process.

About Megan Tiu

Megan Tiu is a Software Engineer at CallRail that loves making software and solving problems with Ruby. She aims to make technology more accessible to women and people of underrepresented groups in any way she can, including through her position on the Rails Girls Atlanta board.

11:00am–11:30am
Photo of Brad Urani

Rails Anti-Patterns: How Not to Design your Database

Brad Urani, Procore

When designing a database for your Ruby on Rails application, what looks like the best solution can be a trap. Join us as we expose these database anti-patterns. We’ll model shoes at a fictional shoe store and show both a naive design and more flexible alternatives. We’ll discuss how to represent trees, and see that the simplest solution is the slowest and hardest to query. We’ll explore scenarios where a polymorphic relationship looks like a good choice, but isn’t (and one where it is). Learn these pitfalls before falling into them, and save yourself from sloppy querying and poor performance.

About Brad Urani

Brad Urani is a coder, karaoke singer and barbecue evangelist. He believes happiness is directly correlated with the size of your .vimrc and refuses to buy into YAGNI. When not hiking or hacking, he preaches the wonders of Rails and relational databases as Principal Engineer at Procore in Santa Barbara, CA.

11:45am–12:15pm
Photo of Randall Thomas

The Hitchhiker’s Guide to Machine Learning

Randall Thomas, Thunderbolt Labs

The “machines” are coming for our jobs. Or is it the machines are becoming our jobs? Either way the number of domains unaffected by the Machine-Learning-Strong-weak-Artificial-Intelligence revolution is rapidly approaching zero. Between the lies^H^H^H^H marketing around AI/ML, and the difficulty in finding accessible introductory material covering basic information about what ML/AI is, isn’t, can and can’t do — What is a pragmatic programmer to do?

Don’t panic! The Hitchhikers Guide to Machine Learning is here to help. We’re here to give you the quick data dump you need on the easy questions, and some wild speculation on the hard questions.

About Randall Thomas

Hacker, Geek, Musician, Philosopher, Bon Vivant. Founder of Thunderbolt Labs.

12:15pm–2:00pm

Lunch

2:00pm–2:30pm

Lightning Talks - Day One

Lightning talks are quick, five-minute talks given by your fellow attendees! Have a topic to share? Submit your proposal.

2:45pm–3:15pm
Photo of Natasha Jones

Breaking the Law of Demeter

Natasha Jones, Fractured Atlas

The Law of Demeter is one of the many tools in our arsenal for writing code that will withstand change into the future. It’s also an invaluable tool for refactoring dense, tightly knit code bases to make them less brittle.

Topics will include the origin of the law, how it can help us build a more changeable code base, and what it looks like when the law is broken.

About Natasha Jones

♥️ B-more. Dev. Natasha builds things @FracturedAtlas. Organizer of the B’more on Rails Workshop for Women @BmorRailsSchool.

3:30pm–3:45pm
Photo of Christopher

How Open Source and the Cubs won the World Series

Christopher "Aji" Slater, UL llc

Open Source won the World Series. Not any particular technology, although software was doubtless involved. An idea, developed by a competitor, was released for public use and scrutiny and through that platform the 2016 Chicago Cubs were able to achieve a historic victory.

What can we as developers learn from the data-driven approach behind a campaign that ended a city’s 100+ year curse? Cross-disciplinary insights come from the financial sector, science even woodworking, it’s about time we looked into America’s Pastime.

About Christopher "Aji" Slater

33 yrs old. Married. Ruby developer looking for bugs. Enjoys programming languages, both functional and object oriented, and spends most of his time in Rails and Javascript (React). Cannot function with keyboards that haven’t remapped capslock to command. Dedicated to an endless search for the perfect note-taking app. Enjoys coffee (but can totally quit anytime he wants), Tibetan Spaniels, and the Oxford comma.

3:45pm–4:15pm
Photo of Starr Horne

Common Rails Idioms That Kill Database Performance

Starr Horne, Honeybadger

The first time Starr saw ActiveRecord, it was a revelation. Using the database went from being a tedious chore, to being easy… then the performance issues became apparent.

ActiveRecord itself isn’t slow, but it’s easy to stop paying attention to the SQL queries that it runs. It turns out that some of the most idiomatic SQL queries used in Rails apps aren’t very scalable.

In this talk you’ll see what these idioms are and learn about scalable alternatives. We’ll also discuss simple ways you can prepare any new Rails app to handle data scaling.

About Starr Horne

Starr Horne is a Rubyist living in Seattle WA. He’s a co-founder of the exception monitoring service Honeybadger.io and does a weekly newsletter and podcast at RubyLetter.com

4:30pm–5:00pm
Photo of Vaidehi Joshi

Hexes and the Magic of Base 16

Vaidehi Joshi, Tilde, Inc.

Some numbers seem to be extra cool in the world of computer science: 256, 128, and of course, all of those 0’s and 1’s that make up binary. But there’s one number that’s super magical, and almost all of us have interacted with it as Ruby developers: the number 16!

This talk will look at the awesomeness of hexadeimcal numbers. We’ll explore the logic behind color hex codes, and the math that’s behind converting between rgb and hex codes. Behind the hex codes that we are all familiar with is a powerful hexadecimal number systems. We’ll explore why the base 16 number system is so common in computer science, and look at hexadecimals in the wild (for example, in hex speak and even in IP addresses!). Let’s fall under the spell of hexadecimal numbers and learn why exactly they are so powerful and popular.

About Vaidehi Joshi

Vaidehi is an engineer at Tilde, where she works on Skylight. She enjoys building and breaking code, but loves creating empathetic engineering teams a whole lot more. In her spare time, she runs basecs, a weekly writing series that explores the fundamentals of computer science.

5:00pm–7:00pm

WindyCityRails After Party

Join us for the WindyCityRails After Party! More details will be announced closer to the conference.

Friday, September 15, 2017

8:00am–9:15am

Breakfast

Continental breakfast is included with your registration.

9:15am–9:45am
Photo of Nell Shamrell-Harrington

To Package or Not to Package?

Nell Shamrell-Harrington, Chef

As Rails deployments continue to evolve and mature, we are seeing more and more organizations packaging their apps as immutable artifacts. This talk will discuss 1) when packaging a Rails app as an immutable artifact adds value (and when it does not), 2) Solutions to package your Rails app when appropriate, 3) Distributing that package, and 4) Deploying that package on your infrastructure and guiding others in deploying it on their own infrastructure. You will also walk away understanding how packaging your application in an artifact helps your app scale - especially rapid scaling - and how your package can contain all the intelligence it needs to self organize multiple instances of it as it evolves and grows.

About Nell Shamrell-Harrington

Nell Shamrell-Harrington is a Sr. Software Development Engineer at Chef and core maintainer of the Supermarket and Habitat open source products. She also sits on the advisory board for the University of Washington Certificates in Ruby Programming and DevOps. She specializes in Chef, Ruby, Rails, Regular Expressions, Rust, and Test Driven Development and has traveled the world speaking on these topics. Prior to entering the world of software development, she studied and worked in the field of theatre.

10:00am–10:30am
Photo of Pan Thomakos

Beyond Active Record

Pan Thomakos, Strava

Active Record models can quickly become bloated messes that combine persistence logic, validations, callbacks, and business logic into god objects. These models slowly become dependencies of almost all other objects in our code base.

Several months ago, Strava confronted this situation in their mature 8 year old Rails application. In this talk, Pan will walk through the new architecture and object conventions that Strava is migrating to as a solution to unwieldy Active Record models. We’ll explore the reasoning behind each design decision so that you can decide for yourself if a similar approach is right for you. And we’ll walk through some of the benefits of this alternative architecture.

About Pan Thomakos

Pan Thomakos has been working at Strava, with Ruby and Rails, for the past 8 years. He spends most of his time automating manual tasks and developing ways to improve engineering processes. Among his other projects, Pan has been responsible for all of the Rails and Ruby upgrades that Strava’s Rails monolith has undergone. He is originally from Greece and spends his free time running, cooking, and wrestling with his kids.

10:45am–11:00am
Photo of Eva PenzeyMoog

UX for Developers

Eva PenzeyMoog, 8th Light

Developers in the real world often find themselves making decisions about how users will interact with what they’re building. Arm yourself with the UX basics of making quick decisions about feature functionality. Learn how to ensure that the feature you’re creating is intuitive and user friendly.

  • How to break out of round-about client conversations about how a feature should work
  • How to user test your feature in 10 minutes
  • How to ask questions the right way

Whether you are a junior developer or a systems architect, these tips will help you better focus how you spend your time and ensure happier users.

About Eva PenzeyMoog

Eva is a designer at 8th Light who works to infuse UX into every step of the process, from discovery to front-end implementation. She advocates for users as living, breathing human beings who deserve experiences that are intuitive and delightful. When not designing and coding, she’s playing with her pitbulls Hamlet and Horatio, fundraising for feminist organizations and unabashedly devouring the latest YA novels.

11:00am–11:30am
Photo of Yan Pritzker

DevOps Sauce for your Rails Pizza

Yan Pritzker, Reverb.com

At a certain level of scale, Rails isn’t enough and Heroku is too expensive. We’ll take a look at infrastructure techniques for scaling a rapidly growing site on AWS.

About Yan Pritzker

Yan was the co-founding CTO and currently Director of Infrastructure at Reverb.com. He has been a Rubyist for about a decade and a developer for twice that long, focusing on early stage startups.

11:45am–12:15pm
Photo of Sam Phippen

Dilemma

Sam Phippen

Every day as engineers we’re faced with making decisions. With choosing which of several options makes the most sense for our context, our situation, our time. We often well consider the technical and business cases for these choices. However, there’s some factors that we don’t well consider. Here we’ll talk about the human impact of our choices, and what we can learn.

About Sam Phippen

Sam Phippen is a swashbuckling engineer from London, UK. He lives in New York now working for DigitalOcean as an engineer and technology lead for the support tooling team. He’s an RSpec core team member and he’s sad that he can’t hug every cat.

12:15pm–2:00pm

Lunch

2:00pm–2:30pm

Lightning Talks - Day Two

Lightning talks are quick, five-minute talks given by your fellow attendees! Have a topic to share? Submit your proposal.

2:45pm–3:15pm
Photo of Amanda Laucher

Functional Lingo

Amanda Laucher

Writing in an FP style makes life so much easier… or at least that is what we keep hearing. But how can that be true if we can’t even understand what the FP people are talking about? Maybe the last time you had a chance to really catch up with the FP world was when you picked up maps, and filters, and you see real value, but now the lingo has changed again and you haven’t quite had the time to get it all sorted in your head. In this talk we will learn about things like Free, Co, Monads, Lenses, Morphisms, and other terms that may help you as you are trying to make your Ruby more functional, or picking up new languages with functional concepts.

About Amanda Laucher

Co-founder of Mined Minds, Amanda Laucher is seeding the growth of a technology hub within the coal towns of southwestern Pennsylvania and West Virginia. Amanda has been working with technology her entire life. Some of her favorite childhood memories include working with punch cards alongside her grandmother, and learning Morse code from her dad. Solving complex business problems with code is her passion. You are likely to find her discussing intricacies of languages and type systems, software development processes, or American football.

3:30pm–3:45pm
Photo of Meara Charnetzki

How Does JavaScript Math?

Meara Charnetzki, TableXI

If you’ve spent much time writing (or debugging) JavaScript, you’ve probably come across some quirky behavior, especially in the strange and wonderful ways Javascript handles math. To unravel the mystery of JavaScript addition, we will go on an empirically-structured adventure through the JavaScript web console, Mathmagic Land, and the ECMAScript Language Specification. With some help from Donald Duck, you will emerge with new perspective on the methods behind the JavaScript madness, and the inspiration and tools to explore new mysteries in Javascript yourself!

About Meara Charnetzki

Meara is a scientist turned software engineer, currently building awesome web apps at TableXI. She strives to build friendly and inclusive codebases and communities. Outside of work, Meara enjoys dabbling in music and crafts, eating cheese, and spoiling other people’s pets.

3:45pm–4:15pm
Photo of Aly Fluckey

Delightful Stylesheets

Aly Fluckey, TableXI

Do you dread updating stylesheets? Have you ever battled the specificity wars? Ever questioned which file to look in for a certain style? If so, I’d love to share with you some ways to help solve these problems through organization and building reusable UI components. This approach to writing and organizing CSS ensures that there is less ambiguity and more satisfaction. Come learn some ways to make your stylesheets more delightful!

About Aly Fluckey

Aly Fluckey is a UX Developer in Chicago with TableXI. She has experience in a variety of things, ranging from graphic design to Ruby on Rails and even a little COBOL. She loves building beautiful and intuitive solutions in the browser as well as space, lava lamps and cats.

4:30pm–5:00pm
Photo of Ben Klang

Scaling Your Rails App Codebase with CBRA

Ben Klang, Power Home Remodeling

Component Based Rails Architecture is an approach to organizing a Rails application into familiar building-blocks: Ruby Gems and Rails Engines. In this talk we will examine what CBRA is, what problems it solves, and how to apply it. We will examine how we applied CBRA to a large Rails app, including React, APIs, and Rails upgrades. The examples come from our direct experience using CBRA to bring order to a 900-model Rails app with CI run times over 2 hours.

About Ben Klang

Ben Klang has always been fascinated with technology. Disassembling clock radios, breaking and fixing the family computer, eventually embarking on a career in software development. More recently, he has taken leadership roles on technology teams, and as a result had to start over, learning all new skills. Today he is proud to work for a company named Fortune #1 Workplace for Camaraderie, but mostly is happy thanks to the incredible team of humans he’s privileged to work with each day.