Delphi For Fun Newsletter #84

April 7, 2017

This will be an abbreviated introduction this quarter.  My FrontPage website builder program is dying a slow, agonizing, death.  We have had three outages this quarter  as host site  EasyCgi upgrades and makes changes for better security (I assume).  For sure they no longer have anyone with FrontPage expertise.  As of yesterday I can no longer update the site directly so I'm composing this offline and will try to get it uploaded via FTP.  I'm still on the fence about whether to find a new host site with better support, or start a conversion process with a different website building program.  The latter is  my preference, but there is no replacement that is as user friendly as good old FrontPage.   In any event I'm going to take a week or two to plan the future of DFF and work on an interesting (and  paid!) side project.   More on both of those "to do" items will be posted later.   

In the meantime, here are the "What's New" items for the 1st quarter on 2017:  


January 24, 2017: 

In 2002 I posted a simulation of a "machine" that played TicTacToe with 304 matchboxes representing all unique grid configurations and colored beads for each available cell in that configuration.  The machine, MENACE, was invented by British Researcher Donald Michie in 1960.  I've forgotten the entire expansion of the MENACE acronym, but the "NAC" part stands for "Noughts And Crosses", the British name for TicTacToe.  

The machine plays first and plays X's .  It learns as games are played by increasing the number of beads  in positions with X's in each box (moves are boxes) which led to the win  and taking beads away for losing  box  sequences.  I was contacted last month by a programmer wanting to investigate alternative learning algorithms.  That led me revisit the program, which led to TicTacToeMachine Version 2  posted today.   The new version has more options for watching the machine learn and more strategy choices in "AutoPlay" mode when the program is playing the role of opponent.


February 2, 2017:  One of the shortcomings of prior versions of our Square Word Grids program was their inability to solve 5x5  problems except when it generated them.  I'm embarrassed to admit that I forgot about rewriting the program in October 2015, and renaming it to "Double Word Squares".   The good news is that the the older versions could not solve this recent Mensa Calendar puzzle that today's posting does, so the January coding and debugging hours were not in vain.  Check out Square Word Grids Version 3 to see if you are as smart as the program. 



February 5, 2017:  It's been 10 years, since my last visit to the Catapult Simulator.   A grandpa is currently using the program with his grandson to design and build one that will throw a Hershey's Kiss 31 feet! The program needed a few tweaks to handle a projectile weighing a fraction of an ounce, but  Catapult  Simulator Version 2.2 should do it.  For display purposes, here's a sample design that throws a 1 ounce weight about 8 feet.  1/5 ounce Kiss would go much further.


February 10, 2017: Some users have been receiving  "Malicious website" warnings recently when they try to download zip files containing executable files from DFF.  The warnings are (were) triggered by 5  infected files.  For now I have removed these files:,,, Syllables,zip, and   The infections occurred on the website and nothing has shown up as infected on my computer.   The source code for these 5 programs is not infected and still available on the website.  Browsers should remove the warnings when they get around to scanning the website again.    Until then, Google Chrome will actually issue a false positive for ANY executable download attempt, declaring it to be infected when it is not.

It's disturbing that  these infections could occur with no symptoms.  I have changed my master password for the website and will be checking daily for any re-infection.  

In the meantime, if you want the executable for other programs and receive "Malicious site" warnings , a user pointed out a free anti-virus scanner VirusTotal, which will scan and verify any link.   There are a number of  free, easy to use,  "website malware scanners" available  online.  The most useful ones actually download and scan files for virus infections.  These report the website as "clean" today.  Others merely check blacklists and report the website as infected when it finds the URL on any list.  Those are still erroneously reporting the website a infected based of the list created by Google Chrome.   Hopefully we will soon be given a pardon by Google.


February 11, 2017:  It looks like Google rescanned the website last night and gave us the all clear "Get out of jail card".  All files can be downloaded today by any browser without warning messages.  Whew! 

February 14, 2017:  I re-posted the clean copies of the five corrupted  program executables  removed 4 days ago:

  • DTMF Reader,  A hardware & software project that listens to Touch Tone  (Dual Tone Multiple Frequency) phone line signals and decodes them to show or save the numbers dialed.
  • Instant Insanity: A bare-bones solver of puzzles requiring that a stack of four cubes with one of 4 colors on each face be arranged so that each side of the stack shows all 4 colors.     
  • Missionaries:  A user playable solver of the traditional river crossing puzzle involving a small boat, missionaries, and cannibals who love to eat missionaries if they get a chance.
  • Syllables:  Knows how to split words into syllables using a data base and rules.   I'm going to enhance this one to also syllabize foreign words in our DFF dictionary.       
  • Volume Control Demo:  How to change the computer's speaker volume with a Delphi program.  


February 27, 2017:  A programmer trying to convert Latitude/Longitude coordinates to points on a Mercator projection recently wrote asking for help.  I pointed him to our Traveling Salesman Program which uses a standard map with locations assigned Latitude and Longitude coordinates and  computes the shortest distance to visit all of a selected set of locations.  However the program would not compile with Delphi versions after Delphi 7.  Traveling Salesman  Version 3.1 posted this week uses compiler directives to determine Delphi version and generate code which should compile under old or new Delphi versions.  As usual when a program is revisited, text errors were corrected and forms layout and displays improved over the previous version.         


March 6, 2017:  Several years ago, a buddy of mine took on the  design and implementation of a children's water fountain with multiple nozzles squirting at random intervals and durations.  I created an animated simulation to illustrate what it might look like.  The result was posted here in the "Delphi Techniques" section as an example of how to draw on a graphic control. (a "TNozzle" in this case).  You can view a picture of the resulting real "Splash Pad"  here.

 A Delphi programmer recently sent me his attempt to move the TNozzle  class to a separate unit and found that the his drawing attempts were displayed in the wrong place.   The solution was to draw on the  canvas of the TNozzle Parent property.   ShapePaint Version 2.0  demonstrates how to do this. 

March 19, 2017: CutList Version 4.05 posted today  corrects a few misspelling and truncated text errors  caught by a couple of sharp eyed users.  Thanks to Karson and Anthony for taking the time to let me know.  


Quotes from past Newsletters (continued):

DFF News #22: October 29, 2001: "Somewhere, something incredible is waiting to be known."  Carl Edward Sagan

DFF News #23 December 9, 2001:  "Computing per se is a useful thing: learning it is difficult for most people, but ... there is no reason why the task cannot be made mildly entertaining and fun."  Fred Gruenberg  (look him up!) 

DFF News #24, January 27, 2002:  "It's kind of fun to do the impossible." -- Walt Disney  

DFF News #25, March 12, 2002: "Whether you think you can or think you can't,  you're probably right." - Henry Ford  

Click to subscribe or unsubscribe or to provide Feedback.

357,500 site visits by 233,000 unique visitors with 411,000 program downloads in the last 365 days!