RubyNation Schedule

Linda Liukas

Linda Liukas

@lindaliukas

Linda Liukas is a programmer, storyteller and illustrator. Her children's book, Hello Ruby, is the "world’s most whimsical way to learn about technology, computing and coding.” Liukas founded Rails Girls, which has organized workshops in over 230 cities, teaching the basics of programming to more than 10,000 women. Linda worked at Codeacademy, which she left to write stories that teach children about software and programming. She won the 2013 Ruby Hero prize and was named the Digital Champion of Finland by the EU Commissioner for Digital Agenda.

Principles of Play

If code is the colouring pens and lego blocks of our times - the tools of creation - how do we teach the curiosity, joy and wonder to our kids? I spent last year looking at programming and play: how to create experiences that go deeper than just learning logic.

So, just like Alice, I swallowed the blue pill and fell down inside the machine.

Aaron Patterson

Aaron Patterson

@tenderlove

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.

Pat Allan

Pat Allan

@pat

Gelato connoisseur, pancake master, recovering events organiser, and web developer based in Melbourne, Australia. As well as working with talented development teams and writing open source Ruby libraries, Pat is a fan of bringing people together for gatherings small and large, including Trampoline, Rails Camp, and RubyConf AU.

Open Source: Power and the Passion

Especially as Rubyists, Open Source is one of the foundation pillars of our industry. You probably use the power of open source software every day: in the code you write, the tools you build with, the servers you deploy to.

But perhaps it’s not quite the stable foundation we were hoping for? This talk will cover the various strengths and weaknesses of both open source and our reliance upon it, so we can trade in our assumptions for a greater awareness of the issues. Then together, we can find a path towards a more sustainable open source ecosystem.

Sean Marcia

Sean Marcia

@seanmarcia

Sean is a tireless do-gooder. He created and organizes Ruby for Good, and spends his day job working to make higher education more sane. He loves the programming community and can't believe he is paid to have this much fun. When not programming he loves being outdoors (especially national parks), drinking coffee from Portland, eating dried seaweed and playing with dogs.

Let's Save the World Together

The world was recently astounded when AlphaGo beat the world go champion, Lee Sedol. Since the match we’ve routinely heard words like machine learning, neural networks, supervised and unsupervised learning but what do they all mean and what are they good for? Find out how we are using machine learning techniques to help smithsonian researcher Elizabeth Freeman in her research studying red pandas. You’ll leave this talk with a conceptual high-level overview of the different machine learning techniques and the different use cases of each. You’ll also leave this talk having seen a lot of adorable red panda pictures.

Christopher Sexton

Leah and Christopher Sexton

@crsexton

Leah is a 4th Grader who has a knack for fixing things and has started tinkering with coding through tools like code.org. While she likes to help her dad in his workshop, her favorite activity is Gymnastics. She wants to be a teacher when she grows up.

Christopher is the VP of Engineering at Radius Networks, where he builds mobile proximity tools and services. He cofounded the Arlington Ruby group, and helps organize both Ruby Retrocession and Ruby for Good events.

Hardware Hacking: You can be a Maker

There is something fundamentally satisfying about building things that bridge the gap between your code and the physical world. This father/daughter duo will show you how they’ve bridge that gap.

I frequently find Rubyists that are interested in tinkering with hardware but are often intimidated by the idea. Turns out, it is so easy even a grown-up can do it. In fact, it is easier than it has ever been. And the best part is, you can use little Ruby.

Kirsten Hunter

Kirsten Hunter

@synedra

Kirsten Hunter is an unapologetic hacker and passionate advocate for the development community. Her technical interests range from graph databases to cloud services, and her experience supporting and evangelizing REST APIs has given her a unique perspective on developer success. In her copious free time she’s a gamer, fantasy reader, and all around rabble-rouser. Code samples, recipes, and philosophical musings can be found at Princess Polymath.

Quantifying your Fitness

