Release candidate Squeak4.4-12320 ready

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

Re: Squeaksource, Squeak and Pharo..

Chris Muller-3
> Does anyone have a practical solution for this problem?

Start here.

  http://wiki.squeak.org/squeak/6183

All of the requirements listed there are currently solved by the work
I did in 2011 on SqueakMap and working since the 4.2 release.

Follow a couple of the links for detailed instructions about *how*
including screenshots.


On Thu, Dec 20, 2012 at 2:28 PM, Ron Teitelbaum <[hidden email]> wrote:

> Hi All,
>
> Does anyone have a practical solution for this problem?  What would be
> needed to make it so that I can write my package for different versions of
> Squeak and Pharo?
>
> I don't know enough about the pieces involved but here is a question (I've
> been a bit out of the loop).  If Squeak supported MetaCello and
> PackageInstaller would that make it easier for the Squeak Community to write
> code that is compatible with both systems?
>
> If I wanted to port my code to Pharo using Monticello how would I do that
> now?  I use Monticello Configurations and loved them.  Is it as easy as
> making an installer category and publishing a Monticello Configuration file?
> What do people do now (if anything)?
>
> I remember publishing some stuff on SqueakMap but don't remember how it
> worked now, not sure what's wrong with it either since IIRC it supports
> multiple versions.  I think that the process to figure out how to publish
> was a barrier to entry (but don't quote me on that).
>
> I'm not taking sides just asking questions.
>
> All the best,
>
> Ron Teitelbaum
> Head Of Engineering
> 3d Immersive Collaboration Consulting
> [hidden email]
> Follow Me On Twitter: @RonTeitelbaum
> www.3dicc.com
>
>
>
>
>
>
>

Reply | Threaded
Open this post in threaded view
|

RE: Squeaksource, Squeak and Pharo..

Angel "Java" Lopez-2
In reply to this post by Ron Teitelbaum
Hi!

I'm a totally newbie to Smalltalk.. but I could add something to this
thread.

Usually, in the rest of technologies (Java, .NET, Ruby, Python,
Node.js/Javascript...) there are two orthogonal problems/solutions:

- Write the source (for different Smalltalks, maintenance, updates, fixes..
)
- Publish packages

IMO, the "keep the source" is really shining, using GitHub (ok, there are
others, BitBucket with Mercurial, etc...). You can have branches (I imagine
MyTool with branches Pharo, Squeak, VisualWorks, etc...), and versioning
(with tags, a branch could have tags: v1.1, v1.2, etc.. whatever). And you
can fork any project/branch into your GitHub account, make the changes, and
make a pull request to the original author, so he/she could add the changes.
GitHub has a simple Issues system, that many programmers around the world
are using everyday. You can see the changes of the sources, see the history,
learn online viewing the code, etc... Smalltalk system is too opaque
compared with GitHub and alikes.

Publish packages: Ruby and Node.js HAVE a single WINNER in the package
management. Ruby have gems, and Node.js have NPM. Having ONLY one package
manager (publish the package, download the package, download the package
with version X, download the package and the package has a descriptions of
the other packages to download and install, steps post download, etc....)
helped Ruby, Node.js to have a simple and powerful package ecosystem. In
.NET, the same is happening with NuGet. In Java, maybe Maven played that
role (but it is more ambitious, it took responsabilities beyond package
management).

Having only one source was a great improvement. Usually, we tend to think:
"only one package manager? No, we want diversity...". As it was pointed in
this list, Ruby Gems born under other name, and then, after its adoption by
the community, it was "promoted" to the official package manager.

Angel "Java" Lopez
@ajlopez
Github:ajlopez


-----Original Message-----
From: [hidden email]
[mailto:[hidden email]] On Behalf Of Ron
Teitelbaum
Sent: Thursday, December 20, 2012 5:29 PM
To: 'The general-purpose Squeak developers list'; 'Benoit St-Jean'
Subject: RE: [squeak-dev] Squeaksource, Squeak and Pharo..

Hi All,

Does anyone have a practical solution for this problem?  What would be
needed to make it so that I can write my package for different versions of
Squeak and Pharo?

I don't know enough about the pieces involved but here is a question (I've
been a bit out of the loop).  If Squeak supported MetaCello and
PackageInstaller would that make it easier for the Squeak Community to write
code that is compatible with both systems?

If I wanted to port my code to Pharo using Monticello how would I do that
now?  I use Monticello Configurations and loved them.  Is it as easy as
making an installer category and publishing a Monticello Configuration file?
What do people do now (if anything)?

