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 daybob@gmail.com.

 

-- Bob Day, December 2009.                                              Free SubDomains  


                                         "All these you are, and each is partly you,
                                         And none is false, and none is wholly true."


New essay (December, 2009): The Mathematics of Chipkill ECC


FREE SOFTWARE APPLICATIONS:

Call Screener W7 for 64-bit Windows 7
Call Screener W7 for 64-bit Windows 7 is a version of Call Screener that runs under
64-bit Windows 7.  Its features are unchanged from version 1.8, but I've written a much
more complete set of installation and use instructions.  Modems that I've tried and have
worked well under 64-bit Windows 7 are the HiRO H50113 USB external modem, and
the HiRO H50006 and Rosewill RNX-56AG PCI internal modems.  I think the
TRENDnet TFM-560U USB external modem may also work, but since I haven't actually
tried one, I can't vouch for it. I've included a driver in the kit that supports both caller ID
and voice for the HiRO H50113.
Click HERE to download.

Phone Recorder W7 for 64-bit Windows 7
Phone Recorder W7 for 64-bit Windows 7 is a version of Phone Recorder that runs under
64-bit Windows 7.  Its features are unchanged from version 1.6, but I've written a set of
installation and use instructions for Windows 7.  Modems that I've tried and have worked
well under 64-bit Windows 7 are the HiRO H50113 USB external modem, and the
HiRO H50006 and Rosewill RNX-56AG PCI internal modems.  I think the TRENDnet
TFM-560U USB external modem may also work, but since I haven't actually tried one,
I can't vouch for it. I've included a driver in the kit that supports both caller ID and voice
for the HiRO H50113.
Click HERE to download.

Call Screener, v1.8 - free - Block unwanted telephone calls
Call Screener is software that blocks unwanted phone calls.  It runs under Windows XP SP3,
and requires a dial-up modem that has voice and caller ID capability to be installed on your
computer. (Note: Call Screener uses only the voice and caller ID features of the modem --
there is no need to "dial-up" anywhere.)  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.  Version 1.8 adds a separate built-in
anonymous caller rejection message that instructs the caller how to remove their call blocking.
Documentation is also included in the kit.  Some dial-up modems that have worked well for
me are the Rosewill USB RNX-56USB, the Zoom 3025C, the AOpen FM56-PX, and the
Best Data 56HP92-PCT.  The Rosewill is an external modem that plugs into a USB port,
and the others are internal PCI modems.
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. 
(Note: Phone Recorder uses only the voice capability of the modem -- there is no need to
"dial-up" anywhere.)  Some dial-up modems that have worked well for me are the
Rosewill USB RNX-56USB, the Zoom 3025C, the AOpen FM56-PX, and the Best Data
56HP92-PCT.  The Rosewill is an external modem that plugs into a USB port, and the
others are internal PCI modems.  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.6 - free - A utility to measure random access memory latency


ESSAYS:

The Mathematics of Chipkill ECC

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 OF MY SOFTWARE APPLICATIONS:
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.

Source code for the Galois Field Chipkill Algorithm
Visual C++ project.  If you want this code, please email me at daybob@gmail.com.
I'd like to find others who are interested in the details of Chipkill.


MATLAB code to test Bell's inequality
MATLAB project.  This code performs an adjustable number of trials
of a simulated Bell inequality experiment to test for violations at
adjustable angles.

Model code for doing fits of the SCP Union SN Ia Compilation dataset
MATLAB project.  This code is intended to serve as a basis to make life easier
for anyone who wants to do his or her own fits.  Modify it to suit your own purposes.

SendATCmdToModem
Visual C++ project.  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
Visual C++ project.  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
Visual C++ project.  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
Visual C++ project.  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
Visual C++ project.  Technique of terminating a TCP/IP connection given its IP address.

WebExcavator - Searches internet web pages for email addresses
Visual C++ project.  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?