Kirsten has created a system, available on Github, which interacts with Fitbit, MyFitnessPal, and Withings, to create a health tracking system. It will send nagging notes via SMS using Twilio, change the colors of a Philips hue lightbulb based on progress for the day, and interact with any other API-driven service. Examples of all of these will be shared with you in a fantastic live demo! What Gets Measured Gets Done!

Valerie Woolard

Valerie Woolard

@valeriecodes

Valerie Woolard is a software engineer at Panoply. She loves podcasts, language, running, and vegetarian food. She leads Women Who Code DC's algorithms meetup and teaches classes with Girl Develop It DC.

Finding Translations: Localization and Internationalization

Translation, be it a word, sentence, concept, or idea, for different audiences has always been a challenge. This talk tackles problems of translation, especially those that tend to crop up in building software. We’ll dive into the eminently practical—how to design apps for easier localization, common pitfalls, solutions for managing translations, approaches to version control with translations—and the more subjective—possible impacts of cultural differences, and what makes a “good” translation.

David Bock

David Bock

@bokmann

Mr. Bock, after an upstanding career using Java in the Federal Contracting space, turned to programming Ruby full time in 2006 and has never looked back. He has now fully degenerated into corrupting the minds of our youth by posing at a “Teacher’s Assistant” for a java-based high school curriculum, only to expose teenagers to Ruby and tempt them with the Dark Side of the Force. When building the computer referenced in this talk with his students in a public library this summer, the librarians seriously considered calling Homeland Security because of all the talk about ‘hacking’.

What Computer Scientists Know: Talking to the Microprocessor

Last Summer I built a 1980’s era 8 bit computer containing a Z-80 microprocessor and 2 kilobytes of ram. You program it by flipping switches and make it communicate to the world by blinking lights. This is as low level as you can get without building it out of your own transitsors, but believe it or not, an understanding at this low a level aids in understanding one of the newest features in Ruby 2.3.

In this talk, we’ll learn about Machine language. We’ll implement a small program that blinks the lights in a pattern called a “Larson Scanner”, talk about math, loops, etc. at the lowest level - the language of the processor. We’ll talk about how a language like Ruby gets translated to this low level. Finally, I’ll make it relevant and bring it all around to one of the newest features in Ruby 2.3, the experimental class binary serializer, used to improve application start times.

Prathamesh Sonpatki

Prathamesh Sonpatki

@_cha1tanya

Prathamesh is Director at BigBinary, where he builds web apps using Rails and React.js! He is interested in open source and contributes to many Ruby and Rails related projects. Prathamesh is part of the Rails issues team and contributes heavily to Ruby on Rails and other related projects.

Prathamesh likes Emacs operating system a lot and can be found constantly tweaking his .emacs.d.

Features of Rails 5 you haven't heard about

There are many interesting things in Rails 5 including Action Cable, API support and much more!

But there are also some hidden features behind the curtains – like versioned migrations, changes to testing, improved caching and more.

Let’s discuss these hidden things and how they make Rails 5 better.

Nathan Hessler

Nathan Hessler

@spune

So many things to put here. Should I mention I’m a fan of old fashions? FYI - there is only one way to make an old fashioned. Or, that I organize NoVA Code and Coffee. Or, that I’m currently learning Elixir? These all seem great, but don’t really get at who I am as a person. how about this, if you would like to know more, please say hello and start up a conversation.

The Bouncy Path To Trampolines

The method stack, recursion, tail call optimizations. what does it all mean? Do we have to rely on our language interpreter or compiler to handle these things for us? Lets see what we can learn.

Elle Meredith

Elle Meredith

@aemeredith

Elle works at thoughtbot as a developer. She has been building websites for over a decade. Since 2007, those websites have been in Ruby. She was a Ruby Australia committee member, an organiser for Ruby Conf AU 2014, and Rails Girls Sydney events. This year, Elle is a co-organiser for GORUCO 2016 conference and Rails Camp USA East Coast. She also runs women’s work jelly events at thoughtbot’s NYC office. When she is not immersed in the Ruby community, she is probably immersed in water. You can talk to her on Twitter at @aemeredith.

