Going out with a bang

The evening before our last day, Boyan had said he thought there wasn’t going to be much wind tomorrow, so we could work on our forward stroke. Frank’s back had been hurting in the double, so when we went into Tarifa for dinner he’d stopped at the ferry terminal and booked an excursion to Tangier for the day.

I dropped him off after an early breakfast and I was sitting in my usual place overlooking the ocean and using the hotel’s pathetic wifi when Kassie sent me a message saying that they were going to do a downwinder. I was confused – I didn’t know if she meant the group was doing one in the afternoon, or she had hooked up with the two english guys to do a downwinder in the morning, but then ten minutes later she looked up from her computer to realize that she’d been sitting right behind me all the time, and she came over to clarify. It turns out that she had come to the hotel in the morning because the group was just about to leave for an unprecedented morning downwinder and nobody had noticed that I was back from dropping off Frank already.

I got ready as quick as I could, and we all hopped into the van for the trip to Punta Paloma. It was Karen’s turn to paddle with us, and so we had the three Germans, one Swede, one Australia, one Canadian/American, and Boyan the Bulgarian. I have lost track of which person was in which boat at this time, but I do know that Kassie and I were in red stripe V8s.

We went out beyond the point and turned downwind. There was a strong set of waves coming from about our 7 or 8 o’clock and running offshore, and a weaker set coming from about our 4 or 5 o’clock. The current/tide was against us, which is the main difference about going in the morning instead of the afternoon, and that steepened and shortened both sets of waves. The set coming from the shore direction got weaker as we went on, and the set going towards the shore got stronger – because of this, and because we were going so far down the beach, we ended up being fairly far out to sea, far enough it have about a kilometer of time over a shoal or reef that made everything more choppy and confused.

The two uber athletic Germans ranged far ahead, while Karen and the younger of the three Germans held down the middle, and Kassie and I brought up the rear. Boyan ranged up and down the line trying to herd the cats and keep us together. For the middle couple of kilometers I was finding myself having to actually wait for Kassie, which made me think I was actually improving some, but those thoughts were dashed by the afternoon’s paddle where once again I spent most of the time bringing up the rear. No idea what the difference was – it might have been her, it might have been me, it might have been the conditions, it might have been the time of day. Maybe I should just stop trying to measure myself against everybody else and measure myself against myself. And on that yardstick, I think I have much to be happy about. I think I was doing better at catching waves in the big stuff, better at linking, and better at not getting a cockpit full of water than even I was a few days ago. Stuff that would have terrified me a year ago was downright fun, and stuff that was hard work on Monday was almost easy by Saturday.

I shouldn’t get cocky, though. I’m fully aware that even Lake Ontario can produce conditions that make these ones seem tame, and I’ve got much to learn and practice.

One technique that got a real workout in the morning was trying to pick the right wave when you’ve got two sets setting up interference patterns. Sometimes instead of waves, you’ve got pyramid shaped lumps forming and dissolving, and trying to find a lump that is going to push you in the right general direction, or push you in the wrong direction but give you the speed you need to catch one going in the right direction can be a frustrating and rewarding experience. At one point during the morning paddle I found myself stalled on top of he fourth wave in a row with the cockpit filling with water and I said “stop chasing the big ones, find some small waves and just enjoy the small push they give you for as long as it lasts”. That worked, and gave me both the rest and the speed I needed and I soon found myself on big waves again. Boyan would gather us together for short pep talks, which also helped you get out of the intense concentration on just the next wave, give you a chance to enjoy the view for a few seconds, and then refocus on the task at hand. Even when he broke you out of a nice streak of linked waves, it was a good idea.

Just before heading into shore, Boyan made us do a set of remounts. I haven’t done remounts in meter high waves in a while, and it’s a good skill to practice in a nice safe environment with the waves pushing you towards shore and a big group of people around. I kind of blew the first one, but the subsequent ones went well and I made sure to practice on my less good side. I gave a small tweak to my shoulder, but not so bad that I couldn’t paddle.

The afternoon’s downwinder was very similar. The tide and current were running with us, and the wind was a bit stronger, so the surf was a bit better, but the part on the reef was even rougher and more challenging. Again, the emphasis was on turning towards the next wave, especially when you were on one that was petering out and you could see one forming at an angle. We zigged and zagged, but generally progressed towards our destination, although at the end we found ourselves abeam the take out and several hundred meters off shore, necessitating a bit of paddling in beam seas. I’d anticipated this a bit and come more directly inland while the rest of the group did a wide arc – except the two irrepressible Germans who’d actually paddled past the take out and then back into the waves and current just for the extra exercise.

