-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Some thoughts after the initial attempt about GF4 #50
Comments
|
They are exactly what I want for question 2 😂 It would be great to read more |
Thank you for the thoughtful comments! I appreciate them very much. See below for my thoughts about them.
Yes - I'm very behind with this, sorry. I got derailed and need to get back to it. My idea was to use the blog rather than the docs. What do you think about this plan? BTW, I write the blog and the user docs in Leo.
It is a relatively recent addition. It's not open by default so far because 1) I get concerned about the window using up too much of the screen (I sometimes use GF4 on various linux virtual machines that aren't running full screen, for example); 2) I have found it difficult to get consistent and workable window placements when the program opens, mostly on Linux - different distros seem to work differently in this regard. I could make it a configurable option, but so far I have tried to avoid such things. I'll give it some more thought. What do you think about the idea of options? There are basically two approaches: a separate .ini file, or environmental variables. There might be a third way. Maybe configuration could be done via a plugin. I'd have to review the plugin code to see if that's feasible the way it is now. Of course, there would still have to be files somewhere, it would just be a plugin file instead of an ini file.
Another tradeoff, one I'm used to. Too long and it gets annoying. Too short and as you say, you can miss a message. For errors, I flash it to get the user's attention without sticking a dialog in his face, but maybe they should fade slower. It's an easy change to make. If I went for a ini file for options, it could be made configurable there.
That's partly historical, not that should count for anything to anyone else but me. It would be trivial to implement. I was just trying to keep the button/function count down. It used to be that I mostly used the Y register to overlay for comparisons. But it's true that these days I use it more on its own. Actually, It's possible that the a plugin could do the job. I'd have to write a little command to plot Y, and then the plugin could access it. That might be worth doing. The someone who really needed it could add a button as a plugin.
There's a swap function - that's how I do it. It's the third button down in the Stack column. When you mouse over it, the help line at the top of the window reminds you that it swaps X and Y. Something that is less obvious - I copied it from my old HP RPN calculator - is that when you drop the stack, the top element gets copied into the top as well as dropping to Y. That can be very useful. Rotating the stack, OTOH, doesn't lose or duplicate any registers. Undo is a hard problem for GF4. I have thought about how it should work, and still haven't got to a point I'm happy with. It wouldn't be so hard to undo changes in the register contents. What does seem hard is when graphs get overlaid. Sometimes I overlay many more traces than there are registers for. I do that by loading another data file and overplotting it. I don't see an obvious way to undo that. To help out until I have a full solution, I provide a single storage register that you can save to and restore from. Naturally it works through the X register. You can also save the X register to the clipboard and restore it to the X register from there. A fairly new addition is the ability to save and restore the entire stack contents. That's not really the same as undo either, but it can help. The problem I run into is that it gets hard to remember the stored stack state after a while. So I end up not using the functionality very often. Keeping track of the stack contents is why there are only three stack registers. The code could handle an arbitrary number. Change one defined constant, and you could have ten registers. But the UI complexity would go up. If you wanted to be able to plot them you would not only need to add buttons for that but also menu items for setting the line width, color, etc. For decades I only used two registers, X and Y. The Z register is a relative newcomer. So far as I am concerned, three is a manageable number and I rarely wish for more. But if someone really needed a fourth, it wouldn't be hard.
It works. I just tested it. It's true you can't save a macro at present. It would be simple to implement saving, since a macro is actually a sequence of command names. I haven't done anything because managing a bunch of macros seems a bit hard to me. I'd want an interface to name a macro, to view which ones are available to load, etc. They would have to live somewhere. All doable, just added complication that I don't want to undertake unless there is a compelling reason. Here's an example of creating and running a macro that I just tried. If it doesn't work for you, then it must be something Mac-specific, though I can't see why that would be.
The parameter boxes pop up because the macro just issues the same commands that one would make by clicking the command buttons. The dialogs remember their last values, which is very convenient. Thanks. I'll get on it. I don't understand the Chinese characters on your screenshot.
Thank you! Is their any particular workflow you would like to see addresses first? |
Yes, that is so. I talk about it in my post just above, under Item 6. I'll be happy to work with you to see if there's an easy approach. For example, it would be much easier if the extra stack registers didn't need to be plotted. The the UI wouldn't have to change or get cluttered. OTOH, one probably wants to be able to copy from any stack register into X, and that would clutter the UI, which I want to avoid. In a pure RPN sense one could handle that with a combination of swaps and rotations, but for normal people that would be too hard to keep track of. The basic stack-handling code doesn't care how many stack levels there are. I think the stack display window doesn't either, though I probably haven't actually checked that yet. There are no internal commands as yet to plot/overplot any register positions besides X, Y, and T (aka Z). How it should all work needs careful attention and should be guided by how the new stack registers would be used. I don't want to hack something awkward together if I can avoid it. There is code to read a series of data sets (contained in a single file) into the various stack registers, and I know that wouldn't work as is. But probably no one but me uses that capability, and I don't use it often. |
I think either way is good, now it's just a matter of pointing to your blog post in the doc. That's actually why I suggested recording a video before, writing a blog actually takes a lot of time. But if you just record something the next time you analyze something with GF4, then you won't have much time to pay, just like teaching your old friend how to use your new tool.
I totally understand your concern about why not enable 'Stack contents' as default.
I agree. Wait until you need more configuration in the future.
This feature is enough for my undo request 👍
Thanks for your detailed steps to use
The Chinese characters have no special meaning. This is just a browser extension I used, it can translate Chinese under English, when I can't understand translated Chinese (after all, the translation sometimes not accurate enough), I can go and see what is actually said in English.
Maybe I'm just curious about how you use them for your day-to-day analysis. I really like this kind of analysis like this article, and I feel like I've never paid attention to it before.
Maybe it's just simple interesting to talk about basic math with GF4 |
I should be able to arrange some kind of message in addition to the color change. Now I am wondering if another color feature is working on your Mac. When you mouse over a button on the button window, it should turn yellow. Do you see that happening? |
There are many things we know in the abstract, but being able to see them change them directly brings a deeper understanding. For me GF4 has been a good helper in this way. |
No, the color of button doesn't change. |
That's disappointing. So it's a Mac thing. I think that the color change when you hover over a button is a helpful UI feature that reduces the chance you press the wrong button. I'll see if I can track down any information about it, but I won't be able to test a potential fix on a Mac so I may ask you to test it for me, if that would be all right. If I can find something... I have prototyped an enhancement that shows a message in the main window when you click on the Macro button. I'll get that change into a PR shortly. |
Or you can just change the button text after pressed, 'Record' -> 'Stop', it is also a convenient way to info user |
Good thought, thanks. |
I haven't actually created a home page in github.io. I have changed that link to point back to the github project page. |
The github can auto redirect the html file you put on the docs dir. You can access any file under |
Yes. I'm not sure if I want to make the user guide the main document or not. Until I decide, I'll just point back to the github project page. |
All right, I have got the github.io home page at
to redirect to the User's Guide. |
Ha! Fun, fun, fun. I've been playing with the unpaid version. Such a weird mixture of being helpful and wrong at the same time. I actually used it today in connection with a script relating to building the GF4 blog. It never did come up with the right approach, but it did give me an idea that worked out. I don't see myself actually adopting one of these images, but why don't you prompt it to generate something resembling an HP-41 calculator display - just for fun. |
Haha, this is a good time sink! Actually, it's getting closer. Maybe the prompt should specify an "RPN" calculator, because we do not want to see a big "+" key. We need and ENTER key instead. BTW, here's a screens shot of the HP-42 emulator I use: And here's a shot of an hp-45 emulator: If you can tune the prompt to get closer to either of these, it will have been a job well done! Of course these images are way too busy to be the desktop icon, but one could decorate the documentation, etc. |
Looks like that's the best you will be able to get. Not bad! I wonder about the labels and how it picked them., and why it would have gotten some that are clearly in English spelled wrong (e.g., "Reverse Polsish Nottation", which at best seems like a mish-mash of languages). Fascinating! |
See Issue #51 It looks like it may be possible to work around this Mac-only problem, if someone with a Mac is willing to try some experimental code. The command window can be run stand-alone, so the entire GF4 app does not have to be fired up for each test. |
The tool is intuitive and user-friendly.
It offers numerous functions, particularly for calculation and processing; however, guidance on typical processing or analysis workflows would be beneficial for users unfamiliar with mathematical tools.
The 'Stack contents' feature is very useful, as noted in the documentation and from personal experience, particularly for saving a graph copy before reattempting. Therefore, it might be more convenient to have this window open by default 😄
Log messages in the graphics window disappear too quickly. Since users initially focus on the graphic after clicking, they may miss important log messages if they need to refer back to them. A slower fade-out for these messages could be an improvement.
The absence of a 'plot y' function is noticeable, and although this can be addressed with the stack feature, but it always feels a bit strange
I was thinking it would be better if there was an undo function. Sometimes I'll look at a graph in Y+X and find that I don't want this graph, I want Y-X, but I can only store the data from X to T through stacking, then manipulate Y+X, then T-> X, and then Y-X. Of course, this shouldn't be too much of a problem, and maybe that's the philosophy of RPN style.
The "record Macros" function seems not work? maybe it is a great place to store some typical processing or analysis workflows?
The link on the GitHub page is broken and should be updated to
https://tbpassin.github.io/gf4-project/docs/GF4_Users_Guide.html
?All in all, the tool is great, question 2 is probably a major difficulty for me.
The text was updated successfully, but these errors were encountered: