Archive for December, 2008

A nod to my Dad …

Sunday, December 21st, 2008

My dad was a newspaper reporter and editor, and for a time in my youth (and his too, I suppose), he was an editor of a couple of small papers in Alaska.

During that period, as the editor, he wrote an editorial column that he called “Weaver’s Loom” where he wrote stories and posted his opinions. I remember all sorts of entertaining stories in that column, things about the family, events that happened to us, and even a posting of my creative writing about Santa (where I had him upgrade the sleigh with a rocket ship).

So when I started this blog, I thought I would borrow his column name in honor of the fabulous tradition of Weavers spinning their tales. If you want to see the professional writer at work, check out my Dad’s blog at http://www.virtualbob35.blogspot.com/

I don’t have a particular focus, and I expect this won’t be the sort of blog that has lots of followers because of that (more of a journal that might be interesting to people I know). Anyway, the experiment is begun, and I’ve started “blogging“, so expect to see short stories here in between the technical and business postings.

Reblog this post [with Zemanta]

Moving my VolunteerCake to my Mac …

Saturday, December 20th, 2008

I have been running my development for VolunteerCake with a database on my Windows box which sits in my office with my Mac. I went to meet some people at a coffee shop, and realized that I couldn’t show them the app running on my MacBook because I was no longer on the same subnet with my Windows box, so I decided to move the database to the Mac to allow me for this.

Since I had everything in place to run Cake on my Mac except for MySQL, the first step was to install MySQL. This turns out to be pretty painless. Just grab the DMG from the MySQL site, and voila, new MySQL running on my Mac. Checked everything out using the MySQL administration tools, and it all looks good (I can access the DB, set up users, etc.)

Next I need to put the data in the database, so I just do a quick export from the phpmyadmin page on the PC. I end up with a file that is the SQL needed to replicate the entire database on my Mac. I run this SQL into the Mac MySQL, and now I have an exact copy of the database on my Mac.

After that, I go to the SQL administrator tool and make sure I have the user set up to give access to that database and make sure the username and password are the same as I was using on the PC (if I were more of a DBA, I’d probably have done this with command line MySQL, but I like GUIs, especially for things I don’t do every day, and the MySQL tools are pretty cool).

Then I need to change my database.php to point at the local database in order for VolunteerCake to get the data from the Mac. This should be as easy as changing the name of the host name to ‘localhost’ from ‘monet’ since I’ve set up the user and access to the database exactly the same as what I had on the PC.