I remember publishing some stuff on SqueakMap but don't remember how it
worked now, not sure what's wrong with it either since IIRC it supports
multiple versions.  I think that the process to figure out how to publish
was a barrier to entry (but don't quote me on that).  

I'm not taking sides just asking questions.

All the best,

Ron Teitelbaum
Head Of Engineering
3d Immersive Collaboration Consulting
[hidden email]
Follow Me On Twitter: @RonTeitelbaum
www.3dicc.com








Reply | Threaded
Open this post in threaded view
|

Re: Release candidate Squeak4.4-12320 ready

Frank Shearar-3
In reply to this post by Colin Putney-3
On 20 December 2012 20:03, Colin Putney <[hidden email]> wrote:

>
>
>
> On Thu, Dec 20, 2012 at 6:05 AM, Frank Shearar <[hidden email]>
> wrote:
>>
>> * http://ftp.squeak.org/4.4/Squeak4.4-12320.tgz
>> * http://ftp.squeak.org/4.4/Squeak4.4-12320.zip
>>
>> This should fix the MC failing tests.
>
>
> This doesn't solve the dirty package problem though
> (http://lists.squeakfoundation.org/pipermail/squeak-dev/2012-December/167052.html).

Sure. One thing at a time though :)

> I ran the following doIt in the above image:
>
>
> | trunk dirty |
> trunk := MCRepositoryGroup default repositories detect:
> [:ea | ea description = 'http://source.squeak.org/trunk'].
>
> dirty := Dictionary new.
> MCWorkingCopy allManagers collect:
> [:ea || changes |
> changes := ea changesRelativeToRepository: trunk.
> changes isEmpty ifFalse:
> [dirty at: ea put: changes]].
> ^ dirty
>
> It takes a while, but it gives the following list of dirty packages:
>
> Collections
> FlexibleVocabularies
> Graphics
> Multilingual
> SMLoader
> ToolBuilder-Kernel
>
> Some of these are harmless, but we shouldn't ship the image without fixing
> at least Collections and ToolBuilder-Kernel.

OK. Why's the UI lying, though?

frank

> Colin
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Release candidate Squeak4.4-12320 ready

Colin Putney-3


On Thu, Dec 20, 2012 at 3:56 PM, Frank Shearar <[hidden email]> wrote:
OK. Why's the UI lying, though

If somebody happens to make a change while SystemNotifications are turned off, the MC working copies won't notice the change. If you use the MC UI to view the changes to a package, it'll examine the image and update the UI, even if the working copy is marked clean.

Colin


Reply | Threaded
Open this post in threaded view
|

Re: Squeaksource, Squeak and Pharo..

Göran Krampe
In reply to this post by Angel "Java" Lopez-2
Hi folks!

As the author of SqueakMap, long time Squeaker (and nowadays both
Squeaker and Pharooner) and also involved in some other related projects
(SmalltalkHub and more) my view might be of some interest.

First of all, Angel compares with the rest of the world - but we have
both historic and technical differences at play. Some things worth noting:

- SqueakMap was indeed started out as a generic package *catalog*. It is
not a SCM tool. It was format agnostic from the very beginning.

- Monticello and SqueakSource came from Avi. Superb tools but when
Squeaksource came I quickly warned the community that it would deminish
SqueakMap because it overlapped and "took over" several "catalog"
aspects. I was right unfortunately, but at the same time SS was great
and has served us very well in its own right.

- Noone has really taken SM and moved it forward. I also don't have that
amount of free time anymore.

- SqueakMap is dead. Face it. :) It is not the future IMHO.

- Monticello and Metacello are the de facto standard these days for SCM
and package loading. Metacello took the whole
dependencies/tagging/releases issue and simply rode on MC to solve it. I
have felt it looks overly complex but it's mostly some line noise - it
is not that complicated.

- This also means that for a very, very long time package management and
source code management will be forever "intertwined" in the Smalltalk
world. Personally I say - fine! Again, let's just embrace it and go.

- The advantage is that Metacello "configurations" is "just code" and
can offer functionality totally independent of the hosting platform for
MC. So it doesn't matter if you load a Metacello configuration from a
website, from SS or SS3 or Smalltalkhub - it all works the same!

- Monticello AND Metacello are meant to work in Squeak too. I haven't
tried, but I presume Metacello works or is very close to working?

- Pharo is betting hard on Smalltalkhub. It is a really nice system AND
there is also an image side client tool brewing for it! This means the
equivalence of the SqueakMap Package Loader will be easy to build in
Squeak for Smalltalkhub.


So my advice would be:

1. Keep SqueakMap on oxygen for a little while longer while we get ready
to ditch it. Really.

2. Bet hard on Monticello (we already do, right?) and Metacello for
Squeak. Make sure they work. Embrace Metacello even if it does look a
bit complex to begin with. There are lots of articles, tutorials and
tons of examples to just copy from. I have written two configurations
these last two days and "the shit works". Good work Dale! :)

3. Get involved in Smalltalkhub and help out making it work fine for
Squeak, note the name - *Smalltalk* hub. It's not Pharohub! Don't set up
your own unless for some odd reason Pharo makes it uninhabitable for
Squeak and turns it into "Pharohub".

Note that Smalltalkhub is "just" a new SS, but much more solid
architecture, really snazzy modern web UI, offering githubish features
and bloody hell, I mean, it can show diffs right there in the browser!

Smalltalkhub also has a really cool architecture so the coding fun is
rated A++, Nicolas is busy as a bee making it better, better. I think it
should be seen as a unifying playground and Metacello as the "glue" that
makes it possible to have projects tailored for both Squeak and Pharo.
It has many functions for EXACTLY that.

Either way, I am putting my efforts right there. IMHO the Squeak
community should do so too. If the Squeak community can ride a bit on
the momentum in Pharo - there is really no reason not to.

regards, Göran

Reply | Threaded
Open this post in threaded view
|

Re: Squeaksource, Squeak and Pharo..

Edgar De Cleene



On 12/20/12 6:14 PM, "Göran Krampe" <[hidden email]> wrote:

