November 13, 2015:
Brute Force is our program which solves many algebra
based puzzles with integer solutions. It works by exhaustive search over a set
of values, trying all combinations in a set of equations. A viewer
recently reported having a problem solving this equation set which he described
as a "6th grade level algebra problem". Not in my 6th grade!
In any event, the program couldn't find a solution with a trial digit
range from 1 to 30. That is, until I increased the maximum number of trial
digits from 20 to 50. Brute
Force Version 3.4.1 posted today implements
the change and finds the solution 5 seconds! It now also warns if you
range larger than 50 numbers, Sample problem Test50.prb is the problem that
uncovered the bug and is included in the downloads. I'm off
to try my high school solving skills on this problemJ.
November 12, 2015: At least for me, Microsoft made the Windows file search option virtually unusable when they rewrote it for Windows 7. It's a function that I rarely need, but when I do, I don't want to search help or the internet to find how to do it. This week, I finally wrote a FastFileSearch program to find files meeting masking criteria from a selected start folder (e.g. find *permut*.exe to list all permutation related programs in my DFF folder). No content searching yet, but that enhancement is in the wings if I need it. Maybe Windows 10 search will work, but when last I checked ,the Win10 Edge browser did not support add-ons and the Win32Help program could not be installed. Both of those deficiencies are deal breakers for me.
October 29, 2015:
Last Sunday's Mensa Calendar Puzzle led me to dig out the Self Describing Sentences program written several years ago. Sure enough it can solve this one, but I can't revisit a program without finding some bug or desired enhancement. This time I added the ability to count the number of consonants in a self describing manner. Self Describing Sentences Version 2.3 was posted today.
November's big project is a program to approximate the largest
rectangle that can be drawn inside of an arbitrary polygon. A
patient user requested it a few months ago and it does sound like an interesting
October 19, 2015:
I recently discovered the was a perfectly good name already defined (Double Word Squares) for what I had been calling "Square Word Grids" to distinguish them from the symmetrical "Word Squares" puzzles. Double Word Squares Version 3 posted today has several major enhancements and has occupied my spare time for the past 8 weeks! I will admit that the "fun level" decreased during the period and I reverted to "never give mode" several times. The resulting product still needs polishing, but I believe that it mostly works. Please let me know if you find otherwise. The changed and new features include a revised search algorithm and revised user interface. It now takes less than a second to solve this Mensa Puzzle which the previous version could not solve in over 10 hours of run time!
Late last year, curiosity led me to investigate how license keys
or serial numbers might be created. Activation procedures requiring
name, email address or other personal information lead me to believe that the
assigned key contains data used for verifying that the user is the owner.
A user recently uncovered a couple of bugs when a larger number of fields or
special characters are included.
License Key Demo Version
1.2 corrects these and a couple of others discovered during testing,
September 24, 2015: A fellow Delphi programmer
recently inquired about writing code to control the master volume level on a
Windows PC. I searched online and found the key unit (MMDevAPI) connecting
the Delphi code to the Windows internal volume control routine online.
Here's a Master
Volume Demo which includes the MMDevAPI unit and a demonstration program
to verify that it works.
September 20, 2015:
We have more trees on our
property than I can ever use for firewood. A small sawmill has long been
on my wish list, but its cost makes it a toy that's hard to justify. A
horizontal band mill (bandsaw laid on it's side and mounted on a
track) is the most common type for small operators and prices start at a few
thousand dollars. For this mill type, logs lie on the bed and are rotated
as required to cut boards and beams. As a substitute for a mill, I wrote a program
several years ago to display log sawing patterns for use on on my non-existent
horizontal band mill. Requests from two real saw mill owners this week led
me to revisit the program. Log Saw
Patterns V1.2 posted today fixes a small bug which subtracted blade
thickness twice for some cuts when
cutting around a fixed width cant. I also added the ability to save and reload
setup parameters by name reference. The guys have more good ideas for
improvement which will appear in a future version.
September 13, 2015: The anagram feature of the Word Completion section of our Wordstuff wrapper program was preciously only available if no words were found when filling a single missing letter. A recent puzzle required finding anagrams even when there were words found without anagramming. Word Completion Version 2.3 adds a check box to force anagram searches in either case.
September 8, 2015: No joy yet on the Double Word Squares Solver described last time. In the meantime though, today's calendar puzzle is a logic problem about 3 girls and the ordering of number of train rides taken and countries they visited. I worked on it for about 15 minutes before deciding to revisit my Logic Problem Solver program. Another 15 minutes entering the problem and encoding the facts and rules produced the solution. The problem is now included in the Logic Solver downloads as Girls_Visiting_Europe.prb. The program by default runs in User mode, providing you with the problem and variable names and possible values predefined. It's up to you to enter facts and rules using program templates. (For example: from the given statement "Betty has not taken the most train rides", we can deduce and enter the fact "Betty isn't T3" where T3 is shorthand for the person with the most train rides.) The program's "Author" mode will give you the 3 ffacts and 2 order rules that I fed the program to produce the solution.
August 30, 2015:
I have been working without success on an upgrade to our Square Word Grids program to improve the search algorithm for 5x5 double word squares. "Word Squares" are N x N square word grids consisting of the same N words each containing N letters running horizontally and vertically. "Double Word Squares" are similar except that the words in each direction need not be the same. The program search for the solution to the puzzle illustrated here ran for 10 hours without success. My September project will be to crack this nut.
In the interim, I updated the "Crossword Helper" (aka "Word Completion") to version 2.21 to allow completing partial words using only letters provided. This allowed me to complete this puzzle with a little extra effort. The Wordstuff wrapper download includes the revised Crossword Helper program.
August 23, 2015: Most of this month has been spent on outdoor activities. Due to generous rainfall and moderate temperatures this summer, trees and shrubs have tried to take over driveways, trails and yards. With my trusty chainsaw and a new wood chipper, I have almost broken even in reclaiming the space that nature is trying to confiscate. Of course, she will always win in the long run.
Which reminds me, my book-of the-month is The Canon by Natalie Angier. It really is "A Whirligig Tour of the Beautiful Basics of Science".. She is something of a wordsmith, but the knowledge conveyed here reminds us of what an infinitesimal part of the universe we represent. For example, our rather small sun is one of billions but still converts 700 million tons of hydrogen to helium every second, has done so for 5 billion years, and will do so for 5 billion more before it runs short of fuel and starts its expansion to a giant red star! Highly recommended.
Of course, I have also kept up this month with the daily Mensa Calendar puzzles. Here's an interesting one from August 18, which can be solved with the aid of our Brute Force algebraic equation solver.
Nine Knights numbered 1 through 9
are seated at the Round Table in such
a way that every knight's number is
at least 3 higher or lower than its
adjacent neighbor. Also, the two
knights at the end of the horizontal line
sum to an even number. With knights
2, 6, and 8 seated as shown, seat the
rest of the knights,
The unique solution can be found by assigning variables to the missing positions and defining equations using Absolute Value (abs) and Modulo (mod) functions. The puzzle file is now included in the Brute Force downloads as Mensa-08-18-15.prb
July 28, 2015: A fellow Delphian recently asked if it was possible to highlight a particular word wherever it occurred in a DBGrid. I gave him some suggestions but didn't hear, back so I decided to try it for myself. I used a StringGrid to create a demo in our Delphi Techniques section which should transfer to DBGrids. As usual (and thankfully), there were a few unexpected complications to sharpen problem solving skills and keep programming fun. Check out the GridWordHighlight page for more information and downloading the code.
July 17, 2015: A couple of years ago I posted a bulk Find and Replace program which would scan text files in a given folder which match given file name mask and change all occurrences of a given string to a new replacement string. I recently needed to process a set of files of email addresses and replace all "@" characters with commas (",") so that Excel could automatically break out the website address parts into a separate column. The files happened to be in Unicode character format (2 bytes per character) which my program didn't handle correctly. Find and Replace Version 2 posted today corrects that. Both ANSI and Unicode character files can now be processed correctly.
July 8, 2015:
Chess PGN (Portable Game Notation) is a widely used format for recording chess
games for historical or study purposes. There are many playback
programs available and the world didn't need another. However a DFF
viewer requested it about 10 years ago and I couldn't locate an existing one in Delphi, and
it sounded like (and was) an interesting project.
Chess PGN Version 5,2 posted today has a
small change which doesn't change the executable results but prevents aborted
execution after recompiling with data range checking.
The What's New Archives
(Click to expand)
July 7, 2014: Note: this "Collapsible" month by month list of postings since year 2000 is not collapsing for some reason, making this a very large home page. Until it gets fixed, you can reference the complete quarter by quarter list of postings on the Newsletter page.
Copyright © 2000-2015 , Gary Darby
All rights reserved.