Must-Have Desktop Utilities: Launchy and AutoHotkey

I frequently get asked questions about some of the desktop utilities I use.  I’ll run through two of them here: Launchy and AutoHotkey.


Launchy is an application launcher with the polish and look of modern software that has not forgotten its command-line roots.  It indexes specified directories, and provides easy access to any applications, shortcuts or files in those directories without having to touch the mouse.  Pressing [Alt] + [Space] brings up the main window, from which one can type in the (partial) name of any Start Menu item.  Launchy lists the most relevant result, and a quick [Enter] launches it.


By default, it indexes all the items in the Windows Start Menu.  I also added a folder of shortcuts that sits on my desktop.  Whenever software adds shortcuts to my desktop, I move them into this folder.  This directory also includes shortcuts to every Control Panel item so that they’re indexed as well.  The end-result of indexing all these folders is a comprehensive, searchable keyboard-based program launcher.

Launchy with Runner searching Wikipedia

The most extensible features of Launchy are its plugins.  I use two: Runner and GCal.  Runner creates shortcuts that are executed as they would from the “Run” window.  The power lies in its ability to handle arguments by pressing [Tab] after typing the Runner shortcut.  I use this feature to quickly use a search engine without having to switch to my browser.  For example, I can run a Google search from any program by pressing [Alt] + [Tab] to start Launchy, type “google” then [Tab] then “France” then [Enter] to open a new tab in Firefox with a Google search for the query “France.”  I have this set up for Google, YouTube, Wikipedia, and  I also have shortcuts to GMail’s defaut compose message page and Google Calendar’s default new event page.

Launchy Runner configuration

GCal hooks into the Google Calendar API to allow you to add events to your calendar from the command line.  Using the Quick Add format, typing “gcal” then [Tab] then “Meeting with Chris at SciLi tomorrow at 3PM” automatically adds an event to my Google Calendar with the proper name, time and location filled in.  This makes it even easier to replace a traditional written calendar by having the ability to add an event so quickly.

Launchy is free and open source, for Windows and Linux.  Runner is included with the regular installer, and GCal can be downloaded from the forums.  I use the SE7EN skin.



While AutoHotkey (AHK) is an entire scripting language unto itself, I programmed a few very simple but extraordinarily helpful shortcut keys.  I found that I frequently copied and pasted text into the same search engines over and over again.  Just like with Launchy, the top four were Google, YouTube, Wikipedia and  To save time, I created an AHK script that would search each of these sites with my computer’s clipboard text as the query.  For example, after selecting and copying the words “Vancouver Olympics” to the clipboard, I can press [Win] + [G] to search Google, [Win] + [Y] to search YouTube, [Win] + [W] to search Wikipedia, and [Win] + [S] to search  After getting the hang of it, I noticed a real boost in speed when researching a topic on the web.

Dan's AutoHotkey Script

In my script I also included two extra shortcuts.  The keys  [Win] + [N] start Notepad and [Win] + [Insert] start Calculator.

AutoHotkey is free and open source, for Windows.  You can also download my short script.

“Sketchy” – CS15 Final Project

We had three options for our final project for CS15: An Introduction to Object Oriented Programming. I chose the “Sketchy” assignment, where we are tasked with writing our own Java-based vector imaging program. According to the project’s specifications, our Sketchy must allow the user to move, rotate, and resize a variety of shapes with a bounding box, raise/lower shapes relative to others, change shapes’ color, allow for unlimited undo and redo of all actions, and save/load to/from external files.


Fine art made in my Sketchy


For extra credit, I added a few extra bells and whistles beyond the base spec. Most notable additions are copy and paste functionality, instant updating of shape colors, keyboard shortcuts for most features, a help dialog, and the ability to export work to a lossless PNG image.

I also discovered some bugs in the bounding box support code. If the user accidentally presses more than one mouse button at a time, and/or drags the mouse outside of the bounding box while rotating, it can bug out the position and size of that shape. I added some additional code that prevents this from occurring.

Impacts of sea level rise on Seattle, WA


This is a web-formatted version of my final project for GEO132. See above for the poster version.


Among the many impacts of global warming, only sea-level rise physically displaces people and their communities. Understanding the impacts of rising oceans is especially important since so many densely populated urban areas exist in coastal regions. I hope to gain a better understanding of these impacts through the use of a geographic information system.

Research questions:

  • How much land will different amounts of sea-level rise displace in an urban area?
  • How does this coverage disproportionately affect different building zones (e.g. residential, commercial, industrial)?

Continue reading Impacts of sea level rise on Seattle, WA