computer and programming projects

Linux projects

Paranoid Backup is a backup program for Linux. Paranoid Backup is designed to backup to either a remote network hard drive or a tape drive. When backup up to a tape drive, Paranoid Backup will work with cheap tape drives and cheap tapes without shoeshining or losing data; and to use as few tapes as possible. Paranoid Backup is designed to never overwrite old backups, because you never know when you will want one of those old files again. Paranoid Backup has easy to understand documentation and error messages. It is probably slower than other backup programs. Paranoid Backup includes kxarc, an archive program, and a tape server program which can be used by themselves. Conventional archive programs like tar manage both the archive and the tape; I made one program to manage the archive and a different program to manage the tape. Everything is written in perl 5, so there is no C source or compiled binaries, just these scripts.

avview_record is a script to schedule unattended recordings of video with avview by setting the start time and stop time.

ebaygetcategory ebaygetitem ebaygetprice These three scripts make it easier to search ebay.

editcompressedfile is a script which makes it easy to edit compressed files. It uncompresses the file, edits it, and then recompresses it.

reformat source code for inclusion in an html file. This is a simple example of programming in sed and awk

compile and run larn 12.2.4 on fedora 2 linux

print your own graph paper

print your own polar coordinates graph paper

print your own hexagon paper

editdosfile is a script which makes it easy to edit a DOS text file with a unix editor. It converts the DOS text file to unix text, edits the file, and then converts the file back to DOS text.

log_output is a script for capturing all the output of another program. This is useful for testing shell scripts.

X_video_modes_generator.pl is a perl script which calculates X windows video modes

vidmodegraph is a perl script which calculates data points for drawing a graph of xwindows video modes

convert_menus_to_debian is a perl script which searches your computer for xwindows window manager menu data and converts the menu data to debian menu data.

checklibs is a shell script which checks if the libraries required by the executable files in the PATH are present.

Cowdata is a set of scripts for manipulating a database of information about dairy cows. The actual database is a set of gzipped text files. One script takes many *.jpeg files; converts the *.jpeg files to small, black and white dithered images; looks up some information about each picture; adds some postscript formatting commands; and prints it. The result is many small pictures in neat rows and columns printed on one piece of paper, with a little text information printed under each picture.

rundosprogram is a script which lets you run dos programs from linux. This requires dosemu and dos.

busybox_install is a script which creates a busybox linux installation. Busybox is a shell which includes many common commands like cp, mount, gzip, etc. A linux system based on busybox is very small, and is good for installing onto floppy disks or a small hard drive partition.

compare program versions is a script which compares multiple versions of programs.

fix_corrupt_file is a script for determining what part of a file is corrupted, and downloading the corrupted part, instead of downloading the entire file.

listfonts generates a postscript file with a small example of each font on your computer, and warns about errors in the font directories. You can print the postscript file.

listrpms lists information about *.rpm packages, so you can search the output file. For example, if you were looking for a spreadsheet, you could search for the word spreadsheet; if you were looking for a package which provides libfoo, you could search for 'provides libfoo'.

make_menus is a shell script which makes several different kinds of menus of all the programs on the computer. The menus it creates are ugly, but this is a lot faster than making menus by hand

tarunarchiveroot is a script which unarchives files from a tar archive, and sets the owner of the files to root. Normally when tar is run by root, tar assumes you are restoring from a backup, and preserves the old owners, groups, permissions etc. But if you are installing some programs from a different computer, then you do not want to preserve the old owners and groups; that is what this script is for.

thgfilter is a filter for cleaning html files from Tom's Hardware Guide, http://www.tomshardware.com.

targz_unarchive_root is a script which unarchives file from a tar.gz archive, and sets the owner of the files to root.

rpminstallfilesonly is a script which installs *.rpm packages without modifying the rpm database, without checking dependencies, without running scripts, and without overwriting any prexisting files. This script is for installing an *.rpm package onto a linux distribution which is different from the linux distribution which the *.rpm package was intended for; because rpm often does not work correctly in this situation.

sl is for making symbolic links. When using ln -s, I have trouble remembering which filename to give first, so I made this script to prompt me.

zipdisplay is a script which makes it easy to display files which are stored inside a zip archive.

ashole is a security hole. ashole allows ordinary users to do things which only root is allowed to do.

a script for installing almost all of redhat 5.0 from the linux software labs redhat 5.0 cdrom a script for installing almost all of debian 3.0r5 from the dvd


notes on linux and linux programming

When I study some aspect of linux or programming, I find that it helps me to remember it if I write it out in my own words. Then if I want to look it up again sometime in the future, I read my own notes before I read the official documentation, because I find that my own notes are easier to understand than the official documentation. I have heard other people complain that the official documentation is too hard to understand, so I am posting my notes here in case anyone else wants to read my notes.

X video modes

background

bios

blobwars

booting

Phillips cm206 cdrom drives and installing redhat-5.0

crossfire

disk errors

dosemu dos emulator

downloading big files

ethernet

gatos, avview, using ati all-in-wonder with linux

gcc

joystick

libraries

mail

menu programs

missing from man

nethack

perl

Corel Photopaint

pipes

ppp

linux printing

root

scripts

segfault

sound

undeleting linux files

xwindows

I have some ideas for more programming projects, but I will probably never do any of them. If you are looking for ideas for programming projects, click here to see my ideas.


DOS projects

kmbsl is a master boot sector loader with a boot menu; it displays a message and allows you to choose which operating system to run. This is not really a DOS project, it loads any operating system; but it installs from DOS.

Rbcomm Telnets is a set of macro files for Rbcomm, so that you can use your modem to call another computer, and then telnet, ftp, lynx, etc. This is hard to learn and configure, but if you take the time to become an expert you will find it easy to use. This is very fast. This requires Rbcomm.

Form 1116 calculator makes calculations for USA IRS form 1116. It does not print out the form. You enter your data and it performs calculations and tells you what to write on each line. It is intended for tax year 2000. It requires qbasic.

form 1116 calculator for tax year 1999

form 1116 calculator for tax years 1998 and previous

In 1996 I was working on a project I called Freeware for DOS, an organized collection of free programs for DOS. I lost interest in this project after I discovered linux, and I am not working on it much anymore. What I have so far is 10 megabytes. It would be difficult for me to upload it because I do not have good internet access. So if you want it, you will have to offer me a bribe.


This web site is written and maintained by Kenneth Howlett. These are my email addresses:
kmhfoobarnerdshack.com or kmhfoobarmailshack.com
kmhkmhfoobargawab.com
kmhkmhfoobarhotpop.com
kmhfoobarvfemail.net
kmhfoobarinmail24.com

Change 'foobar' to the at symbol