Login to participate
  
Register   Lost ID/password?

Louis Kessler’s Behold Blog

GenSoftReviews Glitch - Sun, 13 Sep 2009

For several weeks, noone was adding their program reviews to my GenSoftReviews site. I wondered what was happening, and last night I found there was a problem. It appeared that the Hashcash function that I was using to keep out spam comments was not working and was not permitting any entry, and that was after the person already entered their review.

It took me four hours today to track that down. It was strange. It had been working flawlessly for almost a year. I didn’t remember doing anything to cause it, I couldn’t find any comments of other people having similar trouble with Hashcash. Working through it, I did find that the problem was both on the live site and on the copy on my computer. I worked through the code bit by bit, adding debugging statements and exits to try to track it down. I went through the settings and they seemed okay.

Finally I got lucky, and saw something I had missed the 3 other times I looked at the Hashcash plugin webpage. It said “WP Hashcash relies on the presence of two hooks in your theme, wp_head and comment_form.” I took a look at the GenSoftReviews header page and I noticed a change date of August 5th. There was no “wp_head” call in that header. I added it back in, and everything worked fine again.

I can’t for the life of me remember making that change back on August 5th, but obviously I must have, since it was the same both locally and online. But I’m really glad I got this working again. GenSoftReviews would be too onerous to operate without it. I turned it off overnight, and the site got 6 spam comments. Yuck. Those are what Hashcash gets rid of so perfectly. It required that the user has Javascript on and does a javascript test that only real browsers with real users using them can pass. The only spam that can get through is spam put there by someone typing it from their browser. That is a slow and non-productive way to spam (one blog at a time) so it is rarely done. It’s really a great test, and the only downside is that it requires javascript, which only the paranoid people turn off.

So that’s now fixed, with an apology at the top of the GenSoftReview pages that I’ll leave up for a month or so. I hope people come back and start adding their reviews again.

On a different note, earlier this week we bought a new Vista computer for my daughter to replace her now underpowered and slowing-to-a-crawl XP computer that was several years old. We attempted to use “Windows Easy Transfer” to copy everything and the settings over. I won’t get into that horror story. Just search: “Windows Easy Transfer” Problems on Google and look through the 1,550,000 results.

Re the Behold Beta, a few niggling things that need to be done before it’s out.

Vacation in New York - Fri, 4 Sep 2009

Sorry, but the Beta was delayed by a much needed 8 day family vacation to New York City.

NYC

I’ve always been intrigued by tall buildings. My neck still hurts from looking up all the time. My city of Winnipeg has 700,000 people, so it’s not small. Our tallest buildings are about 30 stories and 400 feet tall. But the Doubletree Hotel at Times Square where we were staying was 43 stories and 470 feet tall - and it is listed as the 180′th tallest building in New York!

The cabs are something else. All yellow and 80% of the traffic. A $12 cab ride is like an amusement park ride reaching speeds of 60 mph and g-forces of a jet airplane. Every block has a Starbucks and a McDonalds.

Museums, Shopping, Empire State Building, Statue of Liberty, Central Park, Broadway Shows, Wow!

We had a great time.

Benchmarks for the Beta - Thu, 20 Aug 2009

I’ve done enough improvements to at least get Behold to have acceptable performance for most GEDCOMs. The fact that I was loading the entire file into Richview was the main problem. Now that Behold only loads the viewing area and a small buffer into Richview, it’s a lot faster and uses much less memory.

I have a 24 MB GEDCOM with 100,000 people and a million lines that I like to use for my benchmark tests. Here’s what happened:

In the last alpha version, it took 116 seconds to load and ate up 994 MB of RAM.

The upcoming beta version takes 15 seconds to load and 230 MB of RAM.

That’s an 87% improvement in speed and 77% improvement in memory use.

In addition, certain operations that were slow before, such as resizing the window that took 25 seconds to complete, now happen instantly.

By comparison, the fastest program alive: GenViewer Lite takes just under a second to load this file, and uses 55 MB of RAM. These values will be hard for Behold to ever reach, because GenViewer is only a viewer, whereas Behold is loading the data so it can be edited.

But the current set of improvements should make Behold among the fastest programs, and eliminate the major performance problems for large files that Behold’s alpha has had. I have to thank Tamura Jones for persistently nagging me about this. I apologise that it has taken so long. I hope you’ll be pleased with the performance of Behold when you try the beta.

And it will rate right up there with the top programs speed-wise,* loading at 6500 INDI’s per second on my computer. Comparing the GenViewer loading speed that Tamura reports, it seems that Tamura’s testing computer was only 40% as fast as mine, so Behold should place at about 2600 INDI’s per second on Tamura’s analysis.

I know there are some major data structure and processing inefficiencies that are still with Behold. I did testing back in November and found I was able to get Behold to load data in times approaching that of GenViewer. To retain all of Behold’s functionality, I won’t be able to get all those gains. But in time, I expect that I’ll be able to get an additional 3 times speedup (about the speed of Legacy Charting) with half the memory use (about 5 KB per INDI).

This time, Tamura, I hope I won’t disappoint* this time.

* Note: Internet Explorer cannot view Tamura’s xhtml pages. Try a different browser.