Six hours with a Palm Pre

Vicki and I have been discussing smart phones for a while now. I wanted an iPhone, for a number of reasons regarding the phone itself and the Apps Store, and also because I have severe reservations about Sprint’s ability to provide signal, based on my experience about eight years ago when I was a Sprint customer. But Vicki utterly hated the idea of talking into a flat panel for reasons I don’t entirely understand, and she seemed to feel much more strongly about it than I did. So we decided to go with the Palm Pre. We picked ours up today. Here’s a few preliminary impressions, in no particular order:

  • I find the keyboard very cramped. The Treo keyboard was better.
  • The screen is small compared to the iPhone/Touch but just as bright and readable.
  • There are almost no apps in the App Store.
  • As I feared from my previous experience as a Sprint customer, signal strength inside the house sucks.
  • The OS is very slick in many ways. I’m hoping there is a faster way to dismiss a page than to swipe up to go into the multi card view, then swipe it up to throw it away, but otherwise it’s really nice. Very much the equal or better than the iPhone OS.
  • Even though the web browser is supposedly based in WebKit, same as the iPhone, it doesn’t do GMail right – you press the “Archive” button and it doesn’t take you back to the Inbox screen – although refreshing the screen shows that the message was archived, and sometimes it cuts off the bottom of mail and you can’t scroll down.
  • The built in mailer is better but it doesn’t thread or group by subject (much like SnapperMail or Apple Mail) and when you hit the delete button it somehow really deletes the message instead of
    archiving it like SnapperMail does.
  • The battery life seems pretty poor compared to the Treo, but of course I’m using it more right now, and I haven’t charged it overnight yet. But an hour or so of constant web browsing seems to use about 50% of the battery.
  • The Sprint GPS app seems extremely good – as good or better than my Garmin nuvi, although I wish it were louder.
  • The bastards used yet another incompatible connector instead of a standard mini-USB so you have to use their cable to charge it.
  • The iTunes integration seems to be working fine, although I can’t tell if it synced contacts.
  • The ability to merge contacts is great, although I kind of wish it hadn’t dragged in every person I’ve ever sent email to on Google.
  • Same with the calendar integration – it brought in every calendar I share, even the ones I normally turn off. You can either view only one calendar, or all of them. There is no way to turn off “Vicki’s Work Calendar” and “Ubuntu Local Community” and keep all the rest on.
  • Tasks seem to have no ability to make repeating entries. Funny how Palm OS used to do that so well, but WebOS can’t. But then again, neither can Google Calendar tasks.

All in all, I think the Pre is going to be a good phone, but I wish it got better reception in the house.

Surf Skis again

Dan and I went for a paddle today, and because it was such a hot day and the water was so warm, afterwards he suggested I give his Epic V10 surf ski a try. I wrote before that I’d tried out a V10 Sport a few times and liked it a lot. A V10 is longer and narrower than a V10 Sport – it’s basically got the same lack of initial stability, but it doesn’t flare out as much so it has a lot less secondary stability. Dan said that it would be a better boat for me because of my size, and I have to say that paddling in the shallow water just off shore at the beach it sure seemed less prone to “suck water” in the shallows.

The lack of stability meant that I dumped about four times before I got to take my first paddle stroke. After a while (and a lot more swimming), I got comfortable enough to take ten or twenty paddle strokes before dumping, but I was still going from gunwale to gunwale (assuming you can call those things on surf skis “gunwales”). But that was just my first half hour in the boat – I’m sure in another 10 hours I’ll be much better – and have a lot more beach sand in my ears.

I’m not denying that the V10 would be a faster boat once I got used to it, but on the other hand, the learning curve would be a lot higher – I wonder if I’d be able to race it in the first season I bought it. On the other hand, most of the rest of the team is in V10 Sports now, and I can just imagine what some of the more competitive (but who claim not to be competitive) types would think if I were to leap frog them and get a faster boat than them.

