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
Continental breakfast is included with your registration.
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.
Seven Months in React: The Perilous Art of Swimming Upstream
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.
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.
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.
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.
Lightning Talks - Day One
Lightning talks are quick, five-minute talks given by your fellow attendees!
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.
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
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.
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.
WindyCityRails After Party
Join us for the WindyCityRails After Party! More details will be announced closer to the conference.
Friday, September 15, 2017
Continental breakfast is included with your registration.
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.
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.
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.
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.
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.
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.
Lightning Talks - Day Two
Lightning talks are quick, five-minute talks given by your fellow attendees!
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.
Meara Charnetzki, TableXI
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.
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.
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.