Post Reply 
Prime lags after extensive processing
03-17-2015, 12:25 PM
Post: #41
RE: Prime lags after extensive processing
Can only have to do with lack of demand, (strange) politics, HP does not consider certain aspects worth being changed. They don't see how the little tweaks change the whole. Whatever.
I was hoping to see parts of the prime kind of re-designed mounths ago... That won't happen so I try even harder to understand why the prime has been designed the way it is.
They don't do it - we have to deal with it. Complaining won't make any responsible person rethink their point of view. You only get grumpy and tend to over react. Just like the cited shop in the last post.

I like the prime. I just want to love it.
Find all posts by this user
Quote this message in a reply
03-17-2015, 11:21 PM (This post was last modified: 03-17-2015 11:33 PM by bobkrohn.)
Post: #42
RE: Prime lags after extensive processing
Another thought I had re memory.
I said above that my program was 300k
That the Prime has 32MB or 100 times the size of my program while apparently experiencing memory space problems.
Again, I don't know what issues prevent it BUT...
With the cheap price of memory, why not put 32GB on the Prime? (1,000 time increase)
Even 1GB should be a 30 times improvement.
You can't even buy 1GB Flash Drives or SD Cards because they so cheap, obsolete and much bigger sizes are available... cheap.
Maybe it could be reserved for all this space swapping stuff that goes on and would not be directly available to the user.
If there are memory addressing problems, can you divide it up into separate "drives" like on a PC?
Am I the only person that has thought of this simple solution?

I'm going to say this again regarding the Connectivity Kit Program Editor.
HP, just approach our friend eried, offer him $10,000 for rights to his PrimeComm program and substitute that as the official editor.
Problem Solved instantly. Finished. Done. Now go on to the next problem on the list.
Find all posts by this user
Quote this message in a reply
03-18-2015, 06:23 AM
Post: #43
RE: Prime lags after extensive processing
Please consider:

(03-17-2015 11:21 PM)bobkrohn Wrote:  Another thought I had re memory.
I said above that my program was 300k
That the Prime has 32MB or 100 times the size of my program while apparently experiencing memory space problems.
No matter how large your RAM is, repeatedly allocating and freeing memory can get you in trouble outside of modern operating systems.

(03-17-2015 11:21 PM)bobkrohn Wrote:  With the cheap price of memory, why not put 32GB on the Prime? (1,000 time increase)
Flash memory is cheap, RAM isn't. I guess the Prime does have conventional RAM.
Find all posts by this user
Quote this message in a reply
03-18-2015, 06:53 AM
Post: #44
RE: Prime lags after extensive processing
Hello,

Quote:A passionatly written book would be really helpful and needed. Not only listing all possible commands but spicing them with further explanations and examples.

Like Jim's donnely's book for the 48?
Good idea, but honestly, but remember that Jim's wrote his book at least after the HP48SX Rev E came out, and maybe around the time of the 48GX, so, quite a while later. Before that, he was too buzy fixing bugs in the calculator itself to write the book...



Quote:You use L1 in your example.
Local variables should of course be used in a program. I used L1 as it makes it unambiguous that I wanted to work with a list at this point.

In a ToUpper, you will have to extract the ascii values of each of the string characters. There is no ways that a user program can do this faster than L1:= ASC(s);
The times it takes to allocate the list (a 1 of operation) will be minimal.

return CHAR(L1-((97<=L1) AND (122>L1))*32);

Then, you will need to test the numbers. Once again, using the list processing functionality will be faster than doing it programmatically in a user loop...
The final CHAR will also help as there is no need to constantly copy the string, as characters get modified one at a time as the CHAR function is 'atomic'...

The only thing that I do not like in this program is that AND... it is sad that the a<b<c trick does not work on lists... hey, anyway that a<b<c is a hack for ease of typing sake and is not perfect.