On the other hand, Mike thinks he’s got this all worked out. He owns a “blue stripe” V10 Sport. On Epic surf skis, there are are four different layups, each one more expensive and lighter than the last, each denoted by a different colour stripe on the cheat line. The “blue stripe” (Value) ones are the cheapest and heaviest. The “black stripe” (Performance) ones are about $500 more, and about 4 pounds lighter. The “red stripe” (Ultra) are $1000 more than Performance, and 8 pounds lighter than them. (Note the constant $125/pound ratio there.) And the mythical “black boat” (Elite) ones are another $1000 more than Ultra, and only 4 pounds lighter – so due to the drop off in price/performance, I’ve never seen one of these, and nobody is likely to see once not in the hands of pros. But anyway, Mike’s theory is this: next year, I should buy his “blue stripe” V10 Sport, and he’ll buy Steve’s “red stripe” V10 Sport. Then Steve will buy something even better, probably a V12 or V10 L. It’s a great theory, providing Steve cooperates by buying another boat and selling his V10 Sport for a price that Mike can afford. And that I actually want his “blue stripe” V10 Sport. But that might work – a year in a V10 Sport might be a good way to develop some core strength and balance before moving to a V10.

Upcoming races

I’m trying to decide what kayak races to go for the rest of the season. I definitely want to go to Long Lake on September 26th (oh, should book a motel room now, shouldn’t I?). That’s pretty much the “capper” for the season. It’s 10 miles, and that race was my target when I set myself the goal this year of completing a 10 mile race (although I already achieved that in July at the Armond Bassett race).

But other than that, I’m looking at “Remington II” on September the 5th in Rensselaer Falls. It’s “only” 6 miles, and down river. The course description mentions a couple of easy rapids, and on Google Maps they look like they might require dragging through depending on how high the river is. It also doesn’t look like they have a huge turn-out, so it would probably be a battle between the Baycreek Team. They don’t have separate categories for Touring and Unlimited kayak, so I’d be up against Dan and the rest of the surf skis.

Dan forwarded some brief information on a race on September the 19th somewhere near Ottawa. It’s called “Small Swells”, and so far I’ve been able to find out next to nothing about it, except it has 5km and 14km courses and it’s run by the Ottawa River Canoe Club. (And the ORCC web site lists the race as being on September the 16th, which would mean I definitely won’t go.)

So those are my options. I think I’d like to do all of them, but it would depend on time and money.

Another long paddle with Mike

10 Mile Paddle with MikeToday Mike and I met up early to do another long work-out like we’d done on July 25th. A few differences this time: Mike only wanted to do 10 miles, and he wanted to meet at 7:30 so we could be done before it warmed up too much. When I showed up, I discovered a few more differences: Mike brought his EFT instead of his surf ski because that’s what he’s going to race next weekend at the Bear Mountain Challenge, and he left his wing paddle somewhere so he was paddling an ordinary flat paddle. Also, the river was running very fast, and there were a lot of chunks of wood in the water, like maybe lightning had exploded a tree or two.

Actually, all the floating bits of wood, large and small, was kind of ironic because when I’d made my breakfast smoothie I’d had a bit of an accident with a wooden spoon in the blender (don’t ask) so I was spitting out splinters of wood all the way up.

All these things added up to the fact that I wasn’t going to be riding Mike’s wake in the high 5 to low 6 mph range like last time. As a matter of fact, mostly because of the paddle, instead of riding Mike’s wash, Mike was riding mine. I was leading out at speeds in the high 4s, trying to tuck in as close to the bank as I could to keep out of the worst of the current, and Mike was having trouble keeping up with me. I kept having to slow down to let him get back on me, and then I’d look back a few minutes later and he was off it again. Finally, at about the 2.5 or 2.75 mile mark, Mike came up inside me and hung there with his bow just about level with my knees. I didn’t quite realize that he’d done it on purpose, but he had pushed me out from shore into swifter water, slowing me down to speeds in the low 4s, but he was also on my side-wash. That worked well until about the 4.5 mile part when I decided I’d had enough of being out in the strong current, pulled ahead of Mike and tucked in close to the shore and sped back up to around 5 mph. Like I said, I hadn’t realized that Mike had pushed me out there on purpose or I probably wouldn’t have done that to him.

