The Museum of HP Calculators

HP Forum Archive 14

[ Return to Index | Top of Index ]

We can build a better calculator
Message #1 Posted by John L Shelton on 23 Jan 2004, 2:54 p.m.

Despite our shared nostalgia for great HP past products, I believe this community can cooperate to build a better calculator. Using an open community approach (similar to the large Linux community), we could develop modern software to run on modern hardware, and wind up with something much nicer than the HP 49gx+.

I've done some thinking about this, and have prepared a (rather lengthy, richly illustrated) document describing the idea. You can read about it in:

http://home.comcast.net/~john.shelton1/ICP/ICP_1.0.pdf (3mb Acrobat file)

Is there interest in forming such a community? I call it the Ideal Calculator Project.

      
Re: We can build a better calculator
Message #2 Posted by Namir Shammas on 23 Jan 2004, 3:12 p.m.,
in response to message #1 by John L Shelton

I like your idea John. We can certainly build emulators as Windows application to test the calculator. I developed something similar (that I am selling on eBay) that builds on the HP41C and adds many many commands that include matrix math, graphics, SOLVER, ROOT finder, and so on.

Getting to teh hardware is teh tricky part. I get the impression (and I may be very wrong) that the HP49G was the result of HP enthusiasts that smehow convinced HP to build a machine. Unfortunately, the HP49G was not the big hit HP expected.

Namir

            
Re: We can build a better calculator
Message #3 Posted by Arnaud Amiel on 23 Jan 2004, 4:19 p.m.,
in response to message #2 by Namir Shammas

What would be really good is to have full access to the 49g+ and have hp support to develop an open community calc that could even come in different flavours: High Shool, University and higher, games, development, and even algebric only... I agree that the hardware part would certainly be too expensive for a community project... but reusing the very capable 49g+ HW would be good.

Arnaud

      
Re: We can build a better calculator
Message #4 Posted by Ben Salinas on 23 Jan 2004, 5:41 p.m.,
in response to message #1 by John L Shelton

When I first read the subject of this e-mail, I thought of a response automatically. About a year ago (maybe 1.5 years) there was a very large discussion about building a better calculator. It was eventually dismissed because that was all it was: a discussion. There were a bunch of people all arguing over LED or LCD; Scientific or Graphing, and so on.

I read the first 19 pages of your pdf file, and I find your idea to be very fesible. It sounds like a well planned-out, well thought-through, feasible idea. (that was redundant) You have my support and access to any resources I might be able to give you. These include the eye/opinion of a child/high school student, my skills in Java programming, MasterCAM and Inventor part design, access (through me) to the Computer Numerically Controlled (CNC) Machining centers at my school (to make prototype keyboards, cases, etc) and some other stuff that I can't think of.

Let me know what I can do to help you out. -Ben Salinas Science Academy of South Texas McAllen, TX

      
better... faster... stronger... The $6 million dollar calculator ...
Message #5 Posted by Norm on 24 Jan 2004, 12:57 a.m.,
in response to message #1 by John L Shelton

need that to come out on DVD.... boxed set

:o)

still waiting for 'time tunnel'

      
Re: We can build a better calculator
Message #6 Posted by hugh steers on 24 Jan 2004, 9:07 p.m.,
in response to message #1 by John L Shelton

i like your idea a lot, but im unconvinced by java. the problem is that java is sponge in the way that would otherwise give you 5x performance. in the cruel world of cost reduction, you will need that 5x. right now, are there any dominant java chips. what i am seeing is an ever improving sequence of general chips that can made to run j2me.

whether or not you want to use java, your base arithmetic will need to be native (or almost). i have tried the idea of combining native floating point types for improved precision. currently, im using two doubles to make my base precision "real". this gives me 30 decimal digits and +-300 exponents. i get to use native ieee double implementations including hw if present. you could do the same trick in java and it would beat the pants of any in-java decimal float arithmetic.

from a software perspective, a big challenge is going to be the symbolic math. in order for the icp to really stand out, this will have to be good. ti cheated with the 92/89 by licensing derive and porting it to the 68k. its still impressive for a calculator and the icp will need to beat it. are there any open systems out there to learn from. i see this capability of the icp as pivotal, and therefore the starting point. what can be done?

            
Re: We can build a better calculator
Message #7 Posted by Ben Salinas on 24 Jan 2004, 11:44 p.m.,
in response to message #6 by hugh steers

If I understood your message correctly, you are asking whether the ICP is to design a new language (so to speak) for the calculator (such as the RPL is for HP?) or use the already existing Java Micro Edition. (Please, correct me if I am wrong)

Now, I have very little experience with electronics (I took a Digital Electronics course, but the most we did mathematically was make an 8 bit binary adder/subtractor), so I might not know what I am talking about, but would it be simpler to use the J2ME for the more complex features, such as the vectors and matrices. I was looking over the J2ME API Specifications earlier today, and although there is considerably fewer classes than in J2SE, it still includes what I find to be the most useful classes for this type of operation (java.util.vector, simple 1 and 2 demensional arrays, the hash codes, the threads, etc)... Now if only it included BigDecimal, and BigInteger. Personally, I would think that it would be easier to build off of this language for the more complicated features and use the native programming, as suggested for the basic, faster features"

"i see this capability [symbolic math] of the icp as pivotal, and therefore the starting point. what can be done?"

We definitely will need a language chosen (or a processor) in order to anything more than theory work on this, right?

A few, somewhat confusing thoughts -ben

                  
Re: We can build a better calculator
Message #8 Posted by hugh on 25 Jan 2004, 11:14 a.m.,
in response to message #7 by Ben Salinas

hi ben,