> Hi folks!
>
> As the author of SqueakMap, long time Squeaker (and nowadays both
> Squeaker and Pharooner) and also involved in some other related projects
> (SmalltalkHub and more) my view might be of some interest.
>
> First of all, Angel compares with the rest of the world - but we have
> both historic and technical differences at play. Some things worth noting:
>
> - SqueakMap was indeed started out as a generic package *catalog*. It is
> not a SCM tool. It was format agnostic from the very beginning.
>
> - Monticello and SqueakSource came from Avi. Superb tools but when
> Squeaksource came I quickly warned the community that it would deminish
> SqueakMap because it overlapped and "took over" several "catalog"
> aspects. I was right unfortunately, but at the same time SS was great
> and has served us very well in its own right.
>
> - Noone has really taken SM and moved it forward. I also don't have that
> amount of free time anymore.
>
> - SqueakMap is dead. Face it. :) It is not the future IMHO.
>
> - Monticello and Metacello are the de facto standard these days for SCM
> and package loading. Metacello took the whole
> dependencies/tagging/releases issue and simply rode on MC to solve it. I
> have felt it looks overly complex but it's mostly some line noise - it
> is not that complicated.
>
> - This also means that for a very, very long time package management and
> source code management will be forever "intertwined" in the Smalltalk
> world. Personally I say - fine! Again, let's just embrace it and go.
>
> - The advantage is that Metacello "configurations" is "just code" and
> can offer functionality totally independent of the hosting platform for
> MC. So it doesn't matter if you load a Metacello configuration from a
> website, from SS or SS3 or Smalltalkhub - it all works the same!
>
> - Monticello AND Metacello are meant to work in Squeak too. I haven't
> tried, but I presume Metacello works or is very close to working?
>
> - Pharo is betting hard on Smalltalkhub. It is a really nice system AND
> there is also an image side client tool brewing for it! This means the
> equivalence of the SqueakMap Package Loader will be easy to build in
> Squeak for Smalltalkhub.
>
>
> So my advice would be:
>
> 1. Keep SqueakMap on oxygen for a little while longer while we get ready
> to ditch it. Really.
>
> 2. Bet hard on Monticello (we already do, right?) and Metacello for
> Squeak. Make sure they work. Embrace Metacello even if it does look a
> bit complex to begin with. There are lots of articles, tutorials and
> tons of examples to just copy from. I have written two configurations
> these last two days and "the shit works". Good work Dale! :)
>
> 3. Get involved in Smalltalkhub and help out making it work fine for
> Squeak, note the name - *Smalltalk* hub. It's not Pharohub! Don't set up
> your own unless for some odd reason Pharo makes it uninhabitable for
> Squeak and turns it into "Pharohub".
>
> Note that Smalltalkhub is "just" a new SS, but much more solid
> architecture, really snazzy modern web UI, offering githubish features
> and bloody hell, I mean, it can show diffs right there in the browser!
>
> Smalltalkhub also has a really cool architecture so the coding fun is
> rated A++, Nicolas is busy as a bee making it better, better. I think it
> should be seen as a unifying playground and Metacello as the "glue" that
> makes it possible to have projects tailored for both Squeak and Pharo.
> It has many functions for EXACTLY that.
>
> Either way, I am putting my efforts right there. IMHO the Squeak
> community should do so too. If the Squeak community can ride a bit on
> the momentum in Pharo - there is really no reason not to.
>
> regards, Göran

+1

Now that you become wiser not have time for us....

Edgar



Reply | Threaded
Open this post in threaded view
|

Re: Squeaksource, Squeak and Pharo..

kilon
In reply to this post by Göran Krampe
SqueakMap is dead, SqueakSource dead, later SmalltalkHub will be dead.

I am coming from pharo by the way, I am new with smalltalk, I was a python developer. 
And I love squeak too.

I dont understand why every smalltalk problem should be solved by smalltalk. 

Github is a great community , already has gathered tons of ruby and python projects, js and many more.

I think its a great candidate for smalltalk, no offense intended but definitely better that what SmalltalkHub can offer.

I want to embrace at times all these smalltalk technologies, but is hard to abandon Gihub that I have used for my projects and support the smalltalk solutions instead.

I dont want to downgrade the hard work of good people, but its hard to compete with products that are designed full time by big teams and matured through thousands of use cases.

My vote goes to Github.


From: Göran Krampe <[hidden email]>
To: The general-purpose Squeak developers list <[hidden email]>
Sent: Thursday, 20 December 2012, 23:14
Subject: Re: [squeak-dev] Squeaksource, Squeak and Pharo..

Hi folks!

As the author of SqueakMap, long time Squeaker (and nowadays both Squeaker and Pharooner) and also involved in some other related projects (SmalltalkHub and more) my view might be of some interest.

First of all, Angel compares with the rest of the world - but we have both historic and technical differences at play. Some things worth noting:

- SqueakMap was indeed started out as a generic package *catalog*. It is not a SCM tool. It was format agnostic from the very beginning.

- Monticello and SqueakSource came from Avi. Superb tools but when Squeaksource came I quickly warned the community that it would deminish SqueakMap because it overlapped and "took over" several "catalog" aspects. I was right unfortunately, but at the same time SS was great and has served us very well in its own right.

- Noone has really taken SM and moved it forward. I also don't have that amount of free time anymore.

- SqueakMap is dead. Face it. :) It is not the future IMHO.

- Monticello and Metacello are the de facto standard these days for SCM and package loading. Metacello took the whole dependencies/tagging/releases issue and simply rode on MC to solve it. I have felt it looks overly complex but it's mostly some line noise - it is not that complicated.

- This also means that for a very, very long time package management and source code management will be forever "intertwined" in the Smalltalk world. Personally I say - fine! Again, let's just embrace it and go.

- The advantage is that Metacello "configurations" is "just code" and can offer functionality totally independent of the hosting platform for MC. So it doesn't matter if you load a Metacello configuration from a website, from SS or SS3 or Smalltalkhub - it all works the same!

- Monticello AND Metacello are meant to work in Squeak too. I haven't tried, but I presume Metacello works or is very close to working?

- Pharo is betting hard on Smalltalkhub. It is a really nice system AND there is also an image side client tool brewing for it! This means the equivalence of the SqueakMap Package Loader will be easy to build in Squeak for Smalltalkhub.


So my advice would be:

1. Keep SqueakMap on oxygen for a little while longer while we get ready to ditch it. Really.

2. Bet hard on Monticello (we already do, right?) and Metacello for Squeak. Make sure they work. Embrace Metacello even if it does look a bit complex to begin with. There are lots of articles, tutorials and tons of examples to just copy from. I have written two configurations these last two days and "the shit works". Good work Dale! :)

3. Get involved in Smalltalkhub and help out making it work fine for Squeak, note the name - *Smalltalk* hub. It's not Pharohub! Don't set up your own unless for some odd reason Pharo makes it uninhabitable for Squeak and turns it into "Pharohub".

Note that Smalltalkhub is "just" a new SS, but much more solid architecture, really snazzy modern web UI, offering githubish features and bloody hell, I mean, it can show diffs right there in the browser!

Smalltalkhub also has a really cool architecture so the coding fun is rated A++, Nicolas is busy as a bee making it better, better. I think it should be seen as a unifying playground and Metacello as the "glue" that makes it possible to have projects tailored for both Squeak and Pharo. It has many functions for EXACTLY that.

Either way, I am putting my efforts right there. IMHO the Squeak community should do so too. If the Squeak community can ride a bit on the momentum in Pharo - there is really no reason not to.

regards, Göran





