This is someday going to be an unsorted collection of
tools I have
been writing over time. Perhaps some find them useful.
Version number is 0.0.1 unless otherwise noted.
– SVN cherry-picker.
This tool can load tasks from MantisBT or a CSV file and
then searches for Mylyn-style task numbers in SVN commit messages.
Refer to the above link
for more information.
– Selective Auto-Raise for Windows.
This tool can selectively apply auto-raise behavior to
individual windows, identified by a regular expression pattern that
matches their window class name. Refer to the above link
for more information.
– A C# tool that aims to be a simple client for nxagent.
This now has its own SourceForge project, where you
can find downloads and version information. Refer to the above
link for more information.
– Uses DTrace to find the PID of the process accepting
connections on a TCP listening socket.
This uses a probe on accept in conjunction
with connect, so should be quite a bit faster than working
one's way through /proc. Also, in contrast to many other
tools available on the net, it does not need the fbt
provider, thus should be more future-proof. Tested on Solaris 10.
License: Revised BSD.
– Controls (only) another computer's mouse & keyboard
from an Android handset with VNC.
This is based on a fork of android-vnc-viewer but drops everything not related to
a "TV remote" use case, which is: (1) all input modes except
the touchpad mode; (2) all screen updates – that's right,
this client never asks for a framebuffer update, which
saves a considerable amount of CPU cycles compared to the original
implementation. It also does not use android-vnc-viewer's
persistency framework, which means in this experimental version
it's not possible to save keyboard macros. Some other changes:
- the Back button works as right mouse button
- double-tap works as doubleclick
- handset's display brightness is dimmed while connected
I hacked this together in 2010 and while it's still kind of
unfinished, it already has been working quite well all this time
on my E10i. A warning, don't use this code as starting point
for further development, use android-vnc-viewer's code instead.
– A small program to set the region code of a DVD drive
on Linux or Solaris.
This is based on code from libdvdcss – in particular, a modified version of
dvd_region.c (originally by Jens Axboe) combined with Solaris
USCSI support from ioctl.c. Remember to have a disc in the drive when
using the program, otherwise it might not work.
Tested on Debian 5.0 and Solaris 10.
Example how to set the first drive to region 1 – Solaris:
dvd_region -d /vol/dev/aliases/cdrom0 -s -r 1
dvd_region -d /dev/scd0 -s -r 1
Disclaimer: This may nuke your drive, in which case I'm
– A shell-local TTY forwarder.
This sounds pretty pointless, but this program allows
sending fake TTY input to the child to initialize it. Like this,
it can be useful to run "su -" sessions:
ttyinitp -j 'export DISPLAY=my_host:0'
su - admin_user
This code is somewhat Solaris-specific at the moment,
so for a cross-platform environment Expect is probably the
Like the cotty tool that served as inspiration, ttyinitp
is available under either the GPLv2 or the 'bugroff' license
(whatever that means).
– A small C# program to set a desktop wallpaper from the
command line, while converting
it to BMP and resizing it to the primary display.
Useful in such environments where the control
panel item is unavailable, or scriptability is desired. Tested
with Windows 2000 and Windows XP, but may work for later versions.
Contains source and binary. This
code is in the public domain.
– A very minor patch to the VirtualBox 3.1.8 OSE that enables
the combination hostkey+Z in VBoxSDL to directly iconify the window.
is handy if you want to switch between your VMs/your host while retaining
the fullscreen mode. Tested on Solaris 10 x86_64 with FVWM-2.5.28 and
fullscreen resolution set to native display resolution.
License (for what it's worth): GPLv2 – or whatever
the VirtualBox guys can live with.
– A prototype text measurer that tries to correct measuring
errors that the default Jasper Reports text measurer makes when
measuring multi-line text in report cells for PDF export.
The error stems from a mismatch of JR's Java2D-based
measuring, and iText's measuring, which is particularly
disturbing for stretching boxes because they sometimes are not
stretched enough. I have observed this on a number of
environments outside the Win32 realm, most notably Solaris 10
with JDK 1.5/1.6. This is developed to work with Jasper
Reports 3.0 (but don't worry, the later JR versions that I have
tried did also not correct those text measuring errors
Source adjustments for later versions might be necessary though).
This is a slightly updated version which should improve usability
for non-stretching boxes, which was not supported before.
The primary attempt included in the archive is
JRiTextMeasurer.java, which does not rely on Jasper
Reports' default measurer at all, but solely uses
the ColumnText.go method of iText. Page breaks are
determined through a binary search using that method
(In another unfinished attempt I
overrode certain iText methods to provide a better
interface for determining text extent, but that proved too
– A variant of Ralf Engelschall's smtpclient program that can
scan the mail header for recipients.
This can be used to send mails in limited environments
over an SMTP relay, and in addition to the original smtpclient
has a -t switch similar to sendmail, so it can be used for
PHP as sendmail replacement in php.ini running on a box where
sendmail doesn't work.
This version requires Autotools to
build. Here is an experimental, updated version that aims to fix a number
of buffer overflow issues and provide support for IPv6.
– A simple Java TCP port forwarder.
It has a typical-Java, multithreaded design and is
thus not suitable for high-performance demands. I know there is
plenty of this stuff on the net. However in
some cases it may just be what you need in your USB stick
java -cp Portfw.jar de.steg0.netapps.portfw.Main
Source code is included. License: Revised BSD.
– A small C program to control the
relay board through RS232.
This package contains just the source code.
It compiles under Linux and FreeBSD (tried with 7.0 and 8.0).
When running under the
latter, please remember
to specify the proper device nodes /dev/cuad* or /dev/cuau*.
Invoke plain k8056 for usage information.
License: Revised BSD.