After two 12.5 km downwinders in one day, my shoulder was a bit sore, my left calf muscle was a bit cramped, my psoas muscles in my groin were stiff getting out of the boat, and my left knee was hinting at that stabby pain I sometimes get, and of course my hand was still a bit mangled. I was, for the only time, kind of glad that I was done paddling for a while. I was actually so tired that I didn’t even go to the hotel porch to use the wifi – I just laid down and tried to read until it was time to pick up Frank. And after dinner, only the briefest of checks of my email and Facebook, a quick dump of all available clothing into my fortunately oversized suitcase, and off to bed.

Of course in the morning all the pain is forgotten and I wish I was paddling again, but today is a full day of travel and no time to even look longingly at the boats on the trailer. Oh well, maybe I’ll be back some day.

Long Lake Long Boat Regatta

[dciframe]http://connect.garmin.com:80/activity/embed/379176254,465,548,0,auto,border:1px solid blue;align:left;[/dciframe]
Today was the race I thought about all the time I was rehabilitating my shoulder and losing weight. This was the real test if I was back or not. Ten miles, in the Adirondacks, with all the uncertainty of weather that might entail.

Yesterday, the forecast for today kind of sucked. Winds of up to 20 miles per hour, 80% probability of precipitation, and thunderstorm in the early afternoon. But this morning the forecast was quite improved – the rain was supposed to hold off until afternoon, and the wind was supposed to be lower. Well, one out of two aren’t bad – as start time approached it was clear that the skies were going to stay clear, but the wind was moderately strong whipping straight down the lake, with stronger gusts and building.

At the start, I lined up next to Roger Gocking with the idea of maybe trying to hold his wake – he’s always been faster than me, but I thought maybe with my improvements, I could hold him. But almost as soon as the start gun went off, Roger was fouled by some idiot in a guide boat. The guide boat guy put his oar right over Roger’s boat, and both of them had to stop dead. Honestly, guys, you know those things are slower than kayaks, and you’re not facing forwards, so you’ve got no right to be trying to mix it up with the kayaks on the front line. Line up behind us and wait your freaking turn. Roger is a better man than I am and didn’t yell at the guy, just proceeded to quietly untangle, but I needed a new strategy.

I latched onto Mike Littlejohn’s stern wake. He was going gang-busters. Jim M was ahead of us, as expected, and Todd F was coming up past us, but otherwise it was just us up front. Now in the past I’ve beaten Mike a few times, and he’s beaten me a few times. I don’t know what the difference is, except I know that he’s got two boats that he made himself and I can’t tell the difference between them, and one is unlimited class and one is touring class – and today he was in his unlimited class boat. But he’s also a big guy and his technique sucks, so I had an idea that maybe I could ride his wake on the way down, and then gap him at the turn, and extend my lead on the way back. Certainly that’s pretty much how it worked in 2010 – I increased my lead on everybody except Dave Wiltie into the wind on the way back, but I’d been on Wiltie’s stern wake then, and at this point there was nobody I could see likely to come through and drag me away from Mike.

My heart rate was really high – in the mid 160s. I didn’t think I could sustain that. By the 4 km mark, I was feeling it, and I wasn’t seeing any sign of weakness from Mike. The idea that he would fade and I’d be able to take the lead was kind of seaming like a pipe dream. And worse, the wind was coming hard from the right side, and my boat wanted to weathervane into the wind. I was wasting effort applying hard left rudder just to stay pointing straight ahead. I had a momentary bobble, and caught a glimpse over my shoulder and realized that Roger was caught up to us and riding my wake. That spurred me on a bit, and I tried to pass Mike. I was a little upwind, partly by choice, partly because my boat was weathervaning into the wind. Roger stayed on my wake, but I never managed to get more than half a boat length ahead of Mike. Even getting a better angle on the waves towards the turn bouy didn’t help.

