RKG Duck: A Handy Open Source Tool For Search Marketers
In this post, I’d like to introduce a handy little tool for paid and natural search called RKG Duck. I wrote the app a few years back, and we find it useful in our agency’s work in paid search and site conversion optimization. We’re releasing RKG Duck under the GNU Public General License, so you can use and extend it relatively freely.
RKG Duck is a Windows GUI to manage filters which intercept the Windows cut-and-paste clipboard. The GUI lets you select a filter, turn a filter on and off, and even make changes to the filter code. The filters are written in standard Perl. You can easily extend the tool by writing additional filters. When you do, you have the full power of Perl, Perl regular expressions, and the awesome depth of CPAN on your side.
What’s new here, you might ask?
Convenience, power, and speed.
To munge data without RKG Duck, you’d save the data to a text file, make sure you have Perl on the machine, write a short Perl script, pull up a Windows command line, debug and run the script, redirect the output to a text file, open that file, copy the data, and paste the transformed data where you need it.
With RKG Duck, you turn on the filter, highlight the data within the Windows app, type “control-C” to copy the data to the Windows clipboard, then type “control-V” to paste back the transformed data, replacing the original. Done!
Because the data flows through the clipboard, you can grab data from any Windows app and paste the data to any Windows app. To see this in action, check out the video demo on YouTube.
Included with the RKG Duck distribution are a dozen or so generic filters. These help you do things like extract URLs from documents, pull SKUs from documents, parse parameters from URLs, and splice data in Excel.
These are useful features, but the real power of RKG Duck lies in extending it with your own additional filters.
Suppose you have an in-house method for adding tracking parameters to URLs. RKG Duck can assist, and it can handle complicated situations, like assigning the correct previously-assigned URL id if some URLs appear multiple times. 
There are many places in paid and natural search projects where fast data manipulation staying inside a Windows app can save you considerable time.
Our agency runs Windows on many desktops, but we’re a Linux IT shop. Because the RKG Duck filters are honest-to-goodness valid Perl filters, we could swap the exact same filters between the Linux command line, from cron jobs, from production pipelines, and our Windows desktops. That cross-platform angle is handy. It is also nice that you can run RKG Duck without installing Perl on each machine. 
The downsides of RKG Duck? Well, you need to know some basic Perl to write your own filters. Also, you can get some real jumbles when you forget to turn off a filter and keep working, as RKG Duck intercepts the Windows clipboard across all Windows apps. (“Hey, I just URI encoded a paragraph in a client email!”) But no worries—such jumbles are quickly reversed with a simple “control-Z,” the Windows Undo shortcut.
Our firm has benefited greatly from the Open Source movement, and so we try to give back to the community where we can.
 Our proprietary paid search platform handles all the issues of embedding our own and our client’s analytics tracking parameters into engine-bound URLs automatically. However, we still find RKG Duck useful in reverse: we sometimes use filters to strip our tracking and additional client tracking from URLs obtained from clients and the engines, giving us “clean” URLs to dedupe and subsequently reprocess.
 To use additional CPAN modules, you do need to add directories to the RKG Duck folder. But that’s less involved than installing Perl and downloading modules, and you don’t need to do this machine by machine. The RKG Duck folder can live on a shared file system, allowing the whole organization to share a common set of filters.
(Some images used under license from Shutterstock.com.)
No fluff - just the best news in paid search marketing every week.