Creating altitude attribute-enhanced image overlay maps in Google Earth

Recent applications have greatly increased the ease of development and ubiquity of 2-D maps. Tools like Microsoft® Live Search Maps and Google Maps offer a wealth of tools for enhancing these single-plane maps, but often ignore altitude as the third dimension of information. This article presents tools and code to …


Improve focus tracking indicators across multiple monitors

Unlike traditional single-screen setups, multi-screen display systems require special consideration for user interfaces (UIs). This article presents tools and code designed to address the acquisition and change of input focus across multiple displays. By enhancing existing X Window System focus information using Ghosd displays and the Synergy debug-level output, multi-screen …


Create time-availability maps with Perl and Google Earth

Time-availability maps provide a listing of who is most likely to be available for a certain hour in a certain location. Find out how to use Google Earth and a log of your communications to map and identify the time and place when availabilities match. Featured in an IBM developerWorks …


Beef up the Find command in Firefox

The Find command in Firefox locates the user-specified text in the body of a Web page. The command is an easy-to-use tool that works well enough for most users most of the time. Sometimes, however, a more powerful Find-like tool would make locating text easier. This article shows how to …


Integrate encryption into Google Calendar with Firefox extensions

Provide basic encryption support for user data in one of the most popular online calendar applications. Building on the incredible flexibility of Firefox extensions and the Gnu Privacy Guard, this article shows you how to store only encrypted event descriptions in Google's Calendar application, while displaying a plain text version …


Visualizing time-dependent data with distortion portals

Create an SDL-enabled application that allows you to create distortion portals in sequential image frames to explore the relationship of data sets through time. This article demonstrates code and techniques to create "animated distortion portals" in the data to provide time-dependent visualizations of various parts of the image. Additionally, certain …


Add multitouch gesture support to a TouchPad-equipped laptop.

Implement swipe and pinch gestures for Linux applications by analyzing tools and code needed to add some of this new gesture support on older Linux-enabled hardware. Building on the output of the synclient program, the Perl code presented here allows you to assign specific application functions to "Three-Finger Swipe," as …


Identify speakers with sndpeek

Identify speakers with sndpeek, Use sndpeek and custom algorithms to match voices to a pre-recorded library. Create applications to let you know who is speaking in teleconferences, podcasts, and live media events. Build basic assistance programs to help the hearing-impaired identify speakers in a bandwidth-limited context. Demonstration video at youtube …


Identify and verify users based on how they type

Modify the GNOME Display Manager (GDM) to support user verification through keystroke-dynamics processing. Create and store a one-way encrypted hash of your keystroke patterns when entering your user name. Add code to GDM to read current keystroke patterns and permit a user to log in when the characteristics are a …


ThinkPad aerobics: Rotate and shake your laptop to control applications.

Use synthetic X Window System events and embedded accelerometers to control applications by the movement of a laptop computer. Translate gestures, such as shaking, into mode-switching commands with detection algorithms to interact with applications in new ways. Develop tools to help build the next generation of interfaces that use accelerometers …