Open Source Bits and Bobs

GnuPG Insta-Party Signature List Verification Script

Some key-signing parties are conducted in a way that the a file containing the fingerprints is distributed to everybody, and is then verified to be correct by its SHA1 hash. Then, the keyring is made available to the public. Now the question is whether the signatures in the keyring are the same as those in the file.

To resolve it, I wrote a script that checks the signatures in the file and verifies that they are the same as those reported by GPG in the key-ring. You can freely use it under the terms of the MIT/Expat license.

Using it I signed the keys, by first running it, and then using kgpg (part of kdeutils) to sign all the keys at once. Truly an improvement over the time, where I signed each key individually, using my password like a zillion times.

TWiki Installation Scripts

This is a collection of bash scripts I wrote to automate the installation of TWiki - a popular Wiki implementation.

Open Inventor 3-D BSD Daemon

An OpenInventor-based three-dimensional model of Beastie the BSD Daemon, created as a Technion project in the Computer Graphics course.

Patch for Gringotts

This is a patch for gringotts that allows it to compile with the latest Gtk+, and fixes some other annoyances.

X-Chat /nowplay command using XMMS

What this little Perl script does is register an X-Chat command called /nowplay, that whenever invoked displays a message of “/me is listening to My Artist - My Song” in the current channel. Feel free to make any use of it whatsoever under the terms of the MIT/Expat license. It queries either Amarok or XMMS 1.x.

You need to install the Xmms-Perl distribution and have the X-Chat Perl interface. To use, make it executable and put it under your $HOME/.xchat2 directory.

Revert an (old-versioned) PMWiki Wiki to a previous state

This is a Perl script I wrote to revert a PMWiki Wiki to a previous state after my Wiki has been spammed. Read the instructions at the top of the script. Note that the format of the PMWiki pages has changed since the version for which this script was intended.

Greasemonkey Scripts

Scripts for Greasemonkey.

LinkVisitor for Mozilla Firefox 2.0.x and Below

Click on the Link to download or install the LinkVisitor extension for Firefox 2.0.x and below. Here’s the patch against the CVS source.

Update: the package was modified to work on Firefox 2.0.x.

Forward Port the KAddressBook Distribution Lists to Version 3.5.4

The format used for the distribution lists has changed from earlier versions of KDE’s KAddressBook to the one supplied by kdepim-3.5.4. This Perl script can be used to do the porting automatically. Read the instructions at its top. Note that it will skip lists that have raw emails inside the distribution lists’ directives. This script is available under the MIT/Expat licence, with absolutely no warranty.

Amarok Scripts

Amarok is a powerful and easy to use music player for the KDE Desktop Environment. Amarok supports scripts which allow one to customise the player using practically any language.

Here are links to the Amarok scripts I wrote:

  • Per-Song Volume Script for Amarok 1.x, Per-Song Volume Script for Amarok 2.x - This script maintains a per-song volume information. What it means is that a volume is associated with each song, which is recorded whenever the volume changes, and is restored to its last value when the song is played again. This is useful if you have several songs which sound louder or softer than the rest.


QClam is a small utility to interface ClamAV scanning from within dot-qmail files. This is a version of it that was improved by me to some extent.

SDL Fluttering Flag

This is a fluttering flag, not quite unlike the one presented at the beginning of the Future Crew’s Unreal Demo, but still not as polished. It’s one self-contained ANSI C file, that requires the SDL (Simple DirectMedia Layer) Library.

See this page for the story of how I originally recreated the fluttering flag effect.

There is also perl version which is slower.

JavaScript Presentation Helper

This is a JavaScript script based on HTML Slidy, but heavily reduced and evolved. It supplies use of the left and right arrow keys for moving between slides (<li> elements somewhere inside an element with a class named “point”). It also provides the “n” and “p” keys to follow the links with the appropriate accesskey.

If the global variable rtl_keys is set to true, then the left and right keys are reversed to be suitable for a language that is written from right to left.

This file is distributed under the same terms as the original file, and I disclaim any explicit or implicit ownership.

Square Waves Decomposition of a Sine Wave

This is a program I wrote, after someone asked if it’s possible to decompose a sine wave using square waves.

du Output Analyser

du is a UNIX command that can recursively scan directory trees and output the space used by them. After one has done \du . > du.txt, one can use this script to analyse the file by filtering the sub-directories of a certain depth (and under a certain sub-directory). (Licensed under the MIT/Expat License).

Set the Xfce Virtual Workspaces Number and Names

This command line Ruby script sets the names (and number) of the Xfce desktop’s virtual workspaces (also known as virtual desktop. You can simply pass the names as arguments in the command line (possibly inside quotes).

This is useful to restore them in case they were reset. Use this script while Xfce is running. (See a discussion on the Xfce mailing list for more information.) Licensed under the MIT/Expat License.

Port of the Quad-Pres presentation generator to Haskell

This is a port I've done of Quad-Pres, which I originated as well, to the Haskell programming language.