Mac-style presentation effects on Windows

I wanted to create a video of a technical architecture presentation. It was created in Visio, but I really wanted to capture Mac-style mouse motions and spotlight effects as I narrated.

After a number of blind allies around mouse display software, I happened upon Impressive, an open source program that runs against PDF files.

Upon reading the Technology paragraph, which mentioned Python, GhostScript and OpenGL, I assumed that I would pay a brief visit to the downloads page, read some phrase about compiling from the C source code, and then move on. How wrong was I? You download the Windows package, unzip it, and you’re good!

Impressive runs from PDF files, so you need to convert your Visio or PowerPoint slide into PDF before you can launch it. Then, you either launch it from from the command line, or create yourself a Windows Shortcut to impressive.exe, and place it in the C:\Documents and Settings\[USERNAME]\SendTo folder. Then you can right mouse click on the PDF file and choose ‘Send To > Impressive’ to start the show.

(I won’t go into the features too much here, but suffice it to say I got the spotlight and highlighting effects I wanted, and my video turned out a treat.)

There are a host of features you can turn on and off if you want to use the command line to achieve finer-grain control over Impressive’s features. In my own case, I knew I wanted to produce a HDV 1080i frame size, and I was able to achieve this with the following command line:

C:\Apps\Impressive\impressive.exe -g 1440x1080 -f "MySlides.pdf"

And the best thing? Impressive is (effectively) a portable application, so you can use it in a locked down environment.

Windows Batch File Current Date Formatting

Often you will create a windows batch file that runs on a periodic basis, and ideally you’d like it to reflect the current date when it does things like create files and folders.

I’ve seen some fairly arcane methods of retrieving and storing this information in variables through the years, but I think I’ve just found the most elegant solution.

To store today’s date in a variable with format yyyymmdd:
SET VAR=%DATE:~6,4%%DATE:~3,2%%DATE:~0,2%

That’s it! This is pretty hard to find online. It seems to be usually part of the more complete expositions on variable expansion, and is described as String Substitutions or Substrings. Obviously you can change the offsets above to change your format, and also note the character position pointer is zero-based.

Fix SQL Server Express memory growth

Here’s a simple batch script to restart SQL Server Express – I find memory used grows to at least 300 MB over time, although I do tend to leave Management Studio open for a lot of that period.

REM Simple batch script to restart SQL Express
REM BRD: 20110928
REM http://www.brdalby.co.uk/
net stop MSSQL$SQLEXPRESS
net start MSSQL$SQLEXPRESS
pause

NET USE Syntax

Not very exciting, but lesson learned today:
NET USE D: [MY PATH] * /USER:[USER NAME] /PERSISTENT:NO

The asterisk means I’ve stopped locking my NT account out every week or so, since it prompts for a password, rather than trying to log in without one, failing, and then prompting me.