My Photo

Search AWesome


Writings


  •   Catch All as a River of News
      Catch All as a Reading List 

  •  RSS Tool Vendors
    Blog about RSS aggregators, feed generators and manipulators (mixers, filtering services, converters), OPML and about blog search engines. Home of the RSS Tool Vendor News browser.

  •  Google AJAX Search—Experimental Blog
    I set up this TypePad blog in September 2006 to experiment with the then hardly announced Google AJAX Search API. Read how I conquered implementing this advanced technology on a TypePad blog, using Advanced Templates.

  •  CleverClogs
    This is my main outlet where I post stuff about projects that I'm involved in. I'm mostly interested in desktop alert systems, in RSS manipulation techniques and in advanced blog search techniques. Some projects get so elaborate that I devote a separate blog to them.

Immediate Access to Trillian Chat History

As you may know from my past posts I'm trying to withstand the temptation of installing beta versions of individual instant messaging clients the moment they are released. Over the years I've become rather attached to Trillian, although there are some creases in the surface because of the increasingly buggy releases that have come out over the past year.

When Cerulean Studios released version 3.0, I realized a bit late that their programmers made the chat history logs much less easily accessible in return for advanced features such as bookmarks and so on. Frankly speaking, I don't use bookmarks at all and I don't like the 'fancy' time-lined synoptic view of my chat logs. I need my chat logs to be full-text so that I can quickly overview them and of course find whatever I'm looking for. It was about time that I created an active word that would allow me to do exactly that.

I just created a fairly simple, generic ActiveWords script for the purpose of opening any contact's chat log in the default text editor. The script assumes that you select a contact in your Trillian contact list.

Short Note on Naming this Active Word
Note that the Trillian contact pane is keyboard sensitive: anything you type will be processed by Trillian in an attempt to select a contact starting with the letters typed. Of course you can work around this by using the ActiveWords action pad to trigger your script, but why not do this: assuming you don't have a contact name starting with a backslash, name your script \his (including the backslash). None of your contacts will likely start with a backslash, so your currently selected contact name will stay intact.

This is the script:
<SHIFT><F10></SHIFT><UP><ENTER>
<ALT><TAB></ALT><DELAY:100>
<ALT><TAB></ALT><ALT>f</ALT>
<ENTER><WAIT FOR WINDOW:TITLE
=Notepad><CTRL><END></CTRL>

Breaking it down into Pieces
<SHIFT><F10></SHIFT>: open the context menu for the selected contact

<UP><ENTER>: select View Contact History

<ALT><TAB></ALT><DELAY:100>
<ALT><TAB></ALT>: force focus to the Contact History window. Initially, Trillian opens the window all right, but it does give it focus properly. By Alt-Tabbing back and forth, the Contact History window does get focus.

<ALT>f</ALT><ENTER>: open the File menu and select View as Text

<WAIT FOR WINDOW:TITLE=Notepad>: wait until the default editor opens. You may need to specify a different default editor here.

<CTRL><END></CTRL>: move to the end of the document (because I usually want to see the most recent portion of the chat log).

Tip to Access Specific Log Files
If you like, you could also open the chat log of any individual contact directly by locating it on your hard drive. On my system, for example, the chat logs are located in this folder: C:\Program Files\Trillian\users\default\logs. If you then drag any of the *.log files to the ActiveWords monitor bar, ActiveWords will automatically create an active word of the file type for you. Try it. The entire monitor bar is a drag and drop area, but I mostly use the rightmost part. As a name for this type of active word, I suggest initials+imh, for example, if your contact's name is Marjolein Hoekstra, the active word would be called mhimh.

As a challenge for you I suggest that you create an active word that opens my chat window and sends the url that you opened most recently to me. If you like you may add me to your buddy list for practicing purposes—I'm Chopianissima on most systems.

Next Post
In my next post I will explain how you can look up proper usage of any English word, just by selecting that word and pressing F8. As an example I will use the online version of Advanced Learner's Dictionary by Cambridge University Press.

I kindly welcome feedback.

Assign Single Keystrokes to Active Words

Pete Weldon, head of Tech Support of ActiveWords, just published this astonishingly impressive easter egg at the ActiveWords Community Forums: Assigning Actions to Specific Keys - Easter Egg.
Following the steps in this post will allow you to launch an active word using a single keystroke, like PrtScr, Scroll Lock, F7 or any other key on your keyboard that transmits a scan code. Carefully read his article for full instructions, because you do need to make an adjustment to one of the INI files.

On top of all the excitement about the recent NYT review by James Fallows (all well-known bloggers dished it up already, so I passed the honor this time - though I did furl the GoUpState version of the review first thing Monday morning, within the hour after it showed up in my feeds), this contribution about an exceptional undocumented feature makes us all even happier, so thankyous and congratulations to the explosively growing group of ActiveWords users and of course the ActiveWords team as well.

