Meetup next Tuesday, April 2nd

Hey everyone,

Just a quick head’s up that next week is Ruby Tuesday! It’s on April 22nd at 6:30pm.

What’s going on?

Main Talk

This month, Edward Ocampo-Gooding (Twitter) will be giving us a talk on Refactoring.

You can gain a lot of benefits from proper refactoring, and working it into your routine can pay dividends in great and unforeseen ways. You should definitely check out this talk!

Lightning Talks

So far, we don’t have any Lightning Talks scheduled. If you’re up for giving a talk, let us know by filling in this short form.

Coming? RSVP and let us know

If you plan on coming, please do RSVP to let us know.

We hope to see ya’ll there!

Thanks, The Ottawa Ruby Team

Reminder: Web Project Night is Tomorrow! :)

Hey everyone,

Just a gentle reminder that Web Project Night is tomorrow. If you haven’t RSVP’d yet, you should do so here.

It’s a fun time, and there’s lots of cool stuff being worked on. If you’ve got the itch to hack on something, or just want a place where you can make some progress on your side-project, this is a great place to do just that.

Remember, it’s beginner friendly and open to all web developers and designers, so invite your peeps!

Hope to see ya’ll there!

Thanks, The Ottawa Ruby Team

Web Project Night next Tuesday (April 8th)

Just a head’s up that Web Project Night is next Tuesday, April 8th.

All Web Designers and Developers are welcome — so invite your friends! It’s beginner friendly, too.

You can learn more and RSVP here.

Feel free to holler if you have any questions.

We hope to see ya’ll there!

Thanks, The Ottawa Ruby Team

P.S. No, this isn’t an April Fool’s prank. ;P

Meetup Summary - March 2014

Thanks for coming out to the meetup on Tuesday everyone! It was fun seeing ya’ll get busy with Pair Programming.

Here’s a run down of what happened:

1. Edward Ocampo-Gooding’s Talk: Pair Programming - It’s Fun

Our leader, Edward Ocampo-Gooding (Twitter), kicked off the evening with an excellent talk on Pair Programming.

Missed it? Wanna hear it again? Never fear, ‘cause he recorded it! :)

Here’s the video for Edward’s talk on Pair Programming. Take a look.

2. Pair Programming Fun Time!

Next, we teamed up and jumped straight into Ping Pong Pair Programming. We used exercises on exercism.io.

If you haven’t tried exercism.io yet, you really should. It gives you exercises to do, along with some tests. Your goal is to complete each exercise with clean, readable, well-designed code.

Once you submit your code to exercism.io, fellow developers will review it and provide helpful feedback. How cool is that?

You can gain insights into ways you can improve your code that you may not otherwise see. Check it out. And, of course, you don’t need to be pairing to use it. ;)

What’s up next?

Here’s what’s happening next month:

April 8th - Project Night

Project Night is in two weeks, on Tuesday, April 8th. You can learn more and RSVP here.

You can see a list of some Project Night projects here. Feel free to add your project, too.

April 22nd - Ruby Tuesday

Next month, on April 22nd, Edward Ocampo-Gooding will be giving us a talk on Refactoring.

You should check out this talk. By effectively refactoring, you have a systematic method to improving your code, making it easier to work with and change in the future.

You can RSVP for the April meetup here.

Up For Giving A Talk Sometime?

We’re looking for talks for the upcoming months. If you’ve got something you’d like to talk about, let us know by filling in this short form.

Thanks all!

Thanks again for coming out. We hope to see ya’ll at the next Ruby Tuesday.

Thanks, The Ottawa Ruby Team

Pair Programming Meetup Guide - March, 2014

Note: A slightly more readable version of this guide can be found here.

1. So, what are we doing tonight?

We’re going to be going through the exercises at exercism.io, with two twists:

  1. You’ll be writing you own tests (exercism.io gives you tests, but you’ll be ignoring them)
  2. We’ll be Pairing up to do them.

For the pairing, we’ll be using a method known as “Ping Pong Pairing,” so that each pair gets to write both tests and code, and it’s more clear when the “driver” should switch to another person.

2. What’s this Ping Pong Pairing?

Here’s an elegant description, from the c2.com wiki:


  1. A writes a new test and sees that it fails.
  2. B implements the code needed to pass the test.
  3. B writes the next test and sees that it fails.
  4. A implements the code needed to pass the test.

And so on. Refactoring is done whenever the need arises by whoever is driving.


3. How do I get started?

  1. Head on over to exercism.io
  2. Click the “Start Now (via Github) button
  3. Follow the instructions

4. And if I don’t want to / can’t sign up for exercism.io?

If you don’t want to sign up, or if you don’t have a Github account, you have two options

  1. Ask your pair to sign up and you can use their computer instead.
  2. The other option is to follow the instructions on the homepage in the “Try It!” section. It’ll walk you through how to do at least the first exercise without signing up.

5. What if I’m on Windows?

Don’t worry, there’s a Windows client. You can download the appropriate file from here (follow the instructions on that page).

If you don’t want to use that binary, you can signup for a nitrous.io account and install it on your free Linux box.

6. How do I pair up?

You can either

  1. Ask your neighbour if they’re up for pairing, or
  2. Await further instructions and we’ll pair you up.