Reply | Threaded
Open this post in threaded view
|

Re: Squeaksource, Squeak and Pharo..

Frank Shearar-3
Just a note: github does not replace SM. It does not replace rubygems.
It's a fantastic tool for versioning source control.

I have a toolbox. It has a hammer AND a screwdriver.

frank

On 20 December 2012 22:15, dimitris chloupis <[hidden email]> wrote:

> SqueakMap is dead, SqueakSource dead, later SmalltalkHub will be dead.
>
> I am coming from pharo by the way, I am new with smalltalk, I was a python
> developer.
> And I love squeak too.
>
> I dont understand why every smalltalk problem should be solved by smalltalk.
>
> Github is a great community , already has gathered tons of ruby and python
> projects, js and many more.
>
> I think its a great candidate for smalltalk, no offense intended but
> definitely better that what SmalltalkHub can offer.
>
> I want to embrace at times all these smalltalk technologies, but is hard to
> abandon Gihub that I have used for my projects and support the smalltalk
> solutions instead.
>
> I dont want to downgrade the hard work of good people, but its hard to
> compete with products that are designed full time by big teams and matured
> through thousands of use cases.
>
> My vote goes to Github.
>
> ________________________________
> From: Göran Krampe <[hidden email]>
> To: The general-purpose Squeak developers list
> <[hidden email]>
> Sent: Thursday, 20 December 2012, 23:14
> Subject: Re: [squeak-dev] Squeaksource, Squeak and Pharo..
>
> Hi folks!
>
> As the author of SqueakMap, long time Squeaker (and nowadays both Squeaker
> and Pharooner) and also involved in some other related projects
> (SmalltalkHub and more) my view might be of some interest.
>
> First of all, Angel compares with the rest of the world - but we have both
> historic and technical differences at play. Some things worth noting:
>
> - SqueakMap was indeed started out as a generic package *catalog*. It is not
> a SCM tool. It was format agnostic from the very beginning.
>
> - Monticello and SqueakSource came from Avi. Superb tools but when
> Squeaksource came I quickly warned the community that it would deminish
> SqueakMap because it overlapped and "took over" several "catalog" aspects. I
> was right unfortunately, but at the same time SS was great and has served us
> very well in its own right.
>
> - Noone has really taken SM and moved it forward. I also don't have that
> amount of free time anymore.
>
> - SqueakMap is dead. Face it. :) It is not the future IMHO.
>
> - Monticello and Metacello are the de facto standard these days for SCM and
> package loading. Metacello took the whole dependencies/tagging/releases
> issue and simply rode on MC to solve it. I have felt it looks overly complex
> but it's mostly some line noise - it is not that complicated.
>
> - This also means that for a very, very long time package management and
> source code management will be forever "intertwined" in the Smalltalk world.
> Personally I say - fine! Again, let's just embrace it and go.
>
> - The advantage is that Metacello "configurations" is "just code" and can
> offer functionality totally independent of the hosting platform for MC. So
> it doesn't matter if you load a Metacello configuration from a website, from
> SS or SS3 or Smalltalkhub - it all works the same!
>
> - Monticello AND Metacello are meant to work in Squeak too. I haven't tried,
> but I presume Metacello works or is very close to working?
>
> - Pharo is betting hard on Smalltalkhub. It is a really nice system AND
> there is also an image side client tool brewing for it! This means the
> equivalence of the SqueakMap Package Loader will be easy to build in Squeak
> for Smalltalkhub.
>
>
> So my advice would be:
>
> 1. Keep SqueakMap on oxygen for a little while longer while we get ready to
> ditch it. Really.
>
> 2. Bet hard on Monticello (we already do, right?) and Metacello for Squeak.
> Make sure they work. Embrace Metacello even if it does look a bit complex to
> begin with. There are lots of articles, tutorials and tons of examples to
> just copy from. I have written two configurations these last two days and
> "the shit works". Good work Dale! :)
>
> 3. Get involved in Smalltalkhub and help out making it work fine for Squeak,
> note the name - *Smalltalk* hub. It's not Pharohub! Don't set up your own
> unless for some odd reason Pharo makes it uninhabitable for Squeak and turns
> it into "Pharohub".
>
> Note that Smalltalkhub is "just" a new SS, but much more solid architecture,
> really snazzy modern web UI, offering githubish features and bloody hell, I
> mean, it can show diffs right there in the browser!
>
> Smalltalkhub also has a really cool architecture so the coding fun is rated
> A++, Nicolas is busy as a bee making it better, better. I think it should be
> seen as a unifying playground and Metacello as the "glue" that makes it
> possible to have projects tailored for both Squeak and Pharo. It has many
> functions for EXACTLY that.
>
> Either way, I am putting my efforts right there. IMHO the Squeak community
> should do so too. If the Squeak community can ride a bit on the momentum in
> Pharo - there is really no reason not to.
>
> regards, Göran
>
>
>
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Squeaksource, Squeak and Pharo..

Göran Krampe
In reply to this post by Edgar De Cleene
Hey!

On 12/20/2012 10:49 PM, Edgar J. De Cleene wrote:
> Now that you become wiser not have time for us....

Well, not sure what you mean - but there are two things preventing me
from participating that much in Squeak these days:

1. My two daughters and two boats (wanna buy one?). :)

2. The fact that Pharo is a more suitable platform for most projects I have.

That last part is just a personal fact, and related to the projects I
do. For other people it may not be true.

But I am still sticking with both communities - and we overlap.

regards, Göran

Reply | Threaded
Open this post in threaded view
|

Re: Squeaksource, Squeak and Pharo..

kilon
In reply to this post by Frank Shearar-3
I hear the new filesystem might do just that. I dont know I am new to all this.
But I dont believe integrating github with squeak or pharo is that hard anyway.
I am already working with file outs , tedious but not that hard. And if I cannot find an existing solution
that makes me happy , I am more than willing to implement my own library for integrating github inside pharo.
Hopefully it will work for squeak too.

I was working with emacs for python and magit was great. 

Where there is a will there is a way,


