I’ve got coding, running around my brain

One of the problems I’ve suffered from all my working life is an inability to sleep when something is bugging me about the program I’m working on. Currently, it’s 3:56 am and I’m at my computer because I was tossing and turning thinking of various things I had to try to figure out what’s going wrong, and so I had to get up to try them. Unfortunately, those things didn’t work, so I had to try other things, and here it is 2 hours later and I’m not closer to fixing the original problem, and no closer to going to sleep.

I’d say this inability to shut out a problem and go to sleep was a major problem, but by the same token I like to tell myself that it’s this single minded determination to get things right that makes me so good at programming, so I guess I have to take the one with the other.

And now it’s 4:03, and my latest test is getting
fetch of http://localhost/Documents/pharma/DocSamples/CHINA.doc failed with: java.lang.NoSuchMethodError: org.apache.poi.poifs.filesystem.POIFSFileSystem.getRoot()Lorg/apache/poi/poifs/filesystem/DirectoryNode;
so it looks like sleep isn’t any closer.

This is worrisome.

Update: Somebody on the Nutch mailing list pointed me towards the config option “fetcher.threads.per.host”. Increasing that to 10 dropped the time from 45 minutes to 15 minutes on the first crawl and 2 minutes for a re-crawl. Since I fixed Nutch to properly respect the Last-Modified header and If-Modified-Since, I don’t think I’m going to be blocked from crawling sites with multiple threads. Much less worrisome.

Time spent to copy all the files on three small web sites to a directory on my machine using wget: 1 minute 1.114 seconds.

Time spent for Nutch to re-crawl those same web sites: 45 minutes.

It doesn’t seem to matter what I put in the “number of threads” parameter to Nutch, either – it takes 45 minutes if I give it 10 threads or 125 threads.

Even worse for Nutch, out of the box it refetches documents even if they haven’t changed – I had to find and fix a bug to make that part work – but wget does the right thing.

Considering that all I’m doing with the Nutch crawl is going through the returned files one by one and doing some analysis and putting those results in a Solr index, I wonder if I should toss Nutch entirely and just work up something using wget? All I’m really getting out of Nutch is pre-parsing the html to extract some meta data.

Too bad I’ve already spent 3 weeks on this contract going down the Nutch road. At this point, it would be too time consuming to throw away everything I have and start afresh.

Long paddle today

[youtube YE17iVskad4 Team Practice]
Today instead of just me and Mike doing a long grind, it was five of us – Mike, Paul D, Bill, me, and coach Dan. We met at the lake, and the lake was flatter than a pancake. Even I, the big wuss, paddled with the PFD lashed to the rear deck instead of wearing it, although Paul D wore his, but I think that was more due to his lack of experience and comfort in the ski rather than waves or wind.

We started off doing a moderate pace, riding each other’s wash, and every mile doing a “pickup” or a faster piece, not a sprint, but faster than our “grind” pace. At other times, instead of doing our “pickup” at a given time, we sprinted across a river channel, or turned to ride a large wake coming in. We did two level pickups where we increased pace to something like 6.5 mph, and then after 45 seconds increased to 6.7 or 6.8 for another 45 seconds. It was a good work out, lots of variation, and I’m quite wiped right now.

It’s an awesome sight seeing those four gleaming white surf skis skimming along the water, and my boat is also pretty gleaming itself, although it looks a little out of place. Based on my brief experience with the V10 Sport at Baycreek, I figure I’m half a mile an hour slower in my boat, so I think I’m doing pretty damn well to keep up with these guys for 2 hours.

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.