7. What should I focus on with my code?

Here are a few quick tips (slightly updated from Tuesday):

1. A Single Responsibility

  • Is your class doing only one thing?
  • Is there something in your code that’s calling out to be its own thing?
  • Extend this to methods, too: Each method should do only one thing

2. Descriptive Names for Variables and Methods

Avoid variable names like i, n, x, and use names like index, names_array, etc.

Use method names that describe what the method does.

3. Think about your public interface, put everything else in private

Your public methods are how people (including yourself) will be interacting with your class. Try not to pollute it with methods that really should be private.

class bob
  def hey(input)
    # 
  end

  private
    # All other methods go here.
end

Your public interface should be stable, meaning that you can safely change your private methods as needed later (as long as you have tests to back them up).

4. Favour simplicity. Extract complexity into well-named methods.

5. Overall: Aim for clear intent in your code.

8. What do we do when we think we’re done?

  1. First, run the original set of tests given by exercism.io. For example, for the Bob exercise:

    ruby bob_test.rb

  2. Raise your hand to get the attention of a Code Reviewer. Someone will come over for a review.

9. Questions?

Please feel free to let us know if you have any questions. Other than that, have fun! :)

Meetup tonight (Tue, Mar 25th) - Bring Your Laptops for Pair Programming

Hey all,

Just a quick reminder that we’ve got a meetup tonight at 6:30pm.

So, what’s happening?

Edward Ocampo-Gooding (Twitter) will be giving us an Intro to Pair Programming, after which we’ll jump into some Pair Programming ourselves!

You can learn more and RSVP here.

Up for providing feedback on submitted code?

We could use a few people who are interested in providing advice on how to improve people’s code. On exercism.io, these are called “nitpicks,” and you can see a guide here.

Essentially, your goal would be to give small tips on how to make the code more readable, maintainable and modular.

Since you technically need to have completed an exercise to “Nitpick” on it, and people weren’t given much time to do that (sorry), we’ll likely just be walking around and providing feedback as needed.

If you’re interested in being a Code Reviewer for even just part of the night (because Nitpicker doesn’t sound too nice ;), please fill in this short form to sign up. Thanks!

We hope to see ya’ll there!

The Ottawa Ruby Team

Bring Your Laptops for the Meetup Tomorrow (Tue, March 25th)

Just a reminder that Ruby Tuesday is tomorrow, March 25th at 6:30pm.

Important: Bring your laptops!

We will be teaming up for some Ping Pong Pairing on the exercises at exercism.io. :)

The goal here isn’t to simply solve the given problems, but to think about your Object Oriented Design and make clear, easily modifiable and reusable code.

How Does Ping Pong Pairing Work?

Here’s an elegant description, from the c2.com wiki:

—— Snip ——

  1. A writes a new test and sees that it fails.
  2. B implements the code needed to pass the test.
  3. B writes the next test and sees that it fails.
  4. A implements the code needed to pass the test.

And so on. Refactoring is done whenever the need arises by whoever is driving.

—— End Snip ——

That’s it in a nutshell. So, come out if you’re up for some hands on hacking!

As always, the space, food and drinks are sponsored by the generous Shopify.

Things to do beforehand

There’s a few things that’ll help speed things along on Tuesday:

  1. Sign up for an account on exercism.io

  2. Follow the instructions to get the exercism.io binary working on your computer.

    • Side-note: This won’t work on Windows. The binary can be installed via http://nitrous.io, however. Otherwise, you can pair up with someone with a Linux based machine.
  3. If you have time, watch this video on SOLID Object-Oriented Design by Sandi Metz, and this one, too.

Plan on coming?

Please let us know by RSVP’ing here.

We hope to see ya there!

Thanks, The Ottawa Ruby Team

Meetup Next Tuesday (March 25th, 2014)

Hey ya’ll,

Just a head’s up that the next Ruby Tuesday meetup is next week on (…Tuesday ;) March 25th at 6:30pm.

What’s happening?

Currently, we have no talks scheduled. So, if you’re up for giving either a Lightning Talk or a Full Talk, please let us know here.

You can learn more and RSVP here

We hope to see you all there!

Thanks, The Ottawa Ruby Team

Web Project Night Summary - March 2014

Thanks to all who came out to the Web Project Night this week! We hope ya’ll had a good time.

Project List

Collin Glass had a great idea of making a shared doc for people to list their projects. We got one setup, you can check it out here:

—> http://bit.ly/project-night-list

We hope to see you at the next Web Project Night. It’s next month on April 8th. It’s open to any Developer / Designer working on a web-based project, so feel free to invite your friends!

Up Next

The next Ruby Tuesday meetup is in about 2 weeks, on Tuesday, March 25th. We’re still looking for speakers, so if you’re up for it, please do let us know here.

Thanks again, The Ottawa Ruby Team

Project Night is Tomorrow (Tue, March 11th)

Hey all,

Just a reminder that Project Night is tomorrow, on Tuesday, March 11th, at 6:30pm.

Bring a side-project to work on, and hack away! There’s often people there looking for collaborators, so if you don’t have a project yet, there may be a project you can join.

It’s a good time! You should come out. You can learn more and RSVP here.

We hope to see ya’ll there!

Thanks, The Ottawa Ruby Team