Month: May 2011

After the crash last week, I was of two minds. I was worried that with that amount of damage, it would take them a ton of time to fix it, and it would never drive right again. So, I was kind of hoping that they’d total it. But that lead to another problem – thanks to the earthquake and tsunami, the supply of Priuses (Priuii?) was way down, and thanks to the fact that the US car consumer has the attention span of a goldfish and gas prices are high this year, demand is way up as people who stopped buying hybrids last year when gas went under $3 a gallon are now buying hybrids again. So I started looking at other cars.
And this is what I settled on, a Honda CR-Z “Sport Hybrid”. It’s not as efficient as the Prius and it’s not as big as a Prius. But it’s got a lot more bling. And possibly because it’s aimed at a weird market (not many people looking for “sporty” are looking for hybrids and not many people looking for hybrids are thinking “sporty”), our local Honda dealer had several in stock.

Downsides:

Not much room

Low to the ground, so hard to get in an out of

Really bad visibility over shoulder

Worse fuel economy than the Prius

Most importantly, the roof might be so short that it won’t provide much support to a kayak rack. I’m definitely going to have to get a V-rack, although Scott Stenberg suggested I get a trailer instead

Upsides:

Has Econ, Normal and Sport modes. There is a huge difference in throttle response and even steering tightness in Sport mode

Bluetooth

GPS

USB connector for iPod, displays the track and artist information on the display

Voice command for the Bluetooth and the GPS

6 speed manual transmission

In Econ mode, it gives you information on how well you’re driving, including little “achievements” to shoot for. It’s like Farmville for cars.

As an hourly rate contract programmer, I feel it necessary to always keep my eye on the local tech job postings, and apply for anything that looks interesting. Because there is no job security in my position, my goal is always to be ready to take something else either before or as soon as possible after my existing job ends. That means not just looking to see if there is anything better than what I’ve got now, but also making sure my resume is still attracting attention and making sure my interview skills are honed and practiced.

I’d never take an interview just for the sake of an interview, though. I always intend that if the job is sufficiently good, I’ll take it. (But “sufficiently good” will vary depending on how much I like my current job and how secure I feel in it.) It just wouldn’t be fair to the other people to waste their time just for the sake of practice. But because you can’t get a full sense of how good a job is just from a description on Monster or LinkedIn, though, you may not know if the job is one you’d take until you’ve been there and talked to the other developers and managers about the project. That’s especially true if you’re going through a head hunter because they try to hide details from you so you don’t bypass them and apply directly. (I’ll bypass the rant about the time that the head hunter hid the minor little detail that the job was only open to US citizens until after I’d accepted the job and handed in my resignation on my current job.)

I saw this ad on LinkedIn. It was pretty vague, so I asked about it. The person gave me a few more details so I sent her a resume. The only problem is that their main line of business is SEO (Search Engine Optimization) and SMM (Social Media Management). That’s a bit of a red flag – there are two ways of doing SEO and SMM, the ethical way, and the “spam every blog and forum and Facebook and Twitter with links to your site” evil way. So I knew I’d be spending any interaction with them examining them minutely for any sign of which side of the fence they sit.

I got an invitation to an interview. Ok, I hadn’t noticed before that they are in Buffalo, not in Rochester. That’s not a deal breaker, but I’m not happy about it. They also sent a “Employment Application”, and it’s a typical one you see from certain companies that look like they wrote it for every position in the company from janitor to CEO. I find it slightly insulting to be asked if I have any “Special skills” with checkboxes including Word and Internet Explorer as special skills. As far as I, or just about any other software developer in the world, is concerned, the only special skill you need with IE is how to use it to download a real browser. Again, not a red flag, but annoying.

And then I got to the “Consent and Disclosure Form”. The form asked for permission to produce this “investigative consumer report” for processing my application. It said “the report may include, but is not limited to, searches of … financial or credit agencies; criminal history information… and motor vehicle records”. It authorizes them to do this report “now, or at any time while I am employed by the Company”.

I wrote the HR person back and said I’m not interested in signing away those sort of rights to a company before I’ve even talked to them. She insisted that they wouldn’t actually do the search until after they’d made a conditional offer and accepted it, and said that they wouldn’t actually look for credit information or motor vehicle records. To which I replied that if they don’t want those rights, don’t make people sign papers giving them to them, and reiterated that I wasn’t coming to interview with them.

[youtube l82nXRr_D0A]
I was driving home from lunch, and I managed to smash into a guy in an intersection. I have no idea how it happened – I thought I had a green light, but as I hit the guy and we spun, I looked up and saw a green light facing his direction. I wasn’t distracted in any conventional way – my cell phone was in my pocket, I wasn’t reprogramming my GPS or anything else. I just didn’t see the light.

