[ANN] New source.squeak.org prototype

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

[ANN] New source.squeak.org prototype

Chris Muller-4
An on-going concern of the community is sustaining and improving our
trunk development process.  Currently source.squeak.org employs an old
version of SqueakSource running on an old Squeak 3.x image on an old
interpreter VM.  I have deployed a prototype replacement on box4 with
several improvements:

  - It is running on the latest trunk image with a recent Cog VM.
  - The SqueakSource package has been upgraded to generically support
any type of backend instead of only a Filesystem-based back end.
  - A new subclass for a Magma-based back end was added and used by
the prototype.
  - Startup time is > 10X faster than with the FileSystem (which uses
ReferenceStream).
  - Commits are > 100X faster because it's simply a DB commit rather
than re-serializing the entire model with ReferenceStream for every
change.
  - However, we will not notice a speed up because we have hacked
SqueakSource to bypass the Filesystem subclass for a
save-the-image-every-hour persistence.  But this is unsustainable and
dangerous.
  - The SqueakSource-software now responds to SIGTERM to conduct a
graceful shutdown and exit.
  - Use of the Magma back end improves the SCM tool by letting us
browse all 'mc versions' of any method or class-definition.  We can
also browse the 'mc origin' of same -- which is just the oldest
version it is known to exist in (which, if we would ensure ALL
ancestry is present, then it will truly be the origin).  Happy
birthday Tim Rowledge.

I have done VERY minimal testing.  But we need to finally begin the
process of moving this crucial component our community away from the
costly Hetzner box and onto Gandi-based servers provided by the SFC,
so please try it and provide feedback!

To use the new prototype:

  1) Use a recent trunk image.
  2) Install Monticello-cmm.565 from the Inbox.  'browse mc versions'
and 'browse mc origin' will be added to methods and class-list menus
(but are initially grayed out).
  3) Add this repository to Monticello:

    MCHttpRepository
        location: 'http://box4.squeak.org:8888/trunk'
        user: 'id'
        password: 'pw'

  4) Add the above repository to whichever packages you wish to invoke
the new SCM features.

 - Chris

PS -- This prototype only has data loaded for the trunk project as of
about one week ago.  It is not kept in-sync with production trunk,
this is just a test.

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] New source.squeak.org prototype

Chris Muller-3
>   2) Install Monticello-cmm.565 from the Inbox.

Monticello-cmm.566

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] New source.squeak.org prototype

David T. Lewis
In reply to this post by Chris Muller-4
Bravo! This is great stuff.

I loaded Monticello-cmm.566 from the inbox, and I want to try out the
new 'browse mc origin' and 'browse mc versions' feature, which shows
up in the methods pane and class list pane as promised. But I can't
figure out how to activate them so they are not greyed out??? I'm trying
to browse a class in the sound package (just to see what it does), so
I added the http://box4.squeak.org:8888/trunk repository to package
Sound in my MC browser, but no joy. How do I activate the 'browse mc versions'
feature?

Thanks for doing this Chris!

Dave

On Fri, Sep 06, 2013 at 04:46:46PM -0500, Chris Muller wrote:

