Showing posts with label tips. Show all posts
Showing posts with label tips. Show all posts

06 January 2008

Why can't del.icio.us do A to Z?

I struggled through the alphabet as if it had been a bramble-bush; getting considerably worried and scratched by every letter. After that, I fell among those thieves, the nine figures, who seemed every evening to do something new to disguise themselves and baffle recognition. But, at last I began, in a purblind groping way, to read, write, and cipher, on the very smallest scale. ~ Charles Dickens, Great Expectations, Chapter 7
My alphabet starts with this letter called yuzz. It's the letter I use to spell yuzz-a-ma-tuzz. You'll be sort of surprised what there is to be found once you go beyond 'Z' and start poking around! ~ Dr. Seuss, On Beyond Zebra
Librarians are perhaps overly given to the love of alphabetical order, and many of us have a hard time with today's casual lack of concern about whether McTavish should precede or follow Macdonald, or whether St. Boniface should interfile with Saint Boniface. We still cringe internally when we watch an analphabetic patron fumbling through a dictionary or encyclopedia. Anti-alphabeticists like Mortimer Adler have complained that resorting to the alphabet is an evasion of intellectual responsibility. In his new book, Everything is miscellaneous, David Weinberg fondly recollects Adler's pique in his description of the digitized and "miscellanized" third order of information, in which alphabetization is quickly going the way of Ptolemaic cosmography.

Everyone still likes a good list, and the fact remains that many lists are easier to use when they are alphabetized, like the phone book (despite its making a hash of initialisms), or Wikipedia's List of countries, or Google Reader's list of subscriptions. For the users of these tools it is second nature to find items according to the arbitrary order of our alphabet. del.icio.us itself recognizes this archaic institution, by default providing its users with its famous alphabetical array of tags. The mega-cool tag cloud is fundamentally alphabetical. Finding a tag is much simpler when you can do it at a glance rather than typing blindly into a search box. That is why I find so irksome the complete inability of del.icio.us to alpha sort links within tags or without. When del.icio.us was being coded it was decided that the list default would be reverse chronological order, with no alternatives allowed. It's absolutely crazy-making. Alphabetical sorting is on most users' wish lists, and it has been promised by the folks at del.icio.us. Perhaps 2008 will see the release of the new Delicious 2.0.

What to do in the meantime? I have a simple need. I want to be able to sort a list of blogs by student nurses that I have gathered under the tag blogs.nurschool. There are about 50 items that I would like to list alphabetically by blog title. A simple matter it seems, but impossible for del.icio.us. I could copy the chronological list I get when I click on the tab and do the sort manually. But that's silly. Surely there is some other way, I thought; and I set out to find it.


A Greasemonkey approach to sorting del.icio.us bookmarks: Del.icio.us alpha sort

As a user of the Firefox add-on Greasemonkey, I immediately started searching for a script that might do the job. Greasemonkey allows users to install scripts that add new functionality to web pages. (If scripts are not your thing, move on the next section.) I quickly found one called Del.icio.us alpha sort, which places a control at the top of the page permitting the user to toggle between alphabetical and chronological sorting of links — something del.icio.us programmers should have added in the first place. The problem is that it doesn't work properly. When I tried the script it would do the alphabetical sort only for one page — which works up to a point, that is, if you have 25 items or less in that tag. But, in all fairness, should the user be required continually to adjust the number of items appearing on a del.icio.us page to accommodate for this programming deficiency? The maximum number of bookmarks on one page is one hundred. What if you have more than one hundred bookmarks to be sent to a list? I quickly uninstalled Del.icio.us alpha sort without experimenting further. This script is not ready for prime time (it also slows down del.icio.us) and I don't have the hacking ability to improve on it. It really is time for del.icio.us programmers to incorporate alphabetical sorting into their code.

It occurred to me later that Del.icio.us alpha sort might conflict with Pagerization, my favourite Greasemonkey script, which turns a website's page-by-page results into an unbroken scrolling list with no annoying "next page" links needing to be clicked in order to proceed. Some of the sites that can be "pagerized" are Google (Search, Image, News, Group, Video), Yahoo, Wikipedia, YouTube, del.icio.us, Twitter, and digg. Sadly, PubMed does not allow itself to be pagerized. For my tenosynovitic forearm's sake I would never give up Pagerization. This extraordinary bit of code is worth the small effort of installing Greasemonkey. I did try Del.icio.us alpha sort with Pagerization disabled; but it still failed to alphabetize more than the first page. Having wasted an hour or two on this futile experiment, I moved on.

