Delphi For Fun Newsletter #23



Sunday December 9, 2001
Delphi For Fun Newsletter #23
It's been an interesting month here on the mountain.  We moved the site from a Unix based host to a Windows server.  The jury is still out, but reliability (uptime) of the server is definitely worse.  They assure me that it has been a non-typical couple of weeks, so we'll see.   On the plus side, we have more disk space and can write Delphi programs that run on the server and build output webpages.  You'll find a link to my first, an Accelerated Reader Book search program for my granddaughter's school,  listed below.  
This is the first issue of DFF newsletter on the new listserver.  If you don't get your copy, let me know.  :>)
Here's the rest of "What's New"  since last time:
November 4, 2001:  I really like problems that are simple to state but still hard enough that PhD types write papers and articles about them.   Here's the latest:  "Put some dots randomly on a piece of paper and draw the smallest circle that encloses them all".    I couldn't believe that the solution was as complicated as the algorithm given by Dr's Elzinga and Hearn.   So in this Circle Covering Points program you can see my five attempts as well as the Elzinga-Hearn solution. (Big surprise -  they were right!). 

November 6, 2001:  The erroneous  virus warning that went out as a result of  the October  30 newsletter has been resolved.  Here's a transcript of communications with TrendMicro, the producer of the "ScanMail" virus scanner that sent the message in the first place.  They agree that there was no virus,  the email reply produced by ScanMail was misleading and say that their latest release corrects the problem.    Another learning experience under our belts! 

November 11, 2001:  Here's a 10 year old TileFit program that I resurrected the other day to help design a new computer desk for my office.   And  a less-than-professional picture of the original slate-tile table project


November 15, 2001:  I will be switching this DelphiForFun site to a Windows based host sometime in the next week (more space, same cost, and ability to run Windows web programs).    Tests are looking good, but email stuff, like Feedback and the Newsletter  can't be pre-tested.  Another item that cannot be tested in advance is the domain suffix.  You may  have noticed that we have domain names and which can be used interchangeably through some Internet magic called "domain pointing".  On the old system, is the real domain and points to it.   On the new host, the roles will web reversed, so if the .com suffix stops working,  try .org. 

 November 18,2001:   Check out this link an Accelerated Reader Search  web page that calls my first Delphi CGI program - a program that runs on the host server and is called from a web page and builds an output web page.  The program  was one of the motivations for switching to a Windows based server.   It searches a file of available  Accel. Reader  books at my granddaughter's school and builds a page of sorted results.     Not really part of DelphiForFun, but it was an interesting experience.   


November 19, 2001:   Here's a program that implements a human vs. human version of the game of Hangman.   A future version will use our dictionary to let the computer join in but this will get the basic drawing and word checking concepts out of the way.   300 lines of code make this an Intermediate level program (100 lines or so of those are just hard coded directions for drawing pieces of the image though).   Granddaughter Kaitlin, 10,  helped design the hangman - she decided that programming was harder than she thought!

November 20, 2001:  Well, guys and gals, we are now Windows hosted - for better or worse. Both and  seem to reach to this site today.   I'm a Windows bigot and have looked down on Unix guys for 20 years.  But --- the new host server has died  several times during prime time since we started testing.  This is in addition to a scheduled reboot at 3AM each day.  In the year we were Linux hosted, I recall only 2 outages.   Whether this reflects a difference in operating systems or host competency, I'm not yet sure.  I happened to be looking at site statistics a few minutes ago (10:00 am here on the East coast), when the site went down for 10-15 minutes,  affecting 7 DFF users.  I hate that  as a user and I hate it even more as a webmaster.

November 23, 2001:  Find  a six  digit number that, when multiplied by some integer between 2 and 9,  produces a number that has the original digits reversed.   Reversed Numbers is a beginner's level program that has  30 lines of user written code and takes about 1/2  second to generate both valid solutions.     

November 24, 2001:  Site was down for several hours today.  Some user's program (not mine!) is bringing the shared server down and they are "working on it".    I'm rapidly losing faith in Windows (or at least Windows NT) as a server, but not much choice in the short term except to be patient.   

November 30, 2001:   Site availability seems to have stabilized Wednesday, Thursday, and today.   Outages have been down to 10-15 minutes each day, their daily server reboot I assume.   Monday had a long  2 1/2 hour outage and Tuesday had 2 hours of downtime spread across 14 outages!  I'm keeping my fingers crossed that the current stability is the norm.    I've been working on the Accelerated Reader Search page this week, fixing a couple of bugs in the Delphi "search and sort" program and adding some JavaScript code (ugh!) to "Flag" and "Unflag" all selected records for printing.   Too bad Borland can't get Delphi included in every browser.    Well, Thanksgiving's  over and deer season ends tomorrow, so maybe life will get back to normal here on the mountain.    

December 3, 2001: I started working on the "Square Root Piles" problem this week, and realized that I didn't have the source for the "Huge Integer" unit I had used to generate combinations. So, not liking the structure of anything I found online, and just for the fun of it, here's my version of a Big Integer Arithmetic unit posted over in Delphi Techniques.    It's a "quick and dirty",  2 days of coding time, and pretty much simulates what you would do with pencil and paper to add, subtract, multiply or divide numbers that are dozens, or hundreds of digits long. Other methods available include Assign, Modulo, Factorial, Compare, and ConvertToDecimalString. I wouldn't want to enter any speed contests with it, but it seems fast enough for now. 

December 5, 2001:  Oops!  I replaced the Big Integer Arithmetic unit today, zeros interior to quotients after divide operations were somehow missing (123456 divided by 112 returned 112, not 1102).  

December 6, 2001:  This Car and Goats program implements a probability game that has stirred a lot of controversy over the years.     You're a contestant on a game show trying to choose which of three closed doors has the new car behind it (goats behind the other two).  After you choose, Monty Hall, the host, opens one of the other doors revealing a goat and offers you a chance to switch doors.  Should you?

By the way, I have had a number of feedback emails from viewers who are interested in the problems, but not the programming.  Toward the bottom of each program page you will find a "Download executable" link that will let you retrieve and run the program without any Delphi code or knowledge.   (But  "getting there",  the coding,  is at least half the fun.)    

December 8: 2001: Yesterday was a lost day at DelphiForFun. There were  more "hardware"  problems at the new host site so we were down most of the day.   Here's a page with  transcripts of communications with if anyone is interested in the not-so-fun part of running a website



"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!) 
To subscribe or unsubscribe from this newsletter, visit
10,908 home page visitors!