Foxit Reader and Vista UAC

If you use Foxit Reader, an excellent lightweight PDF file viewer from Foxit Software, then this tip might be of value to you sometime. I’ve been using the software for years as an alternative to Adobe’s bloated offering. It has always worked well for me, and continued to work well after I migrated my home office to Windows Vista. However, I recently installed an update to version 3.0.1301 of the program, and suddenly found that every time I tried to open a PDF Vista’s User Account Control kicked in and requested elevation. It was annoying. If this happens to you, here’s how to make it go away.

The reader program is located in c:\Program Files\Foxit Software\Foxit Reader\. The file is called Foxit Reader.exe. Navigate to this folder in Windows Explorer, and right click the filename. On the context menu that appears click “Properties,” and then click the “Compatibility” tab in the dialog. First, look at the bottom and see if “Run this program as an administrator” is checked. If it is, uncheck it. That might be the whole problem for you, but in my case the checkbox was clear, and I was still getting UAC prompts from Vista. The next thing to do is click the button at the bottom of the dialog labeled “Show settings for all users.” This brings up another dialog. Look for the same checkbox in that dialog and clear it if it’s checked. Click “ok” to accept the two open dialogs. Foxit should now launch without requesting elevation.

Y2.079K

In the process of debugging some stored procedures the other day a colleague and I happened on an input parameter that had been given the type smalldatetime. We noticed it because we were using the maximum and minimum values for System.DateTime to set boundaries in some validation code. The maximum value for the System.DateTime structure is a number of ticks equivalent to the date December 31, 9999. That’s sufficient to cover the expected remainder of Robert Byrd’s time in the Senate.

A datetime SQL type has the same upper bound. However, a smalldatetime is only good through June 6, 2079. That’s why our validation code caused errors in the database. I admit it’s been many moons since I used a smalldatetime, and I was surprised to see that they expire so “soon” in relative terms. So if, seven decades from now, you’re around and hearing about the Y2.079K crisis and how it will cause flying cars to fall from the sky, bullet trains to collide at 350 KPH, and Senator Byrd to miscalculate his next earmark, remember that you read it here first. Probably.

Why Minds are Not Like Computers

If you have any interest in intelligent algorithms Ari Schulman has an article worth reading in the Winter 2009 volume of The new Atlantis. I am not particularly fascinated with what some think of as Artificial Intelligence; I can’t stand the term, to be frank, and hold the acronym in no higher esteem. But I am very fond of algorithms which occasionally seem to be intelligent, particularly as they apply to gaming and game theory. And seeming to be intelligent is, as Schulman reminds us, all the Turing Test requires. Having written a fairly popular backgammon game for Windows back in the early 90’s I have some direct experience of how much easier it is to opine on the idea of decomposing complex thought processes into rules and procedures than to actually do it. In a cogent and well-written tour of the last thirty years of thinking in the field of intelligent programs, Schulman applies his insights about the nature of mind and machine, and comes up with some convincing reasons why a layered, modular, procedural description of intelligence continues to be an ellusive goal.