Bytes and Pieces

Welcome to my website, where I'm posting software applications I've written, computer programming
methods I've found interesting, source code of some Visual C++ projects, and some short essays on a
potpourri of other topics I'm interested in.  If you have a question or would like to comment, feel free to
send me email at bobday.nh@verizon.net.

-- Bob Day, October 2008.                                              Free SubDomains  


FREE SOFTWARE APPLICATIONS:

Call Screener, v1.7 - free - Block unwanted telephone calls
Call Screener is software that blocks unwanted phone calls.  It runs under Windows XP SP2, and
requires a dial-up modem that has voice and caller ID capability to be installed on your computer. 
When a call is blocked, Call Screener speaks the message contained in the ZapMessage.wav file
to the caller.  An example ZapMessage.wav file is included in the kit that comes in the download.
Documentation is also included in the kit.  Some dial-up modems that have worked well for me
are the Zoom 3025C, the AOpen FM56-PX, and the Best Data 56HP92-PCT.
Click HERE to download.

Phone Recorder, v1.6 - free - Join and record an ongoing telephone conversation
I wrote Phone Recorder because I didn't want to pay $49.95 for EzPhone Recorder.  Phone
Recorder doesn't have much of a user interface -- just two buttons: "Start recording/Stop
recording" and "Exit".  When you click on "Start recording", Phone Recorder will join an
ongoing phone conversation on the same line, and the button label will change to "Stop
recording".  The conversation is stored as a .wav file in the same folder as the Phone
Recorder executable (.exe) file.  Phone Recorder runs under Windows XP SP2, and you
need to have a dial-up modem that has voice capability installed on your computer.  Some
dial-up modems that have worked well for me are the Zoom 3025C, the AOpen FM56-PX,
and the Best Data 56HP92-PCT.  Be sure to tell the other party or parties on the line that
you are recording the conversation if it is legally required to do so.
Click HERE to download.

HomeSentinel, v1.27 - free - Guard your home or business with HomeSentinel!
HomeSentinel is software for Windows XP systems that you can use to help protect your
home or business while you are away.  It can continuously monitor the video from up to
four webcams and alert you by email, phone, or both when it detects motion.  Email alerts
contain the video image that caused motion to be detected and four additional images
spaced at three second intervals.  Click HERE to download or HERE for more info.

URLRedirector, v2.9 - free - Enables a static URL for a non-static IP address
Pay no more Web hosting fees! You’d like to use your computer as a Web server, but you
don’t have a static IP address?  URLRedirector solves that problem!  URLRedirector is a
dynamic real-time URL redirector that allows users to use a fixed, unchanging URL to go
to the website on your computer, even though the IP address of your computer may be
constantly changing.  Click HERE to download or HERE for more information.

TCPGateKeeper - free - A utility to display and control your internet connections

MemLatency, v1.5 - free - A utility to measure random access memory latency


ESSAYS:

The Dynamic Universe Theory - a Theory of the Universe that Makes Sense!

Accelerating Expansion of the Universe: Yes or No?

ECC Memory Isn't Everything -- It's the Only Thing

Chipkill Advanced ECC - Overview of How It Works

Consciousness Totally Explained and Elucidated

Why the Pucks Go at Right Angles

Time

Derivation of the Formula for Mortgage Payments

Reading


SOURCE CODE OF SOME VISUAL C++ PROJECTS:
Feel free to use the code in this section in any way you wish.  An acknowledgement would be nice.  Please let me know about any bugs you find.

SendATCmdToModem -
Uses TAPI in passthrough mode to send an AT command to a modem and receive a response.  This code has no GUI and no I/O; it's just a detailed example showing one way of doing it.  To see what it does, compile it in Debug mode and single step through it.

CSVtoTXF - Converts Buy and Sell Stock transactions to TXF format for Schedule D
Matches stock purchases in Comma Separated Value files to their corresponding sales and writes them as entries for Schedule D into a Tax Exchange/Export File.  This file is suitable for input into TurboTax or TaxCut.  If you use this code, you'll probably have to adapt the parsing section to the format of your own CSV input files.

ChatServer - Handles up to 5000 simultaneous internet text chat sessions
Technique of using an Asynchronous Procedure Call to handle multiple (up to 5000) internet text chat sessions in a single thread.

MemLatency - A utility to measure random access memory latency
Contains an implementation of the algorithm for generating a random grand tour sequence, described under "Programming Methods".

TCPGateKeeper - Blocks connections from user-entered IP addresses
Technique of terminating a TCP/IP connection given its IP address.

WebExcavator - Searches internet web pages for email addresses
Multithreading; technique of scanning web pages; reverse polish deconstruction of boolean expressions; fast boolean expression evaluator.


PROGRAMMING METHODS:

Algorithm for generating a random grand tour sequence

Function to generate a bit-reversed number sequence

Cool technique for loop unrolling - illustration

Binary trees and bit reversed numbers

Boolean Expression Evaluator for Web Searches

Random Access Memory Latency
 

VITAMINS FOR THE MIND:
 

                               The 4:00 Meeting

Tom and Bill are standing at two places on a straight road.  Tom starts
walking toward Bill and arrives at Bill's original place 11 minutes after
Bill had left.  At perhaps a different time, Bill starts walking toward Tom
and arrives at Tom's original place 15 minutes after Tom had left.  When
each reaches the other's original place, he immediately turns and starts
back, and they meet in the center at 4:00.  Assuming that they walked at
constant rates, when did each start to travel on the road?


                          Alice Forgets Her Purse

On her way out of Macys, Alice walks down a down-moving escalator
in 50 steps.  When she reaches the bottom, she suddenly remembers
she forgot her purse, and she turns and runs back up the escalator in
125 steps, stepping five times as fast as she went down.  How many steps
are on the surface of the escalator?