What's New -  February, 2016


February 10, 2016:  Sound Generator is a program which can create complex tones by combining multiple frequencies.  Sound Generator Version 3.0  uploaded today adds an option to easily create the "Touch-Tone" sounds used in modern landline telephone connecting protocols.   The technology referred to as Dual Tone Multi-Frequency, DTMF, encoding. It combines two frequencies to create 16 distinct tones for  digits '0' through '9', letters 'A' through 'D', plus '*' and '#' special characters as illustrated in this grid at right.  Multiple characters in a string may be played and saved  in a "wave" audio format file.  This may prove useful in a future program decoding audio tones back to characters.     

February 14, 2016:  Aussies always like to break the mold and do things differently.  They did it again with Daylight Saving Time (DST) calculations:  Time Zone Demo Version 2.1 fixes two problems uncovered by a Brisbane programmer when he reported the demo program crashing.  Problems when DST crosses a year boundary or regions with no DST at all (like Brisbane!) should now be fixed.  The program  now reports correct end dates for Southern Hemisphere regions and "no DST for this location" instead of crashing when there is none.   Changes have not been tested, but someone down under will surely let me know if  the problems still existJ.    


February 20, 2016: 

Coal to Diamonds is a wicked hard puzzle to solve.  "Coal" is changed to "Diamond" in a thee step process. Each click of a cell of a 3x3 grid advances all elements in that row and column by one step.    A high school student learning Java (L) had a version of this puzzle in a coding competition except the goal was all coal instead of all diamonds   ([000 000 000] instead of [333 333 333]).   I cleaned up some of the screen formats and text and added user control of the goal state in Coal to Diamonds Version 2.0

 February 21, 2016:  For programmers -  I wrote a Countdown timer control several years ago because I needed one for a puzzle program with a time limit.  I later modified it to also "count up" in order to time long-running programs.  I just added an "TimerPop" event exit to let the calling program check once per second to take any desired action based on run time or time remaining.  The control is included with Countdown Demo Version 2.1 which now tests the feature by beeping once per minute.