Finally, all that’s left is to fire up the same URL that I have established for my app on my Mac (http://test.lctd.org/VolunteerCake) and … wait, that didn’t work. It says it can’t find the table acos for the Aco model …

Weird, the table is there, I can connect just fine, what could this be? A quick trip to the IRC channel, and I get the suggestion of clearing my cache. OK, try that … But hit the URL again and no change.

OK, now I’m confused, so I try running ‘cake bake’ … Now something interesting: I get an error that tells me that it was unable to connect to /var/mysql/mysql.sock - what does that mean? I thought I was connecting with a TCP socket, why does it want a file? Is this some sort of file permissions issue ?

Back to the IRC chat for some guidance, thinking maybe it’s a common problem, a permissions issue or something, of course they tell me to do exactly what I’d tell somebody else to do: verify that you can connect from PHP first. Good idea - so I whip up a quick connection test page, and get the same error. So now I’ve confirmed that it’s a PHP problem, and not a Cake issue.PHP can connect to a remote DB, but not the one on my local Mac …

Now it occurs to me that I often have problems that end up being related to the open source software that came bundled with the Mac, so I do some Google searches on PHP connection to MySQL for Mac OS X, and with the connection error messages. Eventually I find what looks to be the issue: for some reason the MySQL configuration sets the socket file to /tmp/mysql.sock but the PHP that comes with the Mac is looking somewhere else (at /var/mysql/mysql.sock to be specific). So I basically have three choices, edit the php.ini, edit the mysql config file, or build symlinks to make the file accessible at both locations.

I decide to change the php.ini file, which turns out to be another excercise in hunting, since Mac OS X likes to hide the files you’d expect to find in the /etc directory. After some more Google searches, I find that the PHP5 install that comes with Leopard puts the php.ini file into /private/etc, so I edit that file, changing the part of the file that looks like the following:

; Default socket name for local MySQL connects. If empty, uses the built-in
; MySQL defaults.
mysql.default_socket =

To be:

; Default socket name for local MySQL connects. If empty, uses the built-in
; MySQL defaults.
mysql.default_socket = /tmp/mysql.sock

In order to have PHP find the mysql.sock in the location that MySQL is actually creating it. Check my URL again, and voila, everything is working !!!

So, to make a long story even longer, I relearned that mixing actual open source with vendor open source is often problematic. It was suggested by at least one person (Mark Story) on the IRC channel that the best way to set up for Cake development on the Mac is to use MacPorts, since then you end up with matching versions of the software all in a “normal” open source location.

Negotiations over (or are they?) …

Monday, December 15th, 2008

I recently had an experience that reminded me that you truly can negotiate anything.

I got a call from a buddy telling me that he his manager was looking for a contractor to replace somebody who wasn’t performing to the level they needed in a business analyst type of position. The person they were replacing was a low-range contractor, so the rate they had been paying was substantially lower than what I’ve been making (as a program manager), but they also expected they’d need to pay more to get the skill-set they were looking for.

That set my expectation to expect that there would be some serious negotiation around rate, so I tried to take my usual approach: avoid discussing rate with the client. In general I was able to succeed, and and instead talk about the job and how I would be effective in helping them (particularly in areas that the prior person had failed).

I do have another rule, however, which is that I will honestly answer a question put to me directly, so inevitably the question of rate did come up. The dreaded question of “what was your last rate?” comes up, and is always uncomfortable for me. I thought I did a good job of answering the question by letting them know that rate is not the deciding factor for me, that I expect a fair rate for the work being done, and that I wasn’t expecting anything like my prior rate. After that preface, I did let them know my last rate (as a program manager on an implementation project), and tried once again to set the expectation that I wasn’t expecting to recieve that sort of rate on this engagement.

I had this conversation with the Director of the group that was looking for help, and everything went well there. We connected well on our phone screen, and he turned me over to his hiring manager to complete the process (since it was her group and I’d be working for her).

At the end of the process I asked my usual questions about how I did, and whether they had any concerns that would keep them from offering me the job. It seemed I had done well, and that the next step was for them to complete their interview schedule, and check references. The Q&A about prior rates came up again, and I thought I once again responded with rate not being the deciding factor for me.

I diligently followed up with a thank-you email to each member of the team, and continued to ask my buddy about my chances. Eventually I got an email from the hiring manager telling me that it was between me and one other candidate. My friend told me there was no comparison, and that the only reason I might lose out would be on rate, since I was more qualified and had his backing.

After another weekend, I got an email from the hiring manager telling me that they had decided to go with the other candidate based on rate. This surprised me a little since I didn’t really think we’d ever discussed rate. So I dropped an email back to the Director (cc’ing the manager) asking why they thought my rate was too high when we hadn’t discussed it. I carefully crafted the email as a question about my communication skills and helping me to improve them:

I heard  from <your manager> and my friend that the decision was to go with  another  candidate based on rate.

I was a little surprised since I   didn’t think we had gotten to the point where a negotiation of rate  had  started, beyond my responding to questions about my rate on prior  engagements.  My experience in the past has been that if the  rate is too high,  they simply ask me if I’ll take less.

If you  could help me out in  understanding if I set an unreasonable  expectation, or if this was instead  just a matter of the other guy  being a better fit, I’d appreciate any feedback  you could give me.

Interestingly what the net result of this email was, was that the negotiations were reopened. He replied to me that they had compared the rate I had told them from my previous work, to the rate that the other contractor was asking for, and simply assumed that I wouldn’t be happy with a reduced rate. We traded emails back and forth a few times, and we agreed on a rate that was the same as what they were looking for with the other candidate, and it felt like there was a chance I’d won the engagement.

In hind sight, I think one mistake I made here was sending this email to the Director instead of to the hiring manager, since she was the one who would ultimately make the decision. That said, I did re-learn a valuable lesson about negotiating: it ain’t over until it’s over ….

It’s all about getting to yes, and by asking these people if they could help me understand why we hadn’t negotiated on rate, I helped them understand they could have negotiated for a more valuable resource a little better, and kept the negotiation open.

More web neworking …

Thursday, December 11th, 2008

I was talking with the recruiter who got me my job at Quovera (formerly Millenia Vision) about why she has the text “{LION}” after her name. She explained to me that it’s an acronym that is for people who practice “open” networking.

I did some searching, and found this site at http://www.themetanetwork/ which appears to be the basis of the LinkedIn Open Networking Community, and signed up.  There was a form to fill out that told about my current networking level on LinkedIn, and finally I got told that I’d go through an approval process.

Once I got the approval email, I was asked to complete my profile. Interestingly the profile on this site has forms for all sorts of other networking profile sites in additon to the ones I’ve seen before (and mentioned in prior posts to this blog). So I’ve filled that in as best I can, and we’ll see …

There are just way too many places on the web that try to help you with networking for any of them to be very valuable. LinkedIn seems to have kept a solid focus and finally seems to have a high penetration after all these years. If only it could keep my address book up to date ….

I just ran across a great post (actually a friend posted the link on Facebook) on social networking called “The Ultimate Social Media Etiquette Handbook” by Tamar Weinberg that gives you lots of good ideas on the do’s and don’ts of social networking. Highly recommended for newbies like me trying to figure this stuff out.

Lose focus, lose the race …

Wednesday, December 10th, 2008

One of the most common mistakes I’ve seen businesses make over the years is to lose focus on what made them successful in the first place.

Over the last year or so I’ve become more disappointed with Plaxo. They seem to have forgotten that their key differentiation in the market was the way that they helped you keep your address book (and calendar) up to date, and secondarily to keep multiple services in synch.

(more…)