<latemp_subject "Open Source Bits and Bobs" />
<latemp_meta_desc "Shlomi Fish’s Open Source Bits and Bobs" />
<define-tag bit_link whitespace="delete">
<h2 id="gnupg_sign_verify">GnuPG Insta-Party Signature List Verification Script</h2>
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 href="<bit_link "gpg-verify.pl" />">a script</a>
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 X11 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
<h2 id="twiki_install">TWiki Installation Scripts</h2>
This is <a href="<bit_link "shlomif-twiki-installation-automation-2004-09-10.tar.gz" />">a collection of bash scripts I wrote</a> to automate the installation
of <a href="http://twiki.org/">TWiki</a> - a popular Wiki implementation.
<h2 id="open_inventor_bsd_daemon"><a href="<bit_link "open-inventor-bsd-daemon/" />">Open Inventor
3-D BSD Daemon</a></h2>
An OpenInventor-based three-dimensional model of Beastie the BSD Daemon,
created as a Technion project in the Computer Graphics course.
<h2 id="gringotts"><a href="<bit_link "gringotts-patch/" />">Patch for Gringotts</a></h2>
This is a patch for
<a href="http://devel.pluto.linux.it/projects/Gringotts/">gringotts</a> that
allows it to compile with the latest Gtk+, and fixes some other annoyances.
<h2 id="xchat_xmms_nowplay"><a href="<bit_link "nowplay-xchat-pl.txt" />">X-Chat /nowplay command using XMMS</a></h2>
What this little Perl script does is register an
<a href="http://www.xchat.org/">X-Chat</a> command called <tt>/nowplay</tt>,
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 X11 license. It queries either
<a href="http://amarok.kde.org/">Amarok</a> or <a href="http://www.xmms.org/">XMMS 1.x</a>.
You need to install the
<cpan_dist d="Xmms-Perl">Xmms-Perl distribution</cpan_dist>
and have the X-Chat Perl interface. To use, make it executable and put it
under your <tt>$HOME/.xchat2</tt> directory.
<h2 id="old_pmwiki_revert"><a href="<bit_link "pmwiki-revert-pl.txt" />">Revert
an (old-versioned) PMWiki Wiki to a previous state</a></h2>
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.
<h2 id="greasemonkey"><a href="<bit_link "greasemonkey/grease.html" />">Greasemonkey
Scripts for <a href="http://greasemonkey.mozdev.org/">Greasemonkey</a>.
<h2 id="linkvisitor"><a href="<bit_link "linkvisitor-1.2.2.xpi" />">LinkVisitor for Mozilla Firefox 2.0.x and Below</a></h2>
Click on the Link to download or install the
<a href="http://linkvisitor.mozdev.org/">LinkVisitor extension</a> for Firefox
2.0.x and below. Here’s
<a href="<bit_link "linkvisitor-firefox-2.0-patch.diff" />">the patch</a>
against the CVS source.
<b>Update</b>: the package was modified to work on Firefox 2.0.x.
<h2 id="kaddressbook_dist_lists"><a href="<bit_link "convert-kabc-dist-lists-pl.txt" />">Forward Port the KAddressBook Distribution Lists to Version 3.5.4</a></h2>
The format used for the distribution lists has changed from earlier versions
<a href="http://pim.kde.org/components/kaddressbook.php">KAddressBook</a> 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 X11 licence, with absolutely no warranty.
<h2 id="amarok">Amarok Scripts</h2>
<a href="http://amarok.kde.org/">Amarok</a> is a powerful and easy to use
music player for the <a href="http://www.kde.org/">KDE Desktop Environment</a>.
<a href="http://amarok.kde.org/wiki/Script-Writing_HowTo">scripts</a> which
allow one to customise the player using practically any language.
Here are links to the Amarok scripts I wrote:
Volume Script for Amarok 1.x</a>,
Volume Script for Amarok 2.x</a> - 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.
<h2 id="qclam"><a href="<bit_link "qclam/" />">QClam-Shlomif</a></h2>
<a href="http://sageshome.net/oss/qclam.php">QClam</a> 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.
<h2 id="fluttering_flag"><a href="<bit_link "sdl-flag-0.2.0.c" />">SDL
This is a fluttering flag, not quite unlike the one presented at the
beginning of <a href="http://en.wikipedia.org/wiki/Unreal_(demo)">the
Future Crew’s Unreal Demo</a>, but still not as polished. It’s one
self-contained ANSI C file, that requires <a href="http://www.libsdl.org/">the
SDL (Simple DirectMedia Layer) Library</a>.
See <a href="$(ROOT)/prog-evolution/pre-elpas.html">this page</a> for the
story of how I originally recreated the fluttering flag effect.
<a href="http://www.w3.org/Talks/Tools/Slidy/">HTML Slidy</a>, but heavily
reduced and evolved. It supplies use of the left and right arrow keys for
moving between slides (<tt><li></tt> elements
somewhere inside an element with a class named “<tt>point</tt>”). It also
provides the “n” and “p” keys to follow the links with the appropriate
If the global variable <tt>rtl_keys</tt> 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.
<h2 id="square_waves_decomposition"><a href="<bit_link "square-waves-decomposition/" />">Square Waves Decomposition of a Sine Wave</a></h2>
This is a program I wrote, after someone asked if it’s possible to decompose a
sine wave using square waves.
<h2 id="du-output-analyser"><a href="https://bitbucket.org/shlomif/du-output-analyser/overview">du
<a href="http://en.wikipedia.org/wiki/Du_(Unix)">du</a> is a UNIX command
that can recursively scan directory trees and output the space used by
them. After one has done <tt>\du . > du.txt</tt>, 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/X11 License).
href="<bit_link "xfce-set-virtual-workspaces.rb" />">Set the
Xfce Virtual Workspaces Number and Names</a></h2>
This command line Ruby script sets the names (and number) of the
Xfce desktop’s <a href="http://en.wikipedia.org/wiki/Virtual_desktop">virtual
workspaces (also known as virtual desktop</a>. 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
discussion on the Xfce mailing list</a> for more information.) Licensed
under the MIT/X11 License.
;;; Sponsored by Camila Ron
;;; Remove at 2013-10-24