Home | Introduction | Newsletters | Programs | Feedback
|
|
Friday April 8,
2005
Delphi
For Fun Newsletter #39
We're
not too late in meeting our objective of making this a quarterly
newsletter. For those of you who survived December's
newsletter fiasco (mail list server loop delivered 16 copies to everyone), I
hope that this time goes more smoothly. The big program
winner since last time has been Cutlist, a program that optimizes parts
lay out on
available material for woodworking projects .
In January, I responded to a
user inquiry in a Woodworkers Journal online "Ezine"
and pointed readers the download page on DFF. More than 4,000
downloads in the next 60 days moved it into top place as the most
downloaded program. And having lots of users has resulted in a
number of bugs fixed and additional features.
We had our 100,000th home page visitor last month - a milestone of sorts. Plus about 300,000 program downloads in the past 12 months. A new DFF Library section was established this month to contain units that are used in multiple programs on the website. This is mainly to reduce my workload when one of those programs changes. Also the format of the program indices has been entirely automated - they will now be more accurate than when I maintained them manually, but some control over format is lost. Still a good tradeoff from my perspective.
If
you haven't been to the site in a while, browse through this list of
additions and changes and see if you can find something that makes your
brain cells bounce a little faster than usual.
December 20, 2004: I appreciate the patience of those subscribers who were inundated with 16 copies of last week's newsletter. I ended up with more new subscribes than unsubscribes and most all the emails responses were of the tone : "I really like your site, but did you know I have received X copies of the newsletter?" You all took it better than I did. I noticed in today's "Top 25 Downloads" report than there were 82 downloads last week of the DFF Play CD, a "best-of" compilation of programs. I've been meaning to update it since there are a number of programs that have been revised and a few new ones that belong there. I promise to do the update right after the new year, so consider holding off downloading until then, especially if you have a slower dial-up connection. December 27, 2004:
January 15, 2005: HAPPY NEW YEAR EVERYONE! I took a little time off to play with grandkids over the holidays, but apparently you viewers did not, so I'm a little behind on fixes, never mind the new projects underway. If your email is over a week old and hasn't been answered with at least an "I'll look into it", consider writing again. I did post Version 2 of my Cutlist program today. The program plans the best way to cut a set of rectangular parts from a given set of supply material. Today's fixes include:
January 20, 2005: Here is a MatchMerge program which merges two text files in alpha text sequence and optionally saves the merged records in a new file. Options are provided to sort input files if they are not in sequence, and to eliminate duplicate records in the output file. January 23, 2005: I finally posted the updates to DFF Play CD this afternoon. This is a compilation of executable versions of 75 or so of our most popular programs. The initial version was posted about 6 months ago. Programs are categorized as Science, Math, Two Player Games, Playable Puzzles, Solvers, and Tricks. This is version 2 and has the following updated and added programs:
I put in hyperlinks to the description pages in the above list , in case you are interested in only one or two of the offerings. The DFF Play CD files are downloadable as DFF_Play_CD.zip, about 20 megabytes. The files may be extracted to a disk folder and run from that location or (as I originally intended) copied to a CD to hand out to the grandkids or anyone else you want to expose to math, science and the fun of learning!
January 30, 2005: We'll squeeze in one more update before the 1st month of the new year ends. I have rewritten the divide procedure used in our Big Integers unit. It's now between 10 and 10,000 times faster depending on the problem. Here's a link to the Long Division test program that I wrote to compare old and new timing and results. I also have a link there to the best paper available describing long division algorithms - essentially 23 pages written by a distinguished professor of Computer Science to describe what every 4th grader learns how to do. And which I couldn't implement in code after several days of effort until I found Dr. Hansen's paper! The human brain is a marvelous thing! The new Big Integer unit consolidates several versions that had evolved as I used it in other projects. The Big integers link above identifies the programs which have been recompiled and reposted using the new unit. As I was in the middle of this, viewer Hans Klein sent me some interesting additions (and a couple of corrections) to the original Big Integers unit. If the terms "ModPow", "InvMod", "Miller-Rabin", "Fermat's Little Theorem", "Carmichael numbers", or "RSA encryption" mean anything to you, you may want to check out the additions in the new version. Thanks to Hans for the contributions and for your efforts in testing UBigIntsV2.
February 8, 2005: Viewer Phil had written asking how to insert up or down arrows in the sort column header for a sorted string grid. Seemed like a good idea to me so I modified the StringGrid Quicksort program over in Delphi Techniques to do that.
February 22, 2005: Wow! I just updated our Most Popular Downloads report and see that there have been 2200 downloads of Cutlist in the last 30 days - most popular by far! Alert users have found a couple of minor bugs which were corrected last night ("Rotate" rotated the part above the one selected one, attempts to edit the the "field names" line in the Parts list caused a fatal error). Programmers need users - otherwise how would their code ever get tested?
March 3, 2005: An international user pointed out that the Sample projects included in the Cutlist downloads would not load properly because of the decimal point difference. A fix in January generalized the decimal separator field so that files created in Europe could be read there. It never occurred to me that my samples, which already contain the "proper" decimal point (.), would not read properly in Europe. Cutlist Version 2.1.1, posted today, corrects this problem by identifying the decimal separator of the creating system in each project file. All of the sample project files have been recreated with this information. I also corrected a problem which added an extra blank space at the beginning of each part name each time the project was saved. It is good to have real users out there helping to make things better! March 6, 2005: I have been recompiling programs that use the "Combo" unit to synchronize them with a forthcoming new and improved version. Combo contains the code that generates combinations and permutations used in many of our puzzle solving programs. The new version will have many new functions but the first step was to ensure compatibility with existing programs. In the process I have uncovered a few bugs not related to Combo usage. Here is a revised version of Countdown Plus, a program that emulates the mathematics of a British TV game show (Countdown) and which requires players form expressions that evaluate to a given value. I found many range checks and overflow errors which have been fixed. As a test of the fixes, and "just for fun", I created a few expressions that evaluate to the current year (2005) using all of the digits from 1 to 9.
March12, 2005: CutList continues to increase it's lead as the most popular download from DFF. Which is good news and bad news, because real users find real problems (good because they have been found and fixed, bad because thousands of downloads may exhibit the problem ). CutList Version 2.1.2 recently posted finally corrects the decimal separator problem which appears with European users where our "decimal point" becomes their "decimal comma". There was also a problem when items were added to the material supply list. The origins of the added pieces were not set properly which messed up the solution displays. Saving and reloading the project corrected the display. Now added pieces will display correctly even before saving the file. I decided to post the tips and techniques used to handle the decimal separator problem over in the Decimal Techniques section. International Decimal "Points" demonstrates the techniques and includes a replacement for the "Val" procedure. Delphi's version is old, old, old and knows about nothing but a dot "." as a decimal separator.
March 28, 2005: An alert viewer found that the input integers to Countdown Plus problems were limited internally to the range of -128 to +127, although larger values were accepted and displayed in the result as though everything was OK. It wasn't, but it is now. Input values can now be in the range -999 to +999 and target values in the range -9999 to +9999, for both to the user and the program. March 31, 2005: The site has been reorganized somewhat this week in order to implement a new DFF Library section of the website. The library will hold non-visual units that are used in multiple programs here. Finding and updating all of the zipped source files when one of these general usage units changed was getting to be a hassle. We'll be migrating these units to a single library zipped file over time. It will require a separate one-time download if you want to compile the programs, but I'll identify those cases clearly. The first unit moved to the library is TIntList, the Integer List component. In another step to simplify maintenance, all indices of programs are now computer generated. That required some changes to the navigational structure of the site. Use the feedback link to let me know if you see any weird pages (one of the symptoms if I messed up is a missing page title, there is also the chance that some pages that were never completed have been indexed). April 1, 2005: Many themes and shared borders are missing in the Programs section today. I would suspect an April Fool's day joke, except that I was seeing "Insufficient Disk Space on Server" errors earlier today while doing a minor update. We'll see if it magically fixes itself by tomorrow. April 5, 2005: An enhanced version of the TComboset unit was posted today as the 2nd addition to our DFF Library. Thanks to Charles Doumar for the added functions - even if I don't know why or when to use combinations in Colexicographic order. Here's a link to the Comboset test Program. It is a compatible replacement for our Combo unit which is used in many DFF programs. April 6, 2005: Here's Version 2 of our Solar Position program which calculates sunrise & sunset times, well as the position of the sun any given time for any location on earth. "Analemma" plots are also produced. An Analemma is the figure traced in a year if the shadow tip of a fixed stick were plotted at the same time each day for a year. There were a few minor bugs to correct, plus a few user suggested enhancements, plus a new experimental solar position plot (June 21 solar path at 30º North shown at left . )
http://www.delphiforfun.org/
Darby's Formula for
Success: Will Do = Want to + Can do + How to .
(Accomplishment = Motivation + Ability + Knowledge).
|
|