Sunday, December 5, 2010

MySQL convert time zone from local to UTC

Had to convert a slew of times form local time to UTC time in an MySQL database on a Windows box.  I had pushed a large number of Windows event logs into a MySQL database with LogParser.

While the event log files have the time in UTC format I found that LogParser renders the time as system local time of the computer where it is running. The program doesn’t have any way to know the time zone of the computer where the event log files originated.  I should have originally used TO_UTCTIME in the LogParser queries.

So… on to using MySQL CONVERT_TZ.  Unfortunately, my Windows install of MySQL did not include time zone information needed by the CONVERT_TZ function. I had to download and install the Time zone description tables for the function to work correctly.

The CONVERT_TZ function works with POSIX defined time zone names To avoid the ambiguity of common Time zone abbreviations.  For example I used

UPDATE table_x SET TimeGenerated=CONVERT_TZ(TimeGenerated, ‘America/Chicago’,’UCT’);

To convert a US Central time to UCT/Zulu time.

UPDATE table_x SET TimeGenerated=CONVERT_TZ(TimeGenerated, ‘America/New_York’,’UCT’);

To convert a US Eastern time to UCT/Zulu time.

Now back to event correlation.

Tuesday, November 30, 2010

Exchange Server Setup Progress.log time is in system local time

I need to know what time was recorded in the “Exchange Server Setup Progress.log” by Exchange 2003 setup. This is one of those little factoids that Google failed me on….

So I set up a Windows 2003 server in VMWare and ran the Exchange 2003 setup.  It turns out that the log times are recorded in system local time (not Zulu time).

Here’s a couple of slightly related links that talk about the log file and events recorded by the setup program for Exchange 2003:

Tips on Troubleshooting Using the Exchange Server Setup Progress Log
 Post-Installation Steps for Exchange Server 2003

Friday, November 12, 2010

Play FLAC with Windows Media Player

Just tried out the DirectShow plugin to play some FLAC in Windows Media Player.  Seemed to work for playback but I’m not sure how to do tag editing yet.

Thursday, November 11, 2010

Windows MultiPoint Mouse SDK

While I’m not a huge fan of thin client type solutions like the MultiPoint server  the Windows MultiPoint Mouse SDK seems like it has some possibilities. The tic-tac-toe sample in the SDK is pretty fun. Would probably add some fun to other simple desktop games if they supported multiple mice. 

You can also get the SDK as a Visual Studio 2010 Extension.

Tuesday, November 9, 2010

Log Parser Charts on 64-bit Windows Boxes

I need to generate some charts from Windows Event Log files on a couple of 64-bit Win2008 and Win7 boxes and got the following error from Log Parser:

LogParser.exe : Error creating output format "CHART": This output format requires a licensed Microsoft Office Chart Web Component to be installed on the local machine

A quick web search revealed that Log Parser requires a copy Microsoft Office Web Components (OWC) to generate charts. I downloaded a copy, installed, and Log Parser started producing charts. 

The OWC install includes some programming references that can be located with the help of KB319793.  The documentation is in “C:\Program Files (x86)\Common Files\microsoft shared\Web Components\10\1033” on my Win7 x64 box. Or you can check out the ChartSpace Object Model documentation on MSDN.

After spelunking the LogParser and OWC docs it appears OWC supports GIF, JPG and PNG output. Unfortunately,  LogParser only supports GIF and JPG charts. I’d really prefer a scalable vector format.

Saturday, November 6, 2010

HDMI CEC interface for PC

The state of HDMI Consumer Electronics Control (CEC) interfaces for PCs seems pretty dismal.  Neither ATI or nVidia currently have CEC support built into their graphics devices with HDMI interfaces.  So you can’t directly send or receive CEC data over the CEC-line (pin 13/17).
One bright spot is the RainShadow HDMI-CEC to USB bridge/converter.  Supposedly it’s also been hacked into a regular video card.  While it's not a direct HDMI CEC interface for a PC a Raspberry Pi with Pulse-Eight's libCEC could provide control over a network connection.

Friday, November 5, 2010

Classic DOS and Windows games…

Well if you’re pining for the glory days of DOS games go get D-Fend Reloaded (a great DOSBox front-end).  Then head over to RGB Classic Games

Or you could check out for some classic DOS and Windows games at a reasonable price.

