CategorySaver

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
15 messages Options
Reply | Threaded
Open this post in threaded view
|

CategorySaver

senTalker
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.

Reply | Threaded
Open this post in threaded view
|

Re: CategorySaver

senTalker
Sorry, forgot the screenshots...


2012/11/12 Sebastian Nozzi <[hidden email]>:

> 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 (20K) Download Attachment
category-saver-settings.png (28K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: CategorySaver

Mariano Martinez Peck
In reply to this post by senTalker


On Mon, Nov 12, 2012 at 8:06 PM, Sebastian Nozzi <[hidden email]> 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

Reply | Threaded
Open this post in threaded view
|

Re: CategorySaver

Damien Cassou
On Mon, Nov 12, 2012 at 8:42 PM, Mariano Martinez Peck
<[hidden email]> 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

Reply | Threaded
Open this post in threaded view
|

Re: CategorySaver

Damien Cassou
In reply to this post by senTalker
On Mon, Nov 12, 2012 at 8:06 PM, Sebastian Nozzi <[hidden email]> 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

Reply | Threaded
Open this post in threaded view
|

Re: CategorySaver

senTalker
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/PolymorphTutorial/Layout/

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 <[hidden email]>:

> On Mon, Nov 12, 2012 at 8:06 PM, Sebastian Nozzi <[hidden email]> 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

Reply | Threaded
Open this post in threaded view
|

Re: CategorySaver

Stéphane Ducasse
In reply to this post by senTalker
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.
>


Reply | Threaded
Open this post in threaded view
|

Re: CategorySaver

Stéphane Ducasse
In reply to this post by senTalker

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/PolymorphTutorial/Layout/
>
> 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
Reply | Threaded
Open this post in threaded view
|

Re: CategorySaver

Mariano Martinez Peck
In reply to this post by Damien Cassou


On Mon, Nov 12, 2012 at 8:53 PM, Damien Cassou <[hidden email]> wrote:
On Mon, Nov 12, 2012 at 8:42 PM, Mariano Martinez Peck
<[hidden email]> 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

Reply | Threaded
Open this post in threaded view
|

Re: CategorySaver

senTalker
In reply to this post by Damien Cassou
2012/11/12 Damien Cassou <[hidden email]>:
> 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
> <[hidden email]> 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

Reply | Threaded
Open this post in threaded view
|

Re: CategorySaver

senTalker
In reply to this post by Stéphane Ducasse
UI builder? Cool, this is getting better and better... :-)

2012/11/12 Stéphane Ducasse <[hidden email]>:
> Yes.
> So for now you simply used plain polymorph.
> In the future we will have a UI builder.
>
>
> Stef

Reply | Threaded
Open this post in threaded view
|

Re: CategorySaver

senTalker
In reply to this post by Stéphane Ducasse
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 <[hidden email]>:
> 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

Reply | Threaded
Open this post in threaded view
|

Re: CategorySaver

EstebanLM
In reply to this post by senTalker
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 <[hidden email]> wrote:

> UI builder? Cool, this is getting better and better... :-)
>
> 2012/11/12 Stéphane Ducasse <[hidden email]>:
>> Yes.
>> So for now you simply used plain polymorph.
>> In the future we will have a UI builder.
>>
>>
>> Stef
>


Reply | Threaded
Open this post in threaded view
|

Re: CategorySaver

Stéphane Ducasse
In reply to this post by senTalker

On Nov 12, 2012, at 9:51 PM, Sebastian Nozzi 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.

Me too.

Stef

Reply | Threaded
Open this post in threaded view
|

Re: CategorySaver

Damien Cassou
In reply to this post by senTalker
On Mon, Nov 12, 2012 at 9:51 PM, Sebastian Nozzi <[hidden email]> 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