But as I was cutting towards the turn bouy, I got a massive stroke of good luck – the war canoe “Dog Breath” came roaring by. At first, they clashed paddles with me and I said “Thanks, I really needed that” and one of them said sorry. But then I managed to get on their side wake. It was great – I had to sweep on the side towards them because I was getting sucked into them, but the speed was incredible. I put some serious distance into Roger and Mike. I yelled to the guys on Dog Breath “All is forgiven”. But we were close to the turn bouy and when they turned I couldn’t stay with them – I might have been able to if I was inside the turn, but I was on the outside. After the turn I tried to get onto one of their stern wakes, but it just wasn’t happening. And the wind was horrible – it was coming from the front, then from the side, then from the front. A couple of kilometers after the turn, there was an island and I was trying to get into the wind shadow of it as had Jim and Todd and the war canoe, but the weathervaning of my boat was making it really hard.

I eventually did it get into the wind shadow, but by the time I did, Mike and Roger were back on my tail, and soon afterwards Mike came up even with me, with Roger still on his tail. I still had the feeling I might be able to get past them in the end. The wind was now in our face, and it was strong. Some of the gusts were as strong as any I’ve ever encountered in the boat, and I had to switch to a low paddling style. But it was hard hard hard. Now it was all three of us side by side. I tried Mike’s side wake, I tried Roger’s side wake, I tried to get into the V between then, but nothing helped. Neither of them were showing any signs of fading, but I was. I was side by side with them with a kilometer to go, but in that last kilometer I fell off behind. By the end, Roger had a boat length on Mike, and Mike had a boat length on me.

Roger, Mike and I at the finish.
Roger, Mike and I at the finish.

It wasn’t as good as I’d hoped, but it was probably the best result I’ve had. I’ve never finished anywhere near Roger before, and he’s doesn’t look like he’s slowed down any. But I was disappointed not to beat Mike. He’s beaten me in the past, but I’ve also beaten him. I was hoping I’d get him this time. Oh well, maybe next year. I just wish I could find a solution to the weathervaning on this boat. It’s a good boat otherwise.

No such thing as a smooth upgrade.

My colo box has started exhibiting this strange behaviour:

  1. My “guest” (aka domU) OS will stop talking to the network. I can still log into it by going to the “host” (dom0) OS and issuing the xm console xen1 command.
  2. The guest still thinks it’s connected to the network. ifdown eth0; ifup eth0 doesn’t accomplish anything.
  3. If I reboot the guest, using shutdown -r now "", reboot, or, from the host, xm shutdown xen1; xm create xen1.cfg doesn’t come back up. xm gives an error about being unable to reserve enough memory.
  4. If I reboot the host, it doesn’t come back, and I have to either go into the colo or put in a trouble ticket, wait a few hours and then phone them up to ask why they’re ignoring my trouble ticket. They always respond that they’re really swamped right now and they must have missed it in the rush. When I go in, they’re always bored out of their minds and playing games. Oh, and good fucking luck finding a phone number anywhere on their web site. I only found one because I had it in my phone from before they were taken over by Earthlink.

When it was happening every 4 or 5 months, I wasn’t worried. When it happened twice in one month, I got worried. When it happened again 3 days after that “twice in one month”, I’m really worried.

Thinking that this might be a Xen problem, I decided to upgrade the host OS from Debian 6 to Debian 7. Mostly, it worked just fine except for two “small” problems:

  1. I couldn’t figure out how to make it boot the Xen stuff automatically and
  2. When I manually booted the Xen stuff, the network wouldn’t come up

The first problem is due to the way they re-arranged the grub menu – all the Xen stuff is under a submenu. The recommendation I found was to use dpkg-divert --divert /etc/grub.d/08_linux_xen --rename /etc/grub.d/20_linux_xen to put the Xen stuff ahead of the non-Xen stuff in the Grub menu. That seems like a cheezy hack, but I’ll take it for now.

The second problem appears to be because of changes in the way Xen does bridging – evidently they bring up eth0 before /etc/network/interfaces brings it up, or something like that, and everybody gets all confused. The extremely dubious hack I found on-line to fix that is to add a pre-up ip addr del xx.xxx.xxx.xxx/255.255.244.0 dev eth0 || true to the definition of eth0 in /etc/network/interfaces. I suspect a better long term answer will be to figure out how to set up the proper bridging for the Xen stuff.

Now that’s all hacked together to work, fingers crossed that it actually reduces the freeze-up problem. Meanwhile, all the guest OSes are still running a 2.6.32-5-xen-amd64 kernel and I’d like to switch to a 3.2.0-4-amd64 kernel. Hopefully I can do that without another long night of standing in a hot colo facility.

What a day so far