you are quite right. it would be nice to use java like j2me or even j2se. it could be the way to produce a prototype for the icp and to develop the algorithms. im not really suggesting another language, i was thinking that for performance reasons, the icp would run native code. what would be excellent is to prototype in java and then be able to compile it into a native binary. ie to run without jvm. where are we at with compiled java. i am not up to date with it and for what processors tools are available.

the symbolic front is more theoretical. its not something that can just be written like that. i am always really impressed by any symbolic ability because its so hard to do. so im asking a bit more about the requirements and design issues for this aspect of the icp, as i think it in turn affects the other choices.

best wishes,

                        
Re: We can build a better calculator
Message #9 Posted by Ben Salinas on 25 Jan 2004, 1:49 p.m.,
in response to message #8 by hugh

Last night I started thinking about this synthetic math problem, and I think I have found the way to factor. This morning I only had a little time (I will have more time later), but I created a basic (very basic) Java Class to deal with Equations. Right now it can only input equations and print them out.

I know how I am going to find a common factor of a monomial within the polynomial, but haven't implemented it yet. I also know how I am going to find a pair of binomial factors. Right now though, I must leave so take a look at this... I will work on it some more later.

www.geocities.com/piguy31415926/Equation.java www.geocities.com/piguy31415926/test.java

-Ben Salinas

*UPDATED* I rewrote the entire class, allowing for the use of multiple variables. I will probably restart again tomorrow. Note that I am only doing this to familiarize myself with programming and editing equations with coefficients and variables (no values)

Edited: 26 Jan 2004, 12:09 a.m.

                              
Re: We can build a better calculator
Message #10 Posted by hugh on 26 Jan 2004, 5:57 a.m.,
in response to message #9 by Ben Salinas

there is some stuff here on polynomial factorisation over Z: Modern Computer Algebra by Joachim von zur Gathen (Author), Jürgen Gerhard (Author)

chapter 15.

                                    
Re: We can build a better calculator
Message #11 Posted by Ben Salinas on 26 Jan 2004, 11:15 p.m.,
in response to message #10 by hugh

Well, I will have that book tomorrow evening (they have it at the local university library, where my dad works), and am working on getting a hold of an e-book copy of "Computer Algebra Systems: A Practical Guide" (http://www.math.unm.edu/~wester/cas/book/contents.html) They have it at NetLibrary, but I can't make an account until I get to school tomorrow.

From there, I guess I will start reading and learn the theory of making a CAS (easier said than done... much easier said)

Untill next time, whenever that may be,

-Ben

                                          
Re: We can build a better calculator
Message #12 Posted by eclectic_echidna on 28 Jan 2004, 1:40 p.m.,
in response to message #11 by Ben Salinas

A possible platform: http://www.gumstix.org/

-- ee

      
Re: We can build a better calculator
Message #13 Posted by Karl-Ludwig Butte on 27 Jan 2004, 7:06 a.m.,
in response to message #1 by John L Shelton

I love your idea, John, although I'm not sure Java is the right decision at this point of the project. There may be constraints/reasons to favour something else yet unknown/not discussed. And Java in general has its shortcommings, too. Another point I'd like to suggest is, not to limit physical I/O to the ones you suggested (USB/Ethernet, Printer, etc.). One of the features, that made the HP-41 so popular, was the Interface Loop with its many peripheral extensions. You may argue that this is possible with USB/Ethernet, too. BUT (and this is a big but) the hardware-/software-overhead this means not only for the ICP itself but for the peripherals, too, is tremendous. If a discussion about the I/O-/hardwareplattform-topic is still possible I'd like to suggest e.g. to have a look into the new PSoCs (Programmble System on Chip) I've read about in the January 2004 -issue (if I remeber it right) of Dr. Dobbs Journal.

Anyway, your idea is fascinating and I'd like to be part of the developing community if this project will come into existance. So please keep me up to date. Thank you very much in advance.

      
Re: We can build a better calculator
Message #14 Posted by Ben Salinas on 29 Jan 2004, 10:18 p.m.,
in response to message #1 by John L Shelton

Well, I got the Modern Computer Algebra book that hugh recommended and I like it a lot. I have read the first 4 chapters. It occured to me that I could use this as an independent study class at school (I mean, I am only reading a graduate level textbook), so I wrote up a proposal for the class.

Basically, I proposed that for every chapter, I would write a summary so that I could use it for reference in the future. Tonight I also wrote up the first summary on Chapter 2 (Chapter 1 is pretty much an introduction to mathematics) Chapter 2 covers adding, subtracting, multiplying, and remainder division for polynomials. I have my summary posted up on my website at www.studystuff.tk

Soon I am going to re-rewrite my Java equation class and start adding in classes for addition, multiplication, subtraction, division, and various other functions.

I will keep you posted

-Ben Salinas

www.studystuff.tk

      
Re: We can build a better calculator
Message #15 Posted by Ned on 31 Jan 2004, 12:47 a.m.,
in response to message #1 by John L Shelton

I thought I was the only nerd remapping a pioneer keyboard to squeeze in more functionality. I'm a computer guy, but not a programmer, so weight my opinion accordingly. Java is known throughout the biz, but since MS and Sun had the 'dissagreement' regarding licensure, i'd stay miles away from running it native in a product. Developing in Java, ok, but porting it into rom? I love the idea of redesigning the functionality of a calculator, while keeping with off the shelf construction. The ends of the design seem like the easy part, I mean the core logic, and the external design. Stick a ZiLOG inside a Pioneer, right? Of course ROM development is the tough part. I especially admire the attention to simplicity and usability. Skip the leather bound edition for now. Make a working simulator, the rest will follow. Painting a house is easy, plumbing is the real work.

I want a 'mr. potato head' calc where i put the buttons where I want them! ; )

ned


[ Return to Index | Top of Index ]

Go back to the main exhibit hall