Growing Rails Applications by Steven Baker
Talk Summary: As we enter a decade of applications developed with Ruby on Rails, many teams are starting to feel growing pains relating to design decisions that were made in the past. Development slows down, and morale declines. Fresh competitors without the cruft of legacy code slowing them down easily deliver new features.
Bio: Steven Baker has been focusing on developing maintainable, testable, high quality software for more than a decade. To that end, he's written tools such as RSpec and MiniMock, and has delivered talks and workshops on the subjects of testing and developing maintainable software.
When? 5:45pm-8pm on Monday, June 11th, 2012
Where? Room W315 - Red River College Princess Campus (160 Princess Street) (map)
Food, drinks & wifi will be provided! Please don't forget to RSVP and join us afterwards at the Kings Head for beers!
Please RSVP at meetup.com/winnipegrb
Past UG Events
- April 2012 February 2012 October 2011 September 2011 August 2011 June 2011 May 2011 April 2011 March 2011 February 2011 Janurary 2011 November 2010 October 2010 September 2010 August 2010 July 2010
Getting Hacked Less Often: Examples to Avoid by Mak Kolybabi
While I can't speak to the topic of secure web applications, my day job requires me to research and exploit vulnerabilities in insecure web applications. I'll talk about CVSS2, OWASP, and real-world vulnerabilities that could have been avoided.
Mak Kolybabi is a Nessus developer, an Nmap contributor, a Founder of SkullSpace, an Awesome Foundation Trustee, an IRC Addict, a Troublemaker, and a Loudmouth.
Page Object Pattern in Ruby on Rails by Amir Barylko
Cucumber is a great tool to write features and help drive the BDD development cycle. However implementing the steps can be cumbersome and sometimes hard to write.
Avoiding common "smells" and enforcing DRY and other good practices can be a challenge too! Abstraction is key and that is what the Page Object Pattern (POP) is about.
POP helps us to avoid repetition and focus on what the application does, not the markup to implement it.
Join me in a session where we explore the pattern, the benefits, and how to add it to our RoR applications with minimal effort and lots of gains!
What's new in Rails 3.1 by Nathan Bertram
The rails core team has been busy making rails even better - this talk will be all about the improvements that Rails 3.1.x brings and a couple tips of how to upgrade your existing applications.
Testing Rails Applications by Marc Jeanson
Ruby on Rails has fantastic support for Test Driven Development, but getting started can sometimes be overwhelming. This talk will cover:
- - An introduction to BDD/TDD in a Rails context.
- - Popular testing gems and the testing stack that I like to use.
- - Testing "legacy" rails applications that do not have any tests (or poorly written ones).
- - Ways to speed up your tests.
- - Contineous Integration and why you should care about it.
Whether you are new to TDD with Rails or a seasoned vet, come join in the discussion so we can all improve the quality of our applications.
Tweaking Performance by Steven Soroka & Burke Libbey
So you've written a Rails application, but it's slooooooww. We're going to talk about a lot of common performance pitfalls and simple solutions to them, as well as introducing you to useful tools such as rubyprof, memprof, NewRelic RPM, and others. You'll have your Rails scaling in no time!
Testing by Amir Barylko
Test Driven Development is software development methodology based on "test first" approach. That means that before even writing a line of code we need to write a test for it.
Benefits of applying TDD include:
- Increase development confidence
- Improve quality of the code and use quality as a driver
- Regression testing at any point
- Automatic documentation
- Bring back the joy of coding!
Have you ever wondered how to start? Do you have questions? This is your chance!
Join me on a session to discuss how to start with TDD, benefits of using it, drawbacks and why can be a life changing experience for you and your company. Your code will never be the same!
Who committed that debug statement by Stefan Penner
An introduction to debugging ruby applications using a whole bunch of techniques with a twist.
Coffee in my Script by Burke Libbey
1.9 in my Ruby by Steven Soroka
Ruby 1.9 is the new standard ruby. There are not going to be anymore Ruby 1.8.x versions, and the next major Rails version will require Ruby 1.9. Come and learn how Ruby is getting even better!
Phone based apps using Tropo by Robin Hillman
Are you interested in creating an app that responds to voice commands or SMS? This talk will provide an introduction to the Tropo service and its features, how to script a basic app in Ruby using their API, and how to integrate their services with your existing app.
Hosting your Rails applications on Engine Yard by Mike Gauthier
You have a great website, but your user base is growing, and fast. You know you will need to scale up at some point, but you don't want to pay for extra servers if you don't need them. Oh, and what about storage? Join Mike Gauthier for his presentation on the basics about EngineYard's AppCloud and Amazon's S3 technologies. Expect real-world examples and demos showing you what it takes to get your website up and running in the EY Cloud.
Vim scripts for fun and profit by Marjan Hratson - A brief talk about Vim, Vim script managers, Pathogen, vim-scripts.org & Vundle View Slides
Amazon SES by Nathan Bertram - A brief talk about what Amazon Simple Email Service is and using the AWS-SES gem with your existing Rails applications.
Cross-Platform Mobile App Development with Ruby by Marc Jeanson
Do you want to build an iPhone application, but hate Objective-C? Do you hate Java, but want to create something for Android? How do you feel about redoing all your work again, just to deploy to another platform? If any of this bothers you you'll want to join Marc Jeanson for an introduction to Rhodes, a Ruby framework to build native apps on all the major smartphone platforms.
More and more scenarios call for massively concurrent applications. While most languages have facilities for concurrency, often times you have to worry about the implementation details. Threads, Locks and Mutexes. This talk will introduce you to Erlang, a language designed from the ground up to handle concurrency.
View Slides Source Code
Cross-platform GUI apps & Ruby by Kyle Geske
Ever wish you could code cross-platform GUI apps in Ruby? Shoes is a toolkit for writing graphical applications easily and artfully using Ruby. Join Kyle Geske (stungeye, codeglutton) for an introductory look at this toolkit. The presentation will cover the basic concepts needed to create a simple GUI app. It will also include a peak at Hackety Hack, a Shoes-based Ruby IDE for teaching children to program.
Ruby DBMS Duct Tape by Stefan Penner
Not every application is written using Ruby on Rails and its conventions. In some cases, you, as a Ruby developer must venture into the world and develop applications which must integrate with legacy, or non-standard DBMS's. This talk will cover using Ruby's fun, powerful, and optimized for programmer happiness environment, to bring great success to those who wish to integrate with legacy, and existing databases.
A quick look at the improved Rails 3 Routing API by Nathan Bertram - This lightning talk will be quick walk through of how to write routes in Rails 3 compared to Rails 2 as well as covering some of the new goodies to be introduced to your routes.rb!
Craig Tataryn is owner of Grind Software Inc. and editor of the Basement Coders Podcast. He'll take you through the fundamentals of the Scala language. Questions posed and answered will range from "Why bother with Scala?", "What language features does it provide", "How does it integrate with existing enterprise (read: Java) systems"?
Follow Up Blog Post & Presentation: http://basementcoders.com/2010/11/scala-language-tour/
Capybara is a gem that works as a complement of cucumber and aims to simplify writing acceptance tests for any web application. Out of the box provides a DSL that makes writing steps for common functionality like following links, clicking buttons, etc. It provides different drivers that can be configured and even chose per feature or scenario basis to indicate how we want to run that case. It has built-in support rack-test, Culerity, Celerity and Selenium. Join me to see how easy is to setup capybara and how we can start using it in minutes.
Jammit - Industrial strength packaging library for Rails by Hudson Gevaert - a quick presentation about combining css & js assets, why you should bother and Hudson's experience using Jammit for his production Rails applications.
Websockets, Node.js, and Socket.io by Steven Soroka
Metaprogramming with Ruby by Burke Libbey
Ever wonder just how "magic" Rails declarations such as "has_many" and "belongs_to" work? Ever wanted to write code that worked the same way? After this talk you will have a much better idea of how these techniques work! Burke is going to talk about the Ruby object model in-depth, including classes, modules, inheritance, singleton classes, and anonymous classes. Then he will cover creating dynamic methods with method_missing and respond_to?, inheritance hooks and some other goodies.
Understanding Git by Matthew Boehlig
Does git control you? Using the basic set of commands you learned from a tutorial without really understanding what they are doing? Using git effectively requires the understanding of how to navigate the commit tree and manipulate branch pointers. Don't worry, it's not that scary. Matthew will shine a light on git's DAG and show you how to practically use git in every day situations. No longer guess at which command to use, but really understand what's going on under the hood.
Ruby from the Ground Up by Nathan Bertram
Wondering what this Ruby programming language is all about? How can Ruby == programmer happiness? Nathan will focus this talk on the basics ending with more advanced features of the language. He will show some comparisons with other common languages, show you why many programmers love Ruby and where the popular framework Ruby on Rails fits in. You will learn more about the online Ruby community, resources and where to find current news about Ruby and ROR. If you are starting out with Ruby or never considered the Ruby programming language before this talk is for you.
Make Ruby Yours by Andrew Szczepanski
This presentation includes basic techniques for using Ruby effectively. It will show the usage and niceties of both the Ruby language and resources associated with it. Topics include effective learning, debugging, and refactoring of the Ruby code as well as cool one-liners made possible by built-in methods.
Git-internals by Burke Libbey
If you use git on a regular basis, you won't want to miss this one. Burke will be talking about git from the ground up - from what makes up a commit right down to the per-byte level. He will talk about how new commits are constructed from previous ones; what actually happens in merging and rebasing; how branches and tags are implemented; how syncing with remotes works; and what most of the contents of the .git directory is made of.
5 minute or less presentations:
Piet interpreter by Tim Herd - a brief talk about Tim's experience with Pietr a Piet interpreter, written in Ruby. Piet is an example of an esoteric programming language, a language intentionally designed to be obscure and impractical.
0 to live in 5 minutes with Heroku by Stefan Penner- a quick demo about how easy it is setup a basic Rack based application on Heroku for free.
ActiveMerchant 201 by Burke Libbey
Payment processing is a crucial part of most web applications, but developers tend to be more afraid of it than necessary. Burke Libbey is going to show you how easy it can be to set up ActiveMerchant in Rails for credit card processing via one of ActiveMerchant's many supported gateways. Then, we'll cover how to interface with an unsupported payment gateway by writing a custom gateway driver. This talk will be 90% code. Come prepared, whatever that means to you.
Clean up that application.js! A Rails 3 UJS Primer by Stefan Penner