Pharo By Example 2 Metacello Chapter is way cool

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

Pharo By Example 2 Metacello Chapter is way cool

Sean DeNigris
Some Cool/interesting things I didn't know
* you can use the blessing as a filter e.g. so that #development
versions aren't loaded via latestVersion
* "(ConfigurationOfXxx project latestVersion: #baseline) load" loads
the bleeding edge
* pre and post load scripts can be at package or project level,
attached to the baseline or version

Funny
pg. 15: "ConfigurationOfCoolBrowser>>preloadForCore Transcript show:
'This is the preload script. Sorry I had not a better idea'." was
hysterical.  I would definitely leave it in the final copy (except the
grammar is "Sorry I had no better idea")

Questions/Suggestions
pg 18: would "requiring" the CoolBrowser-Platform package in at least
one other package be the more common usage?  I seems to me that it
would only be installed if the Core group was specifically asked for -
am I reading it wrong?

Minor grammar/spelling points
pg. 11: "The version is the same as the *precious* example but with a
new package:" precious should be previous
pg. 12:
* "Metacello not only includes all what we have been learning and what
we will be still learning along this chapter" could be: "Metacello not
only includes all that we have been learning, and what we will see in
this chapter"
* "This tool let you" should be "This tool lets you"

pg: 13:
* "Maybe in there future" should be "Maybe in the future"
* "packages or projects pass trough" -> "packages or projects pass
through"

pg. 17:
* "have an specific package" -> "have a specific package"
* "We can put there" -> "There, we can put"
* "we want *that* our code from CoolBrowser can speak in a
“polymorphic” way *two* the objects of the platform." -> "we want our
code from CoolBrowser to speak “polymorphically” to the objects of the
platform."
* "to achieve such thing, we need not only to implement the same
method in the different classes, but also has a type in common" -> "to
achieve such a thing, we need not only to implement the same method in
the different classes, but also have a type in common"
* "However, some people rather to create that package," -> "However,
some people would rather create that package,"
* "Just describe each method what should do, and probably they will
all be implemented with self subclassResponsibility." -> "To do this,
just describe what each method should do, and (most commonly)
implement them all with self subclassResponsibility."
* "the idea is that Metacello load au- tomatically" -> "the idea is
that Metacello should au- tomatically load"
* "But in order to that" -> "But in order to do that"

pg. 20:
* "Then we can think in a project" -> "Then we can think of a project"
* "In the same way a package can depends on other packages, a project
can depends on other projects." -> "In the same way a package can
depend on other packages, a project can depend on other projects."
* "on a group of it" -> "on a group of them" - I'm not sure about this
one - I wasn't clear what you meant

pg. 21:
* "We define two package is" -> "We define two packages in"
* "those packages depends on packages form CoolBrowser" -> "those
packages depend on packages from CoolBrowser"

Thanks for writing this!  I think it will be very valuable, both for
new users, and as a reference.

Sean
Reply | Threaded
Open this post in threaded view
|

Re: Pharo By Example 2 Metacello Chapter is way cool

Mariano Martinez Peck
Hi Sean. Thank you very much for the feedback, it is appreciated :)
I answer above.

On Sat, May 15, 2010 at 7:49 PM, Sean DeNigris <[hidden email]> wrote:
Some Cool/interesting things I didn't know
* you can use the blessing as a filter e.g. so that #development
versions aren't loaded via latestVersion
* "(ConfigurationOfXxx project latestVersion: #baseline) load" loads
the bleeding edge
* pre and post load scripts can be at package or project level,
attached to the baseline or version


Good!  There are list of pending topics but they will be probable for a second chapter.
 
Funny
pg. 15: "ConfigurationOfCoolBrowser>>preloadForCore Transcript show:
'This is the preload script. Sorry I had not a better idea'." was
hysterical.  I would definitely leave it in the final copy (except the
grammar is "Sorry I had no better idea")


hahahaha as Metacellica says (two times I use this phrase in a day!): sad but true ;)
If you have an idea let me know. Anyway, it is funny as you said haha

Thanks for the english correction. My native language is Spanish, so any correction in the english is more than welcome.
 

Questions/Suggestions
pg 18: would "requiring" the CoolBrowser-Platform package in at least
one other package be the more common usage?  I seems to me that it
would only be installed if the Core group was specifically asked for -
am I reading it wrong?


