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.