Tiny Applications Collection
Tiny Applications Collection is a set of small programs, shell scripts
and other things which may be useful in everyday life of system
administrators, users and programmers. They can be also used as a
base for a more specialised application as they are all Open Source.
If you have written utility which may be useful for others and want to
share it please email me at mina86/AT/mina86.com, I'll be glad to add
your utility to the collection.
At the moment the collection includes:
* add - adds specified text to each line from stdin;
* arpping - tool which pings device with given IP using ARP protocol.
It may be used without IP address assigned to our machine,
ie. priori to calling DHCP client or such.
* changelog.pl - application providing global change log for
administrators to fill and users to read. For instance, can be
used in /etc/profile to show all news;
* cdiff (C and sed versions) - adds ANSI codes to the output of diff
making it a bit more readable.
* check.sh - performs a defined checking (whether www.googl.com
responds to pings by default) and runs specified command if failed.
May be used to automatically shut down PC when connection is lost,
try to reconnect, monitor a server machine and send message to it's
admin if it's down, keep given application running and many more;
* checkmail - checks whether mboxes given as arguments contain any
* cpuload.sh - tiny script showing the CPU load. May be useful for
people interested in how it is calculated (see also load and
* cutcom - removes C++ comments from stdin and outputs the result to
* drun - it's really 'null' with aditional ability to daemonize
(hence the name). Helpful when running X applications from
* errno - a tool for converting between errno error numbers and
symbolic names which also prints error message.
* extractlinks.pl - extracts links from a HTML page. Useful, for
example, when downloading an Internet gallery;
* foreach - a tool for running given command for each of the values
specified on command line. In that, it is almost identical to
plain for loop, but it's strength comes from the possibility to run
many commands at once.
* FvwmTransFocus - an FVWM module which changes windows' opacity
depending on focus. When window looses focus it becomes more
transparent which looks "neet";
* genpass - generates a random strong password. Shell and Perl
* getlyrics.pl - downloads lyrics of a given song from the Internet
* gz2bz - a shell script which allows converting between compression
formats. It started as gzip -> bzip2 converter but now supports
conversion between compress, gzip, bzip2, xz, lzma and anything
else you specify.
* inplace - a shell script which runs given commmand for all given
files and replace their content with whatever the command returns;
* installkernel - pretty complex script for installing the Linux
kernel. It makes a lot of aspects of upgrading the kernel
automatic. The first versions required bash to run but the now, it
is believed to run on any POSIX compatible platform so it can be
run even on small embeded systems;
* lesspipe - an input processor for less pager which automatically
decompresses compressed files, list contents of archives, list
contents of a directory, download file from the Internet and many
* load - shows CPU load, memory and net traffic statistics. It's
mostly ment for people who are curious how to callculate such
statistics and use some code from the file in their programs (see
also cpuload.sh and traf.sh);
* malloc - a small program which allocates memory. Sounds stupid?
Mayby, but in theory it can help freeing RAM and therefore speeding
up the machine;
* mountiso - a simple mount/umount wrapper for mounting/unmounting
ISO images or any other files using loop option. You have to be
root to use '-o loop' so if you want to mount an ISO image you have
to login as root. This utility should be SUIDed and then anyoune
can use it to mount ISO images. By default it is not included when
installing tinyapps using 'make install' or creating package - you
need to install it by yourself.
* moz2elinks.pl - converts bookmarks from Mozilla's to ELinks'
* mp3rip - a command line utility for ripping tracks from CD Audio.
It uses cdparanoia to rip the tracks and lame to encode them to
* mpd-show - tool meant to display song currently played in MPD. It
displays it in a terminal in one line with background indicating
the progress. It requires libmpdclient.h and libmpdclient.c files
* mpd-state - a program based on Avuton Olrich's state-utils for
saving and restoring MPD (Music Player Daemon) state. It requires
libmpdclient.h and libmpdclient.c files to compile;
* mpd-state-wrapper.sh - a small shell script making mpd-state
behaving like Avuton Olrich's state-utils.
* null - a C program (null.c) and a shell script (null.sh) which
discard standard input. It is meant for people who thnik that
'>/dev/null' is too long to type every time. :) It may also be run
with arguments and the given program will be run and both stdout
and stderr will be redirected to /dev/null;
* pingrange.pl - pings a range of addresses;
* pkg - a wrapper for apt-get, yum and Slackware's package management
scripts which "does what you mean" on all of those systems and also
makes the command shorter by automatically running it through
sudo/surun if necessary.
* rand-files.pl - chooses a random set of files, where each file may
have its own rank or probability, read from standard input such
that their size is no greater then given limit. Useful for
choosing random set of songs to copy to our portable player.
* rot13 - performs an ROT13 'encryption' on stdin;
* settitle - sets the title of xterm, rxvt, Eterm, aterm and other
* show - shows colourised (if ccza is available) log file with
possible option of searching for a pattern. Small but handy - you
don't have to write `less /var/log/syslog` anymore and get ugly
black and white log;
* SlackBuild.gen - generates a SlackBuild template. It was not
really debugged yet but I believe that it'll work quit good;
* surun - a wrapper for sudo/su tool (whichever is available) for
running given command as root or launching root shell. It hides
differences between the two command semantics as well as between
running the tool as root or non-root (in the former case, sudo/su
won't be invoked at all).
* timer - a text-mode timer counting with accuracy to 0.01 s;
* tpwd - truncates PWD to specified number of characters. May be
used in PS1 to display only the end of the PWD instead of a full
60-character long PWD which doesn't really look nice;
* traf.sh - tiny script showing traffic statistics. Many things are
hardcoded in the source but it may be useful for future
modifications or to learn how traffic is calculated (see also
cpuload.sh and load);
* tuptime - my personal favourite :) Displays total (sum of all
uptimes) and biggest uptime. Might be used as replacement to
standard uptime utility;
* virtman.sh - adds virtual hosts to Apache configuration for given
user. May be added to some kind of adduser script for automagical
addition of virtual hosts.
* xcolor2rgb - reads from argument list (or from stdin, if no
arguments are given) and prints appropriate RGB value to stdout.
* xgetclass - prints window's application name and class as returned
by XGetClassHint. May be used in some kind of shell scripts but
honestly I just wrote it to test XGetClassHint function and since
I did it I decided to include it in tinyapps. :)
More documentation about each utility is usually provided in the