Medical Transcribers Start Another ActiveWords Forum

Joi, a so-called MT (Medical Transcriber) evidently heavily infected by the recent outbreak of the highly contagious ActiveWords virus, has started her own ActiveWords forum on her board Tripicheck's MT Productivity Forum. The board is targeted at medical transcribers. Besides the obvious ActiveWords, members talk about all kinds of topics like text expanders, grammar questions, speech recognition and job opportunities.

Does anyone happen to know how I can subscribe to this forum?

I think I'm going to stop counting the number of ActiveWords forums already out there! ;-)

Window Title Tester

The <WAIT FOR WINDOW> tag is a very useful ActiveWords command. Its main purpose is to bring a certain window to the front so that your active word script may run within the scope of that particular window. The syntax for this command is
<WAIT FOR WINDOW:TITLE=window title>.
I sometimes struggle getting the window title exactly right, however. I decided to create an active word just for the purpose of testing out a window title. Along the way you'll also see how the ActiveWords action pad helps to test a script. I hope you find the information useful and that you will benefit from the new, direct topic links to the scripting documentation in the code sections.

Continue reading "Window Title Tester" »

ActiveWords Recall 101

You probably remember how you named the first active word you created right after installing ActiveWords. Since that time you may have created several other useful ones, but are you sure you can find them all back? Remembering which active words you created, for which purpose and with which name can seem a challenge. In this post I'll show you tricks to effectively pinpoint and systemize your active words. These methods will considerably increase your recall. Of course I'll demonstrate which ActiveWords command tags make this task easier. I even put all relevant active words in a wordbase for you to download.

Continue reading "ActiveWords Recall 101" »

Instant Messaging with ActiveWords

On request I just published two articles on the ActiveWords Community Forums showing how to control MSN Messenger (latest release 6.2) and Trillian (latest release 2.012) using ActiveWords commands:

Using ActiveWords to control your status in MSN Messenger
This article explains how to have ActiveWords set your status to Online, Busy, Be Right Back, Away, On the Phone, Out to Lunch, and Appear Offline.

Using ActiveWords to control Trillian
This article is a bit more complicated, but basically solves the same problem as the first one. It adds some value because it explains how to set a hotkey in Trillian and how to fake Trillian into believing it has accelerator key functionality. The commands I created for Trillian show you how you can send an instant message and set your status. The article concludes by showing how you can easily duplicate active words to create other commands controlling your status, for instance if you want to go and see a movie:

ActiveWords lets you go to the movies!


AWesome Scripting!

[Disclaimer:
P.S. Please direct your questions about any of my blog topics to me, not to the ActiveWords support guys. There are plenty of options to talk back either here or by replying to the relevant topics on the ActiveWords Community Forum. Thank you for your feedback.]

Taming TypePad

Yesterday I felt the awkward sensation of being initiated, for I am now an anonymous member of the UTCSVG, the Unofficial TypePad Comment Spam Victims Guild.

I decided to track down this comment spammer's IP address in order to report the abuse to his ISP. I know these IP addresses tend to be spoofed - oh well. Along the way I created a couple of pretty useful active words that help me delete comment spam and ban the offenders. I figured I might need them when AWesome gets struck again.

Consequently my TypePad wordbase is growing. As TypePad is widely spread among blogging ActiveWords users, I thought I'd share my active words controlling TypePad with you. At least they are saving me a lot of time and aggravation. You may download the TypePad wordbase from the AWesome Download section.

Continue reading "Taming TypePad" »

ActiveWords inside ActiveWords

Pfeifer's wish as he expressed it on the ActiveWords Community Forums last week was perfectly understandable: once you use ActiveWords, you also want to use it to create, maintain and organize your active words. In my day to day practice of creating and editing ActiveWords I use relatively complex active words that have evolved over time. One example is an active word that adds a footer with today's date and my initials in the Description field of an active word item. All of the published AWesome wordbases show these footers. In this post, however, I concentrate on how to use simple ActiveWords shortcuts that substitute command tags like <CTRL> while you edit an Active Word.

Continue reading "ActiveWords inside ActiveWords" »

ActiveWords Code Grabber

Update: Please note that I wrote a sequel to this post. I suggest you read that too, because I changed the behavior of the grabber after receiving feedback from several people. Thanks.

Would you like to be able to grab an ActiveWords script off the screen and add it to your own ActiveWords collection? I started building an active word to this end as a reaction to a wish list item posted on one of the ActiveWords Community Forums.

Continue reading "ActiveWords Code Grabber" »

One-Key Editing

Most people edit their active words this way:
They
1. Open the Main ActiveWords Directory (trigger the command
view or click on the ActiveWords icon on the monitor bar)
2. Browse and select the active word that needs a change
3. Click the Edit button (Alt-e)

