Bryan Dongray's
UNIX & DOS tools
C, shell, perl

 
Source Last update
Size (bytes)
Description
byte.tgz
C source
1995-10-18
2368
Binary edit/view file
Opens a file to edit bytes in place (although can be used to append bytes).
Useful for modifying/viewing a binary file.
dayago.tgz
perl script
2008-03-04
1072
Find out how long ago a date was (or will be)
Converts date YYYY-MM-DD into how many days ago (or will be as a negative number).
Also given a number of days ago returns when was date was (or will be, if a negative number).
dexit.tgz
sh script
2003-04-23
510
Run command in prompted loop
Useful as a frontend to xterm, so when the command xterm is running dies you can see the error and re-run it just by pressing return.
diskseek.tgz
C source
1996-02-23
1499
Disk seeking/testing
Has a few different options to sequentually go from one end of a disk (or file) to the other, or it can start at both ends moving the offset closer to the middle, or it can randomly skip around the disk.
By default is in read-only mode.
easter.tgz
C source
1995-12-15
873
Work out Easter day
It's been accurate every year so far.
I found the algorithm over 20 years ago, and coded it in Basic on an ancient home computer.
fields.tgz
perl source
2005-01-27
1262
parse fields in input
An input stream of the format:
Identifier na=va nb=vb nc=vc ...
can be trimmed down to just view named fields requested.
Handles quotation on input, and provides as necessary on output.
gethost.tgz
perl source
2003-04-15
534
Lookup hostname or IP
A bit like "nslookup" or "dig", although much much simpler, without any extra features, but importantly it does not use any DNS backdoors to get its results, it uses standard libaries as most code does.
It will lookup hosts into IPs, and IPs into hosts, and handles multiple cases.
hdr.tgz
perl source
2003-04-23
326
Show/remove email/web headers
Very simple, but useful as a pipe command to only see headers, or to strip off headers of messages.
latency.tgz
C source
2002-09-14
3254
Test network latency
Uses the "echo" port (port 7) to send and time a byte going to remote host and back. It gives a real sense of how long an interactive session (eg over ssh or a VPN) will feel like (far better than ping can).
mkpass.tgz
perl source
2003-07-11
556
make crypt'd password
(for UNIX and webservers)
Useful to make htpasswd files for Apache.
parallel.tgz
perl source
2008-05-29
1405
Run command in parallel
It's a bit like xargs, but will run one command per stdin line, but runs those commands in parallel (as parallel as requested). As one finishes it will start another, keeping up the parallelism.
Useful for pushing files out in parallel, or running remote commands to many remote systems.
Hint: Use $PARALLLELID for unique ID (eg tmp file identifier)
Be careful with this code, you can flood your own system!
pos.tgz
C source
2002-08-22
1020
Find position of text in binary file
Simple text searching in any file (or raw disk), but missing "backtracking" - sorry.
rand.tgz
perl source
2003-04-15
477
Random number
As every high school students gets to write.
rm.tgz
C source
2003-04-15
3908
Remove command - with secure option
There is also "srm" out there, but I wrote my own years ago.
Uses the agreed overwrite sequence to really erase a file and hide the magnetic pattern on the disk.
This code also tries to do the same on the filename, file times, permissions, and owner too. Really hiding all details of the file.
sleep.tgz
C source
2002-11-10
1679
Fully featured sleep command
Allows the use of subsecond values, the ability to give time in hours and minutes (and days), or combinations, and allows to sleep to a specific time of day.
So you can sleep for 1h 30m, or until 3am (without having to calculate number of seconds).
It can also be told to sleep forever (without putting lots of 9's).
Is compatible with normal sleep command.
sparse.tgz
perl source
2005-04-21
1019
Format columns into a table
Convert a column of pairs of values, into a table.
eg
INPUT:
A,1
B,2
A,3
B,3
OUTPUT:
,1,2,3
A,Y,,Y
B,,Y,Y
When formatted:
123
AYY
BYY
syncup.tgz
perl source
2008-05-05
2564
directory synchronization
Sync two directories only creating, copying, deleting, setting times, owner and attributes of any files, directories, and symbolic links in the destination that were added, changed, or deleted in the source tree.
Perl enables the code to work for UNIX and DOS.
thru.tgz
C source
2003-02-04
5421
Network forwarding/listening
Written years ago, and is sort of similar to netcat.
It can listen on a port as well as send to remote port, to/from a local file or program, but can do both at the same time (a port forwarder). It can even listen on 2 ports as a strange backwards port forwarder, for those times when you want to startup a TCP connection but from the remote end (eg through a firewall).
It can handle 3 (or more) way connections, but it's a bit hokey.
In loop mode, it's a one port inetd.
It is only TCP though.
timeout.tgz
C & perl source
2003-03-08
1933
Timeout command
A way to run a command and have it stop after a specified time. I found it useful for scripted "rsh" commands.
uu.tgz
perl source
2003-07-12
688
Decode UUencoded
uuencode still exists and needs a manual way to read (or write) such a format.
wipefree.tgz
sh script
2003-03-08
804
Securely erase disk freespace
A script using my "rm" code (above) and creates big files until the disk is full, and then erase them securely.
End result your freespace is securely erased.
x10cmd.tgz
C source
2008-02-20
1710
Control X10 firecracker
Linux program to control the x10 firecracker, an RS232 serial device which can control upto 256 power outlets.

Dongrays → UNIX/C/Shell/Perl/DOS tools Validated by HTML Validator (based on Tidy)