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