Empire State Regatta

Today I went to a kayak race. Not, unfortunately, to race. I was there to act as time keeper.

It was a fun time. The weather was awesome, the venue was pretty good, and the organizer pulled out all the stops in terms of providing food, drink and entertainment. The only problem was the turn out. Basically we got the local paddle community, and Scott Stenberg up from near where I work, and that’s it. Nobody from the Adirondacks and nobody from out of state. That’s too bad.

Last year the same organizer ran a race, which was unfortunately the weekend between the 90 and Long Lake. But in spite of that, he had a huge crowd. But because he was a first time race director, he was completely overwhelmed and didn’t get any real results, just a list of boat numbers and their finish times, and didn’t have any real prize presentation. Every paddler wants to see proper results. I don’t know if this is an unfair stereotype, but it seems to me that canoers care more about prizes than kayakers do. I dont know if that’s why people stayed away this year, but I’m sure it’s a factor.

Any way, this year he’s doing it right. Results up quick, and some nice prizes. Hopefully, word will get out that the problems from last year were fixed, and the crowds will come back.

Help me, smart people

This is how the v-rack is attached to the rack
This is my new v-rack. The connection is simple and strong, but it’s too simple for me. It doesn’t allow for access to my hatchback – I could probably get it open a tiny bit, but I’m afraid of the sharp edge of the square bar and what it would do to the glass of the hatch. What I want is either a quick and easy way to remove the rack entirely, or to undo the back clamp and pivot the whole thing forward around the front clamp, or even better, a quick and easy way to loosen up the connection once I take the boat off, so that I can slide the whole rack forwards so it’s not interfering with the hatch, and then slide it back and tighten it up again.

Some of the ideas I’ve had:

  • A quick release skewer from a bike. Not sure if I could get the size I want or whatever.
  • Something like a cable clamp, preferably one that goes over center and locks down really well.
  • Something like a cotterless hitch pin.
  • A plastic knob or wing nut to make it easier to unscrew.

Better ideas, or better explanations of my half-assed ideas above would be welcomed in the comments.

I’m back, baby

I paddled for the first time since my shoulder got bad, back in October. I didn’t go far, but that wasn’t the point. It was a chance to see how fit I am (terribly unfit), how fat I am (again, terrible – I couldn’t do up my PFD), how bad my shoulder is (not as bad as I thought based on experiments on the erg), how badly my technique has fallen apart (not bad at all), how bad my balance in the boat is (pretty bad – I nearly dumped several times and the boat was wobbling back and forth like a crazy thing).

I was also checking out the fit of my old rack on my new car. I originally bought this rack for my 2001 Corolla, and with the replacement of a couple of “Q-clips”, it has been on the Corolla, the Prius and now the CR-Z. It’s a little beat-up looking and the bars are ridiculously close together, but it’s on strongly enough that I can grab them and rock the car back and forth. I tied down my surf ski on top, and it actually held on pretty good, but then again I was only going a short distance on slow roads. I wouldn’t want to go anywhere other than Baycreek until I get my V-bars.

The last thing I wanted to check out was my new “million dollar” idea. I bought a coffee maker at the garage sale last month, and I cut out the “bubble pump”, a tiny one-way check valve that allows the hot water to flow up out of the reservoir into the grounds. I attempted to fit it in the venturi of the ski, figuring that would allow water to drain out at speed like it’s supposed to, but not to flow back in when you’re stopped, which is a pain in the ass at the start of a race. Unfortunately, I didn’t glue it in right, and water was flowing in around it. Even worse, it came out towards the end, and when I was getting out of the boat, I managed to lose it overboard.

Oh, that’s another thing I had problems with. When I finished, I approached the dock, and realized I was on the bad shoulder side. So I spun around (which unfortunately involved back-paddling on my bad side). But when I approached the dock, I still thought it felt a bit high. So I went to the other dock, the one the rental boats go in and out of. It’s much lower. I did my usual “sprawl onto the dock as the ski leans over on its side” ungraceful exit, but at least I ended up on the dock and not in the mucky water.

Overall, I probably paddled a little more than a mile and a half. I purposely didn’t bring my GPS because I didn’t want any incentive to go further or faster than I should. I had to rest a lot, but mostly because of how out of shape I am, not how sore my shoulder is. It feels easier in the boat than on the erg – last time I tried the erg, I was barely able to do 1000 metres (0.6 miles) in 200 metre increments. I’m going to try taping over some of the holes in the fan on the erg to see if reducing the resistance makes it more life-like at the slow speeds I’m paddling these days. But I tried to keep a good technique going while I was paddling, and I think that part at least hasn’t deteriorated too badly.

Man it feels good to be back.

Yeah, I think I’ll pass

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.

Well, that was a huge waste of time

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.