Turning to the del.icio.us Help pages

I went to the Developer section of del.icio.us Help. There we are promised the ability to "access data and build cool stuff." I must say, in most cases the del.icio.us help pages truly are helpful. Sure enough, under the HTML section I found something I could work with.

A simple URL with a few added "arguments" creates a reasonably attractive bulleted list in reverse chronological order of your most recent del.icio.us bookmarks. In the following simply replace USERNAME with your del.icio.us identity, and replace XXX with the number of links you want to list:

http://del.icio.us/html/USERNAME/?count=XXX&extended=body&extendeddiv=yes
&tags=no&rssbutton=no&bullet=bull

The count is limited by default to 15. To list more items add the appropriate number after "?count=".

I used these arguments to refine my results:

&extended=body : includes the full descriptive note for each bookmark
&extendeddiv=yes : starts the note on a separate line under the bookmark link &rssbutton=no : removes the default orange RSS button at the bottom of the bookmark list
&bullet=bull : adds a standard round bullet before each bookmark link (I prefer this to the del.icio.us help site's suggestion of "&bullet=raquo", which produces a right-pointing quotation mark or guillemet (»))

Using the above URL you get a result that looks like this:

BioMed Central | Abstract | 1471-2105-8-487 | Userscripts for the Life Sciences
Discusses userscripts that aggregate information from web resources. Examples of enriching web pages from other resources, and how information from web pages can be used to link to, search, and process information in other resources.
2008 Web Predictions - ReadWriteWeb
Like, yeah! "People engaged in the new web will do some really awesome stuff that we'll all be in awe of."
M A B - Mozilla Amazon Browser
Can now be run as a remote application. http://www.faser.net/mab/chrome/content/mab.xul
Partners in a pandemic - www.universityaffairs.ca
May 2005. Medical researchers from Winnipeg helped discover how the AIDS virus is transmitted in Kenya because they were in the right place at the right time.
Top 10 Medical Breakthroughs - 50 Top 10 Lists of 2007 - TIME
University of Manitoba researchers involved in the #1 medical breakthrough. Circumcized men in Africa 50% less likely to be infected by HIV.
MedlinePlus: Health Literacy
"... the ability to understand health information and to use that information to make good decisions about your health and medical care."
Show me the data -- Rossner et al. -- The Journal of Cell Biology 17 Dec 2007
Critique of impact factors. "We hope this account will convince some scientists and funding organizations to revoke their acceptance of impact factors as an accurate representation of the quality—or impact—of a paper published in a given journal."
Web 3.0 and medicine -- Giustini 335 (7633): 1273 -- BMJ
Logically, web 3.0 should bring order to the 21st century web in the same way that Dr John Shaw Billings’s Index Medicus brought order to medical research back in the 19th century.

If you want to a list of bookmarks for a particular tag, then simply add the tag name after your user name:

http://del.icio.us/html/USERNAME/TAGNAME?count=XXX
&extended=body&extendeddiv=yes&tags=no&rssbutton=no&bullet=bull


This hack allowed me to gather all 50 or so nursing school blogs together in an unalphabetized list. Not bad, but still offensive to my instinctive need for this list to be alphabetized.

No help from del.icio.us Export (but good for a complete backup)
Another way to get a list of links is the standard export procedure found in del.icio.us Settings. Unfortunately, you can only create an enormous list of all your bookmarks, and there is no option as to their order, which is reverse chronological. This feature is useful if you ever want a good backup of your bookmarks, however, or if you want to import them back into a browser (heaven forbid). Go to Settings, and click on "export/backup" under the Bookmarks heading. You are given the option of including your tags and notes. del.icio.us will generate an HTML file of all your bookmarks that you can save to your computer. Eminently simple, but frustrating for my purposes.

Finally getting an alphabetical list (but is it worth the trouble?)

The URL for producing a bulleted list was helpful, but del.icio.us provided no method for getting my list in alphabetical order. I remarked above how in our "miscellanized" world alphabetical order is terribly passé. I can only continue to demur. I live by the English alphabet, and could not tolerate the loss of the time-honoured sequence of its 26 letters. I cannot fathom why the del.icio.us designers left out the alpha sort. Of course, I can alphabetize any list manually, including the tag-delimited list that del.icio.us provides. But what if I had hundreds of items, instead of fifty? Surely there is some way out of the tedious omnium-gatherum of just-one-damn-link-after-another.
After considerable effort, here is one method I found to get a set of my del.icio.us bookmarks into a usable alphabetical list. This goes beyond the hobbled and unavailing alphabetical listings for tags allowed by the new del.icio.us Firefox extension.

In del.icio.us Help, under the section for Developers, click on API, then click on posts. This section is marked by a rather ascetic and elitist assumption that the intrepid enquirer who has ventured this far needs no further condescending explanations or instructions. We are sternly informed that del.icio.us APIs are done over https and require HTTP-Auth. Furthermore, "this document and the APIs herein are subject to change at any time." Accepting my subordinate status and having informed myself a bit better about APIs, I persisted and found something I could use.

The first https URL in the posts section allows you to "get" all the bookmarks for a certain tag. (At least I assume it gets all of them. There is another URL that also returns all your bookmarks, but which can be filtered by tag. I used both and the results were the same for my selected tag. However, each URL returns information in a slightly different order. The "get" URL works better for my purposes, which I will explain below.)

Use this URL to create an XML file for your specified tag, adding your chosen tag name after the equals sign:

https://api.del.icio.us/v1/posts/get?&tag=TAGNAME

Type the URL into your browser. After you press Enter you will be prompted to enter your del.icio.us ID and password. The next step is to save the resulting XML file to your hard disk and then import it into Excel. (I used my old home-computer version of Excel XP for this experiment, but any version of Excel will do the job.) Using the Data|Import External Data|Import Data command, I brought the contents of the XML file, correctly separated into columns for each data field, into a spreadsheet.

Once the title of each bookmark is in an Excel cell, it is a simple matter to use Excel's Sort command to alphabetize the list. Delete columns with extraneous material. I chose only three columns to use: bookmark title, URL, and accompanying note.

Highlight the data and copy it to the Clipboard. You can then paste the spreadsheet data into most word processors. In Microsoft Word use Paste Special to copy the data into a formatted table. A little more fussing will be required, but at least the list is alphabetical. The downside is that your bookmark titles are no longer hyperlinked, but have their URL hived off into a separate cell. To get anything like the bulleted list illustrated above, you must now highlight each bookmark title and manually create the link by pasting in the appropriate URL.

That seems like a lot of trouble. In fact, it's hardly worth the effort, and actually makes manual alphabetization of the HTML output start to look attractive. With all my best efforts exhausted, I found I really hadn't come very far. For all its benefits, del.icio.us makes it extremely difficult to create alphabetized link lists. If I have missed a glaringly obvious hack or a deus ex machina solution, will some kind reader let me know? Otherwise, I shall just have to wait until del.icio.us delivers on its promise to include alphabetical sorting in its long awaited new user interface.


Ten enhancements on my del.icio.us wish list

It has been four months since the new version of Delicious (finally dumping the trendy but annoying internal punctuation) was announced. Alphabetical sorting was promised and is eagerly awaited by the faithful. Here is my wish list for ten more improvements to what has become an indispensable tool. Do you have any others to add?

1. Increase the character limit on descriptive notes. They are never quite long enough to hold the text I want to include. I have to waste time trimming and editing. And fix the bugs, please. My cursor occasionally disappears in a note field.

2. Number all pages instead of only including 'earlier' and 'later', which forces us to click through every page. In the alphabetical sort, provide a clickable alphabet selection list for quick navigation.

3. Allow unfettered scrolling through all bookmarks, with no page divisions.

4. On-the-fly bundle creation and allocation. Call them categories instead. We're grown up now.

5. We should be permitted to set a permanent or session-defined defaults. Example, a setting for not sharing as well as sharing our links. Sometimes I want to bookmark a series of daily-use links that would be of no use or interest to anyone else. It's tiresome to be forced to click the do not share checkbox for each. In the same way, we should be able to set permanent or session-only default tags that are applied to each new bookmark.

6. Deleting items should be easier. Allow users to delete with only one click, or with a keyboard shortcut. (In the meantime I am using an excellent Greasemonkey script called del.icio.us delete now.) Highly recommended if you are the type who likes to clean house from time to time.

7. Importing any del.icio.us list into a spreadsheet or word processor should be simplified.

8. Allow users to set desired text, background and highlighting colours.

9. Let's see contextual search implemented in the new version. If I don't specify what I want, del.icio.us should search whatever I am currently looking at — my own bookmarks, bookmarks from my network, or all bookmarks.

10. Reduce the amount of clicking required by introducing a range of keyboard shortcuts for searching, bundle creation, tag renaming, easy deletion, etc.
Clover learnt the whole alphabet, but could not put words together. Boxer could not get beyond the letter D. He would trace out A, B, C, D, in the dust with his great hoof, and then would stand staring at the letters with his ears back, sometimes shaking his forelock, trying with all his might to remember what came next and never succeeding. On several occasions, indeed, he did learn E, F, G, H, but by the time he knew them, it was always discovered that he had forgotten A, B, C, and D. Finally he decided to be content with the first four letters, and used to write them out once or twice every day to refresh his memory. Mollie refused to learn any but the six letters which spelt her own name. She would form these very neatly out of pieces of twig, and would then decorate them with a flower or two and walk round them admiring them. None of the other animals on the farm could get further than the letter A. George Orwell, Animal farm. Chapt. 3. Penguin Books; 1968.

10 August 2007

Big Science


Another Web 2.0 twist in the trail has left me slapping my forehead again. Why didn't I think of that? Sometimes it's like I live on the wrong side of a one-track mind. What grabbed my attention today was a script for Greasemonkey, the Firefox add-on that continues to delight me with its inventive web mash-inations. This elegant and irresistibly useful bit of code brings new interest to the routine activity of browsing e-journal tables of contents. If you don't want to read any further, get the Quotes from Chemical Blogspace and Postgenomic Greasemonkey script at userscripts.org. Chemical Blogspace and Postgenomic are wonderful websites that tumble together hundreds of blogs in a kind of omnium gatherum of scientific communication. What if you could connect all that procreative blogosphere superabundance to the dry tables of contents provided by scientific publishers on their e-journal sites? Is somebody blogging about an article in Nature? The script knows.


Why should I care about this? How often am I going to plough through the TOCs of PNAS or BioMed Central just because this cool script exists? Let me explain. I'm happy with RSS syndicating, del.icio.us bookmarking, Flickr tagging, RefWorksing, PubMed alerting, blog browsing, podcasting, YouTubing, Facebook fiddling, listserv lurking — all the 'ings' my passions and my profession involve me in, those convenient Librarian 2.0 competencies I posted about a while ago. I think I'm pretty well informed, but sometimes I feel I'm in a bit of a rut. Information science is one thing, but what about Science with a capital S? From the staid confines of my library, peering out from behind these ranks of medical texts shelved in the W's, I am confronted by the frenetic world of scientific endeavour.

I am fascinated by Science, but only in its less formal garb, unencumbered by the starch and stays of mathematical rigour. As a student of science I have always been a flop. I was flummoxed by Newton's laws, easily fazed by trigonometry, and I fizzled entirely trying to calculate moles and masses. One could say that I have a limited grasp of science's myriad complexities. I prefer the simple approach: if it squirms it's biology; if it stinks it's chemistry; if it explodes it's physics; if it's incomprehensible it's mathematics; if it doesn't work it's engineering.


I gravitate to the more popular sources of science information: Scientific American, PBS's Nova, radio programs like CBC's Quirks and Quarks (also available as a podcast), and some wonderful websites and blogs. One thing I have always enjoyed is browsing through journals like Nature, awed by the stunning fecundity of scientific research. Now, with my new script installed, I have easy access to bloggers' opinions about articles in Nature directly from the journal's TOC. It's everything Web 2.0 is supposed to be about, injecting a bit of jaunty twoness into a method of presenting information that hasn't changed much since books were copied by hand. The script does not interfere with the publisher's site in any way. It overlays a 'Pg' or 'Cb' logo onto a table of contents item, indicating that someone has blogged on that article. On mouseover an excerpt of the blog post pops up. The reader merely clicks on the link to get to the blogger's post.

A footnote in an article on scholarly communication (1) led me to a discussion of the script on the Blue Obelisk wiki and a link to download the latest version. Noel O'Blog (Noel O'Boyle, University of Cambridge) extended the script, originally created by Pedro Beltrão to work automatically on a number of popular sites, including Nature, PLoS, PNAS and BioMed Central. His version, posted on userscripts.org, is the one to get.

