(mobi version) (goto normal version)
weblog
galleries
favourites
projects
contact
Command-line tools
Python scripts
a2sfv
Read the CRC32 hashes from a compressed archive and output an SFV file on stdout.
Definitively faster than extracting all the files and re-computing the hashes from scratch!
usage: a2sfv ARCHIVE_FILE > SFV_FILE
download: a2sfv.py (req. pylib7zip)
autotrimrom
A (mostly) universal ROM dumps trimmer.
It removes the padding bytes set to 00 or FF at the end of the input file.
It was originally meant for use with the Goomba emulator.
usage: autotrimrom.py INPUT_FILE [OUTPUT FILE]
If the output file is omitted, only the trimmable bytes are counted.
In every case the input file is keep untouched (inplace trim is not allowed, use truncate for that).
download: autotrimrom.py
download old C version: trimrom.zip
binpack (single subset bin packer)
This is a file bin packer featuring the subset sum DP algorithm.
It does not try to minimize the number of bins used, it just selects a single subset of files that best fit a single bin.
usage: binpack.py [-s BIN SIZE] [-p PRECISION] FILES_LIST
the binsize and precision can be specified using human suffixes and string constants (like 1MB, 2GB, CD-R, DVD-R, DVD+R (default), etc.)
the precision is adapted automatically according to the bin size.
subdirectories are handled as single files and their sizes are computed recursively (this behaviour cannot be changed by now).
download: binpack.py
download the old C version (buggy): ss.zip
cheat tables converters
(moved here)
renfromdats (datfile renamer)
A mass-renamer from datfiles, meant to be used with non-ROM files (cheat sheets, IPS patches, etc.)
See my blog post for more infos.
download: renfromdats.py
data-serialization formats converter
Tools to convert between structured files formats like json, xml, csv, etc.
See also my fileconvert tool.
downloads:
xml2json.py
csv2ndjson.py
ndjson2csv.py
ical2ndjson.py
vcard2ndjson.py
ndjson2csv.py
ini2json.py
wkt2geojson.py
pydict2json.py
hwmon
Generic hardware-monitoring service based on psutil.
Featuring:
- drive physical LEDs to signal hardware activity via LPT, COM, GPIO pins or an Arduino. CPU, USB mass storage and network activity are shown. LEDs can be shared between multiple PCs using a circuit like this;
- spoken alarms for high CPU temperature and physical memory almost full (using the system TTS);
- neat FDD-like sound on I/O activity from the system beeper (very simple atm).
Note it will probably need some customization depending on your hardware and wiring.
download: hwmon.py
eventsmon
Generic system events monitoring service based on dbus. It uses the system TTS to notify:
- the summary of all libnotify messages;
- USB hardware events like insertion/removal (req. pyudev);
- today's Google Calendar events (on start only, req. icalendar);
- hourly alarm clock/reminder.
download: eventsmon.py
rtttl2beep
Play old Nokia ringtones via the internal PC speaker/beeper.
It will also output the corresponding beep commands to play the melody with a standalone script.
Code derived from upy-rtttl.
example usages:
python rtttl2beep.py "alexkid:d=4,o=5,b=90:16d6,8d6,16f#6,a6,16e6,8e6,16g6,b6,16a6,8a6,16b6,8c#7,8b6,8a6,8g6,f#6,16d6,8d6,16f#6,a6,16e6,8e6,16g6,b6,8a6,8a6,8c#7,8a6,d7"
python rtttl2beep.py alexkid.txt > alexkid.sh
download: rtttl2beep.py
shell scripts
MAME/MESS auto-launcher
A launcher for the MAME/MESS emulator that will try to guess the system and device name from the input file extension.
download Linux shell version: mess
download Windows shell version: mess.bat
Retroarch auto-launcher
Retroarch launcher similar to the previous one.
It selects a different configuration file according the input file type (may need paths customization).
download Linux shell version: retroarch
download Windows shell version: retroarch.bat
hexalter
View or change a single byte in a file with an hex address and value.
usage: hexalter FILE ADDRESS[=NEW_VALUE]
If NEW_VALUE is omitted it outputs the current value to stdout,
otherwise the file is altered in place and no backup is made.
download Linux shell version: hexalter
download the old C version: hex.zip
patchcht
Statically patch Game Genie codes from a plaintext cheatsheet file using uCON64.
usage: patchcht ORIGINAL_ROM_FILE INPUT_CHT_FILE
download Linux shell version: patchcht
macinit
Lots of useful shell macros making use of many scripts linked in this page.
download Linux shell version: macinit
download Windows shell version: macinit.bat
reassoc
Lots of useful file associations and shell extensions.
download Windows shell version: reassoc.bat (requires ftype2.bat,
assoc2.bat, shellex.bat and nircmdc)
power
All-in-one script to control the power status of PCs and single devices.
example usages:
power off monitor
power off wifi
power off 192.168.0.3 # remote power off
power status 192.168.0.3 # check the power status of a remote PC
power status all # check the power status of all PCs in the current subnet
power on 00:41:F5:A1:3A:8D # try Wake On Lan via MAC address
power on OnkyoAmpli
download Linux version: power
dowload Windows version: power.bat
Japanese-romaji converters
A set of converters for the Japanese language.
Useful to type words in Hiragana and Katakana with a Latin keyboard, transliterate text, rename files, etc.
I've originally made them for use with the sdcv dictionary utility, but they are easily reusable as filters.
They only require sed and an UTF8-compatible shell, so they are very portable.
download: romaji2kana.sed (romaji to hiragana and katakana converter)
download: kana2romaji (hiragana and katakana to romaji converter)
download: kanji2kana.sed (kanji to hiragana converter, still incomplete, see jakaroma for a better alternative)
download: transliterate (just a wrapper)
talkfilters
Talkfilters are small programs that convert ordinary English text into text that mimics a stereotyped or otherwise humorous dialect.
These only require sed, so they are very portable.
download:
caveman (Hulkspeak, Tarzan speech)
cold (man with a cold)
drunk (drunk man)
asian (Engrish)
french (fake French-English accent)
german (fake German-English accent)
russian (fake Russian-English accent)
filetools
These are wrapper scripts that detect the input file type and perform various operations on it using external tools (like imagemagick or ffmpeg).
They can also be added to the file manager context menu and invoked from there (for Windows see reassoc.bat, for KDE see the desktop files).
download:
fileconvert (convert filetype)
fileconvert.desktop
fileconvert.bat
fileinfo (list metadata)
fileinfo.bat
fileinfo.desktop
filecheck (check for internal errors)
filecheck.bat
filefix (fix internal errors)
filefix.bat
filenew (create new files from templates)
filenew.desktop
filenew.bat
file2txt (convert any file to plaintext)
file2txt.bat
filegrep (grep in any file as plaintext)
filegrep.bat
fileawk
filecut (cut/split any file)
filecat (append/concatenate files)
filecmp (compare contents ignoring the container)
filetag (view and edit file tags)
fileunpack (extract archives and embedded files)
fileunpack.bat
media file recorder and streamer
They only require VLC to work. May need encoding parameters customization.
example usages:
record mic out.flac
record desktop out.mp4
record cam out.mp4
stream music.mp3
stream cam
download Linux shell versions: record, stream
download Windows shell versions: record.bat, stream.bat
shellscript alternatives
These are pure shellscript alternatives to some popular compiled tools.
They are self-contained and busybox-compatible and thus quite portable (for Windows see busybox-w32),
but they only provide a reduced feature set of the originals.
download:
bc (basic calculator)
bc.bat
csvtool (CSV files toolkit)
csvtool.bat
detox (safe file renamer)
file (identify the MIME type)
rename (mass-renamer)
rename.bat
man (download from internet if local man is missing)
man.bat
say (invoke the system TTS if present)
say.bat
units (units converter)
units.bat
srm (securely delete a file by overwriting multiple times)
srm.bat (requires: dd in your PATH)
sfill (zero-fill the freespace)
sfill.bat
xlock (lock the screen)
xlock.bat
compiled
mab
Mozilla Thunderbird address book viewer based on this mork parser.
usage: mab MABFILE [SEARCH_QUERY]
download C++ source code and binaries: mab.zip
gamma
Tool to change the video gamma correction based on the Gamma Ramp API.
Tested and works with most recent video cards.
usage: gamma [NEW_GAMMA]
supported range: 1.0-2.0
download C++ source code and Windows binary: gamma.zip
(for linux see the command xgamma)
More tools in this github repo.
To support my projects you can view the ads on this page or buy something from me.