Helpful Programs

Here are some helpful programs I've written over time. Hope they can help you too. The binaries are for Linux/x86/libc6.

Read each program's README files for more information. Feel free to distribute them and use them how you please, so long as you don't make any money off of them and don't remove the copyright text.

bhop (binary)
Retransmits broadcast UDP data packets to a unicast address. Requires root privileges. Useful for games like Starcraft.
syx2mid (binary)
Converts a .syx (SYSEX) file to a .mid (MIDI) file. Usage: syx2mid < input.syx > output.mid. Inserts a 1/2-second delay between successive messages to prevent buffer overruns on older hardware. Pipe into aplaymidi for great justice.
a440 (binary)
Plays A440 through your speakers. Requires PortAudio.
EXIF copier
"exif-copy from.jpg to.jpg" copies EXIF data from from.jpg to to.jpg. Requires exiv2.
Flickr Reuploader
Small shell script to automate mass re-uploading of pictures to Flickr. Useful if you've ever uploaded a bunch of low-resolution pictures and want to replace them en masse with higher-resolution ones. Requires a properly configured installation of the flickcurl command-line utility, as well as some possible tweaking of the basetitle function for your naming scheme. Usage: run in your picture directory.
Mathinator (source)
O'Caml program to convert "human-readable" math expressions into TeX. CGI interface included to convert TeX to PNG, EPS, PDF, etc.
kblight
Timeout for "Thinklight" on IBM Thinkpads. When the Thinklight is enabled manually (Fn+PgUp), this program will cause it to shut off after five seconds of keyboard inactivity, and turn back on when any key is pressed. Must be run as root (needs permission to read /dev/input/event0 and to write /proc/acpi/ibm/light).
dtypes for JOE
O'Caml -dtypes (.annot file) support for the JOE editor. Unruly combination of JOE macros and awk.
mini-remote (binary)
Cheesy program which echoes events from the Mac Mini remote control to stdout. Requires Linux hiddev interface and read permissions for /dev/usb/hiddev0 (or wherever the Mini remote is on your system (UPDATE: the /dev/usb/ directory seems to have disappeared in recent 2.6 kernels. Help?)). Useful in cheesy shell scripts such as...
mini-remoted
...this one! Uses events from mini-remote to control xmms2 and the ALSA mixer. Can probably be adapted to work with other media players (or just about anything really). xmms2 doesn't seem to support play/pause toggling so the "menu" key acts as the pause button for now.
ps2eps
Small shell script to convert PostScript files to Encapsulated PostScript by using ps2epsi and removing the thumbnail it attaches.
ban_h4x0rz
Simple shell script for Linux which scans /var/log/auth.log for hosts making failed login attempts (either bad usernames or bad passwords for root/nobody/guest) and adds them to the file /etc/hosts.deny.ssh. To install, add the line "sshd: /etc/hosts.deny.ssh" to /etc/hosts.deny and place the ban_h4x0rz script in /etc/cron.daily/.
PieMenu
Pie menus for Tkinter, implemented as a drop-in replacement for Tkinter Menus.
MIDI Recorder (binary)
Simple command-line program to record MIDI files using the ALSA sequencer. NOTE: I wrote this a long time ago; it looks like the ALSA utils come with arecordmidi now. So you should probably use that instead.
Explode that web page!
HTMLized Markov chain goodness.
Other stuff (README)
Some other libraries I wrote at one time but forgot about. Maybe they will be useful to you.
PostScript stuff
Dabblings in PostScript. Maybe they will be educational, or entertaining.

That's all for now.

raise Exit