One of the more insidious ways your web application’s data can be comprised is through a timing attack. The time it takes your app to serve a request can reveal more information than you might think. We'll kick off this workshop with a brief talk on how timing attacks work. Then write a script that exploits a vulnerable demo app and patch the server to remove the exploit.
Please come to the workshop with Docker and a recent version of Ruby installed!
There is a world of open government data that could be helping people, and as developers we have the power to unlock it. In this workshop, we’ll build a Rails app that helps people evaluate doctors using U.S. Government data. From ingesting 600mb zip files to finding the right schema, we'll dive into strategies for turning raw data into something impactful. We’ll use familiar tools like Sidekiq and Postgres in new ways. At the end of the workshop, you’ll walk away with a fully functional open data app and inspiration to create more.
Seattle has two of the longest floating bridges in the world, and in 1990, one of them sank while it was being repurposed. This accident was a classic complex systems failure with a massive PR problem and great documentation. That combination is an excellent frame for talking about incident retrospectives- the good, the bad, the vaguely confusing and unsatisfying, the straight-up horror stories.
Come to this workshop to learn the skills of a great facilitator so that the next time your app sinks into a lake, you'll be ready to help pick up the pieces.
Have you ever wanted to contribute to Ruby on Rails but don’t know where to start? This workshop is for you! At the end of the session you’ll have your first Pull Request merged in the framework and your name engraved forever in the list of Rails contributors who made the framework better for everyone!
In this 90 minutes workshop, we’ll go through each step needed to become a Rails committer. Together, we’ll setup the Rails project, explore real issues I’ll be presenting you, dive into Ruby on Rails internals, implement a fix, and finally, open the Pull Request!
Learn how to resolve Git merge conflicts confidently, with less effort and fewer headaches. After learning a systematic strategy that leverages Git’s lesser-known diff3 mode, we’ll get lots of hands-on practice resolving real conflicts from open-source Ruby projects, working our way up to confidently handling some of the nastiest conflicts in Ruby's open-source project history.
Participants should come with basic working knowledge of Git, and a laptop with Git and a text editor for coding (e.g. Atom, VS Code, Vim) installed.
Every year, companies waste millions of dollars and countless employee hours because of an inability to communicate. In this workshop, a longtime Rails tech lead, and 22+ year veteran of improv, teaches the basics of applied improv for better communication, idea generation and decision making. You’ll come away with techniques and exercises you can take back with you! This is not a lecture, but an on-your-feet workshop. Participants will move, laugh and get to know each other while learning the basics of applied improvisation.
It’s hard to convey abstract ideas with words. How do you share your complex technical vision without being boring or misunderstood?
Sketchnoting is a way to convey ideas with very simple images instead of thousands of words. No matter your drawing ability (or lack thereof), after this workshop you’ll have the skills to start sharing your ideas with the power of sketchnotes.
You don’t need to know how to draw, be able to draw a straight line, or identify as arty or creative. If you can write with pen and paper and want to share ideas with others, this workshop is for you!
You may have heard that emotional intelligence is correlated with career success, but wondered just how to build those skills.
Feelings are messy and uncomfortable but in this workshop you will get to practice working with them in several ways. As we do that we will explain the concepts using technology metaphors:
- Your API - using the metaphor of an API to understand the foundations of how emotions work
- Observability of ourselves - better understand what happens below the surface
- Observability of a group - publish your state to others
- Inter-Process Communication: emotions and experiences shape your motivations and create blockers for you
- Troubleshooting - When interpersonal communication goes wrong.
Kubernetes has a lot of DevOps mindshare and is how shops like GitHub and Shopify are deploying their apps. But, what is Kubernetes? What does it mean for deploying your application? Do you need it?
In this workshop, we'll answer by migrating a small Rails application to Kubernetes. We'll build up the deployment tooling necessary to stand the application up on a small Kubernetes cluster.
We'll also explore the core concepts and considerations of adding Kubernetes to your deployment pipeline, including Kubernetes operations, preparing for ephemeral infrastructure, data storage, and more.
You got stuck upgrading your aging Rails app to Webpacker once and tabled it for another day.
Friends, that day has come.
Here be dragons! Their untested features belch fire that burns through the most well insulated of mechanical keyboards. Their hide is covered in overlapping layers of tightly-coupled scales. How can a developer get close enough to pierce it's hide and make just that one tiny change?
Well grab your adventuring gear, friend! We're going mob programming! Mob programming allows us to slay even the most terrifying of dragons.
This session will be hands on, with Zee handling the fiddly keyboard bits, a surprise mystery guest navigating, and each of you directing!