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 AT&T. 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.TopicRefactoring Rails
In this presentation we will look at some refactoring techniques used to transform difficult code in to something maintainable. Along the way we will learn about some internals of Rails, including design concepts and potential speed improvements. We'll learn about Rails internals and refactoring techniques, and how we can apply lessons learned to our own applications.
Ola Bini works as a language geek for ThoughtWorks in Chicago. He is from Sweden but don't hold that against him. He is one of the JRuby core developers and have been involved in JRuby development since 2006. At one point in time, Ola got tired of all existing programming languages and decided to create his own, called Ioke. Then he did it again, and started work on Seph.
He has written Practical JRuby on Rails Projects for APress, co-authored Using JRuby for the Pragmatic Programmers, talked at numerous conferences, and contributed to a large amount of open source projects. He is also a member of the JSR292 Expert Group.
His main passion lies in implementing languages, working on regular expression engines and trying to figure out how to create good YAML parsers.TopicJRuby For The Win
JRuby is an implementation of Ruby for the JVM. It gives you unprecedented integration with the Java ecosystem while still having access to great Ruby libraries such as Rails, RSpec and many more.
JRuby has gone from being an alternative implementation of Ruby, to a battle hardened tool that many enterprises are using in production. The update in the community means that most gems now are released with outstanding JRuby compatibility, and JRuby can still be counted as the fastest implementation of Ruby.
In this presentation we will take a look at the reasons for using JRuby, how to get started and what things you can do with JRuby that no other platform gives you.
Pablo Astigarraga (best known as pote) spends his time writing debatably passable code, doing software engineering at Citrusbyte and somehow tricking the world into thinking he knows what he is doing.
Passionate about open source, doing things right, having fun with cool people and using spaces instead of tabs, pote copes with a somewhat unhealthy relationship with moustaches and is always willing to discuss the evils of premature optimization over a beer.Topic50 Shades Of MVC
We at the Rails world are very proud of embracing the Model-View-Controller design pattern, it is integral to the way we build web applications and there is a general consensus that all of us generally know what we are talking about in regards to it, hell , most of our code files are under a model, controller or views directories! We've got to know what we are doing, right?
Much like Object Orientation the Model-View-Controller pattern is one of the most popular-yet-heavily-altered concepts in modern computer science, what were the original propositions of the pattern? How was it applied back in the 70's, when it was proposed as a part of Smalltalk? How much have we changed it to adapt it to the web application scene? How can we apply this to our day to day work in 2013? is altering the original pattern necessarily a bad thing?
On this talk I present different aspects of the MVC pattern and its changes from its inception to modern day use, what to keep in mind about the pattern as opposed to a single framework's implementation of it and how knowing this should make us all around better programmers.
This talk will describe several strategies of transporting data between backend and frontend with the gon gem. It covers:
- simple variable transfer
- complex serialization with Rabl and JBuilder templates
- easy way to set initial or global data for whole application
- real-life examples
- nice mood with a set of nifty pics
- and a bit of spice: Gon internals!
Luismi Cavallé works at BeBanjo. He's been putting together lines of Ruby code for fun and profit since 2006. He's an active open-source contributor and got his 15 minutes of fame a couple of years back as the author of Steak (later revealed as a [scam](http://steak-is-a-scam.heroku.com)). He's been involved with the Ruby community in Spain organising and speaking at local conferences and leading the Madrid Ruby users group. He lives now in London.TopicKeep Your ActiveRecord Models Manageable The Rails Way
Rails is awesome! It makes it very easy and enjoyable to start a new project. However, as your application grows, you will eventually have to come off the Rails or your codebase will become completely unmanageable. Everyone knows that.
You'll need presenters and a service layer, including role and use-case objects. DCI will be great too or, alternatively, you can go Hexagonal. After all, the web is just a delivery mechanism, the database is a mere persistence strategy and, of course, Rails is a detail.
But… Wait a minute! Is that really true? Does the _Rails way_ no longer work when your application becomes large? How is it, then, that Rails claims to be “optimised for sustainable productivity”?
In this talk, we'll revisit the patterns and conventions that Rails encourages. We'll push them to the limit and see how the maintainers of large Rails applications keep their models manageable without needing to derail. We'll also discuss the trade-offs of being on and off the Rails. And, maybe, you'll finally learn how to stop worrying and love the Rails way!
I'm a Ruby on Rails freelancer who has a strong focus on code quality, problem solving, server performance and scalability. I'm the author of bullet and rails_best_practices gems, the founder of http://rails-bestpractices.com.TopicBuilding Asynchronous APIs
I have built API services on high-traffic platforms using different techniques - multi-processors, multi-threads and evented servers. In this talk, I will share the pros and cons of each technique, and introduce why async non-blocking API service is important for high-traffic websites. I will also show how to easily migrate a Rails synchronous API service to an asynchronous API service.
SpeakerPaul GallagherTopicRuby - The Hard Bits
Founder/Instructor of a Ruby / Rails Web Development School http://www.codemy.net.
Previously was working at http://www.oozou.com as a lead developer on several projects.TopicA Better UJS For Rails
Lightning TalksSpeakerMax Gorin
Max Gorin, aka @nomadcoder, is a nomadic web-developer, the author and maintainer of Netzke, a nature lover and a productivity geek.TopicClient-Server GUI Web Components With Ext JS And Rails
Modular approach to complex RIA (rich internet applications) gives considerable advantages over the commonly used MVC: structuring code into well defined components provides for high scalability, reusability and testability of the code. Besides, with components being a Ruby class, developers have full access to such OOP techniques as inheritance and mixins.
The Netzke open source framework takes all the hard work of enabling these techniques to create web components using Ruby for the server-side, and Sencha Ext JS for the client-side code. This talk will give you an introduction to rationale behind Netzke, as well as show you some very cool code, which will make you want to give it a try in your next project.SpeakerBartosz Knapik
Bartosz is a Senior Developer at Lunar Logic Polska. Born with a passion for scripting languages and SOLID principles (which explains his enthusiasm to AngularJS). Been growing with Ruby on Rails since 1.2. Affected by love of travel, explores new areas and cultures in both IT and real worlds. Eager to share knowledge, do dev meetings and workshops.TopicMeet AngularJs And Fall In Love
I have a proposal for you - angular.js. In this talk I will show what angular.js is and how it is structured. Then I will explain how to build mvc components and test them. Additionally I will provide recipes and guidelines from my 3 years of experience using it.SpeakerMatthew Rudy Jacobs
Matthew has been coding Ruby since 2006. He is a founder of Hong Kong Codeaholics, and a Mandarin learner.TopicMake Me A Better Rubyist!
If only there were a magic wand we could wave, and we would suddenly become wise, efficient, and passionate. In reality it takes years of hard work to build the skills and experience necessary. In this talk I'll speak about ways to improve learning, both as an individual, and as a community.SpeakerKentaro Kuribayashi
Kentaro Kuribayashi, also known as @kentaro/antipop, is a Tokyo-based software engineer, Rubyist/Perl Monger, working for papreboy&co. http://kentarok.org/TopicGlint: Fires Arbitrary TCP Server Processs For Tests
We use many middlewares like memcached, redis, and some other TCP servers. When we test our app, stubbing out connections to such servers can be useful. However, we can't confirm if our code works actually fine in real situation.
Glint is a library which allows users to fire up arbitrary TCP servers and test against those real servers without stubbing. While it's a very tiny tool, it can be used in various way combined with many servers. I'll provide a way to solve the problem described above using Glint and show you some examples how to use it.SpeakerRobert Roach
In a previous lifetime, Rob had a corporate career in telecoms, specializing in voice and data networking and Linux. Integrating Asterisk and VoIP solutions with web based applications brought him the beautiful world of Ruby and Rails by way of the Adhearsion project. In his current role as CTO of a Singapore based social media startup, taggo.me, he is working to put Rails and Ember.js at the center of a revolution in the payments/loyalty program industry.TopicEmberJS
Introduction to using EmberJS in Rails projects
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 Neo, but you can also find him strumming on his ukulele as time permits.TopicCode Kata And Analysis
A Code Kata is a simple programming exercise, practiced repeatably by a developer. Much like a musician practices scales and finger exercises to develop his musical skills, a developer will practice code katas to develop his programming skills.
This talk will be a live performance of a simple TDD-based code Kata, followed by an analysis of the forces and choices involved in the feedback loop between the code and the tests encountered during the kata. By examining this interaction of tests and code, we come to a better understanding of how to use tests to actively affect the direction of our design. By reflecting on the process, we understand how to pick 'what to test next'.
This talk is targeted for developers who have started using Test Driven Design (TDD) and feel that they don't quite 'get it' yet, and are looking for guidance in the technique.
José Valim (@josevalim) is a Rails Core Team Member, author of Crafting Rails Applications and co-founder of Plataformatec, a consultancy firm based in Brazil. He started working with Ruby in late 2006 and received a Ruby Hero award for his open source work on Devise, Simple Form and Rails itself. He enjoys travelling around, speaking at conferences and lately working on Elixir, a programming language for the Erlang VM.TopicConcurrency In Ruby: Tools Of The Trade
Concurrency has been a popular topic in the programming community in the latest decade and has received special attention in the Ruby community in the latest years. In this talk, José Valim will showcase the tools we have available in Ruby and in the community today, focusing on common pitfalls. This is a great opportunity to discuss why concurrency matters and how we could move forward.
Akira is a Rails committer, a member of the CRuby core, an author of widely used Rails plugins such as Kaminari and ActiveDecorator, and the founder of 'Asakusa.rb', the most active Ruby community in Japan.TopicRuby 2.0 On Rails In Production
Simon is a programmer based in Chiang Mai, Thailand, where he runs a software development shop. He is also cofounder of SiliconSoi, a project aimed at improving local developer skills, and groundSwell, a healthcare software startup based in California. When not writing code, he enjoys cooking, running and walking up mountains.TopicOptimising Self
If you were building a system that was going to be in production for 10 or 20 years, you'd be pretty serious about your development processes. As a programmer, you will likely be in production *yourself* for considerably longer than that. So how is your self-development process looking? Are you optimising yourself for current performance and long-term viability?
In this talk we'll consider some aspects - both mental and physical - you may want to be thinking about to make sure personal and professional growth continues smoothly. And also ask if these ideas could be more prominent in how we teach and mentor other programmers.
Ruby commiter, Advanced senior engineer in paperboy&co., Inc. Member of asakusa.rb and one of the organizer of RailsGirls in Japan.TopicFrom 'Legacy' To 'Edge': Continuous Upgrades For Rails Apps
We have a lot of Rails 2.x applications with Ruby 1.8 in production, and engineers feel incredible pain because they can't use a lot of gems and Ruby 1.9 features.
In this talk, I'll share my thoughts on the following:
- Why do we need to upgrade Ruby and Rails?
- What are the strategies available to upgrade Ruby and Rails?
- How do we reduce technical debt?
- How do we upgrade Rails while adding new features?
- How do we do continuous delivery while simuluteously migrating the database?
I'll also talk about how web companies in Japan work. If you are interested in continuous maintenance and continuous delivery, this is a talk for you.
SpeakerChang Sau Sheong
Sau Sheong is the Director of HP Labs in Singapore, and manages a team of engineers and research scientists focusing on research on how people use cloud computing. He is also an active programmer, technology enthusiast and a frequent speaker at technology-related conferences. Sau Sheong has written 3 books on Ruby and the latest is 'Exploring Everyday Things with R and Ruby' published by O'Reilly Media.TopicRuby Playing
Ruby is a versatile and powerful programming language and platform, something all participants of this conference would already know. However today Ruby is still mostly used together with Ruby on Rails as the platform for developing web applications.
In this talk I would like to show how easily Ruby can be used in another way -- to develop a real-time, online and multi-player game. This 2D game will be written with Ruby only -- from the client, to the server to the management console will be entirely in Ruby.
Yi-Ting (xdite) Cheng is CEO at Roco, a leader Ruby on Rails consultancy based in Taiwan. She is also the most well-known Rails blogger in Greater China and Southeast Asia.
She loves adapting cutting-edge technogies to build amazing apps in day to day works. In her spare time she also organizes Taipei Rails Meetup and makes time for attending local hackathons. She recently won the Facebook Hackathon global Grand Prize (using Rails).TopicSecure Your Rails Application: The Basics
Security is hard. Everyone wants their sites to be hacker-free. But the truth is: If your sites were hacked, the causes are often because you forgot the basics.
In this talk I will show you:
- Common application design mistakes people make and are not aware of.
- The most vulnerable controller actions that hackers seek.
- The default security mechanism of Rails for these issues and reasons why you should not bypass them.
- And how to write secure codes by default.
Christopher Rigor works at Engine Yard. He is the team lead of the Asia-Pacific team that supports the Engine Yard Cloud, a platform that automates the configuration of servers for different applications.TopicIdentical Production, Staging And Development Environments Using Chef, AWS And Vagrant
Learn how Engine Yard uses Amazon Web Services and Chef to bring up any number of servers ranging from a solo instance to a cluster of instances with multiple app instances, database instances and utility instances for memcached, resque, sphinx, and everything your app needs.
Snapshots are used to create a clone of your production environment where you can test all the changes before making them in production.
Vagrant and VirtualBox are used to provide a development environment with the same OS you use in production. Chef is used to install the same packages. In fact you use the same chef recipes everywhere.
Prem is a developer working at thoughtbot in Boston, MA. He started using Ruby and Ruby on Rails in 2007 and fell in love with it immediately. Since 2009, he has been contributing to Ruby on Rails and several open source projects, and is now a pretty well-known open source contributor.TopicDependencies Testing With Appraisal And Bundler
Too many people use integration tests to check if an element is displayed or not, this is slow and cumbersome. Another solution is to use rspec view specs which end up creating a lot of duplicated code and scenarios.
In this presentation I will show you a fast and consistent way of testing multiple elements are (or are not) displayed based on a context.
Rails committer, Jumpstart Lab instructor, nomad philosopher.TopicFunctional Reactive Programming in Ruby
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.
~ AFTER PARTY ~