With the memory leaks all cleaned up, I went to work on splitting the processing into to parts: Loading the data and organizing the people to produce the Everything Reports. That’s now done and will be included in the next beta release. So whenever you Instant Organize, reorganize, or change families you’re including, the associated GEDCOM files are no longer read in to do so. For small files you won’t really notice, but for large files, this will eliminate the loading time and will make Behold work much faster for these tasks.
Then I noticed the Instant Organize was not working properly in all cases. This was a bug that got in there when I changed to the virtual Everything Report at the onset of the beta. It even could cause a program crash in certain cases. That is now fixed. Instant Organize is one of the star features of Behold, and I apologize to those of you who tried it and got less than satisfactory results. Unfortunately nobody reported it, or I would have found it and fixed it earlier, but it was a rather subtle problem in most cases, and you would have had to be quite familiar with how it worked to notice it.
It’s been almost two months since the last beta. I’m a bit hesitant to release this beta right away. The splitting of the processing into two parts was major surgery, and I want to do some more testing first to ensure that this version will be at least as stable as the last one. So hopefully in a week or so, I’ll get the next beta out.
Leave a Comment
I’ve been looping back on myself a bit. I said in my last blog post that I’ll send out the newsletter. But then I decided to wait until the next Beta release.
The next beta release will include the log file, elimination of memory leaks, and a new location for the sample files in the user’s AppData directory as Windows Vista and 7 desire and other things. So once that is out, then I’ll send out a newsletter.
The price of $20 was a special price for Behold during alpha phase. I was intending to raise it to $30 for the beta and then to $40 for version 1.0. But I wanted to send a newsletter out announcing “a month until the price increase”, but it took so long to get the newsletter going that now the beta is getting too near to be done. So I’ll continue the special price of $20 for the remainder of the beta.
The real circle was the memory leaks. I planned not to do them yet, and they led me on a wild goose chase for awhile. I had to ask a question on StackOverflow, and I just couldn’t track down one of the leaks. It took until a few days ago, and then it all fell into place and I got rid of them all.
Partway through trying to figure out the leaks, there was something in my taglists leaking. My tags were based on a hash table system. I thought if I could temporarily replace the hash tables, then I could see if the leak was related to my use of them. So up came Generics that were just implemented in Delphi 2009. I created a TagDictionary Generic to replace the tag hash table. I spent a week learning about Generics and then another episode with StackOverflow to try to sort them.
Generics were neat. They simplified code. They were supposed to be fast using Hash tables, and for Behold I need fast. But then when profiling with AQTime, I was surprised to find they were over 3 times slower than the GPStringHash that I was already using. Since I also found out that GPStringHash was not the source of the memory leaks, I went back to GPStringHash.
So I went around a bit in circles, and am sort of where I was about 2 weeks ago, but a whole bunch of things have been done in the process. It will be hard to make my April goal for Version 1.0, but hopefully any delay won’t be too long.
Leave a Comment
Html2Text
- Wed, 17 Mar 2010
A good way to set up an e-mail newsletter is to use html formatting. Html is formatting to look more like web pages and you can make a very nicely designed newsletter with it. The unfortunate problem with that is many people turn it off or have it turned off, sometimes for security issues.
When html e-mail is turned off, the person sees the e-mail as text only. No images will show. No formatting will be done. And the textual parts of the newsletters are usually translated by most e-mail programs into text that is formatted in a very ugly manner.
Well I don’t want my newsletters to look like that. The solution is to send both an html and a text version of the newsletter in the one e-mail. That is a standard way of making sure that both ways of viewing the e-mail will have it look good.
Of course, I don’t want to write two versions of each newsletter, so I need an automated way of pulling the text out of my html and formatting it nicely.
Unfortunately my Simple PHP Newsletter System did not include an automatic Html to Text conversion in it.
Fortunately, there was one in PHPlist.
Unfortunately, it did not produce results looking as nice as I wanted it to.
Fortunately, the code was not very long and I could probably customize it.
Unfortunately, it was using Regular Expressions which are a beast to work with and would take me a week to get good at.
Fortunately, there were other Html2Text routines on the web, and I found and implemented a pretty good one.
So now its up to 3 weeks for the Newsletter system. We’ll see if I can send it out by the weekend.
Leave a Comment