> An on-going concern of the community is sustaining and improving our
> trunk development process.  Currently source.squeak.org employs an old
> version of SqueakSource running on an old Squeak 3.x image on an old
> interpreter VM.  I have deployed a prototype replacement on box4 with
> several improvements:
>
>   - It is running on the latest trunk image with a recent Cog VM.
>   - The SqueakSource package has been upgraded to generically support
> any type of backend instead of only a Filesystem-based back end.
>   - A new subclass for a Magma-based back end was added and used by
> the prototype.
>   - Startup time is > 10X faster than with the FileSystem (which uses
> ReferenceStream).
>   - Commits are > 100X faster because it's simply a DB commit rather
> than re-serializing the entire model with ReferenceStream for every
> change.
>   - However, we will not notice a speed up because we have hacked
> SqueakSource to bypass the Filesystem subclass for a
> save-the-image-every-hour persistence.  But this is unsustainable and
> dangerous.
>   - The SqueakSource-software now responds to SIGTERM to conduct a
> graceful shutdown and exit.
>   - Use of the Magma back end improves the SCM tool by letting us
> browse all 'mc versions' of any method or class-definition.  We can
> also browse the 'mc origin' of same -- which is just the oldest
> version it is known to exist in (which, if we would ensure ALL
> ancestry is present, then it will truly be the origin).  Happy
> birthday Tim Rowledge.
>
> I have done VERY minimal testing.  But we need to finally begin the
> process of moving this crucial component our community away from the
> costly Hetzner box and onto Gandi-based servers provided by the SFC,
> so please try it and provide feedback!
>
> To use the new prototype:
>
>   1) Use a recent trunk image.
>   2) Install Monticello-cmm.565 from the Inbox.  'browse mc versions'
> and 'browse mc origin' will be added to methods and class-list menus
> (but are initially grayed out).
>   3) Add this repository to Monticello:
>
>     MCHttpRepository
>         location: 'http://box4.squeak.org:8888/trunk'
>         user: 'id'
>         password: 'pw'
>
>   4) Add the above repository to whichever packages you wish to invoke
> the new SCM features.
>
>  - Chris
>
> PS -- This prototype only has data loaded for the trunk project as of
> about one week ago.  It is not kept in-sync with production trunk,
> this is just a test.

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] New source.squeak.org prototype

timrowledge

On 06-09-2013, at 4:22 PM, "David T. Lewis" <[hidden email]> wrote:

> Bravo! This is great stuff.

Seconded. I'm stuck deep in the bowels of the old image right now so I can't sensibly try this out yet but I'm looking forward to it.


tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Strange OpCodes: JSP: Jump on Sexy Programmer



Reply | Threaded
Open this post in threaded view
|

Re: [ANN] New source.squeak.org prototype

Chris Muller-3
In reply to this post by David T. Lewis
It looks like I've missed a few methods to support those new functions
that need to be moved to Monticello (from Magma).  Sorry, I'll post a
fix this weekend..

On Fri, Sep 6, 2013 at 6:22 PM, David T. Lewis <[hidden email]> wrote:

> Bravo! This is great stuff.
>
> I loaded Monticello-cmm.566 from the inbox, and I want to try out the
> new 'browse mc origin' and 'browse mc versions' feature, which shows
> up in the methods pane and class list pane as promised. But I can't
> figure out how to activate them so they are not greyed out??? I'm trying
> to browse a class in the sound package (just to see what it does), so
> I added the http://box4.squeak.org:8888/trunk repository to package
> Sound in my MC browser, but no joy. How do I activate the 'browse mc versions'
> feature?
>
> Thanks for doing this Chris!
>
> Dave
>
> On Fri, Sep 06, 2013 at 04:46:46PM -0500, Chris Muller wrote:
>> An on-going concern of the community is sustaining and improving our
>> trunk development process.  Currently source.squeak.org employs an old
>> version of SqueakSource running on an old Squeak 3.x image on an old
>> interpreter VM.  I have deployed a prototype replacement on box4 with
>> several improvements:
>>
>>   - It is running on the latest trunk image with a recent Cog VM.
>>   - The SqueakSource package has been upgraded to generically support
>> any type of backend instead of only a Filesystem-based back end.
>>   - A new subclass for a Magma-based back end was added and used by
>> the prototype.
>>   - Startup time is > 10X faster than with the FileSystem (which uses
>> ReferenceStream).
>>   - Commits are > 100X faster because it's simply a DB commit rather
>> than re-serializing the entire model with ReferenceStream for every
>> change.
>>   - However, we will not notice a speed up because we have hacked
>> SqueakSource to bypass the Filesystem subclass for a
>> save-the-image-every-hour persistence.  But this is unsustainable and
>> dangerous.
>>   - The SqueakSource-software now responds to SIGTERM to conduct a
>> graceful shutdown and exit.
>>   - Use of the Magma back end improves the SCM tool by letting us
>> browse all 'mc versions' of any method or class-definition.  We can
>> also browse the 'mc origin' of same -- which is just the oldest
>> version it is known to exist in (which, if we would ensure ALL
>> ancestry is present, then it will truly be the origin).  Happy
>> birthday Tim Rowledge.
>>
>> I have done VERY minimal testing.  But we need to finally begin the
>> process of moving this crucial component our community away from the
>> costly Hetzner box and onto Gandi-based servers provided by the SFC,
>> so please try it and provide feedback!
>>
>> To use the new prototype:
>>
>>   1) Use a recent trunk image.
>>   2) Install Monticello-cmm.565 from the Inbox.  'browse mc versions'
>> and 'browse mc origin' will be added to methods and class-list menus
>> (but are initially grayed out).
>>   3) Add this repository to Monticello:
>>
>>     MCHttpRepository
>>         location: 'http://box4.squeak.org:8888/trunk'
>>         user: 'id'
>>         password: 'pw'
>>
>>   4) Add the above repository to whichever packages you wish to invoke
>> the new SCM features.
>>
>>  - Chris
>>
>> PS -- This prototype only has data loaded for the trunk project as of
>> about one week ago.  It is not kept in-sync with production trunk,
>> this is just a test.
>

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] New source.squeak.org prototype

