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
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.