Pairing Post Mortem - The Mistake

{% blockquote Chris Knight and Lazlo Holyfeld http://www.imdb.com/title/tt0089886/trivia?item=qt0435761 Real Genius %} “How’d I do? I passed! But I failed! Yeah!” “Well, then I’m happy and sad for you.” Last night I made a mistake. In an effort to continue pairing with people I really enjoyed pairing with, I scheduled 2 pairing sessions for the same evening. I left 30 minutes between them, I prepared as I should… but I was stressed and it made both sessions worse. ...

June 6, 2013 · 2 min · Mark Simoneau

Quick Script for TMUX pair sessions

Update 2013-06-14: Improved the script, removing the github-auth dependency, some of the OS X dependencies, and added firewall punch-through (user specific) and ssh-command with external IP auto-copy to clipboard I wanted a quick and easy way to set up a new TMUX session with a brand new pair, so I came up with this: #!/bin/sh gh-auth add $1 sudo cp ~/.ssh/authorized_keys /Users/pair/.ssh/authorized_keys sudo chown pair:staff /Users/pair/.ssh/authorized_keys gh-auth remove $1 tmux -S /tmp/pairing new -ds pairing && chgrp staff /tmp/pairing && tmux -S /tmp/pairing attach -t pairing sudo rm -f /Users/pair/.ssh/authorized_keys That will download ssh keys, create a tmux session, and attach to it. When you’re done it will cleanup so the other person has no access to your box. ...

June 6, 2013 · 2 min · Mark Simoneau

Pairing Post Mortem - @_zph - VIM and a Gem

Last night I had a great #pairwithme session with @_zph. He’s been doing Ruby on nights and weekends for the last few years and he’s been using VIM much longer than I have. I learned a lot of little tricks about VIM that I just hadn’t quite worked out before. We also refactored some of his Buff Gem. Setup: Zander had a VPS already provisioned with my ssh keys installed. Super Easy setup. TMUX + VIM for our editors RSpec for testing the Gem We started off trying to think of what to pair on within Zander’s gem. He was concerned about the tests, so we actually spent a fair amount of time just looking at the WebMocked tests and discussing the pros and cons. Eventually we decided that WebMock might be a good way to start off your TDD of an API wrapper since you have complete control of the response, but VCR gives you the best long term support since you can both get fast tests and confirm that you’re still working with the API correctly and that you didn’t just magically stub out the wrong thing–just delete your cassette and you’ve got “free” real API tests, followed by nice fast tests. ...

June 5, 2013 · 3 min · Mark Simoneau

Pairing Post Mortem - @Shicholas - Real World Lessons and Bowling

Last night I had my first pairing session with @shicholas. Nick recently graduated from law school and is looking to pass the bar, but somehow programming calls to him. It’s a good thing too, since he’s clearly gifted and a fast learner. Setup: ScreenHero Sublime Text 2 shuhari by @jarhart While we were kicking things off with the “get to know you” talk, I found that Nick had a Rails + Angular.js app he was working on. I’ve not done any work with Angular and asked him to show me what was going on. He pointed out the general structure as well as the custom directives that Angular.js allows you to create. I’ve watched the Ember.js Peepcode Intro, and found it difficult to get excited about it. Being introduced to Angular.js in this particular manner gave me real world applications and it seemed much more intriguing. No verdict yet on either, just initial impressions on both frameworks. ...

June 4, 2013 · 3 min · Mark Simoneau

Pairing Post Mortem - @kmeister2000 - Refactoring and MiniTest

Had a great 4th pairing with @kmeister2000. Always a pleasure to work with him. Interesting Parts of our session setup: Worked on a real world app Karl was developing Used MiniTest instead of RSpec Refactored existing code MiniTest Takeaways: MiniTest expectations about method calls are not as clear as in Rspec and the documentation/examples aren’t as readily available. MiniTest is a lot like RSpec in nearly every other way. I’m not a fan of Mocha. I think it promotes antipatterns for how to really test. I actually like the explicit mock.verify in MiniTest::Spec General Takeaways: ...

May 29, 2013 · 1 min · Mark Simoneau

Pairing Post Mortem : @hinbody - TicTacToe and TMUX

I just finished my first #pairwithme session with @hinbody. It was my first remote session to use TMUX+VIM instead of ScreenHero – I have to say, it was quite easy to use and given the fact that it’s free, fast, and cross-platform, I’ll be using it with any vim users I pair with who are willing. I’d love to get CoVim working since it allows you to use your own vim setup. I drool a little bit at all that. But I digress. ...

May 29, 2013 · 3 min · Mark Simoneau

Pairing Post Mortem : @thecommongeek - Ruby Koans

I paired with @thecommongeek last night again. This time we were more prepared and I think the session went much better. In our first session I misjudged where Dennis was as a coder and struggled a bit with how to pair with him effectively. This time we had him drive through ScreenHero and decided to start from the “basics” by doing the RubyKoans. The RubyKoans are meant for Ruby 1.8.7, but 1.9.3 is commonplace now, so we struggled a bit at the beginning. For anyone going through the RubyKoans on 1.9.3 getting a value19 in nearly all your errors, I’d suggest making the following changes on neo.rb (starting on line 34): ...

May 28, 2013 · 2 min · Mark Simoneau

A Commitment to Being Positive

It’s really easy to be bogged down with all the crap in life. There is a good amount of it and I don’t know anyone that doesn’t struggle with keeping a good attitude at some time or another. I’ve struggled at various points to stay positive both in my personal life and publicly. I don’t think it’s wrong to have negative thoughts or to even voice struggles or frustrations, but there is a danger in openly venting. It creates a culture that is great at complaining and bad at doing anything about it. It creates an entire set of people bogged down in the crap of their lives, and because of the loud voices they hear all around them, it seems like there is no escape from it. There is so little good that comes from complaining publicly. ...

May 23, 2013 · 2 min · Mark Simoneau

Pairing Post Mortem - @javichitone - Improving a Gem

I had my first international pairing session with @javichitone tonight. He’s from Peru and will soon be graduating. He should have no trouble finding a job based on the code I got to read of his :) We talked for a bit and settled into looking at a gem he recently published. Since it was his gem, I elected to drive. I’m familiar enough with gems that I’m comfortable in general, but he knew the specifics of his gem, so to get the most out of it, he needed to be commenting on the specifics he knew and I needed to be diving into figuring out those specifics. ...

May 22, 2013 · 3 min · Mark Simoneau

Pairing Post Mortem - @jdar - Chrome Extensions

Another great pairing session tonight with @jdar! I continue to be amazed at how pleasant and personable the developers I meet are. The internet is a wonderful place. First up, I’d never coded a Chrome Extension, so Darius took the reigns and started walking through what we were using. The biggest takeaway I got was to put your pride away when you’re pairing. Everyone’s exploring, we’re all trying to get to the next answer, so it doesn’t matter if we’re really well prepared or never coded before… just take the next step. ...

May 21, 2013 · 2 min · Mark Simoneau