Here is a list of the sites covered in Noel's script. (The list is taken directly from the script, hence the asterisk storm. It should be possible to edit the script to add other sites, and the author encourages this.)

http://pubs*.acs.org/*
http://www.rsc.org/*
http://www*.interscience.wiley.com/*
http://www.nature.com/*
http://*.oxfordjournals.org/* (Added 01/May/07)
http://*.plosjournals.org/*
http://www.pnas.org/*
http://www.biomedcentral.com/*
http://www.citeulike.org/*

This non-scientist must express his appreciation for a truly innovative way to enhance communication in the scientific community. It's a very cool Web 2.0 tool, which I'm sure will evolve into something even more interesting over time. And it doesn't explode.


References

1. Martinsen DP. Scholarly communication 2.0: evolution or design? ACS Chem.Biol. 2007 Jun 15;2(6):368-371.

08 August 2007

The Purring Keyboard

Here I am working in a hospital library every day, so close to people in pain, and yet often neglecting my own body's elaborately evolved electrochemical semaphore of tissue distress. I am one of the vast multitude who toil with computers, clacking away for hours at keyboards designed in the 19th century. And like my suffering comrades I frequently end my day with a stridently complaining forearm or a racking headache. For many it is a gimpy wrist, a spavined neck, or a trounced back. For all those Windows users whose well-being the computer has cruelly compromised, there is balm in Gilead. (We know that you Mac users are here on earth to do good to others by showing them the right path. What the others are here for you haven't been able figure out yet, but Steve will be announcing that at the next Mac Expo.)

