Eileen M. Uchitelle spends her days working on performance and security at Basecamp; or as you probably know it better, the place Ruby on Rails was born. She accidentally started contributing to open source after giving a talk on some problems with Active Record. Aaron Patterson was there and told her "fix it yourself" (not really). When she's not making Rails better by improving Active Record and speeding up integration tests, Eileen enjoys craft beer and hiking in the Hudson Valley with her husband and their dog.
Aaron was born and raised on the mean streets of Salt Lake City. His only hope for survival was to join the local gang of undercover street ballet performers known as the Tender Tights. As a Tender Tights member, Aaron learned to perfect the technique of self-defense pirouettes so that nobody, not even the Parkour Posse could catch him. Between vicious street dance-offs, Aaron taught himself to program. He learned to combine the art of street ballet with the craft of software engineering. Using these unique skills, he was able to leave his life on the streets and become a professional software engineer. He is currently Pirouetting through Processes, and Couruing through code for Red Hat. Sometimes he thinks back fondly on his life in the Tender Tights, but then he remembers that it is better to have Tender Loved and Lost than to never have Tender Taught at all.
When Simon's not researching walruses or playing chaos monkey for the company's infrastructure, he's hard at work taming the wildlife of production, protecting Shopify from flash sales, scale, misbehaving resources and itself. Other than that, as a resident of Canada, fulfilling his obligation to call everyone out when they think they've experienced "cold weather".
Godfrey Chan is a open-source enthusiast from Vancouver, Canada. He is a co-founder at Brewhouse Software and a member of the Ruby on Rails core team. In his previous life, he was also an award-winning WordPress™ plugin author.
Nadia is a software engineer at Pivotal Labs London, recently working on the Cloud Foundry team. She joined the company after graduating from a software development bootcamp. Before that, while studying at Oxford for a degree in Economics, she fell in love with game theory. Nadia is a tech startup enthusiast, and in her spare time she runs The StoryGraph, an online creative writing publication.
Rachel is currently an instructor at the Turing School of Software & Design and co-leader of Denver's Girl Develop It chapter. Rachel started her professional career as an elementary and middle school teacher through Teach For America while earning her Masters degree in Curriculum and Instruction. She began dabbling in code when she realized there had to be a better way to record, analyze, and share student data. She attended Chicago's DevBootcamp during the summer of 2013 where her team created the SWOTBot, a student data management system. Rachel teaches coding classes to both K12 students and adults. She's passionate about equipping people with skills to change their lives.
Amy is the founder of Bubblesort Zines, zines about computer science aimed at high school girls. Previously, she did web development at Airbnb, machine learning research on the ASIMO team at Honda Research Institute in Japan, and HCI research at the University of Tokyo. She also enjoys hardware hacking and the intersection of art and technology-- in particular, making tools that enable people to be more creative.
Bryan Reinero is a Senior Consulting Engineer at MongoDB, helping users optimize MongoDB for scale and performance. Prior to his work as a Consulting Engineer, Bryan contributor to the Java Driver for MongoDB. Earlier Bryan was Software Engineering Manager at Valueclick, leading the design and development of large scale online marketing applications for advertising, retargeting, real-time bidding and campaign optimization. Earlier still, Bryan specialized in software for embedded systems at Ricoh Corporation. Bryan also developed data analysis, signal processing and aeroacoustic research software at the Experimental Physics Branch of Ames Research Center.
Nate Berkopec is a Rails developer of three years. He's worked at several startups, and now consults to growing companies that want to rapidly iterate and test new product ideas.
Lisa has over 15 years experience in software engineering, including leading and managing software development teams. Her career has taken her between London and New York at companies ranging from small startups to large media organizations - including the Guardian and the BBC. She is currently VP of Engineering at Stride.
Melinda Seckington is a Ruby developer at FutureLearn, a social learning platform. She loves attending and hacking at Hackdays, BarCamps and other tech meet ups, and since 2009 has been organising them at Geeks of London, including HACKED at the O2 last year. She also is the founder of MissGeeky.com, a blog about all things geeky and girly.
What does haggling at a garage sale have to do with load balancing in distributed systems? How does bidding in an art auction relate to cloud service orchestration? Familiarity with the ideas and technologies involved in cloud computing is becoming ever more important for developers. This talk will demonstrate how you can use game theory - the study of strategic decision making - to design more efficient, and innovative, distributed systems.
Understanding performance output can feel like reading tea leaves. It makes sense to a few people, but many of us are left in the dark; overwhelmed and frustrated by the data. On top of that there are a ton of performance tools to choose from; StackProf, RubyProf, AllocationTracer. Where do you even start? While working on speeding up integration tests in Rails source, I learned that the key to improving the performance of Ruby code is having a baseline, not relying on one profiler and understanding the advantages and limitations of your tools. By utilizing these methods, integration tests are now 3 times faster than they were in Rails 4.2.0, with more improvements being made every day. In this talk we will not only look at how to read performance output, but when and how to use the right profilers for the job. We'll discuss a variety of methods and techniques for benchmarking and profiling so you can get the most out of any performance tool.
The Amazon Echo recently debuted and made a big splash with its incredibly accurate voice recognition, capable of hearing and transliterating commands from 20-30 feet away. Home automation enthusiasts and hackers alike wondered if it would be possible to intercept commands from the device and trigger custom actions. While device traffic is encrypted, the device pushes commands to a history page in a web application. Using Watir WebDriver, which normally is used for feature testing, we've created a proxy that can be run on a Raspberry Pi as well as a modular Ruby framework based on Sinatra to run custom commands, allowing us to control the Hue wireless lighting system, Nest, and even request an Uber!
Whenever something has gone seriously wrong for me in production caching has been at the root of it. Live Q&A with Julian Assange almost brought the site down? Caching fail. Servers can't cope with traffic about a new woolly rat? Caching fail. Half the site is showing sorry pages? Caching fail. This talk will use these disasters to explain why the simplest caching is always the best.
In the 1980's, Nintendo had plans for making a knitting add-on to the NES, with an interface that resembled Mariopaint, but with patterned mittens, sweaters, and scarves as output. Sadly, this product never saw the light of day. Devastated upon hearing this and dreaming about what could have been, a group of engineers (who knew nothing about machine knitting) set out to hack a knitting machine from the 1980's to be computer-controlled, using a tutorial from adafruit as a starting point. Hear about our struggles and triumphs, which ranged from learning to replace knitting machine needles and conduct basic repairs, to emulating a floppy drive and hacking together a custom cable cable to send our own patterns to the machine, to writing our own yarn printer API in ruby/sinatra and printing our first doge meme in yarn. And watch us (LIVE!) as we send images and knit requests to our yarn server, and behold as it knits ugly sweaters from those images!
With Rails 5, Turbolinks is getting a nice upgrade, with new features like partial replacement and a progress bar with a public API. This talk will demonstrate how Rails 5 Turbolinks can achieve sub-100ms UI response times, and demonstrate some tools to help you get there.
Event Sourcing is powerful way to think about domain objects and transaction processing. Rather than persisting an object in it's current state, event sourcing instead writes an immutable log of deltas (domain events) to the database. from this set of events, an object's state is derived, at any point in the past, simply by replaying the event history sequentially. Event sourcing is a deceptively radical idea which challenges our contemporary notions about transaction processing, while also being a mature pattern with a long history. This talk will take a look at how event processing is used across a spectrum of use cases, including database engines and financial systems, to Google Docs hacks.
HAL, Skynet, KITT… we've always been intrigued by artificial intelligence, but have you ever stopped to considered the un-artificial? Most developers are familiar with the basics of AI: how do you make a computer, an algorithm, a system learn something? How do you model real world problems in such a way that an artificial mind can process them? What most don't realize though is that the same principles can be applied to people. This talk looks at some of the theories behind how machines learn versus how people learn, and maps it to real life examples of how specifically our users learn their way around interfaces and how designers and developers apply learning methodologies in their day-to-day actions.
The learning curve to becoming a great developer is incredibly steep, especially when starting with no background knowledge. And it's not a smooth ride, either - trying to learn tools, concepts, syntax, and best practices simultaneously will inevitably result in hiccups along the way. As a DevBootcamp alumnus, Rachel knows what it's like to go from zero to developer in a very short time frame and the challenges that journey can present. Now as an instructor at the Turing School of Software and Design, she draws on her years of experience in the classroom to employ strategies that allow her students just the right balance between hand-holding and struggling. In this talk, Rachel will share tips to help people who are just getting started with programming overcome common struggles while also sharing proven teaching techniques that will help more experienced developers become effective mentors.
Drives fail, databases crash, fibers get cut and unindexed queries hit production. Do you know how your application reacts to those events? Are they covered by tests? What about the failures you haven't even thought of? To avoid cascading failures applications must adopt general patterns to defend against misbehaving dependencies, including themselves. This talk covers the resiliency techniques Shopify has successfully put into production at scale, and how we write tests to ensure we don't reintroduce single points of failure. You'll walk away from this talk equipped with the tools to make your applications resilient and to better sleep at night.
The Altman Building, 135 West 18th Street
Stollway Event Space, 250 West 39th Street
Pier 40 at 353 West Street
Sponsoring GORUCO is a great way to connect with the Ruby community and show your support.We have openings for sponsorship of this year'sconference at all levels. Get in touch with us, we'd love to speak with firstname.lastname@example.org