Tuesday, August 21, 2007

Bounds Test v2.0.3 Released

I just posted a new minor version update, v2.0.3, to Bounds Test, my on-screen measurement utility.

The main new feature in this version is a "Set Size" dialog, that allows the Bounds Test window to quickly be set to any specific size by typing the desired height and width values. (In previous versions, to set the window to a specific size, you would need to carefully drag-resize the window to that size.) The Set Size feature is accessible from the application's right-click menu.

Get it from my Windows Utilities page, or download it directly: Bounds Test 2.0.3 (12k).

Friday, August 17, 2007

Email client usability: Replying to your own sent items

Here’s a scenario that I think is fairly common: I’m having an email conversation with another person (“Melissa” in this example). I reply to Melissa’s email; then, later, before I’ve gotten a new reply back from Melissa, I come across additional information that I want to send to her as part of the same email conversation.

To do this, I could just re-reply the most recent message that I got from Melissa – the one I already replied to earlier -- but in that case, my earlier reply would be dropped from the conversation when Melissa responds and the conversation continues:

What I really want to do instead is to reply to my own latest message in the conversation, so that the entire thread of the conversation will be preserved in the message:

Unfortunately, some modern email clients do not have very good support for this scenario, including (as I write this) the latest versions of Microsoft Outlook and Novell GroupWise.

  • In Outlook (versions 2003 and 2007), if you Reply to a message in your Sent Mail folder, Outlook populates the "To" field with your own address, instead of populating it with the address (or addresses) of the other conversation participants. If you "Reply to All", both your address and the other participants' addresses are populated in the "To" field. In both cases, you need to fix the "To" field manually to make it have only the recipient(s), and not yourself.
  • In GroupWise (version 7), the application doesn't permit to you do a Reply on items in the Sent Items folder at all! (The menu item Actions | Reply is disabled when an email message is selected in Sent Items.) Instead, you are obliged to use the Forward feature instead, and then clean up the header fields of the new message by deleting the "Fwd:" that automatically gets prepended to the subject line, and manually re-entering the address (or addresses) of the other conversation participants.

Gmail does handle doing a reply to a sent item correctly – good job by the usability guys at Google! Some other, older, mail clients may have handled this correctly as well; thinking back to my time at Michigan, I'm fairly sure that the now-venerable Pine email client handled this case properly.

It would be nice if Outlook and other mail clients that behave similarly would put the other conversation participants' addresses in the "To" field (and the "cc:" field when applicable) instead of your own address when you reply to an email message in your own sent items folder.

Thursday, July 26, 2007

Tip: Poor man's text bookmarking

Many IDEs and text editors support a “bookmarking” feature, which will let you set a bookmark at a particular line of code or location in a document (generally through a menu pick or a shortcut key, which will bring up a prompt to enter a name for the bookmark), and then return there later (generally either through a dialog which allows you to pick a bookmark that you set previously, or though a Go To Next Bookmark / Go To Previous Bookmark shortcut key).

However, there currently isn’t any standard convention among Windows applications for the shortcut keys and menu options that are used to set and navigate to bookmarks. Visual Studio 2005, Eclipse 3.2.1, and Word 2003 (to name three applications that support mid-document bookmarking) all use completely different methods for setting and accessing bookmarks.

I’ve come up with my own trick for setting temporary bookmarks in a document. When I’m at a place at a document that I want to easily be able to return to a little bit later, I enter the string $$$ in the document. (If I’m writing code, I’ll enter it as a comment so that the code will still compile.) Then, later, I just use the editor’s Find feature to search for the $$$ to return that spot. When I’m done working with that area of the document, I delete the $$$. It’s also easy to do a multi-file search for “$$$” to find and remove any bookmarks that I might have set and then forgotten to clean up (prior to checking in a set of code changes, for example).

I chose the string “$$$” because it doesn’t tend to appear anywhere else in the types of documents that I work with, so when I go back and search for "$$$" later, my bookmark is the only match. It's also easy to type and easy to remember.