Yes. You are right. I think because the example is wrong, and it should be like this:

    spec
            group: 'default' with: #('Core' );
            group: 'Core' with: #('CoolBrowser-Core' 'CoolBrowser-Platform' );
            group: 'Extras' with: #('CoolBrowser-Addon');
            group: 'Tests' with: #('CoolBrowser-Tests' 'CoolBrowser-AddonsTests' );
            group: 'CompleteWithoutTests' with: #('Core', 'Extras' );
            group: 'CompleteWithTests' with: #('CompleteWithoutTests', 'Tests' )].

 
In this case, 'CoolBrowser-Platform'  is part of the 'Core' group and this group is the default. Now is better ?

Now I am thinking: maybe I can add a note also explaing that this package can be managed like any other, so you can do this for example (if it were the case):

package: 'CoolBrowser-Core' with: [ spec requires: 'CoolBrowser-Platform' ];



Minor grammar/spelling points
pg. 11: "The version is the same as the *precious* example but with a
new package:" precious should be previous

thanks
 
pg. 12:
* "Metacello not only includes all what we have been learning and what
we will be still learning along this chapter" could be: "Metacello not
only includes all that we have been learning, and what we will see in
this chapter"
* "This tool let you" should be "This tool lets you"

thanks
 

pg: 13:
* "Maybe in there future" should be "Maybe in the future"
* "packages or projects pass trough" -> "packages or projects pass
through"

thanks
 

pg. 17:
* "have an specific package" -> "have a specific package"
* "We can put there" -> "There, we can put"
* "we want *that* our code from CoolBrowser can speak in a
“polymorphic” way *two* the objects of the platform." -> "we want our
code from CoolBrowser to speak “polymorphically” to the objects of the
platform."
* "to achieve such thing, we need not only to implement the same
method in the different classes, but also has a type in common" -> "to
achieve such a thing, we need not only to implement the same method in
the different classes, but also have a type in common"
* "However, some people rather to create that package," -> "However,
some people would rather create that package,"
* "Just describe each method what should do, and probably they will
all be implemented with self subclassResponsibility." -> "To do this,
just describe what each method should do, and (most commonly)
implement them all with self subclassResponsibility."
* "the idea is that Metacello load au- tomatically" -> "the idea is
that Metacello should au- tomatically load"
* "But in order to that" -> "But in order to do that" 

pg. 20:
* "Then we can think in a project" -> "Then we can think of a project"
* "In the same way a package can depends on other packages, a project
can depends on other projects." -> "In the same way a package can
depend on other packages, a project can depend on other projects."
* "on a group of it" -> "on a group of them" - I'm not sure about this
one - I wasn't clear what you meant


Yes, it's true. It is not clear. I want to mean something like this:

Actually, a project can depend completely on one or more other projects, on a group of packages of a project, or even just on one or more packages of a project.
 
pg. 21:
* "We define two package is" -> "We define two packages in"
* "those packages depends on packages form CoolBrowser" -> "those
packages depend on packages from CoolBrowser" 

Thanks for writing this!  I think it will be very valuable, both for
new users, and as a reference.



Thank you VERY much Sean for the corrections and feedback. As you can see there were a lot of stupid errors. I was waiting for a review from other people before making it public just to avoid this. But now that you did it, thank you very much!

I have just changed the text, commited to SVN and now I attach here also a .tex in case someone wants to change directly over the file ;)

Mariano

Metacello.tex (67K) Download Attachment
Metacello.pdf (302K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Pharo By Example 2 Metacello Chapter is way cool

Sean DeNigris
On May 15, 2:39 pm, Mariano Martinez Peck <[hidden email]>
wrote:
> Hi Sean. Thank you very much for the feedback, it is appreciated :)
Of course!

> > Some Cool/interesting things I didn't know
> > * you can use the blessing as a filter e.g. so that #development
> > versions aren't loaded via latestVersion
> > * "(ConfigurationOfXxx project latestVersion: #baseline) load" loads
> > the bleeding edge
> > * pre and post load scripts can be at package or project level,
> > attached to the baseline or version
>
> Good!  There are list of pending topics but they will be probable for a
> second chapter.

Just to be clear - these were really cool things l learned *from
reading your chapter*, so I think they were already covered well.

Sean