Test Image for Tuning Pixel Clock and Phase on an LCD Monitor

If you have ever tried to get an LCD tuned just right when using a KVM switch you’ll know that the key is in the pixel clock and the phase settings.

Download and use the attached gif as a test image with which to tune your screen.

Make sure that it is being viewed at 100% (not scaled in your browser) and set your pixel clock so that the pattern is uniform across the screen.  Set the phase such that there is minimal distortion or "static" on your screen and you should end up with the best viewing settings on your monitor.

Removing Extra Whitespace Between List Item Entries in IE

Using a CSS styled unordered list you can create a fairly sophisticated navigational bar with rollover states.

In IE6 and IE7 without some special consideration, you end up with spurious white space rendered between the list item.

Click here for and HTML example of the problem (you’ll need to be using IE 6 or IE 7).

Click here for an example of the fix
and a detailed explanation of how to do it.

VMWare: Fix for arrow and delete keys not working

Under VMWare Workstation 6.5 I noticed that the arrow keys no longer worked.  After a bit of searching around I found the following:
Edit your "/etc/vmware/config" file and add:

xkeymap.keycode.108 = 0x138 # Alt_R

xkeymap.keycode.106 = 0x135 # KP_Divide

xkeymap.keycode.104 = 0x11c # KP_Enter

xkeymap.keycode.111 = 0x148 # Up

xkeymap.keycode.116 = 0x150 # Down

xkeymap.keycode.113 = 0x14b # Left

xkeymap.keycode.114 = 0x14d # Right

xkeymap.keycode.105 = 0x11d # Control_R

xkeymap.keycode.118 = 0x152 # Insert

xkeymap.keycode.119 = 0x153 # Delete

xkeymap.keycode.110 = 0x147 # Home

xkeymap.keycode.115 = 0x14f # End

xkeymap.keycode.112 = 0x149 # Prior

xkeymap.keycode.117 = 0x151 # Next

xkeymap.keycode.78 = 0x46 # Scroll_Lock

xkeymap.keycode.127 = 0x100 # Pause

xkeymap.keycode.133 = 0x15b # Meta_L

xkeymap.keycode.134 = 0x15c # Meta_R

xkeymap.keycode.135 = 0x15d # Menu

CRiSP Not Accepting a License Key

I have recently been introduced to CRiSP, an amazing text editor.

Also recently, I had Xwindows crash on me while I had a running instance of CRiSP.  When I went to fire up CRiSP again it told me I was in demo mode and that I needed to get a license.    I have a fully licensed copy

I e-mailed the nice folks at CRiSP and within a few hours they e-mailed me back with the fix.

rm -rf /tmp/.Crlock

That fixed it right away.

Not only is CRiSP the best text editor I have ever used but the people behind it are incredibly top-notch and stand behind their product and support it very well.

It came highly recommended to me and I also highly recommend it to any programmer or developer.  They offer versions for AIX, Apple MAC OS X, Native DMG, FreeBSD, HPUX, Linux, OpenBSD, Solaris Intel, SolarisSparc, SunOS, Windows 2000 / XP / Vista, CYGWIN, and other flavors of UNIX.

How to Fix Getting a Black Screen When Attempting to Install Windows XP

I recently was re-installing WinXP on my folks computer and instead of blowing away their existing disk used an extra one that I had lying around.

When I went to run the WinXP set up disk I chose to boot from the CD and then got the "Setup is inspecting your computer’s configuration" message.  And then just a black screen.  The CD drive spun down and then nothing.

Turns out that since I was trying to use a disk that was formatted as ext3 that the Setup program couldn’t continue.

I solved the problem by dropping the disk in an external enclosure and reformatted it as ntfs.  Once I did that it worked like a charm

Removing Extra Space In a Submit Button Under IE 6 and IE 7

When you create an input button that has a long string set as it’s value attribute IE 6 and IE 7 render additional, spurious whitespace or padding to the left and the right of the text in the button.  This is solved by adding the following conditional CSS style for the input button in question (assuming we have an input button with the class "submit_button"):

input.submit_button
        {
        padding: 0;
        margin: 0;
        width: auto;
        max-width: auto;
        overflow: visible
        }

AJAX and Accessibility