Self-learning is a Marathon, Not a Sprint

The web industry never stops evolving and changing. We have to keep on our toes and learn the new hot thing. If you have family and kids, finding the time to learn, as well as the motivation and energy, can be difficult. On the other hand, if you just started learning web technologies, you might find the scope of what to learn or where to start overwhelming.

This talk is my list of tips, techniques, and strategies I use when I self-learn. It starts by covering some prerequisite concepts: the notion of continuous self-improvement; knowing the style of learning that works for you; and others. It continues with what to do first, strategies for improving your skills, possible resources you might find useful, and other avenues to keep learning. Basically, it is my kitchen sink for all the things I do or would like to do for my self-learning. Hopefully, you can find one or two things here to keep you motivated, and on your way.

Jonathan Keam

Jonathan Keam

@jonnyman9

Jon Keam, originally from Houston, Texas; but now a full-time Virginian. Studied Computer Engineering at Virginia Tech before working for a few years at Red Hat. Then left to try living the startup life and is still doing so now. Loves cats and cat shirts and is also a big fan of the Washington Capitals hockey team, although he finds it ironic that he hates the cold and has no idea how to skate but yet loves hockey.

A Closer Look: Breaking Apart HTTP

HTTP2 is all the rage now, but what exactly is HTTP? Everybody uses it daily to surf the web, every web developer implicitly trusts that it will just work. It is the backbone of the internet. It has been around a long time and has grown and matured over many years and yet, for the most part, has remained unchanged. Even HTTP2 is leaving much of it the same. A large part of this is because of how well it was designed and how we are able to build and expand on top of it.

This talk will cover the evolution of HTTP and how it became to be the defacto protocol of the web. This talk will also include a deep dive into the nuts and bolts of how HTTP works and will peel away the many layers of the onion to show all of the various other protocols and standards that HTTP builds upon; and what is new and upcoming in HTTP2. As a bonus, there will be a live interactive demonstration where HTTP connections will be dissected and examined in real time.

This talk is for any developer that has ever been curious on how information flows on the internet. They should walk away from this with an understanding and appreciation of HTTP and the all of the work that has enabled the web to be what it is today; and allows us to dream and build the exciting things that we do today.

Alan deLevie

Alan deLevie

@adelevie

Alan is a developer at 18F, a digital consultancy for the federal government, housed within the General Services Administration. He is on the Acquisitions Services team at 18F, which strives to make government procurement joyful.

How and Why 18F Built the Micro-Purchase Bidding Platform

In the talk, I will discuss 18F's micro-purchase platform, which makes it easy to get paid by the government to contribute to open source projects. Topics will include why we built the platform (to explore a new method of software contracting, to attract new companies to work with the government, and to help advocate for the value of open source code in the federal government), how we built it (a set of tools and services centered around a Rails app), and where we see the program going.

Yatish Mehta

Yatish Mehta

@yatish27

I am Yatish, Software Engineer at Coupa Software. NC State Graduate, I have been part of Fab.com and Sungard. Ruby is my first love and I am still committed to her. Recently, I have started to toy with Golang. If not experimenting with software, I love experimenting with flavors. I am big Suits fan.

ActionCable and ReactJS Tie the Knot

For long we have been dependent on Node/socket.io for push notifications. It can get difficult to use a separate application/service just for it. ReactJS is a very convenient frontend component based framework. It gets really interesting and productive when we use them together. The talk starts with a brief introduction about both technologies to get everyone at par. Later we build an app with real time notifications using ActionCable and ReactJS. It also exemplifies scenarios of the real world where it can be used. It will also exemplify scenarios where this combination can be used. Everyone walks out with a deep understanding on how to use ActionCable and React together or separately and how it can be added in existing projects.

Daniel Farrell

Daniel Farrell

@danielfarrell

