Acrobat Reader 7 phoning home

Remote Approach is a company that has designed a way to track PDF files using Javascript. Each time a person reads these special designed PDF files, a connection to is made. This allows the company (and PDF author) to gather information such as IP addresses of those who are reading the PDF.

Some ways on how to block it:

  • Use an Acrobat Reader replacement such as Foxit PDF Reader or DjVuLibre
  • Block connections to through a firewall
  • Add the line “” to your hosts file
  • Disable Javascript in Acrobat Reader and it can’t call home
    1. Click Edit menu
    2. Select Preferences
    3. Select the JavaScript category
    4. Uncheck Enable Acrobat JavaScript
    5. Click OK

“You have no privacy, get over it.” – Scott McNealy, Sun Microsystems Inc
courtesy of

Build numbers

I can never figure out the naming scheme for version numbers. Is it Major, Minor, Build, Release? Or is it Major, Minor, Release, Build? Borland calls the last field “Build”, Microsoft calls the last field “Release” (except for the times where it doesn’t).

Internally, we always refer to final part of the version number as the build number.

We do development with Borland’s Delphi (5 and 7) and Microsoft’s Visual Studio .Net and while both can increment build numbers, we prefer to do it manually. In our home grown bug tracking app, we track the build number for when that bug was resolved. Borland’s method of bug incrementing is simple. When that feature is enabled, the build number is incremented when you rebuild the project. We prefer to do it manually as part of the build process. One programmer is in charge of the build for any given app, and it’s his responsibility to set the build number.

VS.NET can set the build number, but it’s a little odd. They don’t bump the build number when you rebuild, only when you close and reopen the project. Huh? Their build numbering scheme is also time based. You can VS set just the revision (4th field) or Build, Revision (3rd and 4th field). Build will be equal to the number of days since January 1, 2000 local time and Revision to be equal to the number of seconds since midnight local time, divided by 2.

This means that the final part of the version number is not always increase in value when Microsoft is allowed to set it. So we set it manually before handing over the latest and greatest to QA.