Edgar De Cleene
In reply to this post by Chris Muller-4



On 9/6/13 6:46 PM, "Chris Muller" <[hidden email]> wrote:

> An on-going concern of the community is sustaining and improving our
> trunk development process.  Currently source.squeak.org employs an old
> version of SqueakSource running on an old Squeak 3.x image on an old
> interpreter VM.  I have deployed a prototype replacement on box4 with
> several improvements:
>
>   - It is running on the latest trunk image with a recent Cog VM.
>   - The SqueakSource package has been upgraded to generically support
> any type of backend instead of only a Filesystem-based back end.
>   - A new subclass for a Magma-based back end was added and used by
> the prototype.
>   - Startup time is > 10X faster than with the FileSystem (which uses
> ReferenceStream).
>   - Commits are > 100X faster because it's simply a DB commit rather
> than re-serializing the entire model with ReferenceStream for every
> change.
>   - However, we will not notice a speed up because we have hacked
> SqueakSource to bypass the Filesystem subclass for a
> save-the-image-every-hour persistence.  But this is unsustainable and
> dangerous.
>   - The SqueakSource-software now responds to SIGTERM to conduct a
> graceful shutdown and exit.
>   - Use of the Magma back end improves the SCM tool by letting us
> browse all 'mc versions' of any method or class-definition.  We can
> also browse the 'mc origin' of same -- which is just the oldest
> version it is known to exist in (which, if we would ensure ALL
> ancestry is present, then it will truly be the origin).  Happy
> birthday Tim Rowledge.
>
> I have done VERY minimal testing.  But we need to finally begin the
> process of moving this crucial component our community away from the
> costly Hetzner box and onto Gandi-based servers provided by the SFC,
> so please try it and provide feedback!
>
> To use the new prototype:
>
>   1) Use a recent trunk image.
>   2) Install Monticello-cmm.565 from the Inbox.  'browse mc versions'
> and 'browse mc origin' will be added to methods and class-list menus
> (but are initially grayed out).
>   3) Add this repository to Monticello:
>
>     MCHttpRepository
>         location: 'http://box4.squeak.org:8888/trunk'
>         user: 'id'
>         password: 'pw'
>
>   4) Add the above repository to whichever packages you wish to invoke
> the new SCM features.
>
>  - Chris
>
> PS -- This prototype only has data loaded for the trunk project as of
> about one week ago.  It is not kept in-sync with production trunk,
> this is just a test.
>

BRAVO!!

I like to know if the .image could be downloaded from some place for learn
of it.

Edgar



Reply | Threaded
Open this post in threaded view
|

Re: [ANN] New source.squeak.org prototype

Chris Muller-3
In reply to this post by David T. Lewis
Ok, please merge Monticello-cmm.568 from the Inbox and the new SCM
features should work!

On Fri, Sep 6, 2013 at 6:22 PM, David T. Lewis <[hidden email]> wrote:

> Bravo! This is great stuff.
>
> I loaded Monticello-cmm.566 from the inbox, and I want to try out the
> new 'browse mc origin' and 'browse mc versions' feature, which shows
> up in the methods pane and class list pane as promised. But I can't
> figure out how to activate them so they are not greyed out??? I'm trying
> to browse a class in the sound package (just to see what it does), so
> I added the http://box4.squeak.org:8888/trunk repository to package
> Sound in my MC browser, but no joy. How do I activate the 'browse mc versions'
> feature?
>
> Thanks for doing this Chris!
>
> Dave
>
> On Fri, Sep 06, 2013 at 04:46:46PM -0500, Chris Muller wrote:
>> An on-going concern of the community is sustaining and improving our
>> trunk development process.  Currently source.squeak.org employs an old
>> version of SqueakSource running on an old Squeak 3.x image on an old
>> interpreter VM.  I have deployed a prototype replacement on box4 with
>> several improvements:
>>
>>   - It is running on the latest trunk image with a recent Cog VM.
>>   - The SqueakSource package has been upgraded to generically support
>> any type of backend instead of only a Filesystem-based back end.
>>   - A new subclass for a Magma-based back end was added and used by
>> the prototype.
>>   - Startup time is > 10X faster than with the FileSystem (which uses
>> ReferenceStream).
>>   - Commits are > 100X faster because it's simply a DB commit rather
>> than re-serializing the entire model with ReferenceStream for every
>> change.
>>   - However, we will not notice a speed up because we have hacked
>> SqueakSource to bypass the Filesystem subclass for a
>> save-the-image-every-hour persistence.  But this is unsustainable and
>> dangerous.
>>   - The SqueakSource-software now responds to SIGTERM to conduct a
>> graceful shutdown and exit.
>>   - Use of the Magma back end improves the SCM tool by letting us
>> browse all 'mc versions' of any method or class-definition.  We can
>> also browse the 'mc origin' of same -- which is just the oldest
>> version it is known to exist in (which, if we would ensure ALL
>> ancestry is present, then it will truly be the origin).  Happy
>> birthday Tim Rowledge.
>>
>> I have done VERY minimal testing.  But we need to finally begin the
>> process of moving this crucial component our community away from the
>> costly Hetzner box and onto Gandi-based servers provided by the SFC,
>> so please try it and provide feedback!
>>
>> To use the new prototype:
>>
>>   1) Use a recent trunk image.
>>   2) Install Monticello-cmm.565 from the Inbox.  'browse mc versions'
>> and 'browse mc origin' will be added to methods and class-list menus
>> (but are initially grayed out).
>>   3) Add this repository to Monticello:
>>
>>     MCHttpRepository
>>         location: 'http://box4.squeak.org:8888/trunk'
>>         user: 'id'
>>         password: 'pw'
>>
>>   4) Add the above repository to whichever packages you wish to invoke
>> the new SCM features.
>>
>>  - Chris
>>
>> PS -- This prototype only has data loaded for the trunk project as of
>> about one week ago.  It is not kept in-sync with production trunk,
>> this is just a test.
>

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] New source.squeak.org prototype

Chris Muller-3
In reply to this post by Edgar De Cleene
It's in my home directory on box4, but probably the best way to
understand what I did is to diff SqueakSource-cmm.1077 with
SqueakSource-bf.1074 versions in http://source.squeak.org/ss.

On Sat, Sep 7, 2013 at 9:56 AM, Edgar J. De Cleene
<[hidden email]> wrote:

