Monthly Event.

Winnipeg.rb started out in February of 2010 as a weekly Hack Night. As much as we still enjoy our Hack nights consensus amongst us has been that we have enough interest in our city to run a monthly event for Ruby and related technologies. We finally made it happen and hope that you can join us in contributing to its success!

Hack Night.

Sometimes it's just fun to hang out with other developers while knocking out & discussing code over caffeinated beverages & tasty cafe food. From time-to-time we enjoy challenging each other with a good game of code golf. We tentatively meet every 2nd or 3rd Thursday of every month from 7-9pm @ the Fyxx on Albert Street - Watch Twitter for when hack night comes together.

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.

When? 5:45pm-8pm on Weds, April 25th, 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

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.
View Slides

Lightning Talk: An intro to the Clojure programming language by Amir Barylko

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!
Presentation

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

With its recent inclusion into Rails 3.1, CoffeeScript is now more compelling than ever. This talk will go over CoffeeScript's syntax as it differs from JavaScript, and how to use in and outside of Rails 3.0.

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!

POW by Nathan Bertram - A lightning talk about POW a zero-configuration server to run Rails & Rack apps like a champion on OSX.

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.
View Slides

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.

Lightning Talks:

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.
View Slides

Crash Course in Erlang Concurrency by Tim Herd

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.
View Slides

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!
View Slides

A look at the Scala Language by Craig Tataryn

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/

Scala Language Tour from Craig Tataryn on Vimeo.

Capybara by Amir Barylko

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

Still polling for updates from javascript? The future of the web is asynchronous socket connections with instant push updates. Come learn about Node.js and other technologies making this possible, and find out how to start using HTML5 WebSockets in your web apps right away, across all browsers.

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

Stefan is all to familiar with the potential unmaintainable spaghetti code disaster that many Rails developers call the public/ directory. This talk will briefly cover the evolution of JavaScript in the Rails environment, with a focus on the new Rails 3 Un-obtrusive JavaScript drivers. Highlights will include, a Rails 3 UJS Primer, extending UJS, and using UJS without Rails 3 (O_o).