CalCOOLator! for Pilot 0.91 NEW! Added more workarounds to the 1.1-0.1=0.1 bug!!! Introduction ------------ CalCOOLator! is a replacement of the calc application bundled with the Pilot. It's a very basic application, only slightly more featured than the original one. It's also considerably uglier. It has the same bugs (except for the infamous 1.1 - 0.1 = 0.1, about which see the section about Bugs), and probably a few more. The main difference is that it finally overcomes the problem of single field calculators. It may have had a sense to build them in the seventies, when LCDs were expensive and graphical user interfaces were three generations ahead. Mimicking those calculators in the nineties is ridiculous. So calCOOLator! has two fields: enter an expression in one field, and see the result (while you are typing it) in the other. The expression can be entered both by tapping on the buttons and by writing the characters on the Graffiti pad. You can then re-edit the expression, change the numeric values, the operators, etc. without needing to rewrite the whole thing. CalCOOLator! only accepts numbers, operators and parenthesis. Any other character is refused. On the other hand, the Graffiti strokes for some letters are similar to the ones used for numbers. Therefore, you can enter the numbers and operators on both sides of the Graffiti pad, and they will be equally well understood. These are the correspondences: zero 1 2 3 4 5 6 7 8 9 + - * / Clear o i z b l s g t y q k SP x \ = CalCOOLator! also has 5 memories that can hold any entered expression. MS, MR and MC are three popups that can be used to store, retrieve and clear expression in, from and off the memories. You can reuse the result of an expression for a new one. You can swap the content of the fields by dragging either field to the other one (or you can use the menu command for this). Beware: CalCOOLator! is still in beta testing. It may harm your data, applications and health. Use only as directed. Void where prohibited. Version History --------------- 0.91 (10/5/96) Provided a fix to the workaround to the 1.1-0.1 bug, to handle also the reciprocal problem of 0.9+0.1. 0.9 (10/4/96) Provided a workaround to the infamous 1.1-0.1=0.1 USR bug, and removed the zeros at the end of numbers between -1.0 and +1.0. 0.8 (9/27/96) Initial release. Known bugs and problems: ------------------------- * 1.1 - 0.1 = 0.1 : After some nice and some not so nice remarks about putting out an application that is subject to this bug, version 0.9 provides a workaround to it. The problem lies in the Floating Point library that comes with the Pilot SDK. I suspect there are two different floating point representations of 1, one which is correctly translated as 1 (actually, 1.00000000e0), and the other is incorrectly translated into 0.1 (actually, 1.00000000e-1). Both provide correct results when used in expressions (thus, 1.1 - 0.1 + 3.5 correctly returns 4.5). Version 0.9 of CalCOOLator! intercepts the incorrectly translated representation of 1 and substitutes it with the correctly translated one. This is a dirty trick, that gives no guarantee to identify and correct a different representation problem caused by the same bug in the library. Nonetheless, all the expressions that should return 1 and return 0.1 on the Pilot calculator return now correctly 1 on CalCOOLator! version 0.9. The author would appreciate receiving examples of further incorrect representations (or calculations, in case there are some). Version 0.91 also checks for the reciprocal problem of (among others) 0.9 + 0.1. I would like to thank Stephen Schwartz for pointing it out. * Fields' content and memories are not preserved from one run of CalCOOLator! to the next one. The feature is actually disabled (the code is already in place) because there is still a bug that makes me afraid of tough problems. * Memories are substituted to the actual content of the field, instead of inserted in place of the current selection. * Pilot calculator reacts to its competitor by always starting with an error condition and the memory set. I am not aware of any negative effect of this strange behaviour. I suspect jealousy and calling twice FplInit(). Shareware --------- CalCOOLator! is shareware. If you think it's worth something, please pay the shareware fee of $10 to: Julie, Rebecca and Kurt Bieber 125 Florence Avenue Westfield NJ 07090 USA Julie (1), Rebecca (6) and Kurt (8) are the three kids of my friend Michael Bieber, and they have helped me a lot during my period in the states, in Roselle Park NJ, January-July 1996. I know they (well, Kurt and Rebecca only, at the moment) like Lego a lot. ("Dear Santa, I could always use a few more Legos"). Please specify "shareware fee for CalCOOLator by Fabio Vitali" on the check and/or letter. Fabio Vitali, the author, retains all rights over the application. The source code, sparsely commented, can be obtained from the author for $100. He can be reached at the following address: Fabio Vitali P.O. Box 154 I-40033 Casalecchio di Reno (BO) Italy fax: +39 51 6130140 e-mail: fabio@cs.unibo.it By registering you get nothing. If you care, drop me a note after you sent your shareware fee to the Bieber's and I might remember of you for unlikely program updates and maybe even for Christmas cards. Future Pilot Projects --------------------- ConVERter: a multiple, bidirectional, customizable linear converter. Converts any value expressed in any unit to any other comparable one: km to miles, $ to DM, Celsius to Fahrenheit, etc. Expense tracker: sort of Money, but simpler. I spend my holidays traveling thru Europe with some friends. All shared expenses are paid by whoever happens to be present at the moment. A log used to be kept to find out at the end who owned how much to whom. Guess who has always been in charge of keeping this log? Exactly. Now I'm tired, and I want an application to do this thing for me. Yes I know it's trivial with Excel, but I don't want to bring my Mac with me. The FV suite: improved versions of the four applications bundled with the Pilot: minimal changes to Address and Memo Pad, major changes to the Date Book, complete rethinking of the To Do. Expect any one of them any time between now and 2025.