It's been a long time since the submissions for this were due (nearly two months, I'm embarrassed to admit), but at last I found time and motivation in my schedule to finish grading the Contest #6 entries. We received eight entries covering a variety of types and programming styles, some exemplary, some needing significant polishing. In the end, we found two clear winners, one each for the Pure BASIC and Hybrid BASIC/ASM categories.
Congratulations to Jake Roussel and Nathaniel Verhaaren, the programmers of Toolkit v2.1, Contest 6's winners for the BASIC category. They put together an impressive entry that was functional, useful, and well-coded. An Honorable Mention goes to Matt Pierce for Index83, a small and efficient reference to the TI-83 family's functions. Honorary userbars for the winners are below, and the winners will be notified of prizes shortly.
Congratulations to Brandon Wilson, unsurprisingly the winner of the Hybrid BASIC/ASM category with Hookman. The fulfillment of several years of false starts by various members of the community, Hookman at last provides an application to manage hooks installed by different applications, seamlessly handle chaining to avoid conflicts, and even patches the OS to keep things running smoothly. Although it's not 100% complete (although by the time I finished grading the contest, it might be), even in the form I tested it was very handy. An Honorable Mention is due to ZagorNBK for XDCS, an impressive xLib clone of the Doors CS 6 GUI system. Honorary userbars are below, and Brandon will shortly be notified about prizes.
Thank you once more to all the participants, winners and not; almost all of you submitted excellent programs, and I look forward to seeing you in future contests that will hopefully be graded a bit more promptly.
Natural Polynomial by Kevin Horowitz
Category: Pure BASIC
Size: 7/10 [3.16KB]
Speed: 8/10
Unique-Useful Score: 7/10
Features: 7/10
Comments:
---------
This program was well-made, seemed mathematically sound, and functioned under most of the test cases given to it. A few limitations were encountered, including an inability to divide polynomials in which the denominator had a higher degree than the numerator (lack of partial fraction implementation) and a lack of even partial support for negative powers. That said, the implementation was admirable, particularly the advertised ability to input natural polynomials (ie, 3X^2 + 2X + 1 instead of sequential prompting for coefficients). This program would certainly be useful for Algebra 1/2 students, some Calculus students (although admittedly the calculus it performs is relatively trivial), and as a general reference tool for math, science, and engineering students.
OVERALL: 29/40 + 2 bonus for excellent documentation = 31/40
Divisor by Anders Tiberg
Category: Pure BASIC
Size: 9/10 [0.23KB]
Speed: 3/10
Unique-Useful Score: 1/10
Features: 3/10
Comments:
---------
The author seemed to be using some fairly sophisticated coding tricks with litss to parallelize the search for factors, but it did not seem to be accurate: it claimed the divisors of 100 are {100,9}; of 10, {10,4}. The inaccurate results and its apparent ability only to derive one (usually wrong) factor of the number plus the number itself brought this programs score way down. This, and the fact that the concept is fairly unoriginal, is unfortunate since the coding style of the program appeared to be quite good.
OVERALL: 16/40 + 1 bonus for a readme = 17/40
XDCS by ZagorNBK
Category: Hybrid BASIC
Size: 7/10 [1.55KB]
Speed: 5/10
Unique-Useful Score: 8/10
Features: 8/10
Comments:
---------
This was a quite impressive remake of the Doors CS GUI system in hybrid BASIC using xLib. At first I was unable to get the demo program (another 0.8KB) to function properly, but then I read the readme more carefully and saw I was omitting something important, which impressed me that the documentation was well-written. The graphics and functionality are flawless; the only drawback is that the speed of the mouse movement was quite low. Overall an excellent concept and execution.
OVERALL: 28/40 + 2 bonus for a excellent readme = 30/40
Index83 by Matt Pierce
Category: Pure BASIC
Size: 8/10 [3.96KB]
Speed: 8/10
Unique-Useful Score: 7/10
Features: 6/10
Comments:
---------
The only reason the Unique-Useful score for this program is 7 instead of 9 is that there is already an application that duplicates this program's functionality, logically called CatalogHelp, but this program is much smaller and very useful, so I felt its usefulness made up for its slight lack of uniqueness. The program was fast, had brief but sufficiently-detailed entries on each command, and gracefully handled strings and commands not in its database. The size of the program itself is tiny; the majority of the 4KB it uses is from its command database. A well-written and composed entry.
OVERALL: 29/40 + 1 bonus for a good readme = 30/40
Finder by Jonah Scheinerman
Category: Hybrid BASIC
Size: 5/10 [5.15KB]
Speed: 6/10
Unique-Useful Score: 5/10
Features: 9/10
Comments:
---------
A very interesting concept, a non-VAT filesystem for the calc with folders, cut/copy/paste, program execution and importing, etc. My only qualm is that I think in the long run people would be more likely to use a shell like Ion, MirageOS, or Doors CS instead, even if their filesystems are simply VAT hacks.
OVERALL: 25/40 + 2 bonus for excellent readme = 27/40
Hookman by Brandon Wilson
Category: ASM
Size: 8/10 [16KB]
Speed: 7/10
Unique-Useful Score: 8/10
Features: 7/10
Comments:
---------
This program is certainly very ambitious, which is which it earned such high scores despite being a bit less immediately-applicable than some of the competition. This program manages chained hooks, and is the culmination of several advertised, failed, and otherwise incomplete attempts by various authors in the past. Almost everything was implemented, though not tested, and this will certainly end up being extremely useful for users once it is complete.
OVERALL: 30/40 + 1 for good readme = 31/40
Toolkit v2.1 by Jake Roussel and Nathaniel Verhaaren
Category: Pure BASIC
Size: 6/10 [17.61KB]
Speed: 8/10
Unique-Useful Score: 7/10
Features: 9/10
Comments:
---------
Although a huge program compared to the majority of the other entries, this was not unreasonably large given its extensive feature set. This program contains similar features to many general math toolkits before it, but is an excellent example of the genre; it lost points on "Unique", but made them up in "Useful". I was particularly impressed by the built-in descriptions of the functions of each of its subprograms, making it easy for another programmer to add functions to this toolkit within their existing framework. The graphical menu is easy to navigate, and my sole complaint is some missing on-calc documentation and reasonableness checking for input numbers.
OVERALL: 30/40 + 2 for excellent readme = 32/40
Linear Multiplication by Isaac Nygaard
Category: Pure BASIC
Size: 6/10 [3.9KB]
Speed: 8/10
Unique-Useful Score: 7/10
Features: 6/10
Comments:
---------
This is a fairly well-written program to perform polynomial math including adding, subtracting, and multiplying polynomials. With the included zero solver, all the rational zeroes of any given polynomial can be found as well. The program ran well and fast, although a quick perusal of the code revealed some slightly suboptimal coding; this was one of two entries that I had to open and save in SourceCoder to get it to load on a calcuculator without failing.
OVERALL: 27/40 + 1 bonus point for good readme = 28/40
Congratulations to Jake Roussel and Nathaniel Verhaaren, the programmers of Toolkit v2.1, Contest 6's winners for the BASIC category. They put together an impressive entry that was functional, useful, and well-coded. An Honorable Mention goes to Matt Pierce for Index83, a small and efficient reference to the TI-83 family's functions. Honorary userbars for the winners are below, and the winners will be notified of prizes shortly.