One advantage of going so early was that the river was deserted except for a few rowers, and so we saw a lot of bird life, including a number of Great Blue Herons and one Little Green Heron. The disadvantage is that with me tucking in so close to the shoreline, I got a few spiderwebs in the face. I’m just glad that I didn’t see the spiders.

Coming back, with the advantage of the current behind us, we were paddling side by side, and easily managing speeds in the high 7s, low 8s. The second downstream mile (mile 7), I decided to really go for it to see how fast I could go, and I did it in 7:11 with an 8.9 mph top speed. After that I stopped for a drink to let Mike catch me, and we resumed paddling together. And as we were approaching the 9 mile mark, he said “You’re looking strong, so if you want to keep paddling go ahead, but I need to slow down”.

Compared to last time, upstream we were about 1.5 mph slower when I was in the shallows, and nearly 2 mph slower when I was out in the current, and about 1 mph faster going downstream. I don’t know how much of that was the current and how much was Mike’s paddle, but I figure if he’d been leading in the ski like last time, today we might have actually seen speeds over 10 mph at some point on the down.

Oh, and in today’s “The googles, they do nothing” moment, I discovered that my Halo headband doesn’t work as advertised at keeping sweat out my eyes. I had one eye or the other closed most of the way downstream because of stinging salt water in them. Since paddling with a wing paddle leaves me in a constant rain of water of my own making, I decided that the headband alone doesn’t work, and I need to wear a hat. So I splurged on the way home and bought another Outdoor Research hat. My previous one was wonderful, and I was sad when I lost it. I’ve put my name on this one, in hopes that if I drop it somewhere where I’m known, I might get it back. I considered putting my phone number on it, but I don’t really want to be advertising that on the outside of my hat, and “Sharpie” pen bleeds right through. Maybe I should just buy a couple of them. Every time I use that strategy to make sure I don’t run out, I end up never losing another as long as I live. (True story: after losing a bunch of expensive Stadtler mechanical pencils in succession while in University, I bought three cheapo plastic mechanical pencils, and I still own at least one of them.)

This week’s interesting discoveries about Nutch

I’ve been working a lot with Nutch, the open source web crawler and indexer, and the first thing I found was that it was downloading web pages every day, instead of sending the “If-Modified-Since” header and only downloading ones that changed. Ok, I thought, I’ll fix that – since the information I want isn’t in the “datum.getModificationDate()”, I’ll use “datum.getFetchDate()”.

Second interesting discovery: Nutch then doesn’t index pages that returned 302 (not changed), and since the index merging code doesn’t seem to work, I can’t these pages that I cleverly managed to avoid downloading. Ok, I’ll fix IndexMapReduce and delete the code with the comment that says “// don’t index unmodified (empty) pages”, and resist the urge to send a cock-punch-over-ip to whoever wrote that comment for not realizing that “unmodified” does not mean “empty” by any stretch of the imagination.

Third interesting discovery: It turns out that some bright spark decided that when you’re crawling a page that’s never been loaded before, “datum.getFetchDate()” gets the current time, instead of any useful indication that it’s never been fetched before. So scratch my first fix, and go looking for why datum.getModifiedDate() isn’t set. And discover that it appears that datum.setModifiedDate() is never called except by code trying to force things to be recrawled. Yes, instead of forcing a new crawl by modifying the locally generated “fetch date”, they fuck around with the “modified date”, which is supposed to come originally from the server. My opinion of the quality of this crawler code is rapidly going down hill. But my patch to set the modification date according to the page’s metadata appears to be working. Sort of.

Fourth discovery, and one I can’t blame on Nutch: My Rochester Flying Club pages use shtml (Server Parsed HTML) so that I could include a standard header and navigation bar in each page. I could have used a perl script to automatically insert the header into the pages and regenerate them whenever anything changed, but this seemed a lot easier at the time. But one consequence that I’d never noticed before – the server doesn’t send a “Modification-Date” in the header meta data, so evidently these pages are never cached by any browser or crawler. Ooops.