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
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: DTMFReader.zip, InstantInsanity.zip, Missionaries.zip, Syllables,zip, and VolumeControlDemo.zip. 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:
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
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
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
357,500 site visits by 233,000 unique visitors with 411,000 program downloads in the last 365 days!