Congratulations to Brandon Wilson, unsurprisingly the winner of the Hybrid BASIC/ASM category with Hookman. The fulfillment of several years of false starts by various members of the community, Hookman at last provides an application to manage hooks installed by different applications, seamlessly handle chaining to avoid conflicts, and even patches the OS to keep things running smoothly. Although it's not 100% complete (although by the time I finished grading the contest, it might be), even in the form I tested it was very handy. An Honorable Mention is due to ZagorNBK for XDCS, an impressive xLib clone of the Doors CS 6 GUI system. Honorary userbars are below, and Brandon will shortly be notified about prizes.


Thank you once more to all the participants, winners and not; almost all of you submitted excellent programs, and I look forward to seeing you in future contests that will hopefully be graded a bit more promptly.
Natural Polynomial by Kevin Horowitz
Category: Pure BASIC
Size: 7/10 [3.16KB]
Speed: 8/10
Unique-Useful Score: 7/10
Features: 7/10
Comments:
---------
This program was well-made, seemed mathematically sound, and functioned under most of the test cases given to it. A few limitations were encountered, including an inability to divide polynomials in which the denominator had a higher degree than the numerator (lack of partial fraction implementation) and a lack of even partial support for negative powers. That said, the implementation was admirable, particularly the advertised ability to input natural polynomials (ie, 3X^2 + 2X + 1 instead of sequential prompting for coefficients). This program would certainly be useful for Algebra 1/2 students, some Calculus students (although admittedly the calculus it performs is relatively trivial), and as a general reference tool for math, science, and engineering students.
OVERALL: 29/40 + 2 bonus for excellent documentation = 31/40
Divisor by Anders Tiberg
Category: Pure BASIC
Size: 9/10 [0.23KB]
Speed: 3/10
Unique-Useful Score: 1/10
Features: 3/10
Comments:
---------
The author seemed to be using some fairly sophisticated coding tricks with litss to parallelize the search for factors, but it did not seem to be accurate: it claimed the divisors of 100 are {100,9}; of 10, {10,4}. The inaccurate results and its apparent ability only to derive one (usually wrong) factor of the number plus the number itself brought this programs score way down. This, and the fact that the concept is fairly unoriginal, is unfortunate since the coding style of the program appeared to be quite good.
OVERALL: 16/40 + 1 bonus for a readme = 17/40
XDCS by ZagorNBK
Category: Hybrid BASIC
Size: 7/10 [1.55KB]
Speed: 5/10
Unique-Useful Score: 8/10
Features: 8/10
Comments:
---------
This was a quite impressive remake of the Doors CS GUI system in hybrid BASIC using xLib. At first I was unable to get the demo program (another 0.8KB) to function properly, but then I read the readme more carefully and saw I was omitting something important, which impressed me that the documentation was well-written. The graphics and functionality are flawless; the only drawback is that the speed of the mouse movement was quite low. Overall an excellent concept and execution.
OVERALL: 28/40 + 2 bonus for a excellent readme = 30/40
Index83 by Matt Pierce
Category: Pure BASIC
Size: 8/10 [3.96KB]
Speed: 8/10
Unique-Useful Score: 7/10
Features: 6/10
Comments:
---------
The only reason the Unique-Useful score for this program is 7 instead of 9 is that there is already an application that duplicates this program's functionality, logically called CatalogHelp, but this program is much smaller and very useful, so I felt its usefulness made up for its slight lack of uniqueness. The program was fast, had brief but sufficiently-detailed entries on each command, and gracefully handled strings and commands not in its database. The size of the program itself is tiny; the majority of the 4KB it uses is from its command database. A well-written and composed entry.
OVERALL: 29/40 + 1 bonus for a good readme = 30/40
Finder by Jonah Scheinerman
Category: Hybrid BASIC
Size: 5/10 [5.15KB]
Speed: 6/10
Unique-Useful Score: 5/10
Features: 9/10
Comments:
---------
A very interesting concept, a non-VAT filesystem for the calc with folders, cut/copy/paste, program execution and importing, etc. My only qualm is that I think in the long run people would be more likely to use a shell like Ion, MirageOS, or Doors CS instead, even if their filesystems are simply VAT hacks.
OVERALL: 25/40 + 2 bonus for excellent readme = 27/40
Hookman by Brandon Wilson
Category: ASM
Size: 8/10 [16KB]
Speed: 7/10
Unique-Useful Score: 8/10
Features: 7/10
Comments:
---------
This program is certainly very ambitious, which is which it earned such high scores despite being a bit less immediately-applicable than some of the competition. This program manages chained hooks, and is the culmination of several advertised, failed, and otherwise incomplete attempts by various authors in the past. Almost everything was implemented, though not tested, and this will certainly end up being extremely useful for users once it is complete.
OVERALL: 30/40 + 1 for good readme = 31/40
Toolkit v2.1 by Jake Roussel and Nathaniel Verhaaren
Category: Pure BASIC
Size: 6/10 [17.61KB]
Speed: 8/10
Unique-Useful Score: 7/10
Features: 9/10
Comments:
---------
Although a huge program compared to the majority of the other entries, this was not unreasonably large given its extensive feature set. This program contains similar features to many general math toolkits before it, but is an excellent example of the genre; it lost points on "Unique", but made them up in "Useful". I was particularly impressed by the built-in descriptions of the functions of each of its subprograms, making it easy for another programmer to add functions to this toolkit within their existing framework. The graphical menu is easy to navigate, and my sole complaint is some missing on-calc documentation and reasonableness checking for input numbers.
OVERALL: 30/40 + 2 for excellent readme = 32/40
Linear Multiplication by Isaac Nygaard
Category: Pure BASIC
Size: 6/10 [3.9KB]
Speed: 8/10
Unique-Useful Score: 7/10
Features: 6/10
Comments:
---------
This is a fairly well-written program to perform polynomial math including adding, subtracting, and multiplying polynomials. With the included zero solver, all the rational zeroes of any given polynomial can be found as well. The program ran well and fast, although a quick perusal of the code revealed some slightly suboptimal coding; this was one of two entries that I had to open and save in SourceCoder to get it to load on a calcuculator without failing.
OVERALL: 27/40 + 1 bonus point for good readme = 28/40