
What's New - September, 2005
September
29, 2005: I fixed a bug in
Brute Force today which surfaced while solving this division
problem. The solution requires letters be assigned digit
values 0 through 9 to make a true numeric expression.
Brute Force tries to solve sets of equations with integer values
by trial and error. A surprising range of puzzle types may
be solved this way, however, before today, equations with successive
minus signs were evaluated incorrectly. This puzzle and the
equations to solve it, were added to the included samples
as LongDivision.prb,
September 21, 2005: Note
to AOL users. I am not able to respond to feedback
requests from AOL email addresses. My replies get rejected
with error "554 transaction failed". It seems to
be a problem with AOL having excessively tight filters on senders
and not being able or willing to correct the resulting
problems. I spent several hours earlier this year, and my host
site has also spent much time trying to correct the problem with
AOL, but today's rejection indicates the problem still
exists. (A Google search on "AOL 554 transaction
failed" returns 19,000 hits, so it seems to be a common
problem. ) I'm sure it is frustrating to those who
send inquiries and not receive replies, and I know it is frustrating
for me to spend time
researching problems or questions and then having my response
rejected. Fortunately, there don't seem to be many of
you AOL types left.
To today's victim, AOL user Mike:
Inverted text printing seems to work fine here. If you are
using program TestMirroredText2.exe, let me know
exactly what happens when you try to print. (Use a
non-AOL email address please!)
September 19, 2005: From the
"Computers as Tools" department, I wrote a little
utility program today to Remove
blank lines that saved several hours of error-prone
manual editing. I added a new school to our Booksearch
web but trying to update the index page hung MS FrontPage,
my web editor. Investigation showed that 35,000 extra
lines containing 10 blank characters each were scattered
throughout the 136 valid HTML code lines! The
normal 12Kb file now contained 360KB. What a
mess! We may never know what hiccup caused this but the fix
required about 25 lines of code and 15 minutes of "work"
to create the tool and fix the file. I decided to post
it to the Utilities section of DFF so I'll know where to find it
in case the problem ever recurs.
September 14: 2005: A few years ago,
I posted a Set
Partitions program that addressed the ways that a set of
distinct objects could be divided into separate piles. This
week I finally had the need to explore the other kind of
mathematical partition, Integer
Partitions, which considers the number of ways that a positive
integer can be written as the sum of smaller integers. 5 can
be written a the sum of positive integers in 7 ways, for 60 the
are about a million ways to do it! You can confirm for
yourself such interesting properties as "the
number of partitions of N into K parts is the same as the number
of partitions whose largest part is K".
 |
|
Chaos - synchronized double pendulums
after 30 seconds |
September 8, 2005: Mike Conlon was
writing a Basic program pendulum simulation recently and caught a
small math error buried deep in the double pendulum calculations
in our Pendulum program.
It doesn't make much difference in the apparent action of the
pendulum - just delayed the appearance of the chaos part of the
Chaos demo (two double pendulums, identical except for a 0.01%
difference in the lower bob weights , will start out synchronized
but soon behave entirely differently). Correction was posted
today/.
September 7, 2005: After
several iterations, we are finally posting an update to the Big
integers TInteger class which does large integer
arithmetic. Viewer Charles Doumar has implemented a number
of enhancements including a faster multiply and a new Nth root
function. In addition several minor bugs and improvement in
check input variable for validity were added.
Motivated by the need to test the changes in
TInteger processing functions, I wrote a TRegress class
which provides a framework for developing regression
testing programs. Regression testing tries to catch is functions
that are accidentally broken as other things are fixed or
enhanced. In this instance TRegress helps build "Case
files" with solved problems and runtimes from the old code
and compares them with the same problems run against new
code. It has proven itself quite helpful in
testing the TInteger changes described
above.
|