[Pharo-project] CategorySaver
Dear Pharo Community, I would like to share with you the work of my past weekend, and announce "CategorySaver". It is a simple utility to periodically save (file-out) a list of categories given (wildcards accepted). You can find it here: http://smalltalkhub.com/#!/~sebnozzi/CategorySaver And invoke it like this: CategorySaverPanel new openInWorld What motivated me to do this was loosing hours of work after image "hang-ups", without having saved before. In those cases I thought that it would be cool to have some kind of background process, that at least saved some recent version of the code I was working on. But only now I got myself to write it. Hopefully you are not like me, you know what you are doing, the VM never hangs on you, and don't need this utility ;-) For all others I hope you might find it helpful. Best regards, Sebastian P.S. I am kind of a Smalltlak newbie. So if you find things to improve in the code, I am glad about any tip / critique. P.S. 2 -- I was amazed at how easy it was to code the UI! UI programming in Squeak/Pharo was always an area where I thought must be incredible complicated, but thanks to UITheme's builder (Polymorph?) it's a breeze. Good work! P.S. 3 -- Did I have to manually add [ANN] to the subject? My apologies in this case. Also my apologies if this kind of mails correspond to only one of the lists.
Sorry, forgot the screenshots... 2012/11/12 Sebastian Nozzi <sebnozzi@gmail.com>:
Dear Pharo Community,
I would like to share with you the work of my past weekend, and announce "CategorySaver".
It is a simple utility to periodically save (file-out) a list of categories given (wildcards accepted).
You can find it here:
http://smalltalkhub.com/#!/~sebnozzi/CategorySaver
And invoke it like this:
CategorySaverPanel new openInWorld
What motivated me to do this was loosing hours of work after image "hang-ups", without having saved before. In those cases I thought that it would be cool to have some kind of background process, that at least saved some recent version of the code I was working on. But only now I got myself to write it.
Hopefully you are not like me, you know what you are doing, the VM never hangs on you, and don't need this utility ;-) For all others I hope you might find it helpful.
Best regards,
Sebastian
P.S. I am kind of a Smalltlak newbie. So if you find things to improve in the code, I am glad about any tip / critique. P.S. 2 -- I was amazed at how easy it was to code the UI! UI programming in Squeak/Pharo was always an area where I thought must be incredible complicated, but thanks to UITheme's builder (Polymorph?) it's a breeze. Good work! P.S. 3 -- Did I have to manually add [ANN] to the subject? My apologies in this case. Also my apologies if this kind of mails correspond to only one of the lists.
hey sounds nice :) does it save version after version right? (like not overwriting the same files)? sebastian o/ On Nov 12, 2012, at 5:15 PM, Sebastian Nozzi wrote:
Sorry, forgot the screenshots...
2012/11/12 Sebastian Nozzi <sebnozzi@gmail.com>:
Dear Pharo Community,
I would like to share with you the work of my past weekend, and announce "CategorySaver".
It is a simple utility to periodically save (file-out) a list of categories given (wildcards accepted).
You can find it here:
http://smalltalkhub.com/#!/~sebnozzi/CategorySaver
And invoke it like this:
CategorySaverPanel new openInWorld
What motivated me to do this was loosing hours of work after image "hang-ups", without having saved before. In those cases I thought that it would be cool to have some kind of background process, that at least saved some recent version of the code I was working on. But only now I got myself to write it.
Hopefully you are not like me, you know what you are doing, the VM never hangs on you, and don't need this utility ;-) For all others I hope you might find it helpful.
Best regards,
Sebastian
P.S. I am kind of a Smalltlak newbie. So if you find things to improve in the code, I am glad about any tip / critique. P.S. 2 -- I was amazed at how easy it was to code the UI! UI programming in Squeak/Pharo was always an area where I thought must be incredible complicated, but thanks to UITheme's builder (Polymorph?) it's a breeze. Good work! P.S. 3 -- Did I have to manually add [ANN] to the subject? My apologies in this case. Also my apologies if this kind of mails correspond to only one of the lists. <category-saver-list.png><category-saver-settings.png>
On Mon, Nov 12, 2012 at 8:06 PM, Sebastian Nozzi <sebnozzi@gmail.com> wrote:
Dear Pharo Community,
I would like to share with you the work of my past weekend, and announce "CategorySaver".
It is a simple utility to periodically save (file-out) a list of categories given (wildcards accepted).
You can find it here:
http://smalltalkhub.com/#!/~sebnozzi/CategorySaver
And invoke it like this:
CategorySaverPanel new openInWorld
What motivated me to do this was loosing hours of work after image "hang-ups", without having saved before. In those cases I thought that it would be cool to have some kind of background process, that at least saved some recent version of the code I was working on. But only now I got myself to write it.
Hopefully you are not like me, you know what you are doing, the VM never hangs on you, and don't need this utility ;-) For all others I hope you might find it helpful.
Hi Sebastian. First, thanks for sharing this with us. Now, I would really like to understand if this is a real need of a new tool or a demonstration that the current tools need some improvements. As you may know, we always have the .changes and therefore we can tools to recover lost data from there. We have the change sorter, the "recover lost code", etc. We are even able to load the .changes in another image. So...my question is, what is the actual problem/limitations with those which are "solved" with this new tool?? or in other words, why do we need this new tool? should we improve the already existing tools instead? Thanks again for sharing this!
Best regards,
Sebastian
P.S. I am kind of a Smalltlak newbie. So if you find things to improve in the code, I am glad about any tip / critique. P.S. 2 -- I was amazed at how easy it was to code the UI! UI programming in Squeak/Pharo was always an area where I thought must be incredible complicated, but thanks to UITheme's builder (Polymorph?) it's a breeze. Good work! P.S. 3 -- Did I have to manually add [ANN] to the subject? My apologies in this case. Also my apologies if this kind of mails correspond to only one of the lists.
Adding an ANN would be nice to get more attention on it ;) Cheers, -- Mariano http://marianopeck.wordpress.com
On Mon, Nov 12, 2012 at 8:42 PM, Mariano Martinez Peck <marianopeck@gmail.com> wrote:
So...my question is, what is the actual problem/limitations with those which are "solved" with this new tool?? or in other words, why do we need this new tool? should we improve the already existing tools instead?
it's a backup! You probably never need any backup... until you do :-). In a perfect world Pharo would be perfect, never crash and never loose any data. -- Damien Cassou http://damiencassou.seasidehosting.st "Success is the ability to go from one failure to another without losing enthusiasm." Winston Churchill
On Mon, Nov 12, 2012 at 8:53 PM, Damien Cassou <damien.cassou@gmail.com>wrote:
On Mon, Nov 12, 2012 at 8:42 PM, Mariano Martinez Peck <marianopeck@gmail.com> wrote:
So...my question is, what is the actual problem/limitations with those which are "solved" with this new tool?? or in other words, why do we need this new tool? should we improve the already existing tools instead?
it's a backup! You probably never need any backup... until you do :-). In a perfect world Pharo would be perfect, never crash and never loose any data.
Yes, but .changes is already a backup, so my questions are still valid ;)
-- Damien Cassou http://damiencassou.seasidehosting.st
"Success is the ability to go from one failure to another without losing enthusiasm." Winston Churchill
-- Mariano http://marianopeck.wordpress.com
2012/11/12 Damien Cassou <damien.cassou@gmail.com>:
it's a backup! You probably never need any backup... until you do :-).
Exactly! ;-)
In a perfect world Pharo would be perfect, never crash and never loose any data.
To be fair, I have not had a VM crash in quite some time. What I do manage to archieve is to make the image unresponsive (either by halting where I am not supposed to, or introduce delays/infinite-recursions in the UI thread, etc.). Then I have to kill the VM. It is sad having to kill the VM, not being able to rescue your unsaved work. But Mariano is right, and I *am* aware of the "recover lost changes" functionality (it was not always the case though), and I would like to address his comments/concerns...
On Mon, Nov 12, 2012 at 8:42 PM, Mariano Martinez Peck <marianopeck@gmail.com> wrote: Now, I would really like to understand if this is a real need of a new tool or a demonstration that the current tools need some improvements. As you may know, we always have the .changes and therefore we can tools to recover lost data from there. We have the change sorter, the "recover lost code", etc. We are even able to load the .changes in another image. So...my question is, what is the actual problem/limitations with those which are "solved" with this new tool?? or in other words, why do we need this new tool? should we improve the already existing tools instead?
Mariano, you raise very valid points and questions. I know about the "recover lost code" functionality, and have had to use it myself a couple of times already. And was very glad and relieved after the fact! :-) When I post this, I don't do it to question or challenge core Pharo functionalities. I do it as a "user" sharing a solution that I programmed for myself, for my own uses, and hoping it might be useful for somebody else. Maybe it *is* confusing if I post something like this on the "pharo-project" mailing list. I apologize for this. Now, having said this, let me tell you that *I* (me) am not always happy with the "recover lost changes" way of recovering my changes. For one, I find it tedious to have to sort through do-its that just *might* be important, or maybe not... It takes too long, it is something that demands too much concentration from me, and a process where I can do many things wrong (what happens if I forget a couple of methods? can I be sure I didn't forget anything). And then there are the renames, class deletions, etc. On top of that, I think that not all might land on the ".changes"... I had the case where a class creation was not there... Maybe it was a class rename, or something like that. Me, if I have to decide between sorting through a long list of changes, or just doing "file-in" from a couple of files and be done in seconds, I take the latter approach ;-) Again, this is a solution I hacked for me, and am just sharing with the world :-). It's not meant as a "reconver lost changes" replacement... But I understand your concerns, and am glad you raised them. Cheers, Sebastian
On Mon, Nov 12, 2012 at 9:51 PM, Sebastian Nozzi <sebnozzi@gmail.com> wrote:
Now, having said this, let me tell you that *I* (me) am not always happy with the "recover lost changes" way of recovering my changes.
People are working on how to improve this situation, you are not alone :-).
As I said, I think I should not have posted on "pharo project".
I don't know about that. Many community announcements are made here and nobody complained (I certainly didn't as I think your email was totally justified). So don't worry, everything is fine :-) -- Damien Cassou http://damiencassou.seasidehosting.st "Success is the ability to go from one failure to another without losing enthusiasm." Winston Churchill
On Mon, Nov 12, 2012 at 8:06 PM, Sebastian Nozzi <sebnozzi@gmail.com> wrote:
P.S. 2 -- I was amazed at how easy it was to code the UI! UI programming in Squeak/Pharo was always an area where I thought must be incredible complicated, but thanks to UITheme's builder (Polymorph?) it's a breeze. Good work!
The new UI framework is Spec, I guess it's better than Polymorph but don't know how they compare. -- Damien Cassou http://damiencassou.seasidehosting.st "Success is the ability to go from one failure to another without losing enthusiasm." Winston Churchill
It seems that I *was* using Spec after all :-) Only I didn't know it... At least I think so, since I defined the UI programmatically... I used information from here: http://book.pharo-project.org/book/LanguageAndLibraries/GUI/PolymorphTutoria... and here: http://www.pharocasts.com/2011/02/pharo-gui-with-polymorph.html And if I understand correctly Spec and Polymorph don't compare, because Spec "uses" Polymorph (right?). 2012/11/12 Damien Cassou <damien.cassou@gmail.com>:
On Mon, Nov 12, 2012 at 8:06 PM, Sebastian Nozzi <sebnozzi@gmail.com> wrote:
P.S. 2 -- I was amazed at how easy it was to code the UI! UI programming in Squeak/Pharo was always an area where I thought must be incredible complicated, but thanks to UITheme's builder (Polymorph?) it's a breeze. Good work!
The new UI framework is Spec, I guess it's better than Polymorph but don't know how they compare.
-- Damien Cassou http://damiencassou.seasidehosting.st
"Success is the ability to go from one failure to another without losing enthusiasm." Winston Churchill
On Nov 12, 2012, at 9:19 PM, Sebastian Nozzi wrote:
It seems that I *was* using Spec after all :-) Only I didn't know it... At least I think so, since I defined the UI programmatically...
I used information from here:
http://book.pharo-project.org/book/LanguageAndLibraries/GUI/PolymorphTutoria...
and here:
http://www.pharocasts.com/2011/02/pharo-gui-with-polymorph.html
And if I understand correctly Spec and Polymorph don't compare, because Spec "uses" Polymorph (right?).
Yes. So for now you simply used plain polymorph. In the future we will have a UI builder. Stef
yeah but future does not means "right in the corner", just a bit more time :) On Nov 12, 2012, at 9:57 PM, Sebastian Nozzi <sebnozzi@gmail.com> wrote:
UI builder? Cool, this is getting better and better... :-)
2012/11/12 Stéphane Ducasse <stephane.ducasse@inria.fr>:
Yes. So for now you simply used plain polymorph. In the future we will have a UI builder.
Stef
thanks Now do you have a case where the categories get lost (because they should be saved in the change file) And we may broke something. Which version are you using? Stef On Nov 12, 2012, at 8:06 PM, Sebastian Nozzi wrote:
Dear Pharo Community,
I would like to share with you the work of my past weekend, and announce "CategorySaver".
It is a simple utility to periodically save (file-out) a list of categories given (wildcards accepted).
You can find it here:
http://smalltalkhub.com/#!/~sebnozzi/CategorySaver
And invoke it like this:
CategorySaverPanel new openInWorld
What motivated me to do this was loosing hours of work after image "hang-ups", without having saved before. In those cases I thought that it would be cool to have some kind of background process, that at least saved some recent version of the code I was working on. But only now I got myself to write it.
Hopefully you are not like me, you know what you are doing, the VM never hangs on you, and don't need this utility ;-) For all others I hope you might find it helpful.
Best regards,
Sebastian
P.S. I am kind of a Smalltlak newbie. So if you find things to improve in the code, I am glad about any tip / critique. P.S. 2 -- I was amazed at how easy it was to code the UI! UI programming in Squeak/Pharo was always an area where I thought must be incredible complicated, but thanks to UITheme's builder (Polymorph?) it's a breeze. Good work! P.S. 3 -- Did I have to manually add [ANN] to the subject? My apologies in this case. Also my apologies if this kind of mails correspond to only one of the lists.
Since you mention it, yes. I think (but not 100% sure) that I had the case that I chose all the relevant changes to recover, but still I got the error message about a class not existing. The class creation event was not there (in the changes). It might have been an obscure case, maybe I deleted the class, and then renamed an existing one to the name of the deleted class... Something along the lines... But it's not because of that case that I wrote this utility. For me, it's just a matter of preference. I prefer not to sort through the changes, and file-in the categories I was working for. If I *do* need "recover lost changes", I know it's there. And of course this tool is only limited to the categories specified, whereas the "recover lost changes" deals with system-wide changes. Regards, Sebastian 2012/11/12 Stéphane Ducasse <stephane.ducasse@inria.fr>:
thanks Now do you have a case where the categories get lost (because they should be saved in the change file) And we may broke something. Which version are you using?
Stef
participants (7)
-
Ben Coman -
Damien Cassou -
Esteban Lorenzano -
Mariano Martinez Peck -
Sebastian Nozzi -
Sebastian Sastre -
Stéphane Ducasse