Quote:I try really hard to get used to your variable system
Now you are making me curious, what is confusing here?
Not that I think that there is no room for confusion, but if they are obviously confusing things, I would like to make sure that I understand what they are so that proper "deconfusing" documentation can be added in the appropriate places.


Quote:The confusing balance between home and cas
I do not know if you are familiar with the 38/39g series of calculators, but Prime was designed to be a '38/39g' successor with a charter to make it similar enough to allow users familiar with the 38/39 to use prime easily and so that we could reuse past documentation.
The Cas came from Bernard Parisse.
Now, I know that lots of management type persons thinks that you can 'just take 2 pieces of SW from the internet, slap them together and 'bamm', you have a working product'...
They forgot the rule one of addition in physics: what do you get when you add 3 carrots with 2 apples... At best a Wired Hybrid.

Quote:Why typed build in variables?
The 38/39 was designed as a teaching calculator, designed to be used by student, some of them with very little understanding of math, and even less of programming (and no interest in it whatsoever).
So, the designers of the time (Jim was one of them BTW), working with teachers decided that it would make sense and remove confusion to have a certain number of fixed typed variables for the user. Note that the user they had in mind was not a programmer. At the time, they had no CAS and a much simpler calculator than what we have now...
We inherited this design, but tried to add more stuff. Real programming for a start, so that added program global (static and exported) and local variables. We added stuff like the spreadsheet and geometry which dynamically create variables. We added function defines and user global variables.
The stuff that we added was to deal with the more 'advanced users', it is much more flexible than the rigid 38/39 but the rigid 38/39 is still there. The net total is something that is a hybrid. The hope is that a 'basic' user will not see the extensions and will stay in a 'simple' world (as in a word where things are simple to use, where typing something wrong generates an error), while the advanced user has access to all the niceties of a modern system.

The problem is that the person who is in the 'learning' part gets confused by the hybrid flavor of things.

Now, 'please roll the drums', let us introduce the CAS in it! with it's all paradigm for things! At the beginning, the CAS was separate, with little to now interactions with the rest of the system. It made it nice, clean and, because it was separate, just like an 'app' running on the system.
Of course, users wanted to be able to use the CAS form home, home from the CAS and generally break the wall. Well, we started working, as best as possible, to allow these communications, making them as seamless as possible. But it does not always work, especially in advanced or subtle cases. For most normal use (ie, doing a math calculation), there is no issues... However, in advanced stuff, such as programming (your definition of advanced may vary), issues prop up.
For example, does CasFunction(expression) mean that you want to execute CasFunction on the result of expression or the unevaluated expression? no way for home to know that.
The CAS is comfortable with pure 'unexistant' variables. In a programming language, this is of course a semantic error. Once again, 2 worlds collide.

What about a local variable? The CAS does not have access to it, so it gets replaced before calling the CAS. The result is that
Derive('a*b*x', 'x') with a=1, b=2 and x=3 will cause Derive('1*2*3','3') to be passed to the CAS... Not what you want...

Anyhow, I could continue there for ages, but I hope that you understand some of the issues at stake there.



Cyrille
Not speaking for HP when posting here...
Find all posts by this user
Quote this message in a reply
03-18-2015, 08:01 AM (This post was last modified: 03-18-2015 08:31 AM by Angus.)
Post: #45
RE: Prime lags after extensive processing
hello cyrille,

I don't want to hijack the thread but since you asked and show interesst:

I understand that you decided that things are supposed to be easier for a student. I cannot share that, I cannot confirm that I cannot disclaim that...students would have to do. But only one thought. Especially teachers and people more into theoretical education often tend to have strange views.... ;-)

I will try to give a quick summary of confusion and discomfort. Could of course be more elaborate.

-Everybody gotten into contact with a computer related device is used to something like var:=value.

I will store two L-numbers.....
L:=42 //ok, of course
L1:=1 // Implied conversion of a one element list in home? in cas it is as expected