First off, our power went out. A quick survey of the neighborhood showed it was out all up and down the street, and a call to RG&E revealed that it was a tree down over a power line.

Then while I was taking a break in the back yard, unable to work because of the lack of power (although in retrospect I probably should have mowed the grass since I’m going to have to work tomorrow to make up lost time), I got an email from a member of the flying club asking why my email address (and a non-functioning email address at that) was listed as a technical contact for their domain, and can I help them transfer the domain over to their control. Doing what googling I could do on my phone showed that the current registrar are notorious domain hijackers. Oh oh.

Once the power came on, the main router was flashing a green “power light” and not connecting. Again, doing what limited web searching I can do on a tiny smartphone screen shows that this means the firmware is corrupt, and it can happen if the router loses power (which seems like a pretty shitty failure mode – you’d think the firmware could only be corrupted if it were in the process of updating the firmware, otherwise it’s not exactly what you’d call “firm”, now is it?) The solution is to download the latest firmware and reflash the ROMs, which is difficult if you don’t have an internet connection. Fortunately I have two of these routers, one at the other end of the house to act as a wireless repeater. So I grabbed that one and did a factory reset, and then reconfigured it as best I can. That was a bit of a hassle because at some time in the past I changed the name of our wifi from either Robinson_Tomblin to Tomblin_Robinson or vice versa, and I couldn’t recall which, and so when I got it wrong the iPad and iPhone happily connected to it, but the printer, the TiVos and the Nexus 7 wouldn’t.

With network connections re-established (sort of – every router configuration change seemed to involve losing it again for a time up to a minute or so), it was time to download the new firmware, enable tftp in the Windows laptop, and flash it. Amazingly enough, it actually worked. Then I reconfigured that router, and everything was back in business.

Except now my security camera isn’t working. Down to the basement to unplug the POE cable, plug it back in, and it’s working.

Now it’s time to look into the flying club business. Thank goodness for searchable mail archives – the club asked me to transfer the domain to them in February 2011, and I did. And they were using that infamous domain thief as their registrar. And at the time I pointed out that they’d need to reset all the various contact email addresses. I also gave them a list of email forwards I had set up for their domain, and they decided to turn them all off. So phew, it’s not my problem and not my fault and if they can’t remember how to log into their registrar account and change the email address, too bad for them. I feel sorry for them, and I don’t wish them ill will, but the relief of it not being something I have to help fix is overpowering all that.

Why I want to punch Microsoft in the face

Ok, not the company, just anybody who was ever involved in their web browsers.

I’m writing a web application. I’m trying to make it modern with good UX (User Experience). Sometimes my boss’s decisions go against that desire, but I do what I can. Real world requirements aren’t always as straight forwards as the stuff you read in “Design For Hackers”.

So this week, I did a new part of the app. It was finally working the way I wanted to on real browsers, so then I turned to IE testing. It didn’t work right on anything older than IE 10. After two days of screwing around, I had a workaround that worked ok on IE 8 and 9 – it didn’t look too much worse than it does on real browsers, just different. That’s good, because the boss says that IE 8, because it comes on Windows 7, is the corporate standard and I don’t have to support IE 6 or IE 7. So I upload my test code to their server and clicked on the link, and it looked like a dog’s breakfast. Turns out that Microsoft, in their infinite wisdom, have decided that when something is on your intranet, should run in “compatibility mode”, which basically means it acts like IE 7.

IE is supposed to recognize a header, “X-UA-Compatible”, which is there so the web developer can tell the browser which version of IE it’s written for, but because Microsoft are a bunch of idiots, they decided that the “use compatibility mode on the intranet” setting should override this. I can’t think of a single reason for this, other than sheer idiocy.

On StackOverflow, a user offered up a “simple” workaround – all you need to do is get every web server on the corporate intranet except yours to change to serve up a “X-UA-Compatible” that specifies compatibility mode, and then the sysadmins to change the default setting on the Active Directory servers (and probably Citrix as well) to make sure people’s logins allow the setting from the web server to take precedence over their login settings. That of course pre-supposes that you can even find every web server on the corporate intranet. And find their owners. And get those owners to sign anything without 12 years of running around making business cases and getting manager approvals. And then get the web servers actually configured that way.

I think it would just be faster to wait for every computer in the company to be replaced by one running a better OS. Or the heat death of the universe.

So off I go to try to find a work-around that works on IE 7 as well.