Mark is returning for his second year speaking at the conference. He will be delivering an inspirational keynote to kick the event off.
Mark Bates is the founder and chief architect of the Boston, MA based consulting company, Meta42 Labs. Mark spends his days focusing on new application development and consulting for his clients. Mark is a co-organizer of the Boston Ruby Users Group. In 2009 Mark’s first (surprisingly not his last!) book, “Distributed Programming with Ruby”, was published by Addison-Wesley. In 2012 Addison-Wesley published Mark’s second book, “Programming in CoffeeScript”. At night he writes books, publishes www.metacasts.tv videos, raises kids, and occasionally he forms a band and “tries to make it”.
You've probably already read the GitHub blog post on Unicorn and "Zero Downtime Deploys" and would like to try it out for your application(s). This talk will cover the particular particulars of making this work. Detailed discussion will be given on our Unicorn, NGINX, Runit, RVM, Capistrano and Chef changes that needed to be made in order to make this work reliably. Approaches to migrations and schema changes will also be discussed. Even if your stack differs slightly, the salient points should be applicable. Once you have zero downtime deploys working, you'll wonder why you ever did deploys any other way. Say goodbye to cap deploy:maintenance. Secrets will be revealed!
Community-building can seem like a herculean effort that must be coordinated among many. But it doesn't have to be. One is plenty.
How can we handcraft a fulfilling code career? How can we support peers in developing theirs, whether newcomer or artisan? How can we contribute, without having to be expert? How do we develop social capital among community members, and channel those investments into people who are just entering? How will we craft a thriving community, using only simple tools & scarce local resources?
We'll examine the history of major successes -- in Ruby community, Python, and well beyond -- and extract lessons to apply generally. It's a story that weaves in personal narratives of rising into that, both well and clumsily. It's about transforming minor ambitions & frequent iterations into a scope of change that looks amazing. By making choices to do small things well and thoughtfully, rather than with concern for how they scale.
The future is real time! With the Rails 4.0 Live Streaming API we finally have the ability to easily add real time functionality to our apps. Learn all about the live streaming API, how best to take advantage of this in the browser, and how to deploy a real-time ready Rails app. Get ready to open your apps to a whole new world of interaction and functionality.
Topics we will cover:
* Live Streaming API
* EventMachine vs Rails 4.0
* Node.js vs Rails 4.0
* Polling vs Live Streaming
* Websockets & Rails 4.0
Ruby developers enjoy a certain job security, despite the current economic climate in the United States and elsewhere. Yet with the proliferation of technologies and startups (and subsequently jobs), the quality of life of many developers has seen a marked decrease in recent years. In an industry in which working 60+ hour weeks is seen as a status symbol, and many companies are offering incentives to remain at work in the guise of perks and benefits, it can be difficult for software developers to achieve a sustainable work-life balance. Further, developers often spend a great deal of time outside of business hours working on side projects, and consequently, many promising careers can lead to immense stress and, ultimately, burnout.
How, as developers, can we work toward a healthier lifestyle? How might devoting time to rest lead to increased productivity at work and greater psychological and physical well-being at home? Finally, how can we practically rest in ways that lead to more lasting benefits than just sitting in our pajamas on Saturday morning and sorting through our Twitter feeds? Drawing from recent developments in the fields of psychology and cognitive neuroscience, we will explore a physiological basis for the relationship between work and relaxation, as well as specific, practical exercises to achieve an optimal equilibrium between work performance and emotional health.
Nick Cox is a therapist and Ruby developer. Holding a master's degree in counseling psychology from The Seattle School of Theology and Psychology, Nick currently works as a Rails developer at Navigating Cancer, a biotech startup devoted to transforming the healthcare industry though patient centered care. He is most interested in the inner workings of human interaction, whether through the medium of computer language or human language. As a designer and developer, he occasionally writes typographic essays on his blog at everydaytype.com, is a frequent guest contributor to the Typekit blog, and is a passionate open source contributor, including contributions to Rails, Code Triage, and 24 Pull Requests.
Many Rubyists know Ruby for its ease of use as a web scripting language. Many sysadmins know Ruby for its server provisioning capacity and as a glue language to the shell. Many Rubyists don't know about how Ruby can be used in the world of embedded computing and microcontrollers to assist your daily life. Mruby expands the capabilities to robotics and hobby electronics, as well as small-scale automation. Learn about ways to embed ruby into your daily life with heat control, plant watering, helpful robots, and more.
By day, Andrew Nordman is a an engineer at Articulate developing education and training software in the eLearning industry. By night, Andrew is the co-founder of Cademon Brewing Company, an up-and-coming craft brewery in Northern Illinois. He spends his time finding new places to use Ruby including 3D Game Development, Brewery Automation, and Robotics.
Heroku has deployed millions of web apps. When you've run that many applications, it's hard not to notice when frameworks and developers do things wrong, and when they do them right. We've taken a look at the most common patterns and boiled down the best of our advice in to 12 simple factors that can help you build your next app to be stable, successful, and scaleable. After this talk you'll walk away with in depth knowledge of web framework design patterns and practical examples of how to improve your application code.
Negotiation is a critical part of our lives as programmers. It comes up in many contexts: when starting a gig (salary/benefits, employment or freelance contracts), when ending a gig (severance or debt settlement), and during our everyday lives (disagreements over features/architecture/other project decisions, prioritizing stories, convincing managers to give us time to pay down technical debt instead of just rolling out the next feature, explaining when something won't be possible or what will have to give to make it possible, etc.).
Effective negotiation and persuasion techniques can seem intuitive and therefore intimidating, but in fact they're simply another set of skills that you can study and practice and learn.
Have you ever wondered what that ~20MB of code in your Ruby installation is there for? You didn't know Ruby came with an eso- standard library?! Well it totally does, and there's a lot of hidden gems in there just waiting for you to uncover.
Allow me to guide you through some of the more delightful members of the standard library. I will hand pick libraries authored by the pioneers of Ruby and show you the useful bits.
Together we'll discover the bountiful archive of libraries that come packaged with Ruby.
Time and time again, skilled developers with good intentions set out into the green field of their new Rails app. Alas, as days turn to weeks, weeks to months and months to years, they find themselves with an ever increasing maintenance burden. Adding new features in a well-designed way starts to feel like an exercise in futility, so they resort to liberal use of conditionals to avoid breaking existing code. This leads to more complexity, and on the cycle goes.
It doesn't need to be like this. There's no silver bullet that will save your project from this fate, but by practicing a holistic approach to code quality you can stave off the maintenance monsters and keep your app's code feeling fresh and clean. This talk will look at low ceremony, common sense approaches to taking control of the quality of your codebase. You'll leave with an expanded toolbox of techniques to build a culture of quality within your organization.
With the advent of native and single page web apps, APIs are more important than ever. An application's API often must serve the needs of its own front end(s) as well as any third party applications and scripts that integrate with it. It should be flexible, yet follow strong conventions to be easily understood.
This talk will discuss strategies for building an ambitious API with Ruby. It will cover diverse topics such as authentication, versioning, side-loading and embedding related data, bulk access, and more.
Ruby's strengths lie in its ability to blend styles. We all know about OOP and Ruby, but it often leans functional, as well. There's a style of writing programs called 'Functional Reactive Programming' that is extremely useful in the Haskell world, but isn't really used in Ruby at all.
In this talk, Steve will show you FRP, an implementation of it in Ruby, and how to write programs in this style.