>
>
>
> On 9/6/13 6:46 PM, "Chris Muller" <[hidden email]> wrote:
>
>> An on-going concern of the community is sustaining and improving our
>> trunk development process.  Currently source.squeak.org employs an old
>> version of SqueakSource running on an old Squeak 3.x image on an old
>> interpreter VM.  I have deployed a prototype replacement on box4 with
>> several improvements:
>>
>>   - It is running on the latest trunk image with a recent Cog VM.
>>   - The SqueakSource package has been upgraded to generically support
>> any type of backend instead of only a Filesystem-based back end.
>>   - A new subclass for a Magma-based back end was added and used by
>> the prototype.
>>   - Startup time is > 10X faster than with the FileSystem (which uses
>> ReferenceStream).
>>   - Commits are > 100X faster because it's simply a DB commit rather
>> than re-serializing the entire model with ReferenceStream for every
>> change.
>>   - However, we will not notice a speed up because we have hacked
>> SqueakSource to bypass the Filesystem subclass for a
>> save-the-image-every-hour persistence.  But this is unsustainable and
>> dangerous.
>>   - The SqueakSource-software now responds to SIGTERM to conduct a
>> graceful shutdown and exit.
>>   - Use of the Magma back end improves the SCM tool by letting us
>> browse all 'mc versions' of any method or class-definition.  We can
>> also browse the 'mc origin' of same -- which is just the oldest
>> version it is known to exist in (which, if we would ensure ALL
>> ancestry is present, then it will truly be the origin).  Happy
>> birthday Tim Rowledge.
>>
>> I have done VERY minimal testing.  But we need to finally begin the
>> process of moving this crucial component our community away from the
>> costly Hetzner box and onto Gandi-based servers provided by the SFC,
>> so please try it and provide feedback!
>>
>> To use the new prototype:
>>
>>   1) Use a recent trunk image.
>>   2) Install Monticello-cmm.565 from the Inbox.  'browse mc versions'
>> and 'browse mc origin' will be added to methods and class-list menus
>> (but are initially grayed out).
>>   3) Add this repository to Monticello:
>>
>>     MCHttpRepository
>>         location: 'http://box4.squeak.org:8888/trunk'
>>         user: 'id'
>>         password: 'pw'
>>
>>   4) Add the above repository to whichever packages you wish to invoke
>> the new SCM features.
>>
>>  - Chris
>>
>> PS -- This prototype only has data loaded for the trunk project as of
>> about one week ago.  It is not kept in-sync with production trunk,
>> this is just a test.
>>
>
> BRAVO!!
>
> I like to know if the .image could be downloaded from some place for learn
> of it.
>
> Edgar
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] New source.squeak.org prototype

David T. Lewis
In reply to this post by Chris Muller-3
With Monticello-cmm.569 it seems to be doing the right things. Very nice!

One question - Browse mc versions gives a patch browser that displays the
versions, but it does not seem to be showing method timestamp and author
initial information, or the mc origin of each method version. Is this
not yet implemented, or am I missing something in my image that is present
in yours?

Thanks,
Dave


On Sat, Sep 07, 2013 at 11:33:15AM -0500, Chris Muller wrote:

> Ok, please merge Monticello-cmm.568 from the Inbox and the new SCM
> features should work!
>
> On Fri, Sep 6, 2013 at 6:22 PM, David T. Lewis <[hidden email]> wrote:
> > Bravo! This is great stuff.
> >
> > I loaded Monticello-cmm.566 from the inbox, and I want to try out the
> > new 'browse mc origin' and 'browse mc versions' feature, which shows
> > up in the methods pane and class list pane as promised. But I can't
> > figure out how to activate them so they are not greyed out??? I'm trying
> > to browse a class in the sound package (just to see what it does), so
> > I added the http://box4.squeak.org:8888/trunk repository to package
> > Sound in my MC browser, but no joy. How do I activate the 'browse mc versions'
> > feature?
> >
> > Thanks for doing this Chris!
> >
> > Dave
> >
> > On Fri, Sep 06, 2013 at 04:46:46PM -0500, Chris Muller wrote:
> >> An on-going concern of the community is sustaining and improving our
> >> trunk development process.  Currently source.squeak.org employs an old
> >> version of SqueakSource running on an old Squeak 3.x image on an old
> >> interpreter VM.  I have deployed a prototype replacement on box4 with
> >> several improvements:
> >>
> >>   - It is running on the latest trunk image with a recent Cog VM.
> >>   - The SqueakSource package has been upgraded to generically support
> >> any type of backend instead of only a Filesystem-based back end.
> >>   - A new subclass for a Magma-based back end was added and used by
> >> the prototype.
> >>   - Startup time is > 10X faster than with the FileSystem (which uses
> >> ReferenceStream).
> >>   - Commits are > 100X faster because it's simply a DB commit rather
> >> than re-serializing the entire model with ReferenceStream for every
> >> change.
> >>   - However, we will not notice a speed up because we have hacked
> >> SqueakSource to bypass the Filesystem subclass for a
> >> save-the-image-every-hour persistence.  But this is unsustainable and
> >> dangerous.
> >>   - The SqueakSource-software now responds to SIGTERM to conduct a
> >> graceful shutdown and exit.
> >>   - Use of the Magma back end improves the SCM tool by letting us
> >> browse all 'mc versions' of any method or class-definition.  We can
> >> also browse the 'mc origin' of same -- which is just the oldest
> >> version it is known to exist in (which, if we would ensure ALL
> >> ancestry is present, then it will truly be the origin).  Happy
> >> birthday Tim Rowledge.
> >>
> >> I have done VERY minimal testing.  But we need to finally begin the
> >> process of moving this crucial component our community away from the
> >> costly Hetzner box and onto Gandi-based servers provided by the SFC,
> >> so please try it and provide feedback!
> >>
> >> To use the new prototype:
> >>
> >>   1) Use a recent trunk image.
> >>   2) Install Monticello-cmm.565 from the Inbox.  'browse mc versions'
> >> and 'browse mc origin' will be added to methods and class-list menus
> >> (but are initially grayed out).
> >>   3) Add this repository to Monticello:
> >>
> >>     MCHttpRepository
> >>         location: 'http://box4.squeak.org:8888/trunk'
> >>         user: 'id'
> >>         password: 'pw'
> >>
> >>   4) Add the above repository to whichever packages you wish to invoke
> >> the new SCM features.
> >>
> >>  - Chris
> >>
> >> PS -- This prototype only has data loaded for the trunk project as of
> >> about one week ago.  It is not kept in-sync with production trunk,
> >> this is just a test.
> >

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] New source.squeak.org prototype

Chris Muller-4
> With Monticello-cmm.569 it seems to be doing the right things. Very nice!
>
> One question - Browse mc versions gives a patch browser that displays the
> versions, but it does not seem to be showing method timestamp and author
> initial information,

You have #annotationPanes preference enabled, don't you?  If so, which
method is it not showing up for?  It seems to be working for me..

> or the mc origin of each method version. Is this
> not yet implemented, or am I missing something in my image that is present
> in yours?

Do you mean a context-menu entry 'Browse mc origin' on the Patch
Browser's context menu?  I had not thought of that but yes, since each
displayed PatchOperation knows its #definition, I suppose that could
be done.

It's not implemented but a work-around is simply select "install" on
the one you want to know the origin, then select "Browse mc origin"
from the Hierarchy or PackagePane browser.  Don't forget to revert the
method if you don't actually want it part of your image.

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] New source.squeak.org prototype

David T. Lewis
On Sat, Sep 07, 2013 at 05:12:48PM -0500, Chris Muller wrote:
> > With Monticello-cmm.569 it seems to be doing the right things. Very nice!
> >
> > One question - Browse mc versions gives a patch browser that displays the
> > versions, but it does not seem to be showing method timestamp and author
> > initial information,
>
> You have #annotationPanes preference enabled, don't you?  If so, which
> method is it not showing up for?  It seems to be working for me..

I see now. I was expecting the MCPatchBrowser to show the information in
the same way as a VersionsBrowser, but it does not. Instead, the version
labels are in the middle panel. My mistake.

>
> > or the mc origin of each method version. Is this
> > not yet implemented, or am I missing something in my image that is present
> > in yours?
>
> Do you mean a context-menu entry 'Browse mc origin' on the Patch
> Browser's context menu?  I had not thought of that but yes, since each
> displayed PatchOperation knows its #definition, I suppose that could
> be done.

Yes, something like that :)

>
> It's not implemented but a work-around is simply select "install" on
> the one you want to know the origin, then select "Browse mc origin"
> from the Hierarchy or PackagePane browser.  Don't forget to revert the
> method if you don't actually want it part of your image.

Ok, I see.

Thanks for doing this, it's great!

Dave