I’m working on a project that requires the use of some javascript for a simple survey.  The rub is that the pages all need to be accessible.  I’ve not yet done any work with any AJAX and accessibility but found a few links to articles to get me started.

AJAX and Screenreaders: When Can it Work?
Accessibility of AJAX Applications
AJAX and Accessibility

Accessing A Subversion Repository Via an SSH Tunnel from Windows XP with Interactive Password Login

First off, I didn’t want to simply forward port 22 on my firewall to my local machine as I didn’t want to completely expose it to the net.  I have a number of hardened Internet servers that are completely exposed (for ssh connections, that is) and sufficiently locked down that I felt comfortable configuring my network to only allow ssh connections from a specific server.  What I did there was specify firewall rules to only allow connections on port 22 from a specific machine and then forward those connections to my machine behind the firewall.  I’ll leave the details of that as an exercise for the reader (or a future article).

Once that was set up, I could now set up an SSH tunnel on the trusted Internet server to my machine behind my firewall.  To do that, login to your server and enter the following command:

ssh -N -L234.234.234.234:8888:121.121.121.121:22 username@234.234.234.234

Where:

  • 234.234.234.234 ip address of the local machine
  • 8888 is the port on the local machine that is accepting the ssh connection that you are tunneling
  • 121.121.121.121 is the ip address of the firewall (destination ip for the other end of the tunnel)
  • username@234.234.234.234 is a valid user name on the local box that is accepting and forwarding the connection

Run the command, you will now be forwarding ssh connections on port 8888 on your Internet server to your local machines firewall.  I added that command to a shell script that I could run.  When I was through with it, just CTRL-C and it kills the tunnel.

Now the Subversion part on the Windows client:

I had initially set up Subversion to use password-less ssh keys but decided that I wanted to use the interactive password instead.  I had installed TortoiseSVN, so that included Tortoiseplink.  In this case, I simply added a tunnels entry into the conf as such:

customssh = Tortoiseplink -P 8888

With that entered, my tunnel set up, I could now connect with the following:

svn+customssh:/username@234.234.234.234/path/to/repository local_dir_for_files

This’ll enable you to access your repository from anywhere with your password.

I’ve got a Subversion repository on my machine at my office, and it became clear that it would be really nice if I could access it from anywhere on the net.  It was also clear that it needed to be with an interactive password, and not using ssh keys as I did not want leave ssh keys on untrusted machines.

Click on Read More for the full explanation of how I put it together. First off, I didn’t want to simply forward port 22 on my firewall to my local machine as I didn’t want to completely expose it to the net.  I have a number of hardened Internet servers that are completely exposed (for ssh connections, that is) and sufficiently locked down that I felt comfortable configuring my network to only allow ssh connections from a specific server.  What I did there was specify firewall rules to only allow connections on port 22 from a specific machine and then forward those connections to my machine behind the firewall.  I’ll leave the details of that as an exercise for the reader (or a future article).

Once that was set up, I could now set up an SSH tunnel on the trusted Internet server to my machine behind my firewall.  To do that, login to your server and enter the following command:

ssh -N -L234.234.234.234:8888:121.121.121.121:22 username@234.234.234.234

Where:

  • 234.234.234.234 ip address of the local machine
  • 8888 is the port on the local machine that is accepting the ssh connection that you are tunneling
  • 121.121.121.121 is the ip address of the firewall (destination ip for the other end of the tunnel)
  • username@234.234.234.234 is a valid user name on the local box that is accepting and forwarding the connection

Run the command, you will now be forwarding ssh connections on port 8888 on your Internet server to your local machines firewall.  I added that command to a shell script that I could run.  When I was through with it, just CTRL-C and it kills the tunnel.

Now the Subversion part on the Windows client:

I had initially set up Subversion to use password-less ssh keys but decided that I wanted to use the interactive password instead.  I had installed TortoiseSVN, so that included Tortoiseplink.  In this case, I simply added a tunnels entry into the conf as such:

customssh = Tortoiseplink -P 8888

With that entered, my tunnel set up, I could now connect with the following:

svn+customssh:/username@234.234.234.234/path/to/repository local_dir_for_files

This’ll enable you to access your repository from anywhere with your password.