From: Frank Shearar <[hidden email]>
To: dimitris chloupis <[hidden email]>; The general-purpose Squeak developers list <[hidden email]>
Sent: Friday, 21 December 2012, 0:16
Subject: Re: [squeak-dev] Squeaksource, Squeak and Pharo..

Just a note: github does not replace SM. It does not replace rubygems.
It's a fantastic tool for versioning source control.

I have a toolbox. It has a hammer AND a screwdriver.

frank

On 20 December 2012 22:15, dimitris chloupis <[hidden email]> wrote:

> SqueakMap is dead, SqueakSource dead, later SmalltalkHub will be dead.
>
> I am coming from pharo by the way, I am new with smalltalk, I was a python
> developer.
> And I love squeak too.
>
> I dont understand why every smalltalk problem should be solved by smalltalk.
>
> Github is a great community , already has gathered tons of ruby and python
> projects, js and many more.
>
> I think its a great candidate for smalltalk, no offense intended but
> definitely better that what SmalltalkHub can offer.
>
> I want to embrace at times all these smalltalk technologies, but is hard to
> abandon Gihub that I have used for my projects and support the smalltalk
> solutions instead.
>
> I dont want to downgrade the hard work of good people, but its hard to
> compete with products that are designed full time by big teams and matured
> through thousands of use cases.
>
> My vote goes to Github.
>
> ________________________________
> From: Göran Krampe <[hidden email]>
> To: The general-purpose Squeak developers list
> <[hidden email]>
> Sent: Thursday, 20 December 2012, 23:14
> Subject: Re: [squeak-dev] Squeaksource, Squeak and Pharo..
>
> Hi folks!
>
> As the author of SqueakMap, long time Squeaker (and nowadays both Squeaker
> and Pharooner) and also involved in some other related projects
> (SmalltalkHub and more) my view might be of some interest.
>
> First of all, Angel compares with the rest of the world - but we have both
> historic and technical differences at play. Some things worth noting:
>
> - SqueakMap was indeed started out as a generic package *catalog*. It is not
> a SCM tool. It was format agnostic from the very beginning.
>
> - Monticello and SqueakSource came from Avi. Superb tools but when
> Squeaksource came I quickly warned the community that it would deminish
> SqueakMap because it overlapped and "took over" several "catalog" aspects. I
> was right unfortunately, but at the same time SS was great and has served us
> very well in its own right.
>
> - Noone has really taken SM and moved it forward. I also don't have that
> amount of free time anymore.
>
> - SqueakMap is dead. Face it. :) It is not the future IMHO.
>
> - Monticello and Metacello are the de facto standard these days for SCM and
> package loading. Metacello took the whole dependencies/tagging/releases
> issue and simply rode on MC to solve it. I have felt it looks overly complex
> but it's mostly some line noise - it is not that complicated.
>
> - This also means that for a very, very long time package management and
> source code management will be forever "intertwined" in the Smalltalk world.
> Personally I say - fine! Again, let's just embrace it and go.
>
> - The advantage is that Metacello "configurations" is "just code" and can
> offer functionality totally independent of the hosting platform for MC. So
> it doesn't matter if you load a Metacello configuration from a website, from
> SS or SS3 or Smalltalkhub - it all works the same!
>
> - Monticello AND Metacello are meant to work in Squeak too. I haven't tried,
> but I presume Metacello works or is very close to working?
>
> - Pharo is betting hard on Smalltalkhub. It is a really nice system AND
> there is also an image side client tool brewing for it! This means the
> equivalence of the SqueakMap Package Loader will be easy to build in Squeak
> for Smalltalkhub.
>
>
> So my advice would be:
>
> 1. Keep SqueakMap on oxygen for a little while longer while we get ready to
> ditch it. Really.
>
> 2. Bet hard on Monticello (we already do, right?) and Metacello for Squeak.
> Make sure they work. Embrace Metacello even if it does look a bit complex to
> begin with. There are lots of articles, tutorials and tons of examples to
> just copy from. I have written two configurations these last two days and
> "the shit works". Good work Dale! :)
>
> 3. Get involved in Smalltalkhub and help out making it work fine for Squeak,
> note the name - *Smalltalk* hub. It's not Pharohub! Don't set up your own
> unless for some odd reason Pharo makes it uninhabitable for Squeak and turns
> it into "Pharohub".
>
> Note that Smalltalkhub is "just" a new SS, but much more solid architecture,
> really snazzy modern web UI, offering githubish features and bloody hell, I
> mean, it can show diffs right there in the browser!
>
> Smalltalkhub also has a really cool architecture so the coding fun is rated
> A++, Nicolas is busy as a bee making it better, better. I think it should be
> seen as a unifying playground and Metacello as the "glue" that makes it
> possible to have projects tailored for both Squeak and Pharo. It has many
> functions for EXACTLY that.
>
> Either way, I am putting my efforts right there. IMHO the Squeak community
> should do so too. If the Squeak community can ride a bit on the momentum in
> Pharo - there is really no reason not to.
>
> regards, Göran
>
>
>
>
>
>




Reply | Threaded
Open this post in threaded view
|

Re: Squeaksource, Squeak and Pharo..

Igor Stasenko
In reply to this post by Frank Shearar-3
On 20 December 2012 20:28, Frank Shearar <[hidden email]> wrote:

> On 20 December 2012 19:23, Benoit St-Jean <[hidden email]> wrote:
>> FYI, I did post my remarks/concerns on the Squeak and Pharo mailing lists
>> regarding this subject a year ago but it just seems like nobody read or did
>> care.
>>
>> Secondly, as I said, a year ago, we should definitely have *separate* code
>> repositories for Squeak and Pharo.  I just closed Squeak 30 seconds ago,
>> being totally fed up with packages that wouldn't load...  Right now, both
>> environments are polluting the code of the other and it's nonsense...  You
>> know the kind of horror story where version 7 (Squeak) fixes version 6
>> (Pharo) that now became version 8 (Pharo again) but that will be fixed as a
>> combo of version 6 and 8 for Squeak?
>>
>> Can't we have something simple like the Cincom Public Repository ???
>>
>> Could you commit Ruby code to the CRAN (Comprehensive R Arcive Network) ?
>> No!  You know why?  Those are 2 different beasts, just like Squeak and
>> Pharo.  And seeing at which speed Pharo is moving away from "standard" (for
>> lack of a better word) Smalltalk, this "problem will happen more and more
>> and more.
>>
>> How useful is Squeak if all the code available is slowly becoming
>> "Pharo-only friendly" ?
>>
>> In other words, we should setup our *own* SQUEAK ONLY repository, make sure
>> people set a "platform target" (say Squeak 4.4 or 4.3) for migration (and
>> tell the project owners that they should make an effort to port their code
>> to Squeak 4.x) and start from there...
>
> No. That would be suicide.
>
> What we _should_ be doing is _talking_ to people. Keep the lines of
> communication open. The Pharo folk are not monsters. They do not break
> things to spite the Squeak community. And given sufficient reason and
> volunteered effort, they're more than happy to work towards making
> things cross platform.
>
Right said.
I cannot say anything about ScriptManager.. because i dont remember if
i ever used it neither i know
who is developing it or maintaining it.
Perhaps it would be wiser to contact with author(s) and ask them, if
their drop of Squeak
support was intentional or not and then decide what to do next.
Shouting doesn't helps.

> frank
>

--
Best regards,
Igor Stasenko.

Reply | Threaded
Open this post in threaded view
|

Re: Squeaksource, Squeak and Pharo..

Benoit St-Jean
Here's my wishlist to Santa for 2013...

Lots of points and ideas taken from  http://wiki.squeak.org/squeak/6183

1) We need a *single* point of access to *ALL* the Squeak code (just like VisualWorks has the Cincom Public Repository).
2) We need to focus on Squeak, Squeak only code, not on every other Smalltalk environment (just like VW does).  VW, VAST, GNU, Dolphin, Pharo and others don't care about compatibility, why should we ?  Besides, Squeak is still "standard Smalltalk" (as compared to Pharo) enough that we shouldn't consider this as a big problem.
3) If we are interested by stuff other Smalltalk dialects have, we'll deal with it, port it and store it into our own repository!
4) All code must be managed/located/handled in a *single* place and in a single way : no more of this "47 ways and 47 places to import code" into Squeak!  Keep it simple (once again, just like Cincom Public Repository).
5) Everything that is Squeak code should be migrated, if possible (or if there is any interest) into that Squeak repository (and maintained passed the initial migration).
6) The load mechanism should take into account prerequisites AND their proper version for the version of the image you have.
7) Each and every package should have the responsibility of and should take into account the different platforms of Squeak (otherwise, we'd have to build the equivalent of the VAST configuration map).  The Smalltalk code should handle those differences between platforms, NOT the repository!
8) The Squeak repository should have the ability to handle any kind of project that includes code and materials like graphics, videos, sound files, PDF documentation, JPEG files, SQL scripts, etc.  In fact, any artifact.
9) The Squeak repository should be mirrored (no more "Squeaksource is down" please!).  A lag of 1 day maximum between the mirror and the official Squeak repository would be an acceptable maximum.
10) The Squeak repository should offer the possibility to browse code without loading it (Just like the Cincom Public Repository & StORE)
11) Loading code into the image should be as simple as possible (just like the Cincom Public Repository) : connect, load, done.
12) Packages have to be maintained and be up-to-date, as much as possible, with the current Squeak version.  In the worst case, it should be easy (or automatic and transparent?) to determine the right package version (and the right prereqs packages) for your Squeak version.
13) The repository (and its functionalities) should be so simple that even a newbie could use it with one or 2 clicks and be able to load any package into his image. (once again, just like the Cincom Public Repository).
14) There has to be a mechanism to notify package maintainers, after some period of time, that their packages are no longer working with the current Squeak version...  The goal is to have the package maintainers spend some time migrating/fixing/updating their package to the latest Squeak image so we don't end up with 9284 projects out of which only 10% are useable with the current Squeak image.
15) Ideally, all packages should come with SUnit tests.  That could allow us to automate the verification of compliance of every package with the current Squeak image.
16) The Squeak swiki should, once that repository is in place, delete all references to other "methods" (locations as well!) of getting the code for those packages and replace those pages/links with the appropriate reference and documentation pointing to the location of those packages in the new Squeak repository.  You shouldn't need to use Google to find a Squeak package anymore!  Everything "Squeak" should be at one place!
17) Revisit Squeak tools to work with and take advantage of the Squeak repository, which means better diff/merge/consolidation tools.
18) Publishing/committing code to the repository should be simple and straightforward.  Handling of differences between platforms should be handled within the image, in Smalltalk.  The simpler, the better!  Once again, platform-specific code should be handled in the image otherwise we'd have to build the equivalent of the VAST Configuration Map mechanism.  Keep it simple! (see item 7).  In the very worst case, provide a core package and different "platform specific" packages.  The user will then have the possibility to load/unload what he needs for his platform.
19) Locally cached packages should allow anyone to work "offline" and later publish (Just like VW StORE)
20) We should think about the future, which means allow for extension, easy migration and modification..  Who knows, in 1 year we might be discussing about integrating namespaces to Squeak, method overides, class extensions, etc.
21) The repository itself should be maintainable (not a closed "3 people on Earth understand how it works internally" kinda thing).  StORE saves stuff in a relational database : it's easily understood, can be queried by a gazillion tools, can be backed up, migrated, etc... Sometimes, not everything has to be dealt with Smalltalk...  ;)
 
-----------------
Benoit St-Jean
Yahoo! Messenger: bstjean
A standpoint is an intellectual horizon of radius zero.
(Albert Einstein)


Reply | Threaded
Open this post in threaded view
|

Re: Squeaksource, Squeak and Pharo..

timrowledge
In reply to this post by Göran Krampe

On 20-12-2012, at 2:20 PM, Göran Krampe <[hidden email]> wrote:
>
> 1. My two daughters and two boats (wanna buy one?). :)


Not sure you should be offering daughters for public sale….

