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 ...


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 ...


Take your ThinkPad out for a walk to create wireless site surveys.

Use the accelerometer embedded in a ThinkPad to record your movements while monitoring your network connectivity. Use custom algorithms to extract footstep features from the recorded data, then automatically plot signal strengths on a floor-plan map to determine the best areas of coverage.


Expand your text entry options with keystroke dynamics

Measure the total time of entry and verify the time between keystrokes to help authenticate a user regardless of the data being entered. Require nonprintable characters, such as backspace and break, in the password to enable new levels of password obfuscation. Learn how to apply the open source tools xev ...


Create automated verbal conversation annotations

Use the open source Sphinx-4 speech-recognition package to capture letters and numbers from spoken conversations in near real time to create notes. Employ a custom Sphinx-4 dictionary file to extract likely matches to spoken letters and numbers. Process the text for higher order values such as phone numbers and acronyms ...


Search structured LDAP data with a vector-space engine.

Use Perl and a vector-space search engine to search and display records from your Lightweight Directory Access Protocol (LDAP) database. Use inflected letters and numbers to create a useful vector space from structured LDAP data. Compensate for typographical and spelling errors automatically while showing the most appropriate match for any ...