By now you've probably already guessed I found a simpler, more efficient way to do this.
Read on if you want to implement a whole new keyboard-based method to edit your active words and learn a new Windows trick along the way. It only takes a few steps.

Continue reading "One-Key Editing" »

Supercharging Shortcuts

Sometimes less is more. This expression is at least true when you find out you no longer need to script the path of a Windows executable program in order to have your script launch that program! I found out that in a lot of cases of frequently used programs it's entirely unnecessary to specify any path at all. I will explain it to you. It's really so simple. I only wish I had known about this sooner.
Read the rest of this article if this topic interests you.

Continue reading "Supercharging Shortcuts" »

Grouping your Active Words

Managing larger amounts of active words becomes much easier if you assign your active words to groups. Groups help you split up your collection in categories that you choose. ActiveWords groups also function as a directory heading: once your group exists, it's very easy to display all active words belonging to that group.

Undocumented Feature Disclaimer
Please note that active word groups and directories are not covered by ActiveWords technical support. So please don't ask these guys questions about things you read in AWesome blogs, ask me instead by placing a comment or post your remarks on the ActiveWords Forum. The ActiveWords Community is truly very active with words, so I'm sure you'll get a reply shortly.

Long Story Short
Most ActiveWords users never get to creating groups because they do not know where to start. So here's a hands-on guide how to create new groups, assign active words to them and display them in a group directory. You need to create one active word for each new group. The group is automatically created once you follow the steps below.

Creating a Group
Here are the steps to create your first group.
1. Click on the add add_button.jpg button in the ActiveWords monitor bar;