Convert Apple Disk Image (.dmg) to ISO Image (.iso)

Found a couple of ways to turn a Apple Disk Image (.dmg) into an ISO Image (.iso).  First was dmg2img, second was DMGExtractor.  I ended up using DMGExtractor probably because the author posted the source at SourceForge.

I wanted to use the GUI interface so I added the –gui flag to the Windows Batch file in the bin directory.

@echo off
set DMGX_CP="%~dp0..\lib\dmgextractor.jar"
java -cp %DMGX_CP% org.catacombae.dmgextractor.DMGExtractor -startupcommand dmgx -gui %1 %2 %3 %4 %5 %6 %7 %8 %9

Wednesday, November 3, 2010

Create 32-bit ODBC DSN on 64-bit Windows

Needed to create a 32-bit compatible ODBC DSN to output Log Parser results from a 64-bit version of Windows to a MySQL instance.
Log Parser gave me an architecture mismatch error:
Error connecting to ODBC Server
  SQL State:     IM014
  Native Error:  0
  Error Message: [Microsoft][ODBC Driver Manager] The specified DSN contains
  an architecture mismatch between the Driver and Application
NOTE: Log Parser did not work well with the more modern 32-bit version 5.1 ODBC Connector so I had to use the 32-bit version 3.51 ODBC Connector.
Then used the [WindowsDir]\SysWOW64\odbcad32.exe to create a 32-bit System DSN. (See the MS KB942976 for more detail.)
And finally, started pushing event logs into the MySQL database with the DSN created above.  (Where X is the server name and XXX is the DSN name.)
LogParser “SELECT * INTO Events FROM *.evtx” –server:X –i:EVT –o:SQL –dsn:XXX –fixColNames:ON –maxStrFieldLen:2048
Or if you prefer from PowerShell. (Where X is the server name and XXX is the DSN name.)
dir *.evtx | foreach-object {LogParser “SELECT * INTO Events FROM ‘$_.’” –server:X –i:EVT –o:SQL –dsn:XXX –fixColNames:ON –maxStrFieldLen:2048}
I used the PowerShell option because the event logs were rather large (~500K events each) so the connector kept running out of RAM with the *.evtx source.  Also, I needed a specific timeframe from the event logs so I added a where clause to get:
dir *.evtx | foreach-object {LogParser “SELECT * INTO Events FROM '$_.' WHERE TimeGenerated > TIMESTAMP('2010-07-05 00:00:00','yyyy-MM-dd hh:mm:ss') AND TimeGenerated < TIMESTAMP('2010-07-21 00:00:00','yyyy-MM-dd hh:mm:ss')” –server:X –i:EVT –o:SQL –dsn:XXX –fixColNames:ON –maxStrFieldLen:2048}

Saturday, October 9, 2010

Saturday, September 25, 2010

Windows 7 Activation Error 0x8007232B

If you get the error 0x8007232B when you try to activate Windows 7 installed from volume licensed media you can run the following from an elevated powershell window:
slmgr.vbs –ipk [product key]
slmgr.vbs –ato

I installed the Elevation PowerToys for Windows Vista to simplify getting an elevated powershell window. Unfortunately, the powertoys didn't seem to work with Win7 so I had to start powershell by ctrl-right-clicking the link and selecting run as Administrator.

Tuesday, September 21, 2010

Offline spelunking of Active Directory - setup

Needed to extract some historical information from Active Directory (AD) backups stored in NTBackup BKF files.  First challenge was extracting the NTDS.DIT from the BKF.  How do I get that snapshot loaded up so I can query the backup?  I didn’t find a way to directly query for results from the NTDS.DIT without loading it into a running Domain Controller (DC) instance.

  My approach is loosely modeled on the technique outlined at technet to “mount” a snapshot in VMWare Workstation on a server configured as a DC that closely models the forest structure of the targeted AD backup.  I’d prefer to use a clone or image from the actual DCs but I can not disturb the online production environment.

I set up a VMWare team consisting of a Win 2008 R2 x64 server configured as a DC and a Vista x86 32-bit Workstation with Windows Server 2008 Remote Server Administration Tools; Active Directory Explorer and some custom/hand built ADSI based tools.  I’ll be pushing tests of the custom tools from Visual Studio on the host to the virtualized Vista box in the team because I don’t want to directly mess with the virtualized DC.  Now to get the directory backup loaded so I can do some offline spelunking.

