HP Forums
Prime lags after extensive processing - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: HP Calculators (and very old HP Computers) (/forum-3.html)
+--- Forum: HP Prime (/forum-5.html)
+--- Thread: Prime lags after extensive processing (/thread-3357.html)

Pages: 1 2 3


RE: Prime lags after extensive processing - Marcio - 03-15-2015 01:14 PM

Well, I have been testing the machine and the problems will reappear if I continue to run codes extensively. The program I have been working on usually takes 1min40sec to complete, mostly because it involves sending results to a terminal screen as they are produced.
Particularly, I do not think that is work overload for the Prime considering its powerful hardware. In Bob's case, however, it might be it. Combine that with poor memory management by the calculator and you'll have some bad headaches.

The excessive lagging or slow down seems to be caused by memory corruption. Stoppage while compiling, at least here, was caused by me, not the calculator. I investigated a little further and confirmed that. After I figured out where the problem was, I fixed it. That, however, does not mean the problem is exclusively bad coding on my part, the machine does have memory issues and they should be addressed by HP.

Marcio


RE: Prime lags after extensive processing - Marcio - 03-15-2015 01:17 PM

(03-15-2015 01:06 PM)bobkrohn Wrote:  The specific problem the machine was having this time (and a few times before) was it was not recognizing LOCAL declared variables and even EXPORTed Sub Routines, There was even a Parameter in the EXPORT line that was tagged as a "problem" when I did a CHECK from the Program Editor. The program ran fine a few hours before and I had not made any changes to that particular program.

I have had the same problem and suspect it's caused by memory corruption.

I also have noticed that on occasion when I click the Home key, it will take a few seconds to actually be active, the screen will flicker, the keys will not respond promptly.


RE: Prime lags after extensive processing - Dougggg - 03-15-2015 03:53 PM

It seems like alot of people complain previously about crashing similiar to my issue but not any more but I have done the firmware updates and no change does that mean they have changed the hardware


RE: Prime lags after extensive processing - bobkrohn - 03-15-2015 06:54 PM

Like I have said, I can't believe more people are not reporting these issues.
They exist, I am not "making this up" for dramatic effect like a Münchausen patient*.
The only answer is that very few are doing serious programming on the Prime.
Have attached screen pics of yesterday's exasperating experience.
I can't fabricate these pics. They are real.

You mentioned that you discovered your "bad coding".
i.e. "After I figured out where the problem was, I fixed it. "

What exactly was the "bad coding" you did ?
Share so I can see if I'm doing the same thing.

As you say, any legitimate code as defined in documentation should not create these problems. They should be trapped internally.
I'm not doing anything unusual. Reading/Writing Lists, Matrices, Spreadsheet, using text Strings for User input/output, common math Functions (no CAS or complicated Calculus type Functions), using the Triangle solver.
Right now I have no Notes type Subs in use.
Any memory Thrashing should be automatically taken care of, transparent to User.
Even the old HP-41 would occasionally show a message of some sort that said it was compressing the RAM. It just did it on it's own.

It's an HP problem. We have no control. They have a moral obligation to fix these issues in a timely manner.


*P.S. for those not familiar with this technical term.
Münchausen Syndrome


RE: Prime lags after extensive processing - Marcio - 03-15-2015 07:31 PM

(03-15-2015 06:54 PM)bobkrohn Wrote:  Like I have said, I can't believe more people are not reporting these issues.
They exist, I am not "making this up" for dramatic effect like a Münchausen patient*. I enjoyed reading the wiki article.
The only answer is that very few are doing serious programming on the Prime. Most likely, and that seems to be our problem. Maybe it's a bit too much for a calculator that can't handle large amount of data and has memory management issues.
Have attached screen pics of yesterday's exasperating experience.
I can't fabricate these pics. They are real. Oh, the Chinese characters, I have seen and reported them before on the forums. They suspect it's, again, memory issues. HP needs to address this ASAP.

You mentioned that you discovered your "bad coding".
i.e. "After I figured out where the problem was, I fixed it. "
What exactly was the "bad coding" you did ?
Share so I can see if I'm doing the same thing.

