[tpwd] Fix segfault when exactly one argument given
[tinyapps.git] / README
blob724c582754504effee67d9053a0c19bcaa08169e
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
35    urnead mail;
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
39    traf.sh);
41  * cutcom - removes C++ comments  from stdin and outputs the result to
42    stdout;
44  * drun  - it's  really  'null' with  aditional  ability to  daemonize
45    (hence  the  name).   Helpful  when  running  X  applications  from
46    a terminal.
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
64    versions present;
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
72    else you specify.
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
86    more.
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
95    up the machine;
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
110    MP3s.
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
115    to compile;
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
150    black and white log;
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
189 source code.