Lightweight Portable Security – access .mil portal from public computer

SPI has put out a bootable live Linux ISO with CAC support.  It’s called “Lightweight Portable Security”. Very nice (in my opinion) if you need to get onto a .mil portal like the AF Portal from a public computer.  Downloading it now to setup in a virtual machine and USB CAC reader.  Hopefully it works out.

Monday, September 20, 2010

General Robotics, Automation, Sensing and Perception (GRASP) Laboratory

Recommend surfing the  very cool robotics research from the GRASP lab.

MP3 tagging - foobar2000

Just noticed how jacked up my MP3 tags were when I copied some mp3s over to my phone.  Lifehacker had some recommendations for MP3 tagging for Windows boxes.  I ended up going with foobar2000.

Sunday, September 19, 2010

Install MySQL Connector/J for use from Eclipse

I already had a JDK, Eclipse, and MySQL installed but I needed to install the MySQL Connector/J so I could use it with the Eclipse SQL Explorer plugin to access the database with JDBC instead of the JDCB-ODBC bridge.  There are many ways to get the job done.  Here is what I did:

First I downloaded MySQL Connector/J; created a directory “C:\Devel\Java\JRE\ext”; extracted the binary jar for the driver from the download and copied the  mysql-connector-java-3.1.14-bin file into “C:\Devel\Java\JRE\ext”.

Started Eclipse; in the preferences dialog edited the settings for the Installed JREs.


Specifically, I used the “Add External JARs…” to add the MySQL connector I put in C:\Devel\Java\JRE\ext.

First select the installed JRE you want to edit.


Next “Add External JARS…”clip_image006

Then you should see the driver show up in the “JRE system libraries” list.


Now I have a working MySQL Connector/J JDBC driver ready for use with Eclipse projects. Yay!

Friday, September 17, 2010

Clear resume state from a paused VMWare VM

Had a team that I copied from another location with saved resume state that was not compatible with the new host workstation.  As mentioned here I deleted the *.vmem and *.vmss files while VMWare was off then resumed the team on the new host.

bkfjtools hack and slash for english

I needed a quick way to extract some files out of an NTbackup “BKF” file and didn’t have time to go buy a tool.  A couple seconds of googling revealed the bkfjtools program.  Unfortunately, I don’t read Japanese that well.  So I did a quick hack and slash conversion to English using google translate on the strings for the bkfexp tool.  Source is here.  Probably should clean it up for real language support and commit back.  Probably won’t happen due to time constraints.

Should have googled more than two seconds….Another technique to use NTBackup on Win Vista/7 is described here.  But what’s the fun in that?

Google Code Blog: Google Relaunches Instantiations Developer Tools -...

This looks like a good add on for Eclipse:

Google Code Blog: Google Relaunches Instantiations Developer Tools -...: "(Cross-posted from the Google Web Toolkit blog) In early August, Google acquired Instantiations, a company known for its focus on Eclipse J..."

Thursday, September 16, 2010

Flame Tornado!

Flame Tornado!  That is just cool.  Or maybe hot.

Monday, September 6, 2010

Live View – no Virtual Server 2.x support

Wanted to use Live View to check out a couple of dd images from a set of workstations.  Primary goal was to extract VHD files from the workstations dd images for a separate analysis task but also needed to check some “live” system behavior.

I’m using Windows Vista x64 at the moment and it requires digitally signed drivers.  Unfortunately, this means Virtual Server 1.x series will not function correctly on my workstation because the 1.x series does not include signed drivers for all necessary virtualized devices.  No network and/or no USB device. 

Being to lazy to build a 32-bit box I decided to see if I could get Live View to work with Virtual Server 2.x series.  Actually, it wasn’t really laziness (piles of spare parts just don’t want to build a box right now) so much as I don’t have a USB KVM and my desk is already loaded up with monitors.  A little bit of research on the Live View forums indicated that the 2.x series is not supported at this time.  Unfortunately, Virtual Server and Workstation can not co-exist on the same workstation and I need Virtual Server for another piece of the analysis workflow. Bummer for me, no Virtual Server 2.x goodness for this project unless I want to start code spelunking Live View or go the VMWare Workstation route on a separate workstation.

  “Summon Laptop”.   So I downloaded and installed the following: VMWare Workstation 7.x;  Virtual Disk Development Kit (VDDK); Live View Public installer.  And now I have Live View installed on a separate workstation.  Next step in the plan was to use this install of Live View to copy dd  images on external drive to vmdk files on an external drive.  Then plug that drive into the workstation with Virtual Server for actual artifact extraction and analysis.  We’ll see how that works out in a  bit.

