WindowBlinds can cause general instability


No way! A system hack cause general instability, say it ain't so! It is true, folks, after uninstalling the bling-bling that is WindowBlinds, some nagging issues that had plagued both my home and work PCs disappeared. Gone are the general slowness, the jittery-as-a-junebug movie playback and games, and here to stay are improved load times, faster screen refresh and the ability to play any movie I want while I still work without thinking Max Headroom has taken over the world. Yay!

ColdFusion MX 6.1 with Apache 2.2 on Windows


Apache 2.2 was released to a mixed fanfare. While everyone was pleased at the improvements most had to rest on their laurels while their web programming technology of choice was updated accordingly. At the time of writing, PHP 5.1 and 4.4 have an unofficial connector available (unless you want to run the unreleased 5.2 code), Ruby on Rails has several ways of working with it, and many others have received updates. Adobe's ColdFusion MX 7 was given an update which provides compatibility, but the company decided against including (the older though still officially supported) 6.1, so officially users of 6.1, my current employer included, are up the proverbial creek without an equally proverbial paddle. Or so we thought.

Before I explain how I did this, I just wanted to mention that Adobe does not officially support running CFMX 6.x with Apache 2.2, and neither they nor I am responsible if this turns your web server to mush. Proceed at your own risk.

As it turns out, presumably thanks to the wonders of Java binary compatibility, the official ColdFusion MX 7 connector works with ColdFusion MX 6.1, though I had to tweak the instructions a little. Here's what you need to do to get it running on Windows:

  • You'll need both ColdFusion MX 6.1 and Apache 2.2 installed and running correctly.
  • Stop both the Apache and ColdFusion services.
  • Make a backup of both the Apache and ColdFusion directories.
  • Start up the ColdFusion services again.
  • Download the updated connector file from Adobe's site (read the full release instructions if you want).
  • Extract the wsconfig.jar file from the file you just downloaded and put it under your ColdFusionMX directory under runtime\lib, e.g. C:\CFusionMX\runtime\lib. It will ask if you want to overwrite the existing file, so click Yes.
  • Open up the command prompt and move to the runtime\lib directory, e.g. CD \cfusionmx\runtime\lib.
  • Enter the following command all on one line:

    java -jar wsconfig.jar -ws apache -dir /apache2.2/conf -bin /apache2.2/bin/httpd.exe -coldfusion -v

    where "/apache2.2/" is the directory you have Apache 2.2 installed. Note that I have both ColdFusion and Apache installed on the same drive so didn't have to give any drive letters, and I used the UNIX-style directory separator (forwards-slash) instead of the Windows-style (backslash).

  • If you got an error message that said
    'java' is not recognized as an internal or external command, operable program or batch file.

    then you need to close your command prompt window, download and install the Java Runtime Environment (JRE) v1.4, and try again.

  • Presuming everything worked correctly you should see the following in your command prompt window:

    Macromedia JRun 4.0 (Build 107948) Windows 2000
    os.version: 5.0
    os.arch: x86
    platform: intel-win
    Extracting resource connectors/installers/intel-win/prebuilt/jrunwin32.dll
    file defaulted
    last modification date: Thu Apr 06 13:07:04 EDT 2006
    size/compressed size: 73728/26315
    to D:\CFusionMX\runtime\lib\wsconfig\jrunwin32.dll
    Created file D:\CFusionMX\runtime\lib\wsconfig\jrunwin32.dll
    findServers(): found server default at
    Found JRun server default at
    this host is tlcweb:
    web server: Apache
    web server directory: D:/Apache2.2/conf
    verbose connector logging: false
    apialloc: false
    force resource extract from jar: true
    CFMX: true
    mappings: .jsp,.jws,.cfm,.cfml,.cfc,.cfr,.cfswf
    filter mapping prefix: false
    Using Apache binary D:\Apache2.2\bin\httpd.exe
    Server version: Apache/2.2.3
    Apache 2.2.3 is recognized
    isValidVersion(): Apache is 2.2.3
    Compiled in modules:
    Parsing Apache configuration file D:\Apache2.2\conf\httpd.conf
    Extracting resource connectors/apache/intel-win/prebuilt/
    file defaulted
    last modification date: Thu Apr 06 13:07:04 EDT 2006
    size/compressed size: 65536/25836
    to D:\CFusionMX\runtime\lib\wsconfig\3\
    Created file D:\CFusionMX\runtime\lib\wsconfig\3\
    Wrote file D:\Apache2.2\conf\httpd.conf
    Added JRun configuration to Apache configuration file D:\Apache2.2\conf\httpd.conf
    Created file D:\CFusionMX\runtime\lib\wsconfig\3\README.txt
    Wrote file D:\CFusionMX\runtime\lib\wsconfig\
    Error stopping service. The web server must be restarted to complete this operation.

  • At this point start up the Apache server and try loading a CFM file. :-)

Apache log rotation on Windows


The Apache web server, or more correctly Apache HTTP Server, is a wonderful program for serving web pages to the world. It can be a bit tricky to set up, however, especially if you want to run it on Windows as many of the configuration examples you'll find online are for UNIX rather than Windows.

One particularly tricky thing to get working correctly is log rotation, where instead of saving all of your site traffic logs into one file it can split it up by day, month, etc. As mentioned, this is tricky because you would assume that the program you use to do this would work with the regular Windows directory names, e.g. "C:\inetpub\logs", but it doesn't.

So.... what you actually have to do is something like this:

ErrorLog "|D:/Apache2/bin/rotatelogs.exe D:/Logs/error_%Y%m%d.log 3600"

Note that I'm using the forward-slash (UNIX-style) directory separator instead of the backslash (Windows-style) directory separator. That seems to be the trick that got it to work for me.

On that note, there appears to be a bug in the rotatelogs.exe program on Windows. When you configure the rotation to use any time fields (hour, minutes, seconds) they are given "0"'s instead of the the real values, so you end up with e.g. error_20060912_184405.log instead of error_20060912_000000.log. I've not been able to find any official record of this, nor does the documentation have any mention, but as I've found other people experiencing this problem I'm going to assume that it is a bug and live with per-day log files.

Networking multiple Windows the easy way


I've lost count of the number of times that people have asked me to help get their small network of two or three Windows XP computers talking to each other, and I've never spent the time to work out what the magic combination is.  Recently I came across a program called Network Magic that takes all of the effort out of it.  If you're having problems getting your PCs to talk, give it a try.


Subscribe to Windows