The Trunk: Morphic-laza.477.mcz

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

The Trunk: Morphic-laza.477.mcz

commits-2
Alexander Lazarević uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-laza.477.mcz

==================== Summary ====================

Name: Morphic-laza.477
Author: laza
Time: 22 November 2010, 10:49:45.037 pm
UUID: 5761bce9-0807-094c-81d9-605b9a072ad9
Ancestors: Morphic-cmm.476

In the "Extending the system" workspace:
Change the snippet to load Omnibrowser work as a simple doIt

=============== Diff against Morphic-cmm.476 ===============

Item was changed:
  ----- Method: TheWorldMainDockingBar>>extendingTheSystem (in category 'submenu - help') -----
  extendingTheSystem
  ^'"Note: Please edit this workspace and add your own contributions.
  To submit it to the inbox open the Monticello browser and submit it from there.
  Save the package ''* Morphic'' to the inbox."
 
  "Updating your system:
  The following will set the default update URL to receive development updates.
  For developers and dare-devils only."
 
  MCMcmUpdater defaultUpdateURL: ''http://source.squeak.org/trunk''.
 
  "Installing new packages:
  The following expression show how to load many interesting packages into Squeak."
 
  "FFI: http://source.squeak.org/FFI.html"
  (Installer repository: ''http://source.squeak.org/FFI'')
  install: ''FFI-Pools'';
  install: ''FFI-Kernel'';
  install: ''FFI-Tests'';
  install: ''FFI-Win32'';
  install: ''FFI-MacOS'';
  install: ''FFI-Unix''.
 
  "Omnibrowser, including Refactoring engine"
  (Installer ss project: ''MetacelloRepository'') install: ''ConfigurationOfOmniBrowser''.
+ ((Smalltalk at: #ConfigurationOfOmniBrowser) project perform: #lastVersion) load: #( Dev ).
- (Smalltalk at: #ConfigurationOfOmniBrowser) project lastVersion load: #( Dev ).
 
  "Seaside 2.8 http://www.seaside.st"
  (Installer ss project: ''MetacelloRepository'') install: ''ConfigurationOfSeaside28''.
  "WAKom startOn: 9090"
 
  "Seaside 2.8 Examples http://www.seaside.st"
  (Installer ss project: ''MetacelloRepository'') install: ''ConfigurationOfSeaside28Examples''.
  (Smalltalk at: #ConfigurationOfSeaside28Examples) load.
 
  "Seaside 3.0 http://www.seaside.st"
  (Installer ss project: ''MetacelloRepository'') install: ''ConfigurationOfSeaside30''.
  (Smalltalk at: #ConfigurationOfSeaside30) load.
  (Smalltalk at: #WAPharoServerAdaptorBrowser) open.
 
  "Pier CMS: http://www.piercms.com"
  (Installer ss project: ''MetacelloRepository'') install: ''ConfigurationOfPier2''.
  (Smalltalk at: #ConfigurationOfPier2) load.
 
  (Installer lukas project: ''pier2'') install: ''Pier-Blog''.
  (Installer lukas project: ''pier2'') install: ''Pier-Book''.
  (Installer lukas project: ''pier2addons'') install: ''Pier-Setup''.
  (Smalltalk at: #PRDistribution)  new register.
  !!
+ ]style[(189 2 139 15 17 1 32 3 108 2 40 12 11 1 30 3 8 1 11 3 8 1 12 3 8 1 11 3 8 1 11 3 8 1 11 3 8 1 10 3 44 11 2 1 8 1 21 2 8 1 28 14 3 1 1 28 7 11 11 2 5 4 3 5 35 12 2 1 8 1 21 2 8 1 26 2 21 2 44 12 2 1 8 1 21 2 8 1 34 13 3 1 33 2 4 3 35 12 2 1 8 1 21 2 8 1 26 13 3 1 25 2 4 13 3 1 28 2 4 3 34 12 2 1 8 1 21 2 8 1 22 13 3 1 21 2 4 14 5 1 8 1 7 2 8 1 11 13 5 1 8 1 7 2 8 1 11 13 5 1 8 1 13 2 8 1 12 13 3 1 15 3 3 1 8 2)c000123123,cblack;,c000123123,cblack;,c000000123,cblack;,c123000123,cblack;,c000123123,cblack;,c000123123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000123123,cblack;,c000000126,cblack;,c000000126,cblack;,c126000126,cblack;,c000000126,cblack;,c126000126,cblack;,c000000123,cblack;,c000000123,cblack;,c000000126,cblack;,c000000126,cblack;,c000000126,cblack;,c000000126,cblack;,c000123123,cblack;,c000000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000123123,cblack;,c000123123,cblack;,c000000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c000000123,cblack;,c000000123,cblack;,c000123123,cblack;,c000000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c000000123,cblack;,c000000123,cblack;,c000000123,cblack;,c000000123,cblack;,c000000123,cblack;,c000123123,cblack;,c000000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c000000123,cblack;,c000000123,cblack;,c000000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c000000123,cblack;,c000000123,cblack;,c000000123,cblack;!!' readStream nextChunkText!
- ]style[(189 2 139 15 17 1 32 3 108 2 40 12 11 1 30 3 8 1 11 3 8 1 12 3 8 1 11 3 8 1 11 3 8 1 11 3 8 1 10 3 44 11 2 1 8 1 21 2 8 1 28 13 3 1 1 28 7 1 11 1 5 4 3 5 35 12 2 1 8 1 21 2 8 1 26 2 21 2 44 12 2 1 8 1 21 2 8 1 34 13 3 1 33 2 4 3 35 12 2 1 8 1 21 2 8 1 26 13 3 1 25 2 4 13 3 1 28 2 4 3 34 12 2 1 8 1 21 2 8 1 22 13 3 1 21 2 4 14 5 1 8 1 7 2 8 1 11 13 5 1 8 1 7 2 8 1 11 13 5 1 8 1 13 2 8 1 12 13 3 1 15 3 3 1 8 2)c000124124,cblack;,c000124124,cblack;,c000000124,cblack;,c124000124,cblack;,c000124124,cblack;,c000124124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000124124,cblack;,c000000127,cblack;,c000000127,cblack;,c127000127,cblack;,c000000127,cblack;,c127000127,cblack;,c000000124,cblack;,c000000124,cblack;,c000000127,cblack;,c000000127,cblack;,c000000127,cblack;,c000000127,cblack;,c000124124,cblack;,c000000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000124124,cblack;,c000124124,cblack;,c000000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c000000124,cblack;,c000000124,cblack;,c000124124,cblack;,c000000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c000000124,cblack;,c000000124,cblack;,c000000124,cblack;,c000000124,cblack;,c000000124,cblack;,c000124124,cblack;,c000000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c000000124,cblack;,c000000124,cblack;,c000000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c000000124,cblack;,c000000124,cblack;,c000000124,cblack;!!' readStream nextChunkText!


Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Morphic-laza.477.mcz

Andreas.Raab
On 11/22/2010 9:50 PM, [hidden email] wrote:

> ==================== Summary ====================
>
> Name: Morphic-laza.477
> Author: laza
> Time: 22 November 2010, 10:49:45.037 pm
> UUID: 5761bce9-0807-094c-81d9-605b9a072ad9
> Ancestors: Morphic-cmm.476
>
> In the "Extending the system" workspace:
> Change the snippet to load Omnibrowser work as a simple doIt
>
> =============== Diff against Morphic-cmm.476 ===============
>
>    "Omnibrowser, including Refactoring engine"
>    (Installer ss project: ''MetacelloRepository'') install: ''ConfigurationOfOmniBrowser''.
> + ((Smalltalk at: #ConfigurationOfOmniBrowser) project perform: #lastVersion) load: #( Dev ).
> - (Smalltalk at: #ConfigurationOfOmniBrowser) project lastVersion load: #( Dev ).

Am I missing something? Why would one use

        foo perform: #lastVersion.

instead of the obviously equivalent

        foo lastVersion.

Seems like code obfuscation to me.

Cheers,
   - Andreas

Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Morphic-laza.477.mcz

laza
I see the "Extending the system" workspace as a collection of code
recipes. I don't need to fully understand each one of them (How to use
Monticello, Installer, Gofer, whatever) and just can carelessly "do"
one of them to get the wanted result (FFI; Omnibrowser, ...).

With the original "recipe" for Omnibrowser I get that "unknown
selector" popup for lastVersion. My usual gut reaction to this popup
is to look out for a problem. But here I find out, that the selector
lastVersion will be (probably) available after the first part of the
recipe. Now I can do a two step doIt to avoid this or one doIt and
ignore the "unknown selector" popup. And I have to remember what to do
next time I want to load OB into the system. With #perform: the recipe
just works out of the box (for me) and I can spare myself some brain
cycles.

One could argue, that these recipes are only for developers and that
they just can see in a blink of an eye what to do and that it ain't no
good to obfuscate the code. But than these developers could also
easily see that some recipes need to be done as a step by step doIt
and there would be no reason to obfuscate them with things like
(Smalltalk at: #ConfigurationOfOmniBrowser) either.

But maybe my threshold on this differs from the majority of
developers. So just change it back if you want.

Alex

Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Morphic-laza.477.mcz

Levente Uzonyi-2
In reply to this post by Andreas.Raab
On Mon, 22 Nov 2010, Andreas Raab wrote:

> Am I missing something? Why would one use
>
> foo perform: #lastVersion.
>
> instead of the obviously equivalent
>
> foo lastVersion.
>
> Seems like code obfuscation to me.

The method only exists in Metacello, so if you don't have it in your image
the compiler will ask if you really want to use that selector. This may be
annoying for some users.


Levente

>
> Cheers,
>  - Andreas
>
>

Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Morphic-laza.477.mcz

Andreas.Raab
On 11/22/2010 11:44 PM, Levente Uzonyi wrote:

> On Mon, 22 Nov 2010, Andreas Raab wrote:
>
>> Am I missing something? Why would one use
>>
>> foo perform: #lastVersion.
>>
>> instead of the obviously equivalent
>>
>> foo lastVersion.
>>
>> Seems like code obfuscation to me.
>
> The method only exists in Metacello, so if you don't have it in your
> image the compiler will ask if you really want to use that selector.
> This may be annoying for some users.

Got it. So I *was* missing something :-)

Cheers,
   - Andreas

Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Morphic-laza.477.mcz

Eliot Miranda-2
In reply to this post by Levente Uzonyi-2


On Mon, Nov 22, 2010 at 11:44 PM, Levente Uzonyi <[hidden email]> wrote:
On Mon, 22 Nov 2010, Andreas Raab wrote:

Am I missing something? Why would one use

       foo perform: #lastVersion.

instead of the obviously equivalent

       foo lastVersion.

Seems like code obfuscation to me.

The method only exists in Metacello, so if you don't have it in your image the compiler will ask if you really want to use that selector. This may be annoying for some users.

For me thats a clear case of code that needs a comment.  Intention-revealling code is fine without comments, but the non-obvious needs documenting because otherwise someone may come along later and undo the change because they understandably don't intuit the non-obvious.

Eliot 


Levente


Cheers,
 - Andreas






Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Morphic-laza.477.mcz

Hannes Hirzel
I like the idea of having a code snippet which can be executed in one
go to load something. Convenient as you start the execution and then
can go away.

Yes it might be useful to have a comment at the beginning telling
people that the code has been written in a way which allows this.

--Hannes

On 11/23/10, Eliot Miranda <[hidden email]> wrote:

> On Mon, Nov 22, 2010 at 11:44 PM, Levente Uzonyi <[hidden email]> wrote:
>
>> On Mon, 22 Nov 2010, Andreas Raab wrote:
>>
>>  Am I missing something? Why would one use
>>>
>>>        foo perform: #lastVersion.
>>>
>>> instead of the obviously equivalent
>>>
>>>        foo lastVersion.
>>>
>>> Seems like code obfuscation to me.
>>>
>>
>> The method only exists in Metacello, so if you don't have it in your image
>> the compiler will ask if you really want to use that selector. This may be
>> annoying for some users.
>>
>
> For me thats a clear case of code that needs a comment.
>  Intention-revealling code is fine without comments, but the non-obvious
> needs documenting because otherwise someone may come along later and undo
> the change because they understandably don't intuit the non-obvious.
>
> 2¢
> Eliot
>
>>
>>
>> Levente
>>
>>
>>> Cheers,
>>>  - Andreas
>>>
>>>
>>>
>>
>