Daniel leads the web team at Mobelux, a product team for hire in Richmond, VA. Building real world web applications that solve real problems is a passion of his.

When is isn’t coding, he can be found rock climbing, or slacklining, or kayaking, or camping, or hiking, or whatever other latest way he comes up with to be outside.

Drinking from Another Cup, Elixir for Rubyists

Elixir came to our attention a few years back because all Rubyists love Jose Valim and Dave Thomas. When Jose puts out a piece of software that Dave can’t stop talking about, we pay attention. What we found when we looked at it was nice too. A Ruby-like functional programming language targeting the Erlang Virtual Machine is both novel and exciting. What has happened since we first heard about it is that it went past 1.0 and got a great web framework(Phoenix).

Now Elixir/Phoenix is growing up, and should be considered for your next project. We will explore the latest and greatest features in our functional cousin’s world, and also explore what are the use cases that should make you consider choosing Elixir/Phoenix for a new project instead of your trusty Ruby/Rails.

Adam Walker

Adam Walker

@acontius

I am a Rubyist / Bioinformatician working in Laboratory Information Systems. I wrestle with vials, -80° robotic freezers and keeping aliquots accounted for with RFID. I have a passion for Science & Technology and love to share my excitement and enthusiasm with young minds through free community classes in Western Maryland and Panhandle West Virginia.

Tagging your world with RFID

Learn all the wonderful uses of UHF & NFC RFID tags and how Ruby makes it easy to read, write and deploy real time asset tracking systems. By the end of this session, you’ll learn how to track in realtime your pets, clothes, keys, and even make a tool that assists with your grocery shopping.

Andrea Goulet

Andrea Goulet

@andreagoulet

Andrea Goulet is the CEO of Corgibytes, a software development shop dedicated to maintaining and modernizing software applications. Don’t be fooled by her decade of marketing experience; Andrea slings some solid code. She frequently speaks about building a business based on balance, empathy, and trust; the perils of the technical/non-technical divide; the challenges and opportunities of being a woman in the software industry; and the technical philosophies around working with legacy code.

In her spare time, Andrea enjoys hosting Free Code Camp events at her local co-working space and blogging at Empathy Driven Development. She loves watching her kids explore the world and is a sucker for a good physics documentary. You can recognize her by the JavaScript tattoo on her wrist.

Communication Is Just As Important As Code

The idea of a lone developer coding in their basement without social interaction is a thing of the past. These days, technical solutions are often developed by cross-functional teams whose participants have a range of technical experience. Now, more than ever, good communication skills are an essential part of being a software developer.

In this talk, Andrea Goulet, CEO of Corgibytes, will share immediately actionable communication principles that will help you; get buy-in for your ideas, reduce conflict and tension, increase productivity, be liked and respected.

Andrea has taught communication skills to thousands of people in world-class brands across the globe, including The Smithsonian, The Center for Disease Control and Prevention, Verizon, and more. If you’re looking to take your career to the next level, this is one talk you won’t want to miss.

Chris Mar

Chris Mar

@cmar

I’m a Staff Engineer at CustomInk. We have been running a monorail since Rails 1.1.4.

I’m an organizer for RubyLoco and a host on Ruby5.

Where Do Services Come From?

Welcome to Rails! All you need are models and controllers. But what happens as your code starts go grow? Where does it go? Let’s figure it out.

Let me tell you a story of the evolution of an application. A simple problem solved in a controller method could eventually grow into a full blown remote service. Object oriented principles are key. How do we get there? Be prepared. I’ll share experiences from the trenches.

Gregory Hodum

Gregory Hodum

Gregory has been working in software development and application architecture since 1997, and in Ruby on Rails since 2014. A Senior Consultant at Solution Street, he lives in Northern Virginia with his wife and two kids.

Architecting Multiple Ruby on Rails Applications that Share a Common Code Base

