Chris and Cathleen Lenderman

Software Projects


Being a Software Engineer by trade, I am always looking for something innovative that I can do.

I usually start with the following goals:
Often my focus is "How I can save, earn, or track money?"

Here are a list of some of my projects. If you like what you see, let me know

Caller ID - "A Client/Server Solution That Tells You Who's Calling"

UPDATE: I've been working with the author of NCIDD and have adopted CallerID client to be compatible with NCIDD! You can download a copy of it here. The description that follows outlines my original client/server solution for CallerID (note the pre-NCIDD references).


The Problem

The Solution

I went down to the basement and found an old 56K US Robotics Sportster, brought it upstairs, and realized that if I sent the following command, the modem would report CallerID information!
at#CID=1
Since we have a Linux server that is stationary, I hooked the modem into that computer and went to work developing a client/server system that uses socket connections. Here is the program's infrastructure:

Program Summary

Some Neat Things I Learned While Doing This

Special Libraries Used

Server (pre-NCIDD): Client:

CDLock - "A Program to Lock your CD-ROM Drive"

Download CDLock

The Problem

The Solution

I created this small application that permits locking and unlocking of all CD-ROM drives on the system. It's not real feature rich right now. If you'd like me to add something to it for you let me know and I'll see what I can do.

Program Summary

Some Neat Things I Learned While Doing This

Special Libraries Used

None

Hibernate - "A utility to assist with Windows hibernation"

Download Hibernate

The Problem

The Solution

I created this small application that will intercept hibernate and suspend attempts and start a 15 second timer. The user can cancel the attempt within that time frame.

Program Summary

Some Neat Things I Learned While Doing This

Special Libraries Used

None

SoundControl - "A quick and dirty volume control application"

Download SoundControl (Windows Server 2003/Windows XP/Windows 2000)

Download SoundControl (Windows Vista/Windows 7)

The Problem

The Solution

I created this small application that increases volume and decreases volume using:

Program Summary

Some Neat Things I Learned While Doing This

Special Libraries Used

None

CBackup - "An Incremental, Simple Backup System"

status reports for 2008-03-30_18h_00m
2008-03-30_18h_00m: Start Time: Sun Mar 30 18:00:03 2008
2008-03-30_18h_00m: baseline: Server-shareroot-pictures: 2007-10-13_18h_00m to 2008-02-06_18h_00m
2008-03-30_18h_00m: End Time: Sun Mar 30 18:01:50 2008
2008-03-30_18h_00m: 3593 Files Processed
2008-03-30_18h_00m: 5 Files Modified Since Last Backup
2008-03-30_18h_00m: 3950450 Bytes Copied During This Backup
2008-03-30_18h_00m: Backup is complete

The Problem

The Solution

Create a script to be scheduled to run once a day on multiple computers. The user creates a hierarchal structure to specify which computers, shares and files/directories to back up. CBackup does the rest.
#  Input files are of the following format
#
#  Computerlist.txt   <== Contains a list of all computers
#  |
#  |--ComputerName.txt  <== Contains the share names for a particular computer
#     |
#     |--ComputerName-ShareName.txt  <== Contains the paths for a particular share
#        |
#        |ComputerName-ShareName-Pathname.exclude.txt <== Contains files or directories within the path
#                                                         that should be excluded from the backup
CBackup stores all of its data in human-readable form, so that users can see which files were Modified, Deleted or simply unchanged
CBackup V1.0 - Processing Time: Sun Mar 30 19:00:05 2008
Share and Directory Name: chris/c/Documents and Settings/All Users/Start Menu
# ===== Saved Backups:
2007-12-28_19h_00m
2008-03-29_19h_00m
# ===== Files:
M 2008-03-29 23:25  //chris/c/Documents and Settings/All Users/Start Menu/HP Director.lnk
D 2008-02-10 20:33  //chris/c/Documents and Settings/All Users/Start Menu/Programs/AVG 7.5/Uninstall AVG.lnk
  2007-12-03 19:50  //chris/c/Documents and Settings/All Users/Start Menu/desktop.ini

Program Summary

Some Neat Things I Learned While Doing This

Special Libraries Used

Filefinder - "A utility to find files across multiple user-specified directories"

The Problem

The Solution

Filefinder was born as one of my own creations! It is clearly overkill, considering it took the place of a 10 line batch file and that its creation took me longer than I would like to admit! Hence the reason why this was done on my time and not company time :)

Given multiple lists of custom paths, the user can select which group he or she wants to search:
[D]
\\chris\c\WINDOWS
\\chris\d\Data

[E]
\\chris\c\Program Files
\\chris\e\archives
Clicking on a path/file will launch that path/file in an application or explorer window.

Program Summary

Some Neat Things I Learned While Doing This

Special Libraries Used

MLSHelper - "Provides the ability to look at house listings offline"

The Problem

The Solution

I wrote a series of macros/scripts to process data from MLS listings provided to me by our real estate agent each day with new/changed listing, placed the data in Excel, and wrote some VBA code to provide several options to browse a listing.

Program Summary

Some Neat Things I Learned While Doing This

Special Programs Used

The Elk Forge Bed and Breakfast Online Reservation System

The Problem

The Solution

From the design, it's pretty evident that SQL played a huge part in this operation!

Program Summary

Some Neat Things I Learned While Doing This

Special Libraries Used

LaserJet Status - "What's My Laser Printer Doing?"

The Problem

The Solution

Using SNMP, I talk directly to the JetDirect card of my LaserJet 5

Program Summary

Some Neat Things I Learned While Doing This

Special Libraries Used

ExtractInvestments - "How Did My Investments Perform Yesterday, and Where Can I Track It?"

The Problem

The Solution

Create a script to automate the process. The challenges: Fortunatly, the design was pretty straight forward:

Program Summary

Some Neat Things I Learned While Doing This

Special Libraries Used

DerbyConnect - "Timing the Pinewood Derby Without Investing in a COTS Program"

The Problem

It was desired to have the ability to time our church's Pinewood Derby "on a budget."

The Solution

Create an application that responds to a stimulus:

Program Summary

Some Neat Things I Learned While Doing This

Special Libraries Used

MichaelBrowser - "Simplifying My Son's Online Experience"

The Problem

My 3-year old was showing a great interest in the computer, but did not have a simple way to navigate the web.

The Solution

Program Summary

Some Neat Things I Learned While Doing This

Special Libraries Used

None

Computercheck - "What Is the Status of A Group of Computers that are 1500 Miles Away?"

Dad,

Based on my observations, you need to do the following:
* Reboot Kiosk
* WARNING: Full backup did not complete on Server last night

The Problem

The Solution

Create a script that can be scheduled to run on multiple computers once a day.

Program Summary

Some Neat Things I Learned While Doing This

Special Libraries Used

None