A little math problem. I was evaluating a function that had a heaviside-step like behaviour and it turns out the Prime (or my code?) couldn't handle the abrupt changes (not all PC apps can, ergo the "bad coding", as some people would call), so I smoothed the corners by replacing the original a function with a similar one that had similar behaviour and that gave the same results numerically.
http://en.wikipedia.org/wiki/Heaviside_step_function.


As you say, any legitimate code as defined in documentation should not create these problems. They should be trapped internally.
I'm not doing anything unusual. Reading/Writing Lists, Matrices, Spreadsheet, using text Strings for User input/output, common math Functions (no CAS or complicated Calculus type Functions), using the Triangle solver.
Right now I have no Notes type Subs in use.
Any memory Thrashing should be automatically taken care of, transparent to User.
Even the old HP-41 would occasionally show a message of some sort that said it was compressing the RAM. It just did it on it's own.

I guess that was not implemented in the Prime.

It's an HP problem. We have no control. They have a moral obligation to fix these issues in a timely manner.

Couldn't agree more!!!
Marcio


RE: Prime lags after extensive processing - Marcus von Cube - 03-15-2015 07:40 PM

(03-15-2015 06:54 PM)bobkrohn Wrote:  What exactly was the "bad coding" you did ?
Share so I can see if I'm doing the same thing.
...
It's an HP problem. We have no control. They have a moral obligation to fix these issues in a timely manner.

Whatever it is, it has happened and HP is going to fix the issue. The Prime firmware is a huge effort. It would be miraculous if there were no bugs. Unfortunately there are obviously some which can render the device unusable. It might be a as simple as freeing a memory block twice, accessing memory that has not been properly initialized or has been corrupted otherwise. I assure you there are more ways to do these things wrong than right!

I just ask you to be patient. Any error report is helpful as long as it is comes with enough information to track the causes down. Just complaining will not move the project forward.


RE: Prime lags after extensive processing - Thomas_Sch - 03-15-2015 07:56 PM

(03-15-2015 07:40 PM)Marcus von Cube Wrote:  ...
I just ask you to be patient. Any error report is helpful as long as it is comes with enough information to track the causes down. Just complaining will not move the project forward.
+1 !
That could not be expressed more clearly.


RE: Prime lags after extensive processing - bobkrohn - 03-15-2015 08:12 PM

Interesting about your comment regarding doing the same process multiple times.
I just started to try that a few weeks ago.
i.e. do the Factory reset process 2-3 times in a row.
I know now that often a Restore from Backup requires several passes before it "takes" properly.
It's non intuitive and when you first encounter problems you would be unlikely to do it as a new user.


Next will be to hire an Indian Medicine Man to oversee the process.

Interesting thing I noticed.
When I do a full Factory Reset the custom Spreadsheet App I have persists through the process. It's apparently untouched and still has all the data.
I would think it would get wiped out.
I think one time I did a Format C: & 9-reset and my programs were still on board!?

Thank you for your attention. I realize the Prime is an incredibly complicated device and will need tweaking. I guess I'm just impatient.


RE: Prime lags after extensive processing - Marcio - 03-15-2015 08:23 PM

(03-15-2015 08:12 PM)bobkrohn Wrote:  Interesting about your comment regarding doing the same process multiple times.
I just started to try that a few weeks ago.
i.e. do the Factory reset process 2-3 times in a row.
I know now that often a Restore from Backup requires several passes before it "takes" properly.
It's non intuitive and when you first encounter problems you would be unlikely to do it as a new user.


Next will be to hire an Indian Medicine Man to oversee the process.

Interesting thing I noticed.
When I do a full Factory Reset the custom Spreadsheet App I have persists through the process. It's apparently untouched and still has all the data.
I would think it would get wiped out.
I think one time I did a Format C: & 9-reset and my programs were still on board!?

Thank you for your attention. I realize the Prime is an incredibly complicated device and will need tweaking. I guess I'm just impatient.

I would quit resetting it back to factory settings so often. For me, ON +Symb usually works!

Marcio


RE: Prime lags after extensive processing - Marcio - 03-16-2015 12:52 AM

Bob, how long does it take for this program you've been working on to go from start to finish? What kind of data analysis are you running?
Do you think you could print data to your terminal screen as the program runs so you could investigate it in details?