2. In the ActiveWords Add Wizard dialog, choose the Scripting action (it's the last option), then choose Next;

activewords_add_wizard_dialog.jpg


3. in the Add New ActiveWord Wizard - Command dialog, type the following text in the Action field:
<DIRECTORY:AWesome Active Words:ADD WIZARD=COMMAND> then press TAB to write a description (I suggest: "Open Group AWesome Active Words") in the Description field, then choose Next;

add_new_activeword_wizard_command_dialog_1.jpg


4. In the final dialog screen you may name your action. I suggest you name it awegr. Leave the checkmark in the Confirmation Flag field as it is.
Choose Finish.

name_new_activeword_dialog_1.jpg


Trying out the Group Command
Your active word awegr is now ready for use. The group you created is called AWesome Active Words. Trigger the active word awegr. You will see an empty active words directory -

awesome_empty_group.jpg

obviously because no active words have been assigned to this new group yet. If you like you may immediately add a new active word to this group by clicking the Add button from the button toolbar awesome_empty_group_addnew_button.jpg
or press Alt-N.

Please note that the ActiveWords Advanced Editor needs to be enabled to assign active words to a group. Read my separate blog post Advanced Editing if you haven't enabled the Advanced Editor yet.

Assigning Active Words to a Group
ActiveWords permits you to assign any active word to one or multiple groups. Use the binocular icon from the ActiveWords monitor bar binoculars_button.jpg to locate your active word hi and open it for editing (Alt-E).

find_active_words_results.jpg

Then click on the Directory icon or press Alt-E to open the Directory Management dialog box.
open_directory_management.jpg

In the left hand list box you see which groups are available.

assign_group.jpg

In the right hand list box you see to which groups your active word is assigned. Assign your active word to the groups you want and click the Apply button (Alt-A). Save your active word.
You should now be able to see this change reflected in the group directory.

The ADD WIZARD Parameter
One remark about step 3: by specifying the optional parameter ADD WIZARD={wizardtype}, in our case ADD WIZARD=COMMAND, you enable the display of the Add toolbar button. When you click the Add button from your new group directory, the ActiveWords Wizard skips the step where you select the type of active word you want to create.
Instead of COMMAND, you may also select one of the following: PROGRAM, DOCUMENT, INTERNET, FOLDER, SETTINGS, SUBSTITUTION or MAILTO.

I realize this is a detailed post. Including images is new. Please let me know if you find them helpful, too little, too much. If you like this style then I may consider republishing my other posts and include images in those too.


AWesome Scripting!

Easter Eggs

The new ActiveWords webforum has already proven its right to exist because of its categories and RSS options. But here's another reason to sign up: ActiveWords insider NebuchadnezzaR posts very interesting messages on the forum.

The direct link to an interesting article by him is Other ways to use the ActionPad.
If you've never used the ActionPad (synonym: WordPad), I'd like you to try it out by selecting the underlined text: <WORKPAD> and pressing F8.
After reading the entire forum thread you'll know which undocumented hotkeys may be used from the ActiveWords ActionPad, for example to easily cut and paste unformatted text. NebuchadnezzaR (I suddenly realize I desperately need an active word for that nick name!) paternally calls the ActionPad hotkeys Easter Eggs.

I liked NebuchadnezzaR's post very much because the ActiveWords ActionPad is a very easy and interesting platform to launch and test ActiveWords. I'm in the process of preparing an extensive article on it. Once I have sufficiently recovered from stupidly losing the entire draft a couple of days ago, you will find it here in its final state.


AWesome Scripting!

Launch Active Words from a Web Page

My brightest ideas occur to me when I'm actually way beyond my bedtime.
Here's one:

Remember my Hello World! article? All day I had been thinking how wonderful it would be if I could show you hands-on what each of my scripts does.
Guess what. It's possible! Here's the script once more. Now this time, select just the underlined part of the script (so exclude the angled brackets) and press your active word key. On most systems this is <F8>.

<MESSAGE BOX:Hello World!:My First Script>

Let me know if this trick works on your system. It demonstrates the power of the Knowledge Access application, the part of ActiveWords which intrigues me most at the moment.

This trick works for both ActiveWords command tags and for active words you create. So let's say you just created the active word <hi> and you'd like to try it out. Select the underlined part and press <F8>
So, from now on we can write about an active word and immediately show what it does. Create the <wrd1> command that I described in Under Word's Hood
and immediately try it out by selecting and triggering the part between the angled brackets.

Are you grasping the potential of this?


AWesome Scripting!

Building an ActiveWords Library

This hands-on column deals with my latest thrill: writing ActiveWords scripts. Be warned, I consider it a highly addictive habit.

Designing active words scripts has almost become second nature to me these last few months. I'd like to use this column to share and discuss with you which generic scriptlets have made it to my General ActiveWords library. If you think it deserves the subtitle ActiveWords Scripting Tutorial let me know.

I use scriptlets over and over again, mostly as building blocks to create other, more complex scripts. This library approach has two major advantages.

Firstly: descriptive active word names make complex scripts considerably easier to read. As an example I'm quoting a script for MS Word recently discussed on the ActiveWords Yahoo! Group. I am not discussing nor disputing what this script is supposed to do. I just like you to glance at each and get a grasp of what the script is about.

Uncensored:

<ALT>v</ALT>h</ALT><ALT>i</ALT>a</ALT>x
</ALT>header<ENTER><ALT>v</ALT>h</ALT>
<ALT><F8></ALT>viewfooter<ENTER><ALT>i</ALT>a
</ALT>x</ALT>footer<ENTER><ALT>v</ALT>h</ALT>

Note by the way how easily mistakes like orphaned end tags make their way into scripts like this and how difficult they are to detect.

After a make-over:

< =viewheader= >< =insertautotext= >
header<ENTER>< =viewheader=>
< =runmacro= >viewfooter<ENTER>
< =insertautotext= >footer<ENTER>
< =viewheader= >

Secondly: revising scripts is simpler and less time-consuming if you use a library. There is no need for find and replace operations to update all active words using the same type of action, because every action occurs only once in your active word base. Let's say you find out you happened to misspell your most important client's company name in 10 different active words dealing with that client. Tedious operation to open every single active word for editing and fix the typo. You probably get the idea.

Here are some of my personal favorites:

< =copy= > : <CTRL>c</CTRL>
the generic command to copy selected text to clipboard

< =cut= > : <CTRL>x</CTRL>
the generic command cut selected text and copy to clipboard

of course I designed active words for all other actions related to selecting, copying and pasting text.

< =opencontextmenu= > : <SHIFT><F10></SHIFT>
the generic command to open an object's menu

< =aweditor= > : <"<AWDIR>\AWGenericEditor.exe">
the command to open the advanced active word editor dialog screen, my preferred way of creating and editing active words.

Setting up a library in this manner takes a bit more time in the beginning. Trust me - once your library is set up writing a new script is a breeze. Now and then I too throw in some quick and dirty scripting like everybody else, especially when trying out a new idea.

Once an active word upgrades its status from temporary to more finalized, I make sure it adheres to my own quality standards, which means:
Write a decent meaningful description.
Assign the active word to the appropriate group.
Refer to all new active words in lowercase.
Refer to built-in command tags like <CLOSE WINDOW> in UPPERCASE.

All active words in my General ActiveWords Library have their confirmation flag turned off, so they can easily be referenced from any other active word script. This means I use the code field for the name of my active word, not the word field. If for some reason you need to have the confirmation flag turned on, use the <WORD:your activeword> command tag to reference it.

Curious about the enclosing equals signs? Stay tuned for a sequel on those and my take on a context sensitive Knowledge Access toolbox.

Comments highly welcomed.

Disclaimer: This column is not endorsed nor reviewed upfront by any ActiveWords Inc staff member. Please apply common sense when trying out the examples given.