Tales and thoughts from the founder of NormSoft (maker of Pocket Tunes), working and living in St. Croix, USVI

Monday, June 21, 2004

Oppose Discrimination

Help oppose this ridiculous constitutional amendment.  Besides the fact that it's discriminatory, it's giving the federal government power to legislate things that should remain the domain of individual states.  I don't understand why people want their lives to be more regulated.  Even if you happen to agree with what this amendment says, consider that you may not agree with the next amendment that comes along.  Ask yourself if you want your rights to be dwindled away by overzealous politicians eager to be re-elected.

Monday, June 14, 2004


I just took a look at the number of viruses that my script caught today.  It was over 10,500!  Holy crap!  There's 826MB of viruses in the blocked folder since May 1.

Saturday, June 12, 2004

Pocket Tunes 3.0

Pocket Tunes 3 is finally out.  We're now dealing with the usual flood of emails, questions, comments, etc. that follows a new release.  We'll be busy all weekend, it looks!

New Spam/Virus

Apparently there's a new virus going around in Germany that will make people reconsider their catchall email accounts.  It makes up a bunch of email addresses, presumably by random or by looking at the local name of addresses in your address book, and then it sends them all to each mail domain in your address book.  So a few times an hour, I've been getting batches of 20-50 emails from the same zombie computer.  Looks like I may have to start filtering out dynamic IP addresses with our mail server. :(


Thursday, June 10, 2004

FntDefineFont gotcha

Beware if you use FntDefineFont on the Tungsten T3.  You should be prepared for other applications popping up and redefining your fonts!  In particular, the clock application (which pops up when pressing the select button on the 5-way nav while the device is turned off) redefines the font fntAppFontCustomBase.  When your app gets control back, if you try to use that font, you will get garbage on the screen or your T3 will crash.

The fix that we've implemented is to re-call FntDefineFont whenever we get a winEnter event.  This seems sufficient for this particular case, but theoretically, there could be another background app that redefines the font without even opening another window. (ack!)  In that case, you should call FntDefineFont before using any custom font.  But I'm not going to go that far.

(Even that, if you want to be absolutely safe, is not adequate.  There could be another thread (e.g. an audio callback thread) that calls FntDefineFont, causing a race condition on your code.  This is so unbelievably rare that I think it's ridiculous to worry about.)

The conclusion is that FntDefineFont is broken at the OS level because it allows other applications to mess with your resources.  Custom font IDs should be dynamically allocated.  This has probably been addressed in OS6, but I haven't been paying as much attention to OS6 as I should.