Your client just called. They want you to build another Ruby on Rails application that is similar to the one you just developed… but a little different. Panic! How do you take the best parts of the existing application and re-use them in the new application? Copy and paste :-(. No, we are better than that. This presentation will discuss the challenges and potential solutions of creating distinct Ruby on Rails applications that share a common code base. We will discuss using Rails Engines, concerns, and code refactoring as potential solutions to this problem. Attendees are encouraged to discuss their experiences and approaches to this problem.

Will Leinweber

Will Leinweber

@leinweber

Will doesn’t really want to think about how long he’s been working with Ruby. He is currently working on horizontally scalable Postgres at Citus Data, and before that was a principal member of the Heroku Postgres team. Please don’t try to right-click and steal the source for his WebSite bitfission.com.

Introducing the Crystal Programming Language

Developer happiness is what brought me to Ruby in the first place. And of all the new compiled languages, Crystal is the only one that shares this value. The syntax and idioms are entirely Ruby inspired.

Although Crystal looks very similar to Ruby, there are big differences between the two. Crystal is statically typed and dispatched. While there are no runtime dynamic features, the compile-time macros solve many of the same problems.

In this session, we’ll take a close look at these differences as well as the similarities, and what Ruby developers can learn from this exciting language.

Samuel Hamblin

Samuel Hamblin

@tomatoeoreos

I’m a beginner to Ruby and a junior in high school with a bad case senioritis. Despite my inexperience in the field, I am very passionate about programming and intend to make it my career after surviving high school and college. Ruby nation was the first conference I ever attended and I am excited to go again this year.

Why Developers Should Work With High School Students (Do it for the kids man)

I became interested in computer science in freshman year of high school. That was two and a half years ago. Now I am obsessed with CS. I bring it into everything I do. I used it to pass my Algebra SOL test using pocket basic on my Ti-84. I use it to create a web app for a school club I am passionate about using Rails. I didn’t become obsessed with development because the curriculum is so amazing. I became obsessed with it because of the amazing volunteers who come to my school and inspire me and my classmates. Talking to students in other schools I found that very few have these amazing volunteers so I want to tell you more about why you should volunteer to help high school students learn CS and what you can do.

Sung Kim

Sung Kim

@sk187

With hundreds of clinical hours implementing behavioral interventions and a interdisciplinary degree in Psychology and Economics, Sung is now a software engineer at Booz Allen Hamilton.

He is passionate about understanding, designing and increasing the efficiency / usability of systems.

When he is not coding he tries to do “non-coding” hobbies that inevitably end up requiring some code. Currently he is architecting / automating a coral reef aquarium with some raspberry pi.

Let's Play A Game! Gamification: What is it and why should we play?

Gamification is the application of game elements and designs to “non-game” problems. With Psychology and Economics research, gamification has great potential in making arduous tasks more palatable, motivating users and even help solve difficult problems through social collaboration.

While the promise of Gamification is immense, it is no free lunch. Designing and implementing features at the very least involve additional time and resources. Worse, if poorly implemented, it can be a serious liability that drives users away.

This session will be a brief introduction to Gamification, key findings in the field and examples in the wild (both good and bad).

Philip Bien

Philip Bien

I am a student at Loudoun Valley High School taking AP Computer Science, and I participate in our school's ACM ICPC Programming Team.

Cracking the Safe

This year there was a question in the Virginia Tech competition that stumped our team. Mr Bock (our TA) showed us solutions in Ruby and Java, but I felt it left something to be desired; the problem asked us to find 'how many steps' it took to solve a problem, but the answer to the question found *all* the solutions, only to count the steps, find the smallest one, and return a single number. Finding the solutions just to throw them away seemed stupid to me.

Thus began an obsession. Mr. Bock and I, in an effort to find an algebraic solution to the problem, wrote a program to create every possible variant on the puzzle at the root of the problem, and find every possible answer to those variants. With about a gigabyte of data, we started looking for patterns ...

In this talk I'd like to introduce you to the problem from the coding competition, walk you through the suggested solution, show you our data set, and the things we learned on the journey.