The car is a mess. I had to really body check the door to get it open, and it looked like both the gas engine and the hybrid synergy drive box were knocked off their normal mounts. I don’t think the front wheels would turn. I don’t know if the car will be totalled, but I wouldn’t be surprised. They hauled it off in a flat bed.

The other guy’s car looks ok. It’s a Jeep Cherokee, and I hit the door behind the driver. Afterwards, that door opens and closes fine and the electric windows go up and down. So unless I bent his frame, he’ll be ok.

The worst thing is that it has badly shaken my confidence. How could I have not seen the light? There is another light about a hundred metres south of that one that I went through just fine. I have no recollection of thinking of something else, or looking elsewhere. I just blanked. And while nobody is hurt, I’m just glad I didn’t do something like that when I was flying.

I noticed my picture gallery was showing a couple of albums twice, and when you clicked either of them, you got an error page. After trying about a million different things from various FAQs and from a guy who was being very helpful in the forums, I finally discovered something strange: the table g2_itemattributesmap had many duplicate entries. I deleted one of the dups (and manually reentered one, because there was no primary key or other way to uniquely identify one of the rows), one of the duplicate albums stopped showing twice, and when you clicked on it it worked correctly. So I did the same with another row, and suddenly the main page of the gallery stopped working. Oops. But in for a penny, in for a pound, so I continued on with the other duplicates and when I finished everything was working great.

I’m a little concerned about how this might have happened before. One thing I’ve noticed using Gallery is that the developers mainly seem to work in MySQL, and PostgreSQL (which I use) appears to be an after thought. And if there is one thing I know about MySQL, it’s that it implements a smaller subset of SQL than PostgreSQL, and it does some incredibly bizarre things that violate the SQL standard, especially when it comes to nulls. So I’m not surprised that MySQL-focussed developers don’t add unique contraints to a database table where the presence of duplicates causes things to break badly. I wouldn’t be surprised if MySQL doesn’t even support unique contraints correctly.

Every two years, the Browncroft Neighborhood holds its world famous garage sale. This year, after nearly 6 years in this neighborhood, we finally got our shit together enough to sell some of our junk.

It also happened to be the day when we had company coming over for dinner, as well as a previous occupant of the house coming by during the day, so I got to spend the entire day out minding the store while Vicki dealt with all that stuff.

It was a beautiful day. Widget likes to be outside with me when I’m out sitting out front, so he came along to keep me company. I swear we had more people stopping to pet Widget and tell me about their Shih t’zu or Lhasa than we did looking at the merchandise. A couple of times I noticed Widget trembling when a dog was sniffing him, but I didn’t pay any attention to it.

The most important item we had to sell was my old bed. It had been my queen size water bed in Ottawa, then Vicki and I used it with a special spring mattress insert designed to go into waterbeds, then it was Laura’s. It went to a girl about Laura’s age who had just moved into her own apartment, so that was nice. When I was taking it apart I realized it was all Robertson screws, and nobody in the US uses Robertson screws, so I had to throw in the screw driver with it.

I managed to sell my old Series 2 TiVo to a guy who was really only interested in the hard drive inside it (since I’d upgraded it to 180Gb). I found another 250Gb IDE drive in my office and sold that to him too. I’m 99% sure I’d wiped it already, but even if I haven’t, I use my laptop to pay bills and log into bank accounts and the like, so I don’t think he’d be able to find anything useful on it. I totally forgot to offer him my broken Humax TiVo, since it has an upgraded hard drive as well. I also forgot to keep the remote control since he wasn’t going to use it. Oh well.

I managed to get away for a few minutes and scored a circular saw that was in its original box with no sawdust on it for $15. I can finally ditch Vicki’s dad’s old circular saw with the electrical tape around the cord and the screaming bearings. I didn’t want the guilt of handing that thing to anybody, so I left it at the end of the driveway, and pretended not to notice when somebody grabbed it.

The sale was more than half over when I realized I was probably getting some sun, so I went and got a hat. But it wasn’t until it was all over just had badly sun burned I got. I’m going to be using a lot of aloe today.

But there was a sadder story. Soon after I’d packed up the remaining books and came in, Widget suddenly fell down on the floor. First I thought he’d just lost his footing on the slick wooden floor, but he started trembling uncontrollably. He continued to have motor control problems for a good 10 minutes or more afterwards. He wasn’t totally out of it, and he could sort of look at you if you called his name. If you’re a facebook friend of mine, you can see a video.

He had a couple of similar seizures last summer, but none since September. I suspect he got overheated and possibly dehydrated from being out in the sun all day. He looks and acts fine today, so there doesn’t appear to be any lasting damage. We’ll have to be more careful with him.