The User Profile Service failed the logon. User profile cannot be loaded – or – Working for the Computer instead of the Computer working for me (yet again).

I really hate it when I end up working for the computer instead of the computer working for me.  Not 100% sure about the root cause, suspect the operator – me;  but I got a “The User Profile Service failed the logon. User profile cannot be loaded” error when logging in on a Windows Vista x64 box. 
Googled a bit and came across MS KB 947215.  It includes a Fix-It that did not work for me so I moved on to a manual process.  I’m working for the computer yet again. 
I made a copy of the “corrupted” User profile to an external drive before deleting it.  The profile was about 250 Gig so the copy process did not seem responsive.   
Was going to kill the copy it but happened to check the disk space on the external drive and it was slowly getting filled up by the copy of the “corrupted” User profile.  That was about 11.5 hours with the “Copy to dialog” not responding.
Next went to clean up some of the mess left on the %UserProfiles% before re-creating the profile.  There were several temporary files that couldn’t be deleted due to permissions so got a Recovery Disk.  Booted up the recovery disk and got a command window up to delete the stubborn temp files. Renamed the profile directory; and finally rebooted so I could recreate the profile and fix up the permissions on files.  New SID means permissions are still a bit hosed.  I'll need to go back and fix those later.

What a pain.  Finally back up and running.

Edith Sitwell

Eccentricity is not, as dull people would have us believe, a form of madness. It is often a kind of innocent pride, and the man of genius and the aristocrat are frequently regarded as eccentrics because genius and aristocrat are entirely unafraid of and uninfluenced by the opinions and vagaries of the crowd.

Edith Sitwell
English biographer, critic, novelist, & poet (1887 - 1964)

I’m no genius and I’m no aristocrat but that is a keen observation.  Kind of a bummer when people you’d like to meet are already dead.

Sunday, September 5, 2010

Setting up IIS on Windows Vista x64 for VMWare Server 2.x install

I had originally configured IIS to use Client Certificate Mapping Authentication (or IIS Client Certificate Mapping Authentication).  Unless your authentication provider is set up for certificates you won’t need this mapping on.  I’m working on a standalone workstation in a workgroup so I’m not set up for certificates in this case.  This post discusses ISS authentication and certificate mapping in a bit more detail. 
I used the following process to turn Client Certificate mapping off:
Access “Uninstall or change a program”.
Access the “Turn Windows features on or off” Using the “Control Panel -> Programs and Features”
Uncheck the  "Client Certificate Mapping Authentication" and "IIS Client Certificate Mapping Authentication" if they are selected. Then apply your settings (press “OK”).
You’ll get the following dialog:
Warning: Make sure that you wait for the configuration settings process to complete!
  This took about 10 to 15 minutes on my workstation.  It’s also likely that you’ll need to reboot after making your changes. First time around I got impatient and rebooted before the changes were completely applied which led to a whole slew of problems (User profile got trashed, but that’s another story).
I did generate a self-signed certificate for the Default Site after turning off the Certificate Mapping so I could access the site through https but not require a client certificate.

Friday, September 3, 2010

Disk2vhd – migrate a “real” Windows box to virtual

I won’t hash out the details which are available elsewhere but Disk2vhd looks like a solid way to migrate a running Windows box to a Virtual PC or VirtualBox.

Might also work to grab an image of a running box for offline analysis.  With Windows 7 you can mount a VHD using built in features.  Otherwise you’ll probably need something like Gizmo Drive.

Building 32-bit MySQL clients with 64-bit MySQL install

