Thursday, June 19, 2008

Wednesday, June 18, 2008

Tuesday, June 17, 2008

Uncle Shawn

I just found out that I'm going to be an Uncle, how cool is that? It is totally awesome and scary all at the same time, I cant imagine how my brother feels! It really gets you thinking about life and the whole cycle of things. I'm way excited for this little sea monkey! I cant wait to teach him/her how to calculate pot odds and bluff on the river. I'm already thinking about taking them to scouts and camping and the other nine million other things that will be fun to do.

Congratulations Chad and Mal!!!!!

Firefox 3

I'm very impressed with the latest release of Firefox. I have for a long time switched between safari and Firefox mostly because I love the way safari looks. The native look and feel of safari is fantastic! Not to mention safari is a pretty darn speedy. Firefox has come a long way, the original version looked awful and was very clunky. I would have given up on it if it wasn't for the amazing plugins. Version 3 is just as functional as ever and finally feels like it belongs on the mac. The history looks great and is search able too.

Way to go Mozilla!

Thursday, June 12, 2008

Interviewing

Interviewing is hard work. Its hard to be the interviewee and its hard to be the interviewer. Fortunately I haven't had to be on the interviewer side of the table in quite some time. I'm a fan of Joel Spolsky who writes a fantastic tech blog, his suggestion is that you should look for people who are smart and get things done. That is it. Simple. When I'm on a interview committee that is my Mantra. The problem I have seen lately is that others on the committee have very defined set of things they are looking for that blurs their judgment of the canidate at hand. I believe that at the end of the day you can teach someone to use a tool or set of tools but you can not teach them to think in a different way. Personality traits are hard if not impossible to change and further more we should not want to change a person to fit our job and environment.

Today we did a phone screen for two candidates. Both were technical savvy however one had a lot more programming experience then the other. The one with programming experience certainly could do the technical aspect of the job however the canidate had a hard time communicate at a level that would engage a functional user. This to me is a red flag. We are not going to be able to change this candidates communication style, they have operated this why for years. Trying to shape away years of learned behavior is almost impossible. The other canidate was an effective communicate that understood process and methodology. This canidate was not a strong programmer. In my opinion we can teach programming and we can teach the tool. The good news is we are starting with a clean slate!

My goal when looking at some one to hire is to find someone smart that gets things done. This is the corner stone! After we narrow down the candidates I'm looking for some one that fits the job, the organization and has the innate skills that can't be trained.

Sunday, June 8, 2008

Scripting SCP

I love scp, its easily one of the most used unix commands in my tool bag. That said it is a real pain inf the butt to try and script scp. I was in the midst of writing a little script that would create ssh key pairs and distribute them to a number of servers. On paper this seemed to be almost trivial and that my friends is the problem wit paper. In order to make scp more secure the developers had it communicate using PAM instead stdin, sterr and stdout. Bummer, This meant there was no easy way to supply scp with the users password. So there is no command line option to supply the password and I can't write to it over stidn, I was a little stuck. After searching that Internet, and I mean really scouring, I found a command called expect. Using this I wrote a quick and dirty shell script to do the scp part:

#!/usr/bin/env expect -f
set password [lindex $argv 0 ]
set file [lindex $argv 1 ]
set command [lindex $argv 2 ]

# trick to pass in command-line args to spawn
eval spawn scp -r $file $command

expect "password: $"
send "$password\n"

# wait for regular shell prompt before quitting
# probably a better way using 'wait'
expect "$ $"

With this the whole scripting experience became trivial again, rock on!