And on boats, I have a valuable parable for you. An acquaintance noticed his friends getting infected with the dreaded 'just two more foot' disease; buy a boat, start hankering for one just two foot longer. Repeat. He decided to skip all that and found a retired Royal Navy Corvette for just a few hundred thousand $ - less than a lot of people end up spending on boats. He got an ocean-going military vessel (minus barrel for the gun-turret) ad had much fun. Including supposedly finding a replacement barrel and a Phalanx gun. You might note that US aircraft carriers will soon be on sale since they are now obsolete with the introduction of short-range ballistic anti-shipping missiles that require them to stand offshore by enough that the range of shipboard aircraft is severely compromised. How about basing your latest enterprise on the Enterprise?

tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Giraffiti (n): Vandalism spray-painted very, very high



Reply | Threaded
Open this post in threaded view
|

Re: Squeaksource, Squeak and Pharo..

Hannes Hirzel
In reply to this post by Benoit St-Jean
On 12/20/12, Benoit St-Jean <[hidden email]> wrote:
>
> I just installed Squeak 4.3 to migrate some code I had on an older Squeak
> 4.x image...

....
for ScriptManager see the other thread I have started...
I assume the updating effort will be fairly minimal.

We then need a ScriptManager entry on SqueakMap for 4.4

> Loaded some of the tools I use, like ScriptManager to realize... That the
> newest versions are for Pharo! With references to stuff that doesn't exist
> in Squeak.

Besides, ScriptManager, what else do you plan to use for your migration?

--Hannes

Reply | Threaded
Open this post in threaded view
|

Re: Squeaksource, Squeak and Pharo..

Hannes Hirzel
On 12/21/12, H. Hirzel <[hidden email]> wrote:

>> I just installed Squeak 4.3 to migrate some code I had on an older Squeak
>> 4.x image...

and:

Welcome back to Squeak!
Actually Squeak is in pretty good shape these days....!

--Hannes

Reply | Threaded
Open this post in threaded view
|

Re: Squeaksource, Squeak and Pharo..

Stéphane Rollandin
In reply to this post by Benoit St-Jean
> I really think we shouldn't consider Pharo as a Squeak fork anymore :
> they have their own agenda and it's clear that compatibility (a hot
> topic on the Pharo mailing list these days) is not a concern for them.

We just had Göran telling us quite the opposite. I see no reason to
reject "them", and even no reason to think in terms of "us" and "them".
It looks that at the moment Squeak development includes items from many
places, including Cuis or Spoon or Pharo or Etoys, not to mention Cog,
so let it be. Everybody is happy within his own world, and if these
worlds can exchange (and they should) it's only positive.

Now the issue of where to find code is a real one; in my 10+ years of
experience with Squeak it has always been. I see this as a reflect of
the nature of Squeak as an extraordinary playground for prototyping
stuff. Code is wild in Squeak: both inside the image, and outside.
That's actually why Pharo exists: to "clean-up" Squeak, as it seems the
mess was seen as unbearable and unprofessional by some (not my point of
view obviously).

