The conference will take place in downtown Pittsburgh on the 5th floor of the Heinz History Center.
This unique venue offers a view of one of the best city skylines in the world and an immersive, “3D” re-enactment of The Immaculate Reception. Where else can you get that?!
Steel City Ruby Conf is a single-track conference. That means everyone attending the conference has the same shared experience and there’s no need to worry about choosing between two awesome talks. Each talk is only 30 minutes with a 30 minute break in-between to allow for the all-important Hallway Track™. We believe the hallway track is just as important as the speaking track, so we devote an equal amount of time to each.
Conferences can be intimidating. And, yet, it is one of the only places where almost everybody has something in common with you. This presents amazing opportunities for making new friends and having great conversations.
Let’s talk about some of the tricks and tips that experienced conference-goers use to get the most out of attendance.
After 12 years of coding for money, Corey Haines said enough and went on a year-long, journeyman pair-programming tour. Traveling the world, pair-programming for room and board, he spent his time teaching, learning and just living as a knowledge-cross-pollinating, little, software craftsmanship bee. For the past three years, Corey has focused his attention on helping developers improve their fundamental software design skills through the use of focused-practice events, such as coderetreat. He currently specializes in training teams on fundamental development technical practices, as well as building projects and products when not on the road.
Ruby is one of the best object-oriented languages around. Ubiquitous objects, duck-typing, mixins, expressive syntax with low ceremony, powerful reflection and metaprogramming. But Ruby has a mixed heritage that incorporates functional and procedural models along with OOP. This flexibility provides many options for how to solve problems, but it can also lead even experienced developers into a confusing mix of programming styles and hard-to-understand software designs. But what can we do to keep things simple and easy to understand?
Alan Kay is often quoted as saying “Perspective is worth 80 IQ points.” So let’s get the right perspective on Ruby and look at it from the direction of objects and OOP. This talk examines the fundamental concepts of object-orientation, and presents a simple model for how to think about objects and object-oriented programming. Why are objects so useful? What makes object-oriented programs easy to write and maintain? What are the pitfalls of not keeping to the OOP model? And how many slides can it take to explain two sentences? We’ll answer all these questions and more!
Josh likes to say that Ruby is the love child of Lisp and Smalltalk, raised by Perl the eccentric nanny. He is CTO and co-founder of a startup you haven’t heard of yet (but will soon). Recently he spent several years at Pivotal Labs developing Rails web applications for clients, and is a high-ranked contributor to the Rails open source project. In past lives he’s done Smalltalk VM implementation and helped design the Java VM that runs on the SIM card in your iPhone. He is a regular panelist on the Ruby Rogues podcast, tweets as @joshsusser, and you can find his blog at blog.hasmanythrough.com. He currently lives in San Francisco, but grew up in Pittsburgh’s O’Hara Township and is a proud alumnus of the Fox Chapel Country Day School.
how to ruin your career as a programmer
Code. Why? Do what for what?
Adventures in software development.
Andrew Clay Shafer has been involved in technology in various capacity for the better part of two decades. He has programmed, done tech support, QA’d, UX designed, managed, founded, pestered, cajoled, loved and lost.
Andrew worked in companies of various shapes and sizes. Ranging from universities and large corporations, to the startiest of startups. Some people claim he had something to do with devops. He credits cloud computing for teaching him hard lessons about hardware, networking and storage.
Andrew tries to solve more problems than he causes. He has had marginal success.
Everyone acknowledges that the software field has an issue with gender balance, but there are many arguments about what to do about it. The social justice community uses the term ‘anti-oppression’ to describe techniques for being more inclusive to people of a wide variety of backgrounds, ethnicities, sexualities, and genders. Software developers generally lack exposure to these terms and techniques.
In this talk, Steve and Lindsey will introduce basic anti-oppression concepts, and provide specific examples of situations where we as software developers can use these tools to engender a more inclusive community.
Steve is a Ruby Hero, software craftsman, and an aspiring digital humanities scholar. He spends most of his time contributing to Open Source projects, and maintains both Hackety Hack and Shoes. He also teaches classes with JumpstartLab. Steve is also writing a book on Hypermedia and REST called “Designing Hypermedia APIs”. Otherwise, Steve travels the globe speaking at conferences from Los Angeles to Kiev.
Lindsey is a Philadelphian turned Pittsburgher, teacher, and lover of learning. She laments the current state of diversity in the technology community. To that end, she is involved in projects such as rstat.us, OSGCC, and TLI in an effort to promote open source ideals and programming education to all. Lindsey promotes the discussion of gender and privilege in technology through her somewhat controversial blog. In her free time, she drinks copious cups of tea and cuts and paints stencils on canvases and shirts.
To call it a key-value store would be an understatement. To call it a database would be an overstatement. To call it NoSQL would be cause for defenestration. Redis, quite simply, stands on its own as a remarkable way to store data structures: strings, lists, sets, sorted sets, and hashes.
This talk will articulate the significance and elegance of its design and explore some conventional and rather unconventional ways that you can use Redis in your own applications. If you’re new to Redis, prepare to fall in love, and even if you’re already quite enamored, you’ll definitely enjoy the section about best practices and advanced usage.
Jeff Casimir taught high school computer science before co-founding a charter middle school in DC then creating JumpstartLab in 2009. In 2012 he’s focused on constructing the Hungry Academy developer apprenticeship with LivingSocial and helping to grow the Ruby community.
Contributing to Open Source can be a fun and rewarding experience. Whether you’ve run in to bugs that need to be fixed, or you would just like to give back to the community, this talk will be a practical guide to getting involved in the world of Open Source Software. Topics will range from bug reporting and patch submission to team dynamics, but with an emphasis on practical aspects. Stories will be told, patches will be made, but remember: Having a luck dragon with you is the only way to go on a quest.
Aaron Tenderlove Patterson (December 16th, 1980 – ) is an American educator, software developer, and awesome guy. Patterson is most famous for Ruby and Rails core, his god-among-men beard, and creating and hosting Friday Hugs, which feature his gentle, soft-spoken personality and directness to his audiences.
It’s a well-known fact that start-ups and small business just do not have the purchasing power that the big guys have. That goes for everything from paper clips to software licenses. In the past, the major players in the VoiceXML space required serious contract commitments and high monthly minimums to provide the ability to generate telephone communications and text messages. Well, little guys rejoice! Now there is Twilio, a pay-as-you-go telecom platform written for web developers by web developers that provides an affordable, not to mention easy, way to integrate phone communications into applications.
This talk will cover everything you need to get your application up and running with Twilio and even provide real-time examples. For experienced rubyists and beginners alike, if you’ve ever considered or have been tasked with integrating telephone and text communications into your applications, Twilio just might be what you’re looking for.
Jennifer discovered a passion for Ruby and Ruby on Rails a few years ago when her then-manager announced the enterprise JAVA project she was working on would be rewritten in Rails. She has since lead the development of several in-house Rails applications and has contributed to projects in the community. Jennifer is currently the Principal Lead at NewCare Solutions, a local Pittsburgh startup, and is a founding member of pghrb. When not doing techie things, Jennifer enjoys spending time with her husband, children and the alpacas on their farm, spinning yarn, knitting and canoeing.
Every Ruby developer uses the Rake program all the time, whether to run the database migrations in their Rails project or to just execute their tests. Some might have even written their own rake tasks to help them perform some menial development task.
But Rake has capabilities far beyond just simple task automation. Rake is a fine grained, dependency driven, build tool that knows how to transform files, walk directory trees, and serve you supper. And it does it with the minimal possible effort. (I might have lied about the supper.)
In this talk we will cover the “hidden” features of Rake that are not typically used by the casual Rake user. We will learn about the convenience of file lists, dynamic generation of tasks, rule based file generation and more. Come learn about Power Rake.
MOTIVATION: I’ve noticed lately that a lot of people are writing rake tasks that just barely scratch the surface of the capabilities that are embedded in rake. They manually build lists of files rather than use FileLists. They use clumsy regular expressions to manipulate file names rather than use the pathmap command. And they use coarse grained dependencies to rebuild the world rather than really defining what their dependencies are. This talk is me doing my little bit to help folks use Rake more effectively.
Jim Weirich first learned about computers when his college adviser suggested he take a computer science course: “It will be useful, and you might enjoy it.” With those prophetic words, Jim has been developing now for over 25 years, working with everything from crunching rocket launch data on supercomputers to wiring up servos and LEDs on micro-controllers. Currently he loves working in Ruby and Rails as the Chief Scientist at EdgeCase, but you can also find him strumming on his ukulele as time permits.
We spend a large portion of our time thinking about code and technical project issues. What about the people side of things? The majority of project failures occur because of people, not technology. What we need are guides that help us navigate the waters between the people around us.
People Patterns introduces my latest effort to capture the subtleties and nuances of interpersonal relations. I’m distilling a lot of experience, a bit of psychology and a substantial amount of research and have come up with a series of patterns that can help everyone be more successful in teams and at work. How do you have those critical conversations? How do you get your point across when you think the other person is incompetent? Come and help me reveal these and join a lively discussion.
Joe is a father, business owner, speaker and developer. In 2006 he co-founded EdgeCase, a leading Ruby and Ruby on Rails training and consulting company. EdgeCase has had a tremendous amount of success helping companies as large as Ingersoll Rand, GAP and AT&T Interactive as well as those startups still in the inception stage. Joe has been a trainer for well over three years on testing and development with Ruby and Ruby on Rails. He is also a speaker and have spoken at conferences ranging from RailsConf to numerous regional and international conferences and countless user groups.