This technique is nice because it can be used in any text editor, regardless of the particular editor’s own convention for accessing bookmarks. As a sort of poor man's bookmark, it can be used even in editors that do not support bookmarking at all.

Wednesday, July 11, 2007

Thinkpad Rescue & Recovery, and free disk space

While researching a "Rescue and Recovery does not have enough disk space to perform the requested operation" error message that has been unexpectedly popping up on my Lenovo Thinkpad T60 from time to time, I found that on at least some Thinkpad laptops, 20 GB or more of “unaccounted for” of hard disk space – space that is reported as “in use” by the Windows, but which apparently no files are actually using -- can be reclaimed by deleting backups made by the Thinkpad “Rescue & Recovery” utility, or by uninstalling the utility altogether. Information on this is available in a post on Charles J. Keeme's blog (which incidentally, as of this morning, was somewhat surprisingly the only Google result for that error message).

Disclaimer: Make sure you have a sound alternative backup strategy in place before you fiddle with the Rescue & Recovery utility! You may also first want to make a set of OS recovery CDs if you haven’t already and you don’t have other means to restore your machine to its factory default state, as the restore data for some Thinkpads is apparently stored as part of the Rescue & Recovery backup data, not on CDs that came with the machine.

The ability to reclaim this disk space that was being used by Rescue & Recovery was a pretty big deal to me, as my current work machine is a Thinkpad T60 that came with only a 50.7 GB hard drive. This morning, despite having relatively few applications installed and very little in the way of multimedia files (music/photos) on the machine, I had only 9.57GB of free space. After uninstalling the Rescue & Recovery utility, I’m up to 29.9 GB of space – Rescue & Recovery was consuming fully 40% of the capacity of my limited hard disk storage!

(In my case, my Thinkpad is my work machine, and my setup is such that my code and work data are backed up on the corporate LAN, and I can rely on the corporate IT department to help me out should the machine experience some kind of hardware failure that would require me to need to reinstall Windows, so I was happy make the tradeoff of tripling my available free disk space in exchange for the (for me) mostly-redundant backup capability that Rescue & Recovery afforded.)

Thursday, June 28, 2007

Howto: Disable auto-insertion of HTML end tags in Eclipse

In Eclipse (version 3.2.1), when editing an HTML page, Eclipse automatically completes HTML end tags that you are in the process of typing for you. For example, if you type:

<td></

Eclipse will immediately automatically add the rest of the tag -- in this case, td> -- for you, so that you end up with (with the part Eclipse added shown here in italics):

<td></td>

However, after years of typing HTML, I'm accustomed to quickly typing the entire HTML end tag myself without thinking about it. Over the last few days, since I've started to use Eclipse to edit HTML, I've frequently ended up with HTML like the following while I'm typing something out:

<td></td>td>

Eclipse adds the second td> automatically, but at the same time I'd typed it out myself without pausing to remember the fact that Eclipse is going to add it for me, and I'd end up with some broken HTML that I would have to either stop what I was doing to fix, or remember to go back and fix later. This got quite aggravating by the time it happened to me for about the 30th time. :-)

I started looking for a way to disable the end tag auto-insertion feature. I searched through the Window | Preferences settings in Eclipse, but couldn't find any setting that was responsible for the end tag auto-insertion. I also searched the Web with Google and Usenet with Google Groups, but couldn't come up with any relevant results even after trying several different variations on my search terms.

Finally, I posted my question to the Eclipse newsgroup eclipse.newcomer (free registration required to browse/post). Nitin Dahyabhai kindly responded and provided the solution:

The HTML end tag auto-insert feature is controlled by the "Smart Insert Mode" setting on the Eclipse Edit menu. You can uncheck the setting there to get Eclipse to stop automatically completing HTML end tags.

Having disabled the "Smart Insert Mode" setting, I'm now much happier while typing HTML into the Eclipse editor. Thanks, Nitin!