As for me I do not dislike the messy and dynamic aspect of Squeak, and
what I actually like very much is its still valid philosophy of "one
person should be able to master the whole system". I see software
development as a craftmanship of sort, and I am not inclined to use
things like a source code management system (just don't need it). I
don't even use Monticello. My own contribution for Squeak simply have
entries in SqueakMap and are available from my site either as sar files
or ready-to-go images:

http://www.zogotounga.net/comp/eindex.html

I do not intend to change anything in that regard. So at least because
of me, you will never have all code for Squeak in one place.


Stef

Reply | Threaded
Open this post in threaded view
|

Re: Release candidate Squeak4.4-12320 ready

Frank Shearar-3
In reply to this post by Colin Putney-3
On 20 December 2012 20:03, Colin Putney <[hidden email]> wrote:

>
>
>
> On Thu, Dec 20, 2012 at 6:05 AM, Frank Shearar <[hidden email]>
> wrote:
>>
>> * http://ftp.squeak.org/4.4/Squeak4.4-12320.tgz
>> * http://ftp.squeak.org/4.4/Squeak4.4-12320.zip
>>
>> This should fix the MC failing tests.
>
>
> This doesn't solve the dirty package problem though
> (http://lists.squeakfoundation.org/pipermail/squeak-dev/2012-December/167052.html).
>
> I ran the following doIt in the above image:
>
>
> | trunk dirty |
> trunk := MCRepositoryGroup default repositories detect:
> [:ea | ea description = 'http://source.squeak.org/trunk'].
>
> dirty := Dictionary new.
> MCWorkingCopy allManagers collect:
> [:ea || changes |
> changes := ea changesRelativeToRepository: trunk.
> changes isEmpty ifFalse:
> [dirty at: ea put: changes]].
> ^ dirty
>
> It takes a while, but it gives the following list of dirty packages:
>
> Collections
> FlexibleVocabularies
> Graphics
> Multilingual
> SMLoader
> ToolBuilder-Kernel
>
> Some of these are harmless, but we shouldn't ship the image without fixing
> at least Collections and ToolBuilder-Kernel.

I can confirm your list. How do we clean these though? For instance,
if I manually remove our old friend WeakRegistry class >>
#migrateOldRegistries I can't save my change because MC rightly thinks
there's no difference between my (new, modified) code and trunk?

Is it completely crazy to - in this case at least - just remove the
method in a do-it and then make sure the package isn't dirty by
verifying with trunk?

WeakRegistry removeSelector: #migrateOldRegistries.
"Some as yet undecided way of forcing a dirty/clean check"

frank

> Colin
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Squeaksource, Squeak and Pharo..

J. Vuletich (mail lists)
In reply to this post by timrowledge
Quoting tim Rowledge <[hidden email]>:

>
> On 20-12-2012, at 2:20 PM, Göran Krampe <[hidden email]> wrote:
>>
>> 1. My two daughters and two boats (wanna buy one?). :)
>
>
> Not sure you should be offering daughters for public sale….
>
> And on boats, I have a valuable parable for you. An acquaintance  
> noticed his friends getting infected with the dreaded 'just two more  
> foot' disease; buy a boat, start hankering for one just two foot  
> longer. Repeat. He decided to skip all that and found a retired  
> Royal Navy Corvette for just a few hundred thousand $ - less than a  
> lot of people end up spending on boats. He got an ocean-going  
> military vessel (minus barrel for the gun-turret) ad had much fun.  
> Including supposedly finding a replacement barrel and a Phalanx gun.  
> You might note that US aircraft carriers will soon be on sale since  
> they are now obsolete with the introduction of short-range ballistic  
> anti-shipping missiles that require them to stand offshore by enough  
> that the range of shipboard aircraft is severely compromised. How  
> about basing your latest enterprise on the Enterprise?
>
> tim
> --
> tim Rowledge; [hidden email]; http://www.rowledge.org/tim
> Giraffiti (n): Vandalism spray-painted very, very high
>
>
>
>

LOL!

Tim, it is great to read you again!
(Including your signature jokes)

Cheers,
Juan Vuletich


Reply | Threaded
Open this post in threaded view
|

Re: Squeaksource, Squeak and Pharo..

Douglas Brebner
In reply to this post by Stéphane Rollandin
On 21/12/2012 09:19, Stéphane Rollandin wrote:
> We just had Göran telling us quite the opposite. I see no reason to
> reject "them", and even no reason to think in terms of "us" and
> "them". It looks that at the moment Squeak development includes items
> from many places, including Cuis or Spoon or Pharo or Etoys, not to
> mention Cog, so let it be. Everybody is happy within his own world,
> and if these worlds can exchange (and they should) it's only positive.

I have to agree here. It seems to me that the various forks function as
incubators for different projects and experiments that wouldn't fly in
the other forks. After all, don't some of these forks exist entirely
because the people working on them wanted to try stuff that wouldn't be
allowed or workable in the mainline Squeak distribution? And yet, some
of those things have spread, like Cuis text handling.

Reply | Threaded
Open this post in threaded view
|

Re: Release candidate Squeak4.4-12320 ready

Bert Freudenberg
In reply to this post by Frank Shearar-3

On 2012-12-21, at 10:35, Frank Shearar <[hidden email]> wrote:

> On 20 December 2012 20:03, Colin Putney <[hidden email]> wrote:
>>
>>
>>
>> On Thu, Dec 20, 2012 at 6:05 AM, Frank Shearar <[hidden email]>
>> wrote:
>>>
>>> * http://ftp.squeak.org/4.4/Squeak4.4-12320.tgz
>>> * http://ftp.squeak.org/4.4/Squeak4.4-12320.zip
>>>
>>> This should fix the MC failing tests.

Minor point, but: IMHO there is no reason to waste disk space using two archive formats. The zip one is enough.

Another point: The window opens at 560@286 so its bottom-right corner is at 1360@886 which might by off of some screens. I'd position it further up to the left, maybe at ((1024@768) - (800@600)) / 2 ==> 112@84

>> This doesn't solve the dirty package problem though
>> (http://lists.squeakfoundation.org/pipermail/squeak-dev/2012-December/167052.html).
>>
>> I ran the following doIt in the above image:
>>
>>
>> | trunk dirty |
>> trunk := MCRepositoryGroup default repositories detect:
>> [:ea | ea description = 'http://source.squeak.org/trunk'].
>>
>> dirty := Dictionary new.
>> MCWorkingCopy allManagers collect:
>> [:ea || changes |
>> changes := ea changesRelativeToRepository: trunk.
>> changes isEmpty ifFalse:
>> [dirty at: ea put: changes]].
>> ^ dirty
>>
>> It takes a while, but it gives the following list of dirty packages:
>>
>> Collections
>> FlexibleVocabularies
>> Graphics
>> Multilingual
>> SMLoader
>> ToolBuilder-Kernel
>>
>> Some of these are harmless, but we shouldn't ship the image without fixing
>> at least Collections and ToolBuilder-Kernel.
>
> I can confirm your list. How do we clean these though? For instance,
> if I manually remove our old friend WeakRegistry class >>
> #migrateOldRegistries I can't save my change because MC rightly thinks
> there's no difference between my (new, modified) code and trunk?
>
> Is it completely crazy to - in this case at least - just remove the
> method in a do-it and then make sure the package isn't dirty by
> verifying with trunk?
>
> WeakRegistry removeSelector: #migrateOldRegistries.
> "Some as yet undecided way of forcing a dirty/clean check"
>
> frank


It's crazy, and there's a better way: just force-load the packages:

| trunk |
trunk := MCRepositoryGroup default repositories detect:
        [:repo | repo description = 'http://source.squeak.org/trunk'].
MCWorkingCopy allManagers
        do: [:wc |
                wc ancestors size = 1 ifFalse: [self error: 'Package must have single parent: ', wc packageName].
                wc modified: true. "make sure actual diff is performed"
                [(trunk versionWithInfo: wc ancestors first) load] on: Warning do: [:w | w resume]]
        displayingProgress: 'Cleaning packages'.

Since the updater loads the latest packages anyways, this could be merged into that step. I guess just disabling the #upgradeIsMerge preference before updating might be enough (although we would have to remove the line in updateFromRepositories: which enables it). But make sure to re-enable it afterwards: if it was unset in a user's image, she would lose her changes when updating.

In any case it needs to be verified by something similar to what Colin provided above, like:

| trunk |
trunk := MCRepositoryGroup default repositories detect:
        [:repo | repo description = 'http://source.squeak.org/trunk'].
dirty := Dictionary new.
MCWorkingCopy allManagers
        do: [:wc | | diff |
                diff := wc changesRelativeToRepository: trunk.
                wc modified: diff isEmpty not.
                wc modified ifTrue:
                        [dirty at: wc put: diff]]
        displayingProgress: 'Verifying packages'.
dirty ifNotEmpty: [self error: 'Dirty packages: ', dirty keys].

I just did both of these in the latest 4.4, the first did clean all packages, but the second still found a problem in Graphics (which I just committed a fix for). So really both should be part of release builder.

- Bert -



1234