do in cas L2:=2. Type L2, result is 2 (L2(1) gives us the value right now. You just don't know it is already a list?)
go to home. type L2. result is {2}
go back to cas. type L2 result is now {2} aswell.
That is at least funny


//Why do you waste valueable names
Z1:=42 //I would not need complex numbers right now.
L1:=42 //I don't deal with lists right now, too...

Do you see my point? Having the built in Variable type-bound to their NAMES in addition to the intrinsic mechanism they still share is a waste of names.

I love the variable menu, though. Offering existing variables under their type is helpful. That does not need to have fixed names for types. Remember type() still works perfectkly for A,B;C, L1, Z1, M1....


-capital / non-capital Letters as default text entry



-Having the Apps require certain Names in their equations adds unnecassary confusion. You have added a kind of converter when you use a one Variable cas function in function app e.g. It seems to convert 'x' to 'X' or 'a' to 'X'.... Is the App capable of dealing with other variables than 'X' for independant variable? Something happens, but it is a black box.
See all questions about interaction of cas objects with hp apps... It is NOT clear to the people. Most people asking here are curious and interessted people. The students you mentioned only click on the buttons they were told to achieve a specific task. Believe me.
Why should I not be able to refer to an expression and define what name is the independant variable? Function App: plot( expr, [var] ).



-why not using a global variable pool? If a store under CAS A:="I want to fool my calculator", go to HOME and try to calculate sin(A) I would not be surprised to get an error...


-Because home variables are implied and set to zero if not defined you can easily do miscalculations. I wonder why the experts don't count that. especially if a uncertain, baffled stundent uses the calculator. If a variable is not defined a function might fail....but not imply 0.



edit:
Code:
We inherited this design,
Well, question is why and would you call that a good decision.
HP needs to remember that the prime is not supposed to be a beginner's level calculator like the 38 you mentioned. Why should it? You had one.... So adopting these concepts and not moving away from them is really not understandable for me. For a beginner's level device I cannot complain... but why did you feel like that was a beneficial decision for the prime. I still don't get it. It was there and was expanded - ok. But why hanging on that basis that causes more trouble than benefits. You seem to have had trouble with a smooth integration of all modules.
It is converting to the flagship. And that was in its name from the very beginning.

P.S. I appreciate you efforts. And I know from personal experience that sometimes things have just evolved the way they are. I even cannot say if a re-design would be possible or advisable. Probably not. :-( So only a bad managment decision to save time at the beginning you have to deal with. :-(
Find all posts by this user
Quote this message in a reply
03-18-2015, 08:50 AM
Post: #46
RE: Prime lags after extensive processing
To make clear - I can follow your argumentation. Sometimes I am slow, but I am not a plain idiot ;-) It just seems to be not the best way to go. Introducing problems for you, the developers aswell as for the user. It is a pity to imagine the second or third best solution was chosen.

Ok thought market-wise students could be advised to buy the prime because no harm is done if used like a 38. Maybe that was also an argument besides given code you had to extend.
Find all posts by this user
Quote this message in a reply
03-19-2015, 06:49 AM
Post: #47
RE: Prime lags after extensive processing
Hello,

>The students you mentioned only click on the buttons they were told to achieve a specific task.

Unfortunately, they do not always press on the correct buttons. Therefore there is a need to create safeguards around basic use.
Teachers are tired of telling a class of 30 students: press A, press B... and get 5~10 student, after 5~10 minutes of "wasted time" in a 50 minute period: Sir, I do not get the same result you do, or something around these lines...


>HP needs to remember that the prime is not supposed to be a beginner's level calculator like the 38 you mentioned

Actually, it is, Prime is the HP38 replacement. As a result it needs to bear enough resemblance to the original 38 so that teachers who have spent years learning the 38 do not feel that they have to relearn everything.
The education world is slow moving and calculator are only a 'supporting cast' in it. As a result, they need to 'help', without being disruptive. This is a hard balance to strike.

That Prime does not feel like a beginner calculator is to the credit of the one who 'opened it up' for 'serious users'.
The Prime line (well, it's HP39GII+ fore-bearer) started as a pure education device and grew to be more, but it still needs to fulfill it's original purpose.


>Why should I not be able to refer to an expression and define what name is the independent variable?
That could be done, and might be a good idea, but again, there is a large potential for troubles there coming from the less careful users.
Let us assume that the UI for function entry gets changed so that the 'X' in the F1(X) can be edited and changed.
Student goes to physics class, changes the X in T (to draw a function of T, the time). Forgets about it, then goes to math class, enters SIN(X) as directed by math teacher (for whom it is obvious that the independent variable is X as "it's always X"). Calculator draws a flat line...
This is a classic problem that I have seen times and times again with HP50g users.
Is it the user's fault? Yes! Same as when the journalist toppled the Mercedes class A by doing a right left too fast. However, it's not the journalist who got bad rep, it's Mercedes.

It boils down to : "It is very hard to please everyone." And if you try, you get smacked by everyone!
Here is a good anecdote. And for once, ta tam! it is calculator related.
One of the app in Prime is the triangle solver. I created that thing because I needed a break from 1 user who just relentlessly asked for it for a period of over 10 years!
Now, go to the triangle solver and enter 1, 2 and 3 for a, b and c, press Solve... you get 0°, 0°, 180° for the angles

Do you know how many letters of complaints I got because of that? Because people complained that this was incorrect that this was not a triangle? literally order of magnitude more than before I created the triangle solver.

Problem is: Not everyone agrees on what is a triangle! Could you believe that! Something as BASIC as a triangle and different mathematicians have different definitions!
In the US, a triangle is defined as 3 non-co-linear points.
In Europe (and France) as 3 points... In French, we even have special name for degenerate triangles such as "Triangle plat" Flat triangle...

So, anyway, even if you do try to please everyone, they still will not be pleased as 'everyone' as it turns out disagrees with everyone else!


>P.S. I appreciate you efforts. And I know from personal experience that sometimes things have just evolved the way they are. I even cannot say if a re-design would be possible or advisable. Probably not. :-(
How about that:
At the beginning, they was no choice.
Afterwards it evolved
Removing what was done at the beginning is not possible as people now used to it, or relying on it would not like it one bit!

Cyrille
Find all posts by this user
Quote this message in a reply
03-19-2015, 10:58 AM
Post: #48
RE: Prime lags after extensive processing
(03-19-2015 06:49 AM)cyrille de brébisson Wrote:  It boils down to : "It is very hard to please everyone." And if you try, you get smacked by everyone!

Here is a good anecdote. And for once, ta tam! it is calculator related.
One of the app in Prime is the triangle solver. I created that thing because I needed a break from 1 user who just relentlessly asked for it for a period of over 10 years!

Now, go to the triangle solver and enter 1, 2 and 3 for a, b and c, press Solve... you get 0°, 0°, 180° for the angles

Do you know how many letters of complaints I got because of that? Because people complained that this was incorrect that this was not a triangle? literally order of magnitude more than before I created the triangle solver.

Cyrille

Some how ... and I almost hate to be the one to say it ... but ... and get ready for this ... couldn't you just tell them it is:

"just a matter of degree?"


oooh, that was bad, and you just knew someone was gonna say it! (Why me, Lord?)

-Dale-
Find all posts by this user
Quote this message in a reply
03-19-2015, 11:12 AM (This post was last modified: 03-19-2015 11:17 AM by Angus.)
Post: #49
RE: Prime lags after extensive processing
My intuition would dictate me to go with the us definition. At least in that case.

btw. I like the triangle solver. I used it several times for actual work.
Find all posts by this user
Quote this message in a reply
03-19-2015, 01:02 PM
Post: #50
RE: Prime lags after extensive processing
(03-19-2015 11:12 AM)Angus Wrote:  btw. I like the triangle solver. I used it several times for actual work.

That user that asked for 10 years will be very happy to see this comment Smile Smile

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 2 Guest(s)