Had to build a 32-bit MySQL client (MySQL-python) on a 64-bit Windows Vista hosted install of 64-bit MySQL. 
I used setuptools to get the initial download of MySQL-python. “easy_install –b temp mysql-python”.  But installation failed due to 64-bit MySQL libraries (and the registry setting in site.cfg).
  1. First, I downloaded the no-install 32-bit version of MySQL extracted it out and copied the libraries directory to “C:\Program Files\MySQL\lib32”. Now I have the 32-bit libraries in “C:\Program Files\MySQL\lib32” and the 64-bit libraries in “C:\Program Files\MySQL\lib”.
  2. Then tweaked the MySQL-python site.cfg so the registry_key was correct (registry_key = SOFTWARE\MySQL AB\MySQL Server 5.1) .
  3. Next tweaked the so it would use lib32 instead of the 64-bit libraries (library_dirs = [ os.path.join(mysql_root, r'lib32\opt') ]
  4. Finally, it was a simple run of “python clean”; “python install” to get MySQL-python installed.
Purely a hack but it got the job done.

Thursday, September 2, 2010

Virtual Drive Software for Vista

I’ve used VirtualCloneDrive for mounting ISO images but needed to mount some Virtual PC virtual hard drive (VHD) images which it unfortunately does not do.  I’m using Vista on the moment so I don’t have the cool VHD mounting feature in Windows 7. So after about 2 minutes of googling came across a post describing a process that uses Gizmo Drive to mount VHDs.  Going to work with that for the moment.

Tuesday, August 17, 2010

Convert Windows 2003/XP event logs (.evt file) to Vista/7/2008 event logs (.evtx file)

Recently had to convert a slew of Windows 2003/XP .evt files to Vista/7/2008 .evtx files so I could do some offline log analysis.  First problem was that some of the .evt files were corrupt.  They’d been directly copied off of running Windows 2003 servers (from the %SystemRoot%\System32\Config) to a local drive.  I used fixevt to fix the logs and a powershell script wrapper around wevtutil to convert them.
After downloading fixevt the repair and conversion came down to two simple commands in powershell:
fixevt *.evt
Get-ChildItem . -recurse -include "*.evt" | foreach-object {wevtutil epl $_.FullName ($_.FullName + "x") /lf:true}

You can also use wevtutil to trim down an evtx file to a specific date range. For example:

wevtutil.exe epl Security Test.evtx /q:"*[System[TimeCreated[@SystemTime>='2010-11-01T05:00:01.000Z' and @SystemTime>='2010-11-11T05:59:59.999Z']]]"

Will output the Security log events between 1 Nov 2010 and 11 Nov 2010.

You'll need to substitute actual > and < for the &gt and &lt.   Also, note that the time is in Zulu.  The times in evtx files are in Zulu the event viewer and many other event apps tend to translate the time into local time

Now off to the fun of event correlation….

Sunday, May 2, 2010

Delete your Facebook account

If you’ve finally had enough of the Facebook backslide on privacy (nice graphic that covers the changes) and their evil interfaces you can try to delete your account with this link:

After "Deleting", do not log in for at least two weeks to test if the account is really gone. Otherwise Facebook could reactivate the account.

Southpark sums Facebook up.

Sunday, March 28, 2010

CMake, autotools and Eclipse integration

Found a couple of Eclipse plugins that help work with CMake build system:

Also, if you prefer GNU autotools, there is the Linux Tools Project.  This appears to be the only surviving autotools plugin for Eclipse.  I’ve had mixed success using this for projects with a cygwin backend on Windows.

Sunday, March 21, 2010

Windows Icon editors

Did some spelunking to find some free Icon editors for Windows icons.  So far I found:

  • IcoFX - a freeware icon editor. It works with Windows (XP, Vista, 7) icons formats and supports transparency.
  • @icon sushi - a freeware image to icon converter and mask editor for the creation of Windows (XP, Vista) icon formats.
  • JDraw  - described as “a pixel oriented graphics editor designed especially for small to medium-sized pictures used to decorate web pages”. It is an open source Java program that works with (animated) GIF, ICO and PNG formats.  Unfortunately, JDraw did not work with multiple images in the ICO files I wanted to edit.
  • PNG (ICO) icon create utilite - a “web-app” that produces simple flat PNG and ICO files.

IcoFX  worked best for me because it supported the Windows icons I was editing. YMMV.

Tuesday, March 16, 2010

Rock Paper Scissors Spock Lizard

Bored with classic Rock Paper Scissors

Step it up a notch with Rock Paper Scissors Spock Lizard as seen on TV. Or go with the  instructions from the inventor or you could go with a tee-shirt.

Or if you want to go to the extreme try RPS-15 or RPS-25.

Saturday, February 20, 2010

Open Source Routers

These projects are still percolating… Right now the Netgear WNR3500L looks like a good “high-end” open source router.  Anyways don’t forget to search Amazon and Newegg for other Open Source Routers. 

I actually ended up getting a Cisco/Linksys WRT160NL and installing DD-WRT on it.  Plan is to recycle this into one of the other projects once I'm done using it as a network device.

Monday, February 15, 2010

BackTrack 4 released

BackTrack 4 released in January.  Not sure how I missed that until now. 

Wednesday, February 10, 2010

Reset Windows XP/Vista passwords – NTpasswd / Hiren's BootCD

Every once and a while I have to revive a Windows box that I haven’t used for a while and I can’t recall the passwords.  Fortunately, NTpasswd can reset the passwords.  If you prefer a bootable USB thumb drive it’s pretty painless to create one with unetbootin.

Another option is to use Hiren's BootCD which includes a plethora of useful recovery tools.

Monday, February 8, 2010

Photo processing tools and toys - Photosynth

 Microsoft Photosynth, based on Photo Tour by University of Washington and Microsoft Research, is an interesting way to composite a large picture collection (20-300 recommended) of a scene or subject.  To create a Synth you need to install a Windows Live Photo Gallery plugin that interacts with Microsoft’s Photosynth backend web service.  While you can view public Synths at Photosynth, you’ll need a Windows Live account to create and share your own Synths. Also, recommend that you check out the “How to Shoot” guide.

My Synths are rather boring so far.  Really need a larger collection of input photos to create a more complete Synth.  Might be fun to get a bunch of people together to create an input photo collection of a scene or subject.  Maybe a good use case for  “Crowdsourcing”?  It’s hard to leverage the power of crowdsourcing with an un-crowd of one.

Sunday, February 7, 2010

Photo processing tools and toys – Editing, Batch Processing, Panoramas, and publishing to the web

I’m not much of an artist or photographer but I do enjoy playing around with the photos I’ve taken over the years.  Since I lack talent I have to resort to tools.  Because I’m “frugal” I tend to use free and preferably open source photo editing/processing tools and toys.  Some days I use Linux boxes, some times Windows boxes, and very infrequently Apple boxes (they’re just to expensive to be worth it to me).  I like cross-platform tools and toys but that’s not the main driver here.  These are some of the photo editing/processing tools and toys that I’ve experimented with. 

Editing:  You could go for a full blown application like the gimp which rivals/surpasses PhotoShop in power, features and complexity.   On the simpler side Google Picasa and Microsoft Windows Live Photo Gallery (WLPG) provide automated photo touch up. For stand alone editing on Windows I like Paint.NET. It has just enough power for an amateur like me.  For quick touchups I usually use WLPG.  The Pinta Project looks like a promising implementation of Paint.NET feature set for Linux and Macintosh.

Batch Processing: ImageMagick is a very robust set of command line image manipulation tools. If you’re into scripting it’s pretty straight forward to string together some bash scripts or powershell scripts to do batch processing and manipulation.  Check the Usage page for examples.  I installed from the binary Windows setup (at the moment ImageMagick-6.5.9-2-Q16-windows-dll.exe).

Panoramas:  Hugin is one of several panorama tools  that uses the PanoTools  framework.  The PanoTools framework supports re-projecting and blending multiple source images into a panoramic image (or some other unusual remappings). With Hugin You can assemble a mosaic of photographs into a panorama and stitch a series of overlapping pictures. Check out some examples and the tutorials.   Personally, I didn’t get over the learning curve for Hugin so I went looking for something easier to use.

Microsoft ICE for Windows XP and Windows Vista is dead simple to use.  I just dragged and dropped fifteen source images into the main window of the program and let it do all the work.  It selected five images and generated the panorama below.  Source images were taken standing at the end of a bridge going off of Harbor Island in Tampa Florida.

Harbor Island 2010-01-25 017_stitch

Seems that the technology from Microsoft ICE is also included as part of Microsoft Windows Live Photo Gallery.  See: Creating photo panoramas with Windows Live Photo Gallery.  ICE is more in the sweet spot for my interests.  ICE gives me the illusion that I’m creatively in control without overtaxing my brain like Hugin.  Also, ICE integrates into WLPG under the Extras on the toolbar.  Look for “Extras –> Create Image Composite…” in WLPG after you install ICE.


Publishing to the web:  I don’t normally use a dedicated photo sharing  service but instead share photos with Google Picasa Web, Microsoft Windows Live, or Facebook.  Using a client side program like Google Picasa or Microsoft Windows Live Photo Gallery (WLPG) simplifies publishing photos to a web backend. Both applications are, of course, tied to their respective vendor’s online service but you can get plugins to add support for other server backends.  There is a Picasa Facebook plugin  and WLPG Facebook plugin.  Or if you prefer,  PicasaPublisher eases the pain of publishing photos to Picasa Web from WLPG.  Also, WLPG plugins are available for several server backends.

Trying out some mosaic generators and 2D to 3D programs but everything I’ve found so far is pretty limited.  More on that later.

File and Folder renamer

Needed to rename a batch of photos on a Windows box and found Metamorphose File -n- Folder Renamer.  Only a minor glitch but had to install as Administrator.  Don’t know why Vista didn’t detect it as an install program on it’s own.  Other than that it did the trick.

Journals for failure and negative results

A couple of online journals to document research failures so others don’t tread the dead-end path: Journal of Serendipitous and Unexpected Results (JSUR) and Journal of Interesting Negative Results in Natural Language Processing and Machine Learning (JI-R).  JSUR is new and ironically it appears that JI-R has only one  publication from April 2008.  I guess that could mean JI-R is a failure.  Maybe I should submit an article to JSUR to document that?

Sunday, January 17, 2010

cygpath quoting for directories with spaces in their name

Had to experiment with quoting with cygpath to patch up some scripts under cygwin.
I was trying to properly quote an environment variable defined on the Windows side: 
MSSDK=C:\Program Files\Microsoft SDKs\Windows\v7.0

  • Just using

    cygpath –u $MSSDK

    resulted in a multi-line return of:


  • cygpath –u “$MSSDK”

    returned a single line:

    /cygdrive/c/Progarm Files/Microsoft SDKs/Windows/v7.0

  • and finally

    echo \”`cygpath –u “$MSSDK”`"\” 

    returned the directory properly quoted:

    “/cygdrive/c/Program Files/Microsoft SDKs/Windows/v7.0”

Hurray. Back to script editing…

Saturday, January 16, 2010

Boost for Visual Studio 2008 and Qt

Needed Boost for a Windows project.   After struggling with the build and install for a bit I wimped out and used the BoostPro Binary Installer for Visual C++.  I wanted to use this with a Qt project so I added the lines below to the qtvars.bat file:

@if not "%BOOST_ROOT%" == "" (
    echo -- Adding boost from %BOOST_ROOT%
    set "PATH=%BOOST_ROOT%\lib;%PATH%"
    set "LIB=%BOOST_ROOT%\lib;%LIB%"

and defined BOOST_ROOT to be the directory where I installed boost.

Monday, January 4, 2010

Install HP OfficeJet Pro 8500 Network Access Software on Windows Vista x64

Bought an HP OfficeJet Pro 8500 to support wireless printing and scanning. This thing was an incredible pain in the butt to get installed.    The error dialog I got is shown below.

I had to manually install the Microsoft Visual C++ 2005 Redistributable Package (x64), install the Microsoft Visual C++ 2005 Redistributable Package (x86) and disable my anti-virus software during the install so the HP installer could complete.

Another gripe…Yahoo Toolbar as a default part of the installer?  HP that really does not set the tone as this being a professional office product when you are shilling for Yahoo.

Finally, had to manually install a Critical update to fix Thai fonts.

Sunday, January 3, 2010

Make VideoLAN – VLC media player the Default DVD Player in Windows Vista

I’ve been searching for a while  for a way to make VideoLAN – VLC media player the default DVD player in Windows Vista (32 and 64 bit).  After, several minutes of fruitless searching I finally came across a lifehacker reference to Autoplay Repair and a guide explaining usage. 

To use VLC I created an entry for DVDs with Autoplay Repair


See the VLC documentation for command line parameters.  I used dvd://%L for now.


Then ran the Vista AutoPlay tool to make sure that VLC is the default.


Inserted a DVD and was off to the movies.

Friday, January 1, 2010