AutoHotKey is a little program that allows you to create scripts or macros to automate common activities. The key to its extraordinary power is its ability to hook onto events of the Windows operating system, most notably keystrokes and mouse operations. This versatile “hotkey” ability allows you to:

  • Automate almost anything by sending keystrokes and mouse clicks. You can write a mouse or keyboard macro by hand or use the macro recorder. (Have more than one email signature? Use macros to switch between them.)
  • Create hotkeys for keyboard and mouse. (Start a program, enter today's date with a key combination.)
  • Expand abbreviations as you type them. (Tired of typing MeSH, UpToDate, autochthonous?)
  • Remap keys and buttons on your keyboard and mouse. (Got a better use for that feckless F12 key?)
There are macro programs aplenty out there, many of them costing a fair amount. I have tried all of them and have had nightmares about imaginary ones. Nothing has worked as well as AutoHotKey, and it's free of charge.

The only problem is that AutoHotKey's documentation, while remorselessly thorough, is not designed for the beginner. If I were running the company, a simple beginner's interface would be added to the package. However, for anyone with Windows experience, basic AutoHotKey scripting can be absorbed quickly. There is no need to learn how to create the really elaborate macros. Leave that to the programming aficionados of the AutoHotKey Forum.

If you're game to try, start with the Quick Start Tutorial and read over the Hotkeys and Hotstrings sections. After downloading AutoHotKey you create your scripts in one or more text files with a .AHK extension.


How am I using AutoHotKey?
Here are a few of my favourite shortcuts, hotstrings, abbreviations, and key remappings. On any day my sore arm is spared a great deal of typing and hundreds of mouse clicks. If you are bored already, have a look at the section on AutoHotKey and PubMed. You may perk up.


PROGRAM HOTKEYS
It is very easy to automate the opening of a file with a simple key combination. The two examples below start my acquisitions spreadsheet and whatever Microsoft Word file I have been working on last.

The first two symbols of the macro text stand for Ctrl-Alt, followed by a letter. Pressing these three keys 'runs' the macro, in the first example Ctrl-Alt-A opens a Microsoft Excel spreadsheet on my network's S: drive. The hotkey is separated from the command by two colons.

^!a::Run S:\njmhsl\sbgh\acquisitions sbgh.xls

To start Word I type Ctrl-Alt-W. The script adds /mFile1 to the program path. This cool DOS-style Microsoft switch opens the last Word file you have worked on. Very handy.

^!w::Run C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE /mFile1

Of course, you can also do this sort of thing by going into the Properties of a Windows icon and adding a key combination to the Shortcut Key box. But what I have shown above is just the most basic AutoHotKey function. An experienced user can program in a host of other actions to be performed with a key combination.


AUTO-REPLACE HOTSTRINGS
These are simple macros that expand a short form into full text. The standard code is colon-colon-abbreviation-colon-colon-result. Special codes, such as an asterisk, may be inserted between the first two colons. This means that the abbreviation will be expanded to the corresponding full text as soon as it is typed.

:*:asa::as soon as possible
:*:btw::By the way, `

These hotstrings replace the abbreviation with the text that comes after the colons. When there is no asterisk between the first two colons, you must hit the space bar, a period, or Enter to execute the replacement macro. It's up to the user whether to script for instant replacement or not.


STANDARD ABBREVIATIONS
The following is just a small sample of my list of little shortcuts. These one-, two- or three-letter macros can really ease common typing headaches, such as repetitive boilerplate, or other long or difficult-to-type text (e.g., internal upper case as in UpToDate).

For macros of this type, I use the semicolon as the first element of the abbreviation. This allows me to employ any combination of letters, numbers or symbols for my macro, without concern for conflict. For example, if you create an auto-replace hotstring to change 'and' to 'AND' you would rarely be able to type the word 'and' in lower case. Upon hitting the spacebar you would be converting it to upper case automatically. Adding a preceding semicolon, as in the PubMed example in the next section, avoids this problem. The semicolon is easy to find on the keyboard, but other initial macro symbols like the slash or vertical bar would work as well.

:*:;ad::administration
:*:;al::academic librarian
:*:;de::del.icio.us
:*:;hs::Health Sciences Libraries
:*:;my::My NCBI
:*:;th::Thank you for your cooperation.
:*:;up::UpToDate
:*:;us::United States

Employing the same method, signatures and other boilerplate can be entered easily. Use the opening and closing parenthesis to surround text. In the following example, typing semicolon-j-s instantly produces this signature.

:*:;js::
(
Joan Smith
Library
General Hospital
555-1234
)


AutoHotKey and PubMed
I spend a great deal of my time in PubMed. I prefer command line searching, avoiding the mouse as much as I can. Searching PubMed professionally is unbearable without macros. The script below includes a few of my favourites. AutoHotKey makes PubMed purr like a kitten.

For example, instead of typing AND in a search box, I only need to type a semicolon and the word 'and' in lower case. The macro erases what I have just typed and replaces it with AND in upper case plus a space so that I can just continue with the next word. The same goes for OR, NOT, [MAJR], [TI], etc. Admit it, have you ever cursed quietly while trying to find those ridiculous square brackets on the keyboard? How often do you hit the wrong one? I have been touch typing for 40 years and I still can't get them right.

I'm very fond of my ';5' macro. It's a lot easier to type than selecting Limits in PubMed and then clicking all over the place just to limit to English language, last 5 years.

The junk macro 'jk' gets rid of some publication types I don't want for certain searches.

(The question mark before the asterisk means the hotstring will be triggered even when it is inside or adjacent to another word. It therefore doesn't matter whether [TI] is attached to or separated by a space from the preceding word. The asterisk means that an ending character (e.g. space, period, or enter) is not required to trigger the hotstring.)


:*:;5::AND english[la] AND "last 5 year"[dp]
:?*:;ab::[TIAB] `
:*:;and::AND `
:*:;jk::NOT (letter[PT] OR comment[PT] OR editorial[PT] OR news[PT] OR interview[PT])
:?*:;mh::[MH] `
:?*:;mj::[MAJR] `
::*:;not::NOT `
:*:;or::OR `
:?*:;ti::[TI] `
:?*:;tw::[TW] `

I would love to hear from any readers who have found ways to automate standard PubMed functions. My most hated feature of PubMed? Having to check those dreadful little boxes to select articles. Many years ago, in the old DOS version on CD-ROM, a citation could be selected merely by pressing the space bar. If only I could get AutoHotKey to do that ...


DIACRITICS
I use auto-expansion to add diacritics to any text. The scripts below all work the same way. If I type 'xxaf' anywhere, it magically replaces itself with 'â'. And so on. The abbreviations are mnemonic: 'f' stands for circumflex, 'g' for grave, 'u' for umlaut, etc. The double x makes sure that the diacritics show up only when you want them.

:?*:xxaf::â
:?*:xxag::à
:?*:xxau::ä
:?*:xxcc::ç
:?*:xxea::é
:?*:xxef::ê
:?*:xxeg::è
:?*:xxeu::ë
:?*:xxof::ô
:?*:xxou::ö
:?*:xxss::ß
:?*:xxug::ù
:?*:xxuu::ü


KEY REMAPPING
This feature is amazingly easy. Find out the AutoHotKey term for the key, type two colons, and then the code for the action you want to perform instead of the key's normal function. Use sparingly. As long as you have the AutoHotKey script loaded, your new choice will replace the key's normal functioning.

I like to use the far right keys on the number pad to close things. The minus key now acts the same as Alt-F4. The plus key is remapped to Ctrl-F4, and the numpad Enter key is Ctrl-W, allowing me to close Firefox tabs with ease. This saves an incredible number of hand movements.

For Internet browsing, the right Alt key, normally unused, is remapped to Page Up. That makes it easy in Firefox to alternate between Space Bar to move down one screen and Right Alt to move one screen up. You don't have to move your hand at all. Finally, the unnecessary F1 and F12 keys are remapped to change the font size in Firefox without requiring the usual Ctrl-Minus and Ctrl-Equal Sign.

NumpadEnter::^w

NumpadSub::!F4

NumpadAdd::^F4

RAlt::PgUp

F1::^-

F12::^=

As you can see, AutoHotKey is an inexhaustible treasure of techy tweaking for geeks of the strict observance as well as for the geek novitiate. Don the habit, fall on your knees, and make your solemn vows now. Here are some pilgrimages to make for more inspiration:

AutoHotKey Script Listing

10 Ways to Use AutoHotKey to Rock Your Keyboard

Skrommel's AutoHotKey Scripts




25 July 2007

The Q's: Mouseless Browsing and Pagerization (for Firefox)

My inner geek must come out, and today I'm blogging on something that's normally shelved in the Q's.

Lately PubMed has been driving me snaky. I nearly lost a big search when, for whatever reason, it decided to go and commune with the ancestors for a few minutes. No amount of clicking would revive the My NCBI Collections create box. Having lost my Clipboard in mid-search a number of times this summer, I braced myself for the annihilation of more than a hundred carefully gleaned citations on CPOE. Miraculously, PubMed recovered and I lost only my temper, not my search results.

Seeking to forget how sore my arm had become after hours spent in my PubMed click-a-thon, I decided to investigate Mouseless Browsing more thoroughly. This is a Firefox add-on I mentioned in a recent post. It works by adding small numbered boxes (called IDs) beside every important link, frame and form element in the browser. Instead of further inflaming the tendons of my right forearm, I can now type a number with my left hand, never having to leave the keyboard. And it works in PubMed.

By combining the new add-on with a couple of other tricks, I have been able to reduce my daily mouse use by more than half. Here’s how to do it:

1. Install Mouseless Browsing (for Firefox only) and enable IDs. There are various options. I prefer to use my keyboard’s Pause key to turn the program on only when I need it.

2. Go to the Google home page and select Preferences. Change the “Number of Results” to 100 (the maximum). This supposedly slows Google down, but I have noticed no appreciable difference.

3. Install the Greasemonkey add-on for Firefox. (More on Greasemonkey in another post.)

4. Install the Pagerization script.

By the way, all this is freely available on the web. You don’t need any programming skills to use Greasemonkey, and the installations are accomplished with a click or two.

Pagerization does one thing and it does it well. It automatically appends the results of the "next page" button to the bottom of the web page you are currently on. Pagerization works on most sites (including Google, Google Image Search, Flickr, Yahoo!, del.icio.us, and YouTube) by automatically rendering the next results at the bottom of the current page. This saves a healthy amount of browsing time and tendon abuse.

Here is how Mouseless Browsing and Pagerization work together in a Google search:



Sadly, I can't pagerize PubMed, but with the database's ability to display up to 500 citations, I'll live. I will voice a small complaint, however. Why can't PubMed be modified permanently to display more than 20 citations at a time? This option should be added to the My NCBI user preferences.

Final hint: I select "Citation" for the "PubMed single citation display" in order to find relevant MeSH headings more quickly.