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!

Monday, May 5, 2008

Tools Table

SST0101 blog site had started listing out the tools tables. I wanted to post this listing on my blog as well. I have also provided the link to the orginal blog.

Enjoy

Projects

PSPROJECTDEFN — Project header table
PSPROJECTITEM — Definitions in the project
Fields

PSDBFIELD — Fields in the system
PSXLATITEM — Translate Values
Records

PSRECDEFN — Record header table
PSRECFIELD — Fields in the record (subrecords not expanded)
PSRECFIELDALL — Fields in the record (subrecords expanded)
PSKEYDEFN — Indexes
Pages

(Note: Pages still have the name panels in the PeopleTools table names)

PSPNLDEFN — Page header table
PSPNLFIELD — Page controls
PSPNLHTMLAREA — Static HTML Areas on Pages
Components

(Note: Components still have the name panel group in the PeopleTools table names)

PSPNLGRPDEFN — Component header table
PSPNLGROUP — Pages in the components
Menus

PSMENUDEFN — Menu header table
PSMENUITEM — Items (components) on the menu
Security

PSCLASSDEFN — Permission List header table
PSAUTHITEM — Menu items granted security by permission lists
PSROLEDEFN — Role header table
PSROLECLASS — Permission Lists in roles
PSOPERDEFN — User ID header table
PSROLEUSER — Roles granted to users
Portal

PSPRSMDEFN — Content References and Folders
Change Control

PSCHGCTLHIST — shows history of locked definitions with project name, incident, and description
PSCHGCTLLOCK — shows definitions that are currently locked
Application Engine


PSAEAPPLDEFN — header record; 1 row per app engine
PSAEAPPLSTATE — state records assigned to app engines
PSAEAPPLTEMPTBL — temp tables assigned to app engines
PSAESECTDEFN — sections
PSAESTEPDEFN — steps
PSAESTEPMSGDEFN
PSAESTMTDEFN — actions
HTML Definitions


PSCONTDEFN — header record; last update time, etc.
PSCONTENT — stores actual text in the HTML definition

Wednesday, April 2, 2008

Ahhh the symphony

Improv Everywhere presents the Cell Phone Symphony



What is that smell?