RE: Prime lags after extensive processing - bobkrohn - 03-16-2015 02:06 AM

Marcio,
I am not doing the heavy duty type calculations you are doing.
(I even had to look up "heaviside-step" because I had no idea what that was!)

If I am understanding correctly you enter data into your App, push the button and sit back, have a cup of coffee, allowing the machine to crunch away for some period of time.
It finally delivers an answer and you are done.
Mine is more interactive.
The App is for Land Surveying also called Geomatics. The Spreadsheet is used as a database of coordinates for points on the ground (X,Y,Z). Coordinate Geometry.
"Simple" trigonometric calculations are done. No process runs for more that a fraction of a second.
Right now I have probably about 4,000 compressed lines of code (300k +/-)
I was thinking of your situation and thought maybe there is a processor overheating issue? I even thought of that in my case. Almost tried putting it in the refrigerator.

In my App little use is made (so far) of output going to the Terminal Screen.
Use of MSGBOX usually suffices.
However, for some batch processes I wanted to make use of the Notes as a "printer" for later transfer to PC. A formatted record of various output.
Also, more importantly, as a means of transferring the Spreadsheet to/from Excel for example. (as a .CSV comma delimited ASCII text file)

Regarding reset of calculator. I usually do try the simple stuff first.
i.e. ON SYMB, Pin Hole on back, saying a prayer.
If that doesn't clear it up then the more time consuming methods are employed.
I'm going to use one of my old "Netbook" PCs as a portable Backup/Restore device for when I'm away from home.
Crazy.


RE: Prime lags after extensive processing - cyrille de brébisson - 03-16-2015 07:59 AM

Hello,

I understand your frustration. It is EXTREMLY annoying when a tool tool does not do what you intend it to do.


Before someones tries to flame me, please note that this post uses humor, analogies and other figures of style in order to attempt to be distracting, entertaining while still informative. I am NOT using sarcasm (Dr Cooper, I am not making fun of you, promised), nor is there any intend to harm anyone (even teenagers!)




From reading your posts, it looks like this stems for a number of causes.

Let me give you my observations:

1) You do not have a lemon:
In the car business, you can get a lemon, Cars have 1000 of parts working together, most of these can wear out and needs to be within various tolerances. Some cars will have 1 or more defective parts, or 2 parts that are both in the oposit extremes of their bounds and causing issues because of this.
On a calculator, you have basically 6 parts: the CPU, the RAM, the Flash, the LCD, the keyboard and the battery.
- You know that the battery is down when it does not hold a charge. And battery do wear down, we are used to that
- You know that the screen is broken when it has pixels that do not show, this is what the factor test verifies
- You know that the keyboard is broken when keys stop working (and that again is easy to test)
- You know that the flash has faults (it does, just like a Hard drive), so the SW is written knowing this and takes care of hiding it.
- Ram and CPU don't break. They either work or they do not. There is no middle ground that causes issues.

So, basically, what I am saying is that 'lemon' on such a device is not really something that is possible. You can have a defective unit (LCD issue, keyboard issue...), but I have never seen a calculator (Prime or other) that just 'kind of worked' because of a physical defect.


2) Software crashes, memory corruption:
In any complex computer system, the memory can become corrupt, thus causing the system to become unstable.
Since there is 2 types of read/write memory in Prime (RAM and Flash), you have 2 types of corruption, caused by 2 different types of issues and with 2 different types of results.

Flash. This is where your files are stored. Prime will save stuff in the flash when you turn it OFF, or when you exit a program source code. These files contains prety much anything that you create (notes, programs, apps...).
These really represent your work. Just like with word or excel a couple of years ago, the best advice is: save often. To do that, as stated above, turn the calc OFF and ON on a regular basis.

RAM can become a 'mess'. Similarly to a teenager's room, there is no mechanism for 'cleaning' the RAM besides restarting the system (or kicking the teenager's out of the house and calling the haz-mat team).
RAM becomes a mess when you repetitively create lots of objects in it. After a while, the ream becomes a mine field of used/unused locations and it takes longer and longer to figure out where you can and can not walk (ie, the teenager's room's carpet slowly disappears underneath the trash, making it harder and hard to walk all the way to the window to open it and let the stale air out). Thus the system slows down...

RAM can become corrupted. To the SW, the RAM is full of numbers, and nothing looks more like a number than another number! Number don't smell, thus if the SW expects a number in a spot to have a given meaning, and the wrong number is stored there, there is no ways for the SW to detect it. When the wrong thing is stored somewhere in RAM, this is RAM corruption. This usually leads to system crashes, or very visibly wrong behaviors.

If data in flash is corrupted (which would be caused by the SW saving corrupted data, not by the flash crapping out (yes, it is a technical term!)) then you can loose the data in this file, AND upon restart of the Calc, the system will reload the corrupted data, At that point, you are back to corrupted RAM symptom.

You can fix RAM issues by simply rebooting the calculator (at which point, any non-saved work will be lost, but saved files will not).
To fix corrupt files, you can simply override them with new ones, if possible, (at which point all the REST of your work stays intact), or erase everything.




3) So, what can you do?
From reading your post, it looks like you are doing some prety darn 'big'/'complex' stuff. I mean you are talking about over 3000 record in the spreadsheet! This is big for such a calculator.
Anyway, it does not mean that it can not do it, if coaxed carefully.
BTW, there is a max of 10000 lines because it was recognized that 1000 was not enough (for example the datastreamer can easily generate 1000 lines, so 10000 was used).

I have not seen your program, but my first guess is that you are not using the most efficient ways to deal with your very large dataset. your comments about your frustration with the programming language leads me to think (and I might be wrong), that you do not have extensive experience programming. This would explain your frustration reading the manual/UG (which assumes that you know how to program and that you do know/understand the subtelty of computer programming; The UG are not programming lessons, that takes full books by itself).
Alternatively, you actually ARE experienced and are frustrated by the fact that you do not feel that you have enough information in the UG, in this case, I appologize).


To get back to the tool analogy, it might be that you are trying to sink a screw with a hammer, and are frustrated because it does not work well. Banging harder does seem to get the screw in, but it does not hold well in the wood.
The question is: now what?
- Keep banging, after all it kinds of work, even if every once in a while it break the hammer (prime in this case)...
- Switch to a nail, or a screwdriver (but Prime might NOT have such items, leaving you with no alternatives)
- Discover glue?


To exit the tool analogy you seems to be driving Prime close to it's limits. Some of them might be physical, some might be imposed by the HP design and implementation.
When you get any tool close to it's limits, it is critical to really understand the tool and all that it offers, its strengths and weaknesses (and limitations).

The calculator has tricks to deal with strings, Spreadsheet is a complex app that itself where they are multiple ways to do things, some being more effective than others.
It might be that there is no ways to make your program work well in Prime, but it might be that they are ways to make it work much better than it currently is also.
HP is also continuously improving Prime (No forward looking statements there, past behavior being no prediction of future performances), but it seems appropriate to assume that HP will continue delivering improvements in Prime, which will hopefully push the limits of Prime further and further as times goes.

So, don't loose hope and keep posting, asking questions and you will get help.

Regards, Cyrille


RE: Prime lags after extensive processing - Angus - 03-16-2015 09:15 AM

I am sure that very few people involved in software development and/or embedded systems design have never found themselfes in a situation to gain the strong feeling that there 'is something' going wrong. That can happen before launch or -sadly- after a launch. I would not blame HP for such bugs (in contrast to task priorisations and implementation details). That is just how our business works.
Simply adopting pc software to a smaller embedded machine like the prime is more likely to cause trouble...

Such a situation is frustrating for both customer and producer. In your case the problem seems to be that HP is not aware of problems with their memory managment (officially at least). So keeping patient and provide further information is the only thing you can do. HP, however, should and will at least consider that some part of memory managment is buggy.
But if the calculator lets you do certain calculations and create datasets is HAS to deal with them correctly. I think everyone will agree on that.
I don't know if a more underemployed calculator will suffer from these lags and memory corruptions sooner or later. If there is no working memory cleaning or recovery mechanism this could become the nightmare of a student.

About a broken prime: in addition to HP did other users try run your code on their machines? Is it happening there, too?
Personally I am sure that Tim will not ignore that phenomenon. But if you know little and have no real idea where to look the way to solving the problem is a hard one. :-(

Quote:Ram and CPU don't break. They either work or they do not. There is no middle ground that causes issues.
There is at least one cenario when this is not 100% true. Imagine poor bus timings. (I do not expect this to be existant don't get me wrong. Would happen way more often anyways) Then the ram could work or could not work if the machine gets busy. i.e. gets hot. Even ics from different factories or production dates might differ in their timing tolerances and work with the given host interface or fail.
Your statement seems to be logical, but it could be wrong. And if you don't consider that you will never find the issue. Happened to me once.

Quote:I have not seen your program, but my first guess is that you are not using the most efficient ways to deal with your very large dataset.

I think if there are inefficient ways that have to be avoided you should point these out. That is more like an implementaion specific thing and has little to do with general programming. How should one know.


RE: Prime lags after extensive processing - Claudio L. - 03-16-2015 02:13 PM

Cyrille, your post was a bit shocking, perhaps you need to rethink a few cases of unfortunate wording. I read it and here's what I saw in it (my impression only, but perhaps other people saw it that way too). BTW, starting with a disclaimer doesn't make it any better. I thought you were being sarcastic, but your disclaimer says otherwise...

(03-16-2015 07:59 AM)cyrille de brébisson Wrote:  To get back to the tool analogy, it might be that you are trying to sink a screw with a hammer, and are frustrated because it does not work well. Banging harder does seem to get the screw in, but it does not hold well in the wood.

This sounds to me like Steve Jobs famous "you're holding it wrong".
He bought a programmable device and is... well... programming it!
I've done lots of surveying calculations. Nothing special, lots of numbers and trig, it's basic number crunching and perfectly suited for a pocket calculator and also for a spreadsheet. It's one of the most common "professional" applications of calculators. From recent posts, we were all given the impression that HP was going to market the Prime for professional use as well.
He bought a device with plenty of power and RAM to handle 3000 numbers and a few trig functions (back in the day, Lotus 123 on DOS with a 386-PC and 4MB of ram would have no problem with 3000 numbers, the Prime hardware is way more capable than that).
Nothing in the marketing materials from HP would suggest this is not the right tool, I would've chosen it too.

(03-16-2015 07:59 AM)cyrille de brébisson Wrote:  The question is: now what?
- Keep banging, after all it kinds of work, even if every once in a while it break the hammer (prime in this case)...
- Switch to a nail, or a screwdriver (but Prime might NOT have such items, leaving you with no alternatives)
- Discover glue?

Am I reading this correctly? It sounds like:
a) Deal with it
b) Buy a different device/calculator
c) Learn how to build your own device

I know it seems taken out of context here, but even within the context of the original post that's what I thought you meant. Neither of the 3 options are going to drive HP sales up, and sound a bit harsh to the users.

I believe this is not how you want people to interpret your post, so I'm posting this to give you a chance to express your real thoughts, without being masqueraded with analogies, humor or anything that can lead to misinterpretations.

Claudio


RE: Prime lags after extensive processing - Thomas Radtke - 03-16-2015 02:41 PM

(03-16-2015 07:59 AM)cyrille de brébisson Wrote:  In any complex computer system, the memory can become corrupt, thus causing the system to become unstable.
Maybe a stupid question, but why haven't you based the Prime on an OS capable of virtual memory management? No guarantee for a clean system ad infinitum, but e.g. my phone usually survives several weeks without reboot, and it's often under heavy load.


RE: Prime lags after extensive processing - bobkrohn - 03-17-2015 04:15 AM

cyrille de brébisson,

First off, thanks for the informative information on RAM in Part 2 of your posting.
I am saving that in my "Auxiliary Documentation" folder.
I know how much time it takes to create a posting like yours and I for one, appreciate it.
I like getting information like this. I wish there was a depository or document with more of this type thing.

-----
My comments:

Do I have a Lemon?
Well, since have Enter Key and now ESC Key failure in the last few days would tend to answer YES.
But, since I can consistently replicate the Notes crash on the Emulator too, would tend to say NO.
BTW, I finally found an email link to Customer Support and have requested a replacement machine.
One doorway to Customer Support
It's apparently for "HP Store" bought items but I tried anyway.

-----

"leads me to think (and I might be wrong), that you do not have extensive experience programming."

I am NOT a Computer Science graduate. I am not an expert on the internal, low level workings of computers.

However, I have been writing programs for various devices since the late 70's. HP41 through PC.
Have written fairly complex Surveying software that was sold and used by many firms.
Not to brag, just fact, but in the last 15 years I have only encountered maybe a half dozen bugs in my software after release.
None were major and when encountered and reported by users, they were fixed immediately. (days or less)
Testing, testing and more testing.
Anticipate all possible erroneous data that the user may enter and trap it.
Assume bizarre, strange input from users.

-----

"you are not using the most efficient ways to deal with your very large data set"
That I may not be most efficient is not relevant.
It's not my responsibility to worry how the Spreadsheet works internally.
All I should have to worry about is putting the right numbers in and getting the right numbers out. Reliably.
As I have said, I'm not doing anything super complex. Or out of the ordinary.
NO CAS no solver thing or whatever it's called.
Just a whole lot of fairly simple things in one big package.
SIN(), COS(), TAN() ADD, SUBTRACT, MULTIPLY, DIVIDE, Lists, Matrices.
I guess the only "fancy" thing I've done is to use the Triangle Solver in a couple of places.
My Spreadsheet database? typically only use less than 200 records. In my current development phase about 50.

-----

Using the analogy of a motor vehicle I would consider myself similar to a commercial truck driver.
I may not understand the complex engineering required to design and manufacture a truck but I understand its practical use.
I wouldn't, and shouldn't have to, worry about the tolerances in the engine or what mixture the fuel needs to be.
I assume that those that have the expertise to design and manufacture the truck know what they are doing. Create a safe and reliable product.
They anticipate problems and provide for them.
If the truck brakes will not stop the truck then there is something wrong with the truck not the driver.
Granted, nobody is going to be killed because a HP Prime crashes versus when a truck crashes.
Vehicles are tested by the manufacturers to destruction to figure out the weak areas, and strengthen them.
Maybe I'm testing the Prime to destruction?
HP should consider hiring me or a bunch like me to sit in a room and just test the Prime to destruction all day long.
I would seriously consider that if I could get an exclusive right to provide a built-in Surveying App for the Prime.
Casio already has such a critter. The Casio FX-FD10_Pro Surveying Calculator at $500.
HP used to market a Survey Module for the HP41. Surveyors today are still using those 35 year old machines and they command a good price on ebay.

-----

And your thoughts on the Thrashing of RAM due to heavy use:
Like I said, I am not a computer scientist. So some assumptions here may be way off.
The Prime is shown as having 32mg of memory available.
My program is about 300kb. I think my Custom Spreadsheet comes in at 6-10k
Doing the simple math leads me to believe that there is 100 times more RAM than my program occupies. That's ONE HUNDRED.
That's not enough elbow room to operate for more than a day or two without the memory becoming so Thrashed that it crashes the computer??
I don't know how the standard Spreadsheet App (I'm just using a Saved Copy of) at 1.6 mg fits into this, but still is not significant in my view.
Someone here mentions that their iPhone (and mine) rarely need a reboot.
The prime should sense fragmented memory and compress it automatically. Or does it do that every time it's turned of/on or reset?
Then there is even less excuse for Thrashing.
Another point here is all the points you made are REASONS but they are not EXCUSES for Prime bad behavior.

-----

To me the computer is a "Black Box".
A set of "rules" for its use are provided and I assume that if I abide by those rules the Black Box will perform as advertised.
I shouldn't have to worry about what's inside the Black Box.

Implied Warranty

Here, in the USA, we have a legal concept called the "Implied Warranty".
Simply speaking it presumes that something sold for a particular purpose has to be useable for that purpose.
The example used is that if you bought apples at the grocery store that looked cosmetically edible,
took them home and found them to be full of worms then the store has a LEGAL obligation to provide a replacement or refund.
A LEGAL but also MORAL responsibility.
No written document is required. it's an old and accepted point of law.
The only way LEGALLY to get around this is to state, in the advertisements,
that the product is being sold "As-Is" or "for no specific purpose".
Not to open a can of worms here but HP was very disingenuous in advertising the Prime as having wireless capability.
I saw that and reasonably assumed that I would have standard WiFi type communications available. Not so.

-----

I understand you are working on fixing bugs as they are discovered.
There is another component to this effort. Timeliness.
How long it takes to produce an essentially bug free, useable product is the issue.
Yes, there is work being done to remedy the problems with the Prime.
But how long is a reasonable amount of time to accomplish that end?
When I see, what to me seem to be, easy fixes that go undone it bothers me.
Ex. the Connectivity Kit Program editor. with NO Search & Replace. My God, not even a Search!
Not even the functionality of Windows NotePad!
This causes my mind to immediately ask the question:
What other easy fixes that are not as obvious or under the covers go unfixed?

(a thought just occurred to me. Does the Program Editor use the same "engine" as Notes does? Could program corruption be a product of the Notes Bug?)

Anyway, I've run out of steam for now so will sign off.
Thanks for your time.


RE: Prime lags after extensive processing - cyrille de brébisson - 03-17-2015 06:44 AM

Hello,

Please understand that I am not trying to 'protect' Prime, I am one of the guys who made the SW and am proud of it, but would not claim that it is perfect...
(if some keys stop working while the other do work, then, most likely there is an issue.)


Anyhow, going back to your motor vehicles analogy:

When you press the breaks (for example because an obstacle arrives, such as a car crossing your road), you expect the thing to break. BUT you also know that if you are going too fast (relatively speaking) and the obstacle is too close, you will NOT be able to break on time...

Same with turning, you do slow down before turn the wheel sharply because you do know that if you do not you will get out of the road...


This is the same with programs, but is far from being as intuitive. They are limits and if you get close (or pass them), danger arises. and sometimes danger can arise very very fast (see how fast factorial maxes out for example)...

I actually had the issue lately with trying to draw arcs, it was not working well, until I realized that the number plugged in where >2Bilion, which is the max limit of an integer... That was of course getting everything to crash...


"Another point here is all the points you made are REASONS but they are not EXCUSES for Prime bad behavior"
I can not make excuses, I can explain the reasons with hope that this will help us work together to fix the problem (which is what I am ultimately interested in).

If you can PM me your program, I will have a look at it and try to see what/why things are not working.

Cyrille

Please do note that I do not speak for HP when speaking here.


RE: Prime lags after extensive processing - cyrille de brébisson - 03-17-2015 07:09 AM

Hello,

>> Ram and CPU don't break. They either work or they do not. There is no middle ground that causes issues.
>There is at least one scenario when this is not 100% true. Imagine poor bus timings. Then the ram could work or could not work if the machine gets busy. i.e. gets hot.

Technical correct, However, calculator technology usually trails 'cutting edge' and even normal technology by a couple of years. What this does is give us the safety improvements of the cutting edge, but while using in 10 year old limits.
ie: ram buss is 100Mhz, cpu speed is 400Mhz, but design uses knowledge that was gained on Ghz systems, thus giving us large margins of security.
Crap can always happen, but it is much less likely in these cases than on a computer much closer to the cutting edge.

>>I have not seen your program, but my first guess is that you are not using the most efficient ways to deal with your very large dataset.
>I think if there are inefficient ways that have to be avoided you should point these out.
>How should one know.

I think that this was the crux of my tool analogy, all the programming tools present have good reasons for being there (honestly, some have also bad reasons). But they are all appropriate for some situation, and not for others. Pointing at inefficient combinations is like describing the whole haystack while talking about the needle. Basically most people do not care, it talks a lot of time, and even then, there is probably going to be something missing in the list. I mean, when buying a hammer, there is no sticker on it that says: "not suitable for sinking screws", and even if they was, there are 1000 other things that you could bang on with a hammer that would need to be described...


>>More on the hammer banging on screw analogy:
>> - Keep banging, after all it kinds of work, even if every once in a while it break the hammer (prime in this case)...
>> - Switch to a nail, or a screwdriver (but Prime might NOT have such items, leaving you with no alternatives)
>> - Discover glue?
>Am I reading this correctly? It sounds like:
>a) Deal with it
>b) Buy a different device/calculator
>c) Learn how to build your own device

Nope, absolutely not the meaning that I had in my head when writing it.
I meant that, after realizing that the wrong tool is being used you have 3 choices:
a) Take the decision that, despite the drawbacks, it works well enough for you (and/or) that you do not want to switch/learn a new tool
b) Decide that you will use a different similar tool (which is an investment in time and brain power) as you will need to search what is most appropriate, and learn it. For example look in the manual for alternatives...
c) Find a different way to achieve your goal

For example, I was looking at the upper program and the developer did:
CHAR(MID(s,A,1)). This will work, but is not the best solution. string(A) is smaller, more readable, faster... But not necessary.
Another solution would be to change the way things are done, for example the following 2 lines do a ToUpper...
L1:= ASC(s);
return CHAR(L1-((97<=L1) AND (122>L1))*32);


>>In any complex computer system, the memory can become corrupt, thus causing the system to become unstable.
>Maybe a stupid question, but why haven't you based the Prime on an OS capable of virtual memory management?
No question is stupid, and that was not a possibility at the time.

Regards, Cyrille


RE: Prime lags after extensive processing - Angus - 03-17-2015 08:59 AM

Cyrille thanks for the discussion.
The example with ToUpper() is a good one. We saw several sollutions in the thread. Everyone into programming systems but not on the highest level language will have noticed that some are supposed to be a waste of processing power over others. However if it is better to do calculations over a whole list like you do or if looping over it manually performs better is hard to decide if you don't know internal operations going on in the prime.
A passionatly written book would be really helpful and needed. Not only listing all possible commands but spicing them with further explanations and examples. Many people would trade dollars for a didactically

You use L1 in your example. I will open a new thread the next days. I try really hard to get used to your variable system and the confusing balance between home and cas. I really want to understand WHY you chose that road. All built in variable seem to be fully represantitives of a normal object. type(L1) is list e.g. Why do we need name-bound fixed variables. What bebefits do we have? And if only you say it is because we could use given code and save time.... there must have been discussions about that and I really want to understand. The idea of pre sorting all variables in type is great for convenience. But that could also have been realized if no fixed variables were used... I'll think about it open minded and come back to that if that is ok.

Maybe you at HP have problems with cas integration aswell as a curse of the given architecture.. I would not be too surprised which implies no accusation. The decision just could have proved to be bad.


RE: Prime lags after extensive processing - Teresa - 03-17-2015 10:01 AM

Did you know that there is already a seller of calculators in Germany who has the following under the HP Prime:
Quote:Achtung ! Bugs bei HP Prime !
Bitte beachten Sie die in Foren beschriebenen Fehler. Geben Sie dazu in Suchmaschinen die Begriffe " HP Prime Bugs" ein. Verkauf mangels Nachfrage eingestellt.
This translates to something like "Be aware the HP Prime has bugs! Check the internet for the described bugs. .... Discontinued due to lack of demand".
I read this before i bought the device, which i need only at home to prepare and learn. The reasons were that bugs get adressed, the device has committed developers which still do development and a community which is able and helpful in answering questions. But what i read here would have stopped me.

To come back to the trucks analogy. The truck driver and for this even a new truck driver knows about the relation between speed and the braking distance. The obstacles in the Prime are not transparent or visible. So either the device has to show us the corners or give an error message instead of producing unpredictable results.

bobkrohn wrote:
Quote: When I see, what to me seem to be, easy fixes that go undone it bothers me.
Ex. the Connectivity Kit Program editor. with NO Search & Replace. My God, not even a Search!
Not even the functionality of Windows NotePad!
I can only sign this. It is not even possible to change the font size. So i have to use the editor of PRIMECOMM which has the functionality i would expect from an editor (plus help on the used functions). This nicely fits together with the updating process which only works with an USB 2 port. If this needs to be the case then it has to be documented.
There are also quite a few bugs in the CAS (normal use). I would really like to have them fixed so a normal student can use the device without the need of a second source to countercheck.

That being said I like my Prime it forced me to learn a lot. Perhaps the learning could in the future be more directed to the things I want/need to learn instead of bugs and workarounds.