PuTTY and VI/VIM Cursor Keys Not Working in Insert Mode

When using PuTTY to SSH to a Linux server and edit files, I’ve encountered on several occasions where navigating in vim using the cursor (arrow) keys on the keyboard while in insert mode results in control characters and/or new lines being inserted. Here are a couple of ways to rectify the situation.

  1. Check if the vim command is pointing to the full version of vim or vim tiny.
    $ which vim

    Some Linux distros link vim to vim tiny. If it’s pointing to the normal vim, skip to step 4, below.

  2. If you’re using vim tiny and want to continue to do so, then edit /etc/vim/vimrc.tiny and add the command set nocompatible to turn off compatibility mode.
  3. If you’d rather have the normal vim editor, then install it. After installation, confirm that the vim command points to the correct version and continue with step 4, below.
  4. Check that /etc/vim/vimrc (or ~/.vimrc) contains the command, set no compatible, to turn off compatibility mode.

That should do it. If you still have trouble, be sure that your terminal is set correctly in PuTTY and on the remote system.

Have another way to fix this issue? Post it in the comments.

Open a Custom Menu Link in a New Window

If you’re using custom menus in WordPress, you may have run into a time when you wanted a menu item to open in a new window or tab instead of the current one. In recent versions of WordPress, various options in the admin screens are hidden in a panel called Screen Options. The target of a menu link is just such a hidden option. To turn it, and some others, on do the following:

  1. Click on Menus in the Appearance section.
  2. Near the top-right of the Menus page, click on Screen Options and check the box labelled Link Target under the Show advanced menu properties heading as shown below.
Screen Options panel for Menus

After enabling the option, the options available for each type of menu item will now contain a drop down list called Link Target where you can select whether the menu opens in the current window/tab or a new one.

Link Target option is now available for all menu items

The Screen Options panel has additional options that can be enabled. Explore the Screen Options panel in other areas of the WordPress admin interface for more hidden capabilities.

Missing Calendar Events after Android 2.2 Update on Samsung Epic

After upgrading the Samsung Epic 4G (SPH-D700) to Android 2.2 Froyo, did you find that all your synced Android calendar events disappeared? In my case, all the recurring calendar events were missing on the phone, but still appeared when I went to Google Calendar from my browser. Here are two ways to fix it.

Clear the cached calendar data

  1. From the Home screen, open the Menu and select Settings.
  2. Scroll down and select Applications, then Manage Applications.
  3. Select the Calendar Sync application.
  4. In the Storage section, click the Clear button.

Now, sync your Android calendar and all the events should come back. If they don’t, try the following fix.

Modify the missing events

If clearing the calendar cache, above, doesn’t work for you, then you can force the Android calendar data to update by modifying the contents of the missing events. Simply edit each event online in Google Calendar by changing the event name or other information about it. After modifying all the desired events, sync the calendar on the phone.

Which fix worked for you? Have another way to fix this problem? Post your findings in the comments.

Broken zcat on OS X

The zcat command line program in OS X has been broken for quite some time and is still that way in Snow Leopard. When trying to output the contents of a gzipped file, zcat appends .Z to the end of the file name that it’s given and outputs an error. The quick fix is to replace it with gzcat as follows:

$ cd /usr/bin
$ sudo mv zcat broken-zcat
$ sudo ln -s gzcat zcat

This process renames the original zcat program to broken-zcat and then creates a symbolic link called zcat that points to gzcat. This way, you don’t have to remember to specifically use gzcat. Running zcat will also use gzcat.

Sony BDP-BX57 BDP-S570 Blu-ray Player Can’t Connect to Internet over Wi-Fi

A lot of people are having problems connecting the Sony BDP-BX57 and BDP-S570 Blu-ray disc players to the Internet via Wi-Fi with encryption enabled (WEP, WPA, WPA2, etc.). I ran into this as well, but eventually got it working with a pretty easy fix. So, don’t return yours to Costco or BestBuy just yet.

To make sure your connection problem isn’t a configuration error, be sure that your SSID in the player’s wireless network configuration matches the one in your wireless router (properly entered upper- and lowercase letters, if any). It’s a good idea to turn off all wireless encryption to verify that the Blu-ray player connects via Wi-Fi without it and that video or music streams properly over the network.

Finally, verify that your Blu-ray player’s firmware is up to date. Some earlier network problems were the result of firmware bugs and you want to make sure that you’re not suffering from one of those problems. The current version, at the time of this post, is M04.R.735. To find the firmware version in your disc player, do the following:

  1. From the player’s main menu, scroll all the way to the left to Setup.
  2. Select System Settings, then System Information at the bottom.
  3. The firmware version appears near the top of the screen.

If your firmware is older than M04.R.735, update it before continuing on. I’ll wait right here.

All set to continue? Good. If you updated the firmware, double check that unencrypted wireless is still working. Now, re-enable encryption in the wireless router, set the corresponding encryption mode in the player (WEP, WPA, WPA2, etc.) and enter the correct encryption key. At this point, if you’re encountering the problem, having enabled encryption will result in a good wireless connection, but no Internet access. The player’s green Wi-Fi LED on the front of the device will be on, but the IP address will start with 169 instead of the usual 172 or 192.

It seems that firmware changes can introduce problems with the network configuration information or other related data in the system. As a result, encryption over the wireless doesn’t work properly. To fix this, do the following:

  1. In the player’s menu, scroll all the way to the left to Setup.
  2. Scroll to the bottom and select Resetting.
  3. Select Reset to Factory Default Settings. Don’t worry, it won’t reset just yet.
  4. Select Network Settings to wipe out all the network configuration data.
  5. Re-enter the wireless network settings that you did before. (I know, it’s a pain.)

That’s it. It should connect to the wireless and to the Internet now. Wiping the old network data and re-entering it removes whatever was causing the wireless not to properly encrypt the network communication. If, for some reason, resetting just the Network Settings isn’t enough, you can opt to reset everything. It’s the last reset item in the menu.

Did it work for you? Do you have a different model Sony Blu-ray player or even a different brand with a similar problem and found a fix? Post your experiences in the comments.