Skip to content

Instantly share code, notes, and snippets.

@biscuitvile
Last active December 13, 2015 21:48
Show Gist options
  • Select an option

  • Save biscuitvile/4979823 to your computer and use it in GitHub Desktop.

Select an option

Save biscuitvile/4979823 to your computer and use it in GitHub Desktop.
RubyJax Pair-Along 3/2/13 FAQ

RubyJax Pair-Along FAQ

Friday, March 1st, 2013

6:30 PM - 8:30 PM

Saturday, March 2nd, 2013

9:00 AM - 5:00 PM

320 1st St. N., Suite 713, Jacksonville Beach, FL

http://maps.google.com/maps?q=320+1st+St.+N.%2C+Suite+713%2C+Jacksonville+Beach%2C+FL

Awesome! Yes!

What is it?

A pair of developers will live code an app as you follow along. The number of attendees has been purposefully kept small so that we can move at a pace everyone can follow and stop for questions. Participants will bring and use their own laptops so that anything done during the session can be done again independently.

What will we do?

  • Build an app from the ground up following a test-first style
  • Run your test code quickly and easily without leaving the editor
  • Deploy your app to the cloud
  • Maintain your code under version control
  • Speed your workflow with shell aliases

Is this for me?

We expect that individuals of different skill levels will benefit differently from the session, from the professional to the novice. The format allows for seasoned developers to get new insights into pairing, testing, and design at the same time newcomers to Ruby might be running database migrations or starting a Rails server for the first time. We're all in it together and everyone's tests will pass before we move on.

I heard there was a thing on Friday.

Indeed! We can't spend half the day on Saturday getting all set up. The Friday session is March 1st from 6:30 to 8:30 at the Hashrocket office.

Come by and meet and greet with other attendees, and we'll work to ensure everyone has a working environment where they can boot a Rails server and run tests. If you have concerns about your development environment and think you may need a lot of help, please reach out to us directly so you can arrange to come eariler for additional assistance.

Participants who do not come to the Friday session are going to be on their own dealing with any environment issues that they encounter during the Saturday session.

What will we use?

We'll be using the latest stable versions of our tools. If newer versions become available before the session we'll use them.

  • Ruby 1.9.3
  • Rails 3.2.12
  • Git 1.8
  • RSpec 2
  • PostgreSQL 9.2

What about editors? Do I have to use command line stuff?

No. Yes. Sort of.

We'll be using Vim and tmux and you'll see this on the projections. We highly, highly, highly recommend you use an editor that you can run Ruby tests from (it's kind of a big deal). If you're not already using Vim then we recommend Sublime Text 2. This is an extremely popular editor that can be downloaded freely for Mac OS X and Linux.

Sublime Text 2 http://www.sublimetext.com/2

Sublime Text 2 Ruby Tests https://github.com/maltize/sublime-text-2-ruby-tests

You will need to run commands in the shell. Both Mac OS X and Linux have terminal applications and if you're not already using these you will be with both style and panache during the session. It's easy.

https://help.ubuntu.com/community/UsingTheTerminal

http://mac.appstorm.net/how-to/utilities-how-to/how-to-use-terminal-the-basics/

So you didn't mention Windows...

This is completely true, we did not. No one's going to tell you Rails can't run on Windows. With the help of newer tools like RailsInstaller you can get a development setup on Windows fairly easily. However, installation is not application development. It is our opinion that developing Rails applications in a native Windows environment will lead to pain. Moreover, we do not have the knowledge or desire to troubleshoot problems in the Windows environment.

For more about this, read this old but still relevant Stack Overflow post: http://stackoverflow.com/a/166548

If you're serious about the running Windows the Vagrant and VirtualBox combo appears to be the best modern solution that we personally have never tried: http://blog.bloc.io/a-better-way-to-set-up-rails-on-windows

Vagrant http://www.vagrantup.com/

Virtual Box https://www.virtualbox.org/

Many have professionally developed Rails applications in Windows by running virtualization software and Linux Ubuntu. This is the method we are familiar with and recommend. This is also the only method on a Windows machine that we can directly help you with at the Friday session. You don't want to code for five hours at the Saturday session and run into a problem that no one can help with.

Here is a light overview of installing a Rails development environment with Ubuntu and VirtualBox: http://macklinchaffee.com/ubuntu-12-10-rails3-2node-js-virtualbox-installation/

And here are some tips for running Ubuntu in Virtual Box: http://beginlinux.com/desktop/ubuntu/tips-for-running-ubuntu-in-virtualbox

Are you sure about this?

Yes.

Alright, I think I got this. Is there anything I else I can do to prepare?

Right on! We love enthusiasm. Here are some things you can research to feel more acclimated if you're not familiar with them:

Git

If you're not already using Git here is a great tutorial to get your feet wet: http://try.github.com/levels/1/challenges/1

For more in depth and advanced Git, the Pro Git book is recommended:

http://git-scm.com/book/en/

Haml:

We'll be writing templates in Haml. It has a lighter and less verbose syntax than HTML and is whitespace sensitive. You can learn more about it here:

http://haml.info/tutorial.html

Decent Exposure:

We find Rails controllers as-is to encourage some undesireable practices. Decent Exposure lets us tidy them up considerably.

https://github.com/voxdolo/decent_exposure http://www.decentexposure.info/

RSpec 2

The de-facto Ruby testing framework. We'll be using rspec-rails:

https://github.com/rspec/rspec-rails

Capybara:

We'll be using Capybara to write automated browser tests. It has a clean and intuitive syntax that is easy to learn.

https://github.com/jnicklas/capybara

I'm scared I might just get hungry at some point and zone out.

There's going to be food thanks to the help of our sponsors, Starfield.

http://www.starfieldtms.com/

I missed the sign up. Will there be more of these?

Yes. Pair-Along is an open RubyJax event. Different pairs may lead other pair-alongs. RubyJax members who pair program either in a professional capacity or for fun with friends are encouraged to build a pair-along app and lead their own pair-alongs.

This is gonna be awesome!

See you there!

@mrmicahcooper

Copy link
Copy Markdown

I would add a javascript runtime as a tool to use like Node.js for non mac machines.

@stuartpalmer

Copy link
Copy Markdown

I have a clean install of Ubuntu 12.10 running on VirtualBox 4.2.6. If anyone would like a clone of it, shoot me an email to stuart at silveradosw (and the usual dot com).

@stuartpalmer

Copy link
Copy Markdown

Many thanks for the write-up Andy. Do you have a list of gems and versions also?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment