Skip to content

Instantly share code, notes, and snippets.

View kerrizor's full-sized avatar
🏍️
BRAAAAAAAAP!

Kerri Miller kerrizor

🏍️
BRAAAAAAAAP!
View GitHub Profile

Originally published in June 2008

When hiring Ruby on Rails programmers, knowing the right questions to ask during an interview was a real challenge for me at first. In 30 minutes or less, it's difficult to get a solid read on a candidate's skill set without looking at code they've previously written. And in the corporate/enterprise world, I often don't have access to their previous work.

To ensure we hired competent ruby developers at my last job, I created a list of 15 ruby questions -- a ruby measuring stick if you will -- to select the cream of the crop that walked through our doors.

What to expect

Candidates will typically give you a range of responses based on their experience and personality. So it's up to you to decide the correctness of their answer.

Deploying a Rails 3 App with EC2 + S3 + Ubuntu + Capistrano + Passenger
=======================================================================
EC2 Setup
---------
1 Launch New ec2 instance - ami-1634de7f
2 Create elastic IP [ELASTIC_IP] and associate it with instance
3 go to domain registrar DNS settings, @ and www to ELASTIC_IP
4 set the `:host` in `config/deploy.rb` to ELASTIC_IP

Step 0:

Get Homebrew installed on your mac if you don't already have it

Step 1:

Install highlight. "brew install highlight". (This brings down Lua and Boost as well)

Step 2:

#
# Working with branches
#
# Get the current branch name (not so useful in itself, but used in
# other aliases)
branch-name = "!git rev-parse --abbrev-ref HEAD"
# Push the current branch to the remote "origin", and set it to track
# the upstream branch
publish = "!git push -u origin $(git branch-name)"
@kerrizor
kerrizor / gist:dede81f1356044b1bea3
Created September 29, 2014 20:13
assert_change and refute_change in MiniTest
class MiniTest::Unit::TestCase
def assert_change(block)
before = block.call
yield
refute_equal before, block.call
end
def refute_change(block)
### Keybase proof
I hereby claim:
* I am kerrizor on github.
* I am kerrizor (https://keybase.io/kerrizor) on keybase.
* I have a public key whose fingerprint is A605 9199 EFA5 4BBC DDC0 A6B8 B0BF C6ED 2615 9F0F
To claim this, I am signing this object:
@kerrizor
kerrizor / gist:42460b89b940d525d50c
Created January 6, 2015 05:10
Nerds Watching Movies Club

I love movies. I love talking about movies. Let's watch movies, and then talk about them together, book club style!

Every 2-4 weeks, we'll pick a movie that is readily accessible, and pledge to watch it sometime during that interval. We'll schedule a mutually agreeable time for the end of that period and do a Google hangout, 30-60 minutes in length (longer, if we feel so motivated) to discuss and share reactions, insights, ideas, and interpretations of the film. Interested?

Venue Considerations Checklist

  • Facility
    • Security/Maintenence
      • Will venue provide staff person(s) day of event for coordination?
      • Who is contact point in case of problems
    • Room(s)
      • Number of individual meeting spaces
      • Capacity of each
      • Relative arrangement of rooms (are they close to each other)
  • Outdoor/shared space to facilitate hallway track
@kerrizor
kerrizor / gist:3a125b656cc74bc447c0
Last active September 9, 2018 22:54 — forked from jimbojsb/gist:1630790
copying colorized code

Step 0:

Get Homebrew installed on your mac if you don't already have it

Step 1:

Install highlight. "brew install highlight". (This brings down Lua and Boost as well)

Step 2:

@tectonic's notes for Kerri Miller's (@kerrizor) RailsConf 2015 talk -- http://railsconf.com/program#prop_980
Interview Day
- Set and communicate a schedule (“two-three hours, no laptop needed, we will get lunch, no need to dress up”)
- Set expectations (“we will be writing some code together”)
- Have a diverse set of interviewers
- Allow for breaks
Make a game plan
- assign areas of focus (you do SQL, I’ll do OO)