Re: [Pharo-users] ui slowness on newly installed ubuntu 13.04 64bit

2013-06-07 Thread Goubier Thierry



Le 07/06/2013 16:00, Sven Van Caekenberghe a écrit :


On 07 Jun 2013, at 15:44, Paul DeBruicker  wrote:


For the attached profile I downloaded a new pharo 20606 image and ran
the search for senders of #ifTrue: twice.  It shows that it took 17
seconds on Ubuntu 13.04 64bit.  How long does it take on your machine?


[ SystemNavigation new allSendersOf: #ifTrue: ] timeToRun   =>>  258 
"milliseconds"


20606, Ubuntu 13.04 64bits, Core i3-2350M CPU @ 2.30GHz
[ SystemNavigation new allSendersOf: #ifTrue: ] timeToRun =>> [292, 330] ms

Thierry
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] ui slowness on newly installed ubuntu 13.04 64bit

2013-06-07 Thread Goubier Thierry
I'll check with some older hardware; I have something slower than yours, 
but I'll have the results later tonight.


Thierry

Le 07/06/2013 17:04, Paul DeBruicker a écrit :

Sounds like I need some new hardware then?




On 06/07/2013 07:16 AM, Goubier Thierry wrote:



Le 07/06/2013 16:00, Sven Van Caekenberghe a écrit :


On 07 Jun 2013, at 15:44, Paul DeBruicker  wrote:


For the attached profile I downloaded a new pharo 20606 image and ran
the search for senders of #ifTrue: twice.  It shows that it took 17
seconds on Ubuntu 13.04 64bit.  How long does it take on your machine?


[ SystemNavigation new allSendersOf: #ifTrue: ] timeToRun   =>>  258
"milliseconds"


20606, Ubuntu 13.04 64bits, Core i3-2350M CPU @ 2.30GHz
[ SystemNavigation new allSendersOf: #ifTrue: ] timeToRun =>> [292, 330] ms

Thierry







--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Pharo + git

2013-06-18 Thread GOUBIER Thierry
Yes, you can use git with Pharo.

You need to get an extension called MonticelloFileTree, and you can add on top 
of it a MonticelloFileTree-Git which really integrates into git.

Main repository is there:

https://github.com/dalehenrich/filetree

And temporary instruction to try the latest gitfiletree:// stuff is (under 
Linux) :

git clone git://github.com/ThierryGoubier/filetree.git
mkdir pharo
cd pharo
wget -O- get.pharo.org/20+vm | bash
./pharo Pharo.image config http://ss3.gemstone.com/ss/FileTree 
ConfigurationOfFileTree --install=1.0.2
./pharo Pharo.image eval --save "Gofer  new url: 
'http://ss3.gemstone.com/ss/FileTree'; package: 'MonticelloFileTree-Core' 
constraint: [ :version | version author = 'ThierryGoubier' ]; load"
./pharo Pharo.image config http://ss3.gemstone.com/ss/MetaRepoForPharo20 
ConfigurationOfOSProcess --install=stable
./pharo Pharo.image eval --save Gofer new url: 
\'filetree://`pwd`/../filetree/repository/\'\; package: 
\'MonticelloFileTree-Git\'\; load
./pharo Pharo.image eval --save \(MCWorkingCopy hasPackageNamed: 
\'MonticelloFileTree-Git\'\) repositoryGroup\
removeRepository: \( \'filetree://`pwd`/filetree/repository/\' asUrl 
mcRepositoryAsUser: nil withPassword: nil\)\;\
addRepository: \( \'gitfiletree://`pwd`/filetree/repository/\' asUrl 
mcRepositoryAsUser: nil withPassword: nil\)

It's really to get the latest :) It will be simpler in the future.

My workflow, for a git repo and pharo, is to have a Makefile with those 
commands, a gitignore for the pharo subdirectory, and a make clean to remove 
the pharo directory and download a fresh vm and image. It avoids storing the 
pharo image and package cache inside the git repository, as I used to do before 
;)

Thierry


De : Pharo-users [pharo-users-boun...@lists.pharo.org] de la part de Bahman 
Movaqar [bah...@bahmanm.com]
Date d'envoi : mardi 18 juin 2013 21:38
À : pharo-users@lists.pharo.org
Objet : [Pharo-users] Pharo + git

Hi all,

I've searched the net and found out the answer is most probably "no"; but it
doesn't hurt to ask here:

Is it posssible to use `git' as the VCS backend for Pharo?

TIA,
--
Bahman Movaqar  (http://BahmanM.com)

ERP Evaluation, Implementation & Deployment Consultant
PGP Key ID: 0x6AB5BD68 (keyserver2.pgp.com)



Re: [Pharo-users] Tabular Data Viewer

2013-06-18 Thread GOUBIER Thierry
Hi Alain,

I agree that MorphTreeMorph is too complex. But, at the same time, it's pretty 
effective :)

Thierry

De : Pharo-users [pharo-users-boun...@lists.pharo.org] de la part de plantec 
[alain.plan...@yahoo.com]
Date d'envoi : mardi 18 juin 2013 21:57
À : Any question about pharo is welcome
Objet : Re: [Pharo-users] Tabular Data Viewer

On 18 juin 2013, at 13:47, Igor Stasenko  wrote:

> On 17 June 2013 19:29, plantec  wrote:
>> Hi Sven,
>> This kind of widget is missing.
>> Have a try with:
>> SimpleGridExample new open
>> It is implemented with MorphTreeMorph.
>> It is far from the best solution since MorphTreeMorph a Tree/List
>> widget but it should be ok if you have not too many data.
>> Maybe the Glamour solution is based on it, I don't remember.
>
> Speaking about MorphTreeMorph: i find it really strange that it
> supports grid layouts.

it's not strange, it can do it out of the box because of the column management.
So I think this feature do not add any complexity.
But I agree, MorphTreeMorph is t complex.

> When one entity has so many responsibilities/functionality, it is easy
> to get lost there.
> As a consequence: if there's a bug, it is really hard to fix it.

yes, :)
I know, MorphTreeMorph is a kind of hack and it should
be remade as soon as possible.

cheers
Alain



>
>
>> Cheers
>> Alain
>>
>>
>> On 17 juin 2013, at 16:17, Sven Van Caekenberghe  wrote:
>>
>>> Hi,
>>>
>>> Is there an easy way to view tabular data in Pharo, much like a spreadsheet 
>>> ?
>>>
>>> Ideally, something along the following lines
>>>
>>>  MagicTableView new
>>>  headings: #( name age sex score );
>>>  data: ;
>>>  open.
>>>
>>> Can spec be used for this ?
>>>
>>> Pointing me to some relevant example in the image is OK too ;-)
>>>
>>> Thx,
>>>
>>> Sven
>>>
>>>
>>> --
>>> Sven Van Caekenberghe
>>> http://stfx.eu
>>> Smalltalk is the Red Pill
>>>
>>>
>>
>>
>>
>>
>>
>
>
>
> --
> Best regards,
> Igor Stasenko.
>





Re: [Pharo-users] Pharo + git

2013-06-18 Thread GOUBIER Thierry
They will have to clone your git repository, create the image with the 
gifiletree:// support (I think there is a mistake in the script), and add the 
repository as a gitfiletree:// repository to see all your packages.

You can also use Gofer in the image:

Gofer it
  url: 'gitfiletree:';
  package: '';
  load

Or on the command line.

Thierry

De : Pharo-users [pharo-users-boun...@lists.pharo.org] de la part de Bahman 
Movaqar [bah...@bahmanm.com]
Date d'envoi : mardi 18 juin 2013 22:22
À : Any question about pharo is welcome
Objet : Re: [Pharo-users] Pharo + git

Thanks for the info.

Now suppose I shared my code on git.  How can others use it on their own
image?


On Tuesday 18 June 2013 20:14:21 GOUBIER Thierry wrote:
> Yes, you can use git with Pharo.
>
> You need to get an extension called MonticelloFileTree, and you can add on
> top of it a MonticelloFileTree-Git which really integrates into git.
>
> Main repository is there:
>
> https://github.com/dalehenrich/filetree
>
> And temporary instruction to try the latest gitfiletree:// stuff is (under
> Linux) :
>
> git clone git://github.com/ThierryGoubier/filetree.git
> mkdir pharo
> cd pharo
> wget -O- get.pharo.org/20+vm | bash
> ./pharo Pharo.image config http://ss3.gemstone.com/ss/FileTree
> ConfigurationOfFileTree --install=1.0.2 ./pharo Pharo.image eval --save
> "Gofer  new url: 'http://ss3.gemstone.com/ss/FileTree'; package:
> 'MonticelloFileTree-Core' constraint: [ :version | version author =
> 'ThierryGoubier' ]; load" ./pharo Pharo.image config
> http://ss3.gemstone.com/ss/MetaRepoForPharo20 ConfigurationOfOSProcess
> --install=stable ./pharo Pharo.image eval --save Gofer new url:
> \'filetree://`pwd`/../filetree/repository/\'\; package:
> \'MonticelloFileTree-Git\'\; load ./pharo Pharo.image eval --save
> \(MCWorkingCopy hasPackageNamed: \'MonticelloFileTree-Git\'\)
> repositoryGroup\ removeRepository: \(
> \'filetree://`pwd`/filetree/repository/\' asUrl mcRepositoryAsUser: nil
> withPassword: nil\)\;\ addRepository: \(
> \'gitfiletree://`pwd`/filetree/repository/\' asUrl mcRepositoryAsUser: nil
> withPassword: nil\)
>
> It's really to get the latest :) It will be simpler in the future.
>
> My workflow, for a git repo and pharo, is to have a Makefile with those
> commands, a gitignore for the pharo subdirectory, and a make clean to
> remove the pharo directory and download a fresh vm and image. It avoids
> storing the pharo image and package cache inside the git repository, as I
> used to do before ;)
>
> Thierry
>
> 
> De : Pharo-users [pharo-users-boun...@lists.pharo.org] de la part de Bahman
> Movaqar [bah...@bahmanm.com] Date d'envoi : mardi 18 juin 2013 21:38
> À : pharo-users@lists.pharo.org
> Objet : [Pharo-users] Pharo + git
>
> Hi all,
>
> I've searched the net and found out the answer is most probably "no"; but it
> doesn't hurt to ask here:
>
> Is it posssible to use `git' as the VCS backend for Pharo?

--
Bahman Movaqar  (http://BahmanM.com)

ERP Evaluation, Implementation & Deployment Consultant
PGP Key ID: 0x6AB5BD68 (keyserver2.pgp.com)



Re: [Pharo-users] Pharo + git

2013-06-18 Thread GOUBIER Thierry
The mistake in the script is the order of the first three commands. It should 
be:

mkdir pharo
cd pharo
git clone https://github.com/ThierryGoubier/filetree.git
…

Thierry


De : Pharo-users [pharo-users-boun...@lists.pharo.org] de la part de GOUBIER 
Thierry
Date d'envoi : mardi 18 juin 2013 22:42
À : Any question about pharo is welcome
Objet : [PROVENANCE  INTERNET] Re: [Pharo-users] Pharo + git

They will have to clone your git repository, create the image with the 
gifiletree:// support (I think there is a mistake in the script), and add the 
repository as a gitfiletree:// repository to see all your packages.

You can also use Gofer in the image:

Gofer it
  url: 'gitfiletree:';
  package: '';
  load

Or on the command line.

Thierry

De : Pharo-users [pharo-users-boun...@lists.pharo.org] de la part de Bahman 
Movaqar [bah...@bahmanm.com]
Date d'envoi : mardi 18 juin 2013 22:22
À : Any question about pharo is welcome
Objet : Re: [Pharo-users] Pharo + git

Thanks for the info.

Now suppose I shared my code on git.  How can others use it on their own
image?


On Tuesday 18 June 2013 20:14:21 GOUBIER Thierry wrote:
> Yes, you can use git with Pharo.
>
> You need to get an extension called MonticelloFileTree, and you can add on
> top of it a MonticelloFileTree-Git which really integrates into git.
>
> Main repository is there:
>
> https://github.com/dalehenrich/filetree
>
> And temporary instruction to try the latest gitfiletree:// stuff is (under
> Linux) :
>
> git clone git://github.com/ThierryGoubier/filetree.git
> mkdir pharo
> cd pharo
> wget -O- get.pharo.org/20+vm | bash
> ./pharo Pharo.image config http://ss3.gemstone.com/ss/FileTree
> ConfigurationOfFileTree --install=1.0.2 ./pharo Pharo.image eval --save
> "Gofer  new url: 'http://ss3.gemstone.com/ss/FileTree'; package:
> 'MonticelloFileTree-Core' constraint: [ :version | version author =
> 'ThierryGoubier' ]; load" ./pharo Pharo.image config
> http://ss3.gemstone.com/ss/MetaRepoForPharo20 ConfigurationOfOSProcess
> --install=stable ./pharo Pharo.image eval --save Gofer new url:
> \'filetree://`pwd`/../filetree/repository/\'\; package:
> \'MonticelloFileTree-Git\'\; load ./pharo Pharo.image eval --save
> \(MCWorkingCopy hasPackageNamed: \'MonticelloFileTree-Git\'\)
> repositoryGroup\ removeRepository: \(
> \'filetree://`pwd`/filetree/repository/\' asUrl mcRepositoryAsUser: nil
> withPassword: nil\)\;\ addRepository: \(
> \'gitfiletree://`pwd`/filetree/repository/\' asUrl mcRepositoryAsUser: nil
> withPassword: nil\)
>
> It's really to get the latest :) It will be simpler in the future.
>
> My workflow, for a git repo and pharo, is to have a Makefile with those
> commands, a gitignore for the pharo subdirectory, and a make clean to
> remove the pharo directory and download a fresh vm and image. It avoids
> storing the pharo image and package cache inside the git repository, as I
> used to do before ;)
>
> Thierry
>
> 
> De : Pharo-users [pharo-users-boun...@lists.pharo.org] de la part de Bahman
> Movaqar [bah...@bahmanm.com] Date d'envoi : mardi 18 juin 2013 21:38
> À : pharo-users@lists.pharo.org
> Objet : [Pharo-users] Pharo + git
>
> Hi all,
>
> I've searched the net and found out the answer is most probably "no"; but it
> doesn't hurt to ask here:
>
> Is it posssible to use `git' as the VCS backend for Pharo?

--
Bahman Movaqar  (http://BahmanM.com)

ERP Evaluation, Implementation & Deployment Consultant
PGP Key ID: 0x6AB5BD68 (keyserver2.pgp.com)




Re: [Pharo-users] Pharo + git

2013-06-19 Thread Goubier Thierry

Hi Stephane,

but, if you have to introduce Pharo as a business-ready tool in a git 
workflow (or any other vcs for that matter), it's better to say that you 
can do it, no?


Thierry

Le 19/06/2013 11:13, Stéphane Ducasse a écrit :

Hi
I do not know your experience with smalltalk and pharo but pay attention 
because there are really few people working using git and pharo.
I would be you I would concnetrate on the smalltalk part first,

Stef

On Jun 18, 2013, at 11:37 PM, Bahman Movaqar  wrote:


Hmm...let's say I have the project initiated on git.  How can I do the initial
commit?  Does it handle package dependencies?

Thanks,
--
Bahman Movaqar  (http://BahmanM.com)

ERP Evaluation, Implementation & Deployment Consultant
PGP Key ID: 0x6AB5BD68 (keyserver2.pgp.com)
On Tuesday 18 June 2013 20:42:10 GOUBIER Thierry wrote:

They will have to clone your git repository, create the image with the
gifiletree:// support (I think there is a mistake in the script), and add
the repository as a gitfiletree:// repository to see all your packages.

You can also use Gofer in the image:

Gofer it
  url: 'gitfiletree:'; package: '';
  load

Or on the command line.

Thierry

De : Pharo-users [pharo-users-boun...@lists.pharo.org] de la part de Bahman
Movaqar [bah...@bahmanm.com] Date d'envoi : mardi 18 juin 2013 22:22
À : Any question about pharo is welcome
Objet : Re: [Pharo-users] Pharo + git

Thanks for the info.

Now suppose I shared my code on git.  How can others use it on their own
image?

On Tuesday 18 June 2013 20:14:21 GOUBIER Thierry wrote:

Yes, you can use git with Pharo.

You need to get an extension called MonticelloFileTree, and you can add on
top of it a MonticelloFileTree-Git which really integrates into git.

Main repository is there:

https://github.com/dalehenrich/filetree

And temporary instruction to try the latest gitfiletree:// stuff is (under
Linux) :

git clone git://github.com/ThierryGoubier/filetree.git
mkdir pharo
cd pharo
wget -O- get.pharo.org/20+vm | bash
./pharo Pharo.image config http://ss3.gemstone.com/ss/FileTree
ConfigurationOfFileTree --install=1.0.2 ./pharo Pharo.image eval --save
"Gofer  new url: 'http://ss3.gemstone.com/ss/FileTree'; package:
'MonticelloFileTree-Core' constraint: [ :version | version author =
'ThierryGoubier' ]; load" ./pharo Pharo.image config
http://ss3.gemstone.com/ss/MetaRepoForPharo20 ConfigurationOfOSProcess
--install=stable ./pharo Pharo.image eval --save Gofer new url:
\'filetree://`pwd`/../filetree/repository/\'\; package:
\'MonticelloFileTree-Git\'\; load ./pharo Pharo.image eval --save
\(MCWorkingCopy hasPackageNamed: \'MonticelloFileTree-Git\'\)
repositoryGroup\ removeRepository: \(
\'filetree://`pwd`/filetree/repository/\' asUrl mcRepositoryAsUser: nil
withPassword: nil\)\;\ addRepository: \(
\'gitfiletree://`pwd`/filetree/repository/\' asUrl mcRepositoryAsUser: nil
withPassword: nil\)

It's really to get the latest :) It will be simpler in the future.

My workflow, for a git repo and pharo, is to have a Makefile with those
commands, a gitignore for the pharo subdirectory, and a make clean to
remove the pharo directory and download a fresh vm and image. It avoids
storing the pharo image and package cache inside the git repository, as I
used to do before ;)

Thierry


De : Pharo-users [pharo-users-boun...@lists.pharo.org] de la part de
Bahman
Movaqar [bah...@bahmanm.com] Date d'envoi : mardi 18 juin 2013 21:38
À : pharo-users@lists.pharo.org
Objet : [Pharo-users] Pharo + git

Hi all,

I've searched the net and found out the answer is most probably "no"; but
it doesn't hurt to ask here:

Is it posssible to use `git' as the VCS backend for Pharo?






--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Pharo + git

2013-06-19 Thread Goubier Thierry



Le 19/06/2013 15:04, Sven Van Caekenberghe a écrit :


On 19 Jun 2013, at 15:02, Goubier Thierry  wrote:


Hi Stephane,

but, if you have to introduce Pharo as a business-ready tool in a git workflow 
(or any other vcs for that matter), it's better to say that you can do it, no?


The current git workflow is not suitable for first time Pharo users, IMHO.
If we say yes it works to beginners, the next question is, how does it work, 
what do I do ?
And then it gets too technical too soon, with almost no friendly tool support.
And they will miss all the great Pharo features.
That is why to other way around is better.


Well, I'm not sure I'll subscribe to this. If I had followed this 
approach, I would not have used Pharo because I would have been told 
that it wasn't ready for git.


Luckily for me, Serge Stinckwich stuck his head out and told me that 
filetree was usable for that.


First time Pharo users aren't allways dumb beginners; they are often 
seasoned veterans in more systems than me, and probably better at 
understanding shells scripts than I am :)


Thierry


Sven


Thierry

Le 19/06/2013 11:13, Stéphane Ducasse a écrit :

Hi
I do not know your experience with smalltalk and pharo but pay attention 
because there are really few people working using git and pharo.
I would be you I would concnetrate on the smalltalk part first,

Stef

On Jun 18, 2013, at 11:37 PM, Bahman Movaqar  wrote:


Hmm...let's say I have the project initiated on git.  How can I do the initial
commit?  Does it handle package dependencies?

Thanks,
--
Bahman Movaqar  (http://BahmanM.com)

ERP Evaluation, Implementation & Deployment Consultant
PGP Key ID: 0x6AB5BD68 (keyserver2.pgp.com)
On Tuesday 18 June 2013 20:42:10 GOUBIER Thierry wrote:

They will have to clone your git repository, create the image with the
gifiletree:// support (I think there is a mistake in the script), and add
the repository as a gitfiletree:// repository to see all your packages.

You can also use Gofer in the image:

Gofer it
  url: 'gitfiletree:'; package: '';
  load

Or on the command line.

Thierry

De : Pharo-users [pharo-users-boun...@lists.pharo.org] de la part de Bahman
Movaqar [bah...@bahmanm.com] Date d'envoi : mardi 18 juin 2013 22:22
À : Any question about pharo is welcome
Objet : Re: [Pharo-users] Pharo + git

Thanks for the info.

Now suppose I shared my code on git.  How can others use it on their own
image?

On Tuesday 18 June 2013 20:14:21 GOUBIER Thierry wrote:

Yes, you can use git with Pharo.

You need to get an extension called MonticelloFileTree, and you can add on
top of it a MonticelloFileTree-Git which really integrates into git.

Main repository is there:

https://github.com/dalehenrich/filetree

And temporary instruction to try the latest gitfiletree:// stuff is (under
Linux) :

git clone git://github.com/ThierryGoubier/filetree.git
mkdir pharo
cd pharo
wget -O- get.pharo.org/20+vm | bash
./pharo Pharo.image config http://ss3.gemstone.com/ss/FileTree
ConfigurationOfFileTree --install=1.0.2 ./pharo Pharo.image eval --save
"Gofer  new url: 'http://ss3.gemstone.com/ss/FileTree'; package:
'MonticelloFileTree-Core' constraint: [ :version | version author =
'ThierryGoubier' ]; load" ./pharo Pharo.image config
http://ss3.gemstone.com/ss/MetaRepoForPharo20 ConfigurationOfOSProcess
--install=stable ./pharo Pharo.image eval --save Gofer new url:
\'filetree://`pwd`/../filetree/repository/\'\; package:
\'MonticelloFileTree-Git\'\; load ./pharo Pharo.image eval --save
\(MCWorkingCopy hasPackageNamed: \'MonticelloFileTree-Git\'\)
repositoryGroup\ removeRepository: \(
\'filetree://`pwd`/filetree/repository/\' asUrl mcRepositoryAsUser: nil
withPassword: nil\)\;\ addRepository: \(
\'gitfiletree://`pwd`/filetree/repository/\' asUrl mcRepositoryAsUser: nil
withPassword: nil\)

It's really to get the latest :) It will be simpler in the future.

My workflow, for a git repo and pharo, is to have a Makefile with those
commands, a gitignore for the pharo subdirectory, and a make clean to
remove the pharo directory and download a fresh vm and image. It avoids
storing the pharo image and package cache inside the git repository, as I
used to do before ;)

Thierry


De : Pharo-users [pharo-users-boun...@lists.pharo.org] de la part de
Bahman
Movaqar [bah...@bahmanm.com] Date d'envoi : mardi 18 juin 2013 21:38
À : pharo-users@lists.pharo.org
Objet : [Pharo-users] Pharo + git

Hi all,

I've searched the net and found out the answer is most probably "no"; but
it doesn't hurt to ask here:

Is it posssible to use `git' as the VCS backend for Pharo?






--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0

Re: [Pharo-users] Git filetree workflow

2013-07-30 Thread Goubier Thierry

Hi,

I have been working in a similar setup for more than a year. I used 
filetree, with the problem you describe (double code maintenance both in 
git and in Monticello, which often resulted in lost Monticello versions 
in the git history). You also have the fact that, when you merge under 
git, most often than note the monticello.meta/version file will generate 
a conflict.


So I added a better git support to filetree, calling it gitfiletree://. 
It's integrated into (https://github.com/dalehenrich/filetree) with the 
following workflow :
* When you save under Monticello, you commit with git with a comment 
which is your Monticello comment.
* When you open your gitfiletree repo in Monticello, what you see is 
your git history filtered by the package (ancestors and all), not the 
Monticello history (i.e. if you modify or merge outside smalltalk, it 
will show up in Monticello), and not the full git repo history.
* The version and other metadata stuff will probably cause merge 
conflicts, but gitfiletree never reads them anymore : all the package 
info data (author, timestamp, comments, history) is taken from the git 
commit history.

* Monticello diffs will be the same as in git, without the metadata noise.

Otherwise, it's filetree compatible (you can read your HEAD with 
filetree), and it integrates with Gofer well (you can import a mcz based 
repository into git, keeping the history).


The current MonticelloFileTree configuration has a 
MonticelloFileTree-Git group to load it.


If there are things in the Workflow you'd like to see, then this can be 
implemented.


Thierry

Le 30/07/2013 12:03, joerick a écrit :

I work on a project that uses smalltalk as a part of a larger system. We
version control most of the code (Objective-C, mainly) using Git. Currently
the repo has a build script under version control which specifies the
monticello package versions to fetch for a given commit. This works okay,
and keeps everything in step, but the change histories are in two places
(Git and monticello) which is undesirable, and branching/merging is
difficult.

I'm looking at using filetree (https://github.com/dalehenrich/filetree) to
store the smalltalk source in the git repo. I was wondering what the
workflow is within the image.

Is there an easy way to keep the code on the filesystem in sync with the
code in the image? At the moment it seems that there will be a lot of
loading/saving in the monticello browser whenever I change code either using
git or within the image.

For example, do I have to save code out to the filesystem using the
Monticello browser, and then inspect the diffs in git?



--
View this message in context: 
http://forum.world.st/Git-filetree-workflow-tp4701465.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.





--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Git filetree workflow

2013-07-30 Thread Goubier Thierry



Le 30/07/2013 14:51, joerick a écrit :

Thierry,

Many thanks for your prompt reply! I did find gitfiletree on smalltalk hub
while I was doing some research, but I thought that filetree was
specifically designed to be used with git, so I tried that first.


Filetree works with a bit more than git; it should work with svn, cvs, 
mercurial, etc.. anything which does version control over files.


Gitfiletree is filetree plus calls to the "git" command (git commit, git 
log, git archive, git branch) and the consequences...



I'll see how it works in my case. Just one question- how do I import the mcz
history into git?


You use one of the Gofer scripts you will find for migrating from one 
repository to another [1]:


Gofer it
squeaksource: 'Fuel';
package: 'Fuel';
package: 'FuelTests';
fetch.

Gofer it
url: 'http://ss3.gemstone.com/ss/Fuel';
package: 'Fuel';
package: 'FuelTests';
push.

[1] 
http://marianopeck.wordpress.com/2011/11/08/migrating-projects-to-squeaksource3/


But do that with as target a gitfiletree repo, not a filetree one; 
gitfiletree will do a commit for each version of a project pushed to it; 
filetree will overwrite the previous version. You will loose the mcz 
timestamps however.


Thierry
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Git filetree workflow

2013-07-30 Thread Goubier Thierry

Sorry no, only 2.0. I wonder if, however, it could work...

What are the errors you're getting?

Thierry

Le 30/07/2013 16:41, joerick a écrit :

Oh, I'm having trouble adding a gitfiletree repository, do you support Pharo
1.4?



--
View this message in context: 
http://forum.world.st/Git-filetree-workflow-tp4701465p4701541.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.





--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Git filetree workflow

2013-07-31 Thread Goubier Thierry



Le 31/07/2013 11:52, joerick a écrit :

I'm getting a DNU for UnixFileDirectory on #pathString.


Yes. I made a try yesterday and it failed on FileDirectory instead of 
FileReference (pathString is one of the FileReference method) and also 
on a Date readFrom: bug. From that, it seems feasible to do a one off 
(take a recent gitfiletree version and make a mcz adapted by force to 
Pharo1.4) but harder to reintegrate those adaptations in a proper way 
inside the filetree distribution.



Additionally, I tried the Gofer #push command with the basic filetree://
with multiple packages but it failed to save a few and didn't raise an
error. A bit unsettling... filetree is supposed to be 1.4 compatible, yes?


Yes, I believe it is 1.4 compatible. Filetree is tested in integration 
against Pharo1.4.


I don't know what the error is then. Can you try with multiple target 
repositories in Filetree (subdirectories inside your git directory?)?


Thierry
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Packages ... group view example

2013-07-31 Thread Goubier Thierry

So the code is in there:

https://github.com/ThierryGoubier/AltBrowser/blob/master/Alt-Browser.package/AltBrowser.class/class/getRootItems.st

Note that when you describe

v AST
  v Core
> Matching

AST-Core is a Monticello package (and a RPackageSet), AST-Core-Matching 
is a RPackage and a System category.


Thierry

Le 31/07/2013 14:51, Geert Claes a écrit :

Yep, more or less



--
View this message in context: 
http://forum.world.st/Packages-group-view-example-tp4701657p4701683.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.





--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] [Pharo-dev] Large images reasons [WAS] Re: Pharo 2.0 with Seaside + DBXTalk + GlorpDBX + Magritte 3 + TWBS is getting slower and slower

2013-08-01 Thread Goubier Thierry

Hi Stef,

With Dale, we're working on a FileTree / GitFileTree without ancestors 
info in the repository [1] :) ...


... but recreated on the fly by GitFileTree for the Monticello history 
browsing tools [2] :(


[1] is underway and ...
[2] is already working in 
https://github.com/dalehenrich/filetree/tree/pharo2.0/repository/MonticelloFileTree-Git.package


Thierry

Le 01/08/2013 08:56, Stéphane Ducasse a écrit :

since years marcus is telling that MC storing ancestor information is
doomed but we do not have something to really replace it.

Stef




On Jul 31, 2013, at 8:53 PM, Mariano Martinez Peck
mailto:marianop...@gmail.com>> wrote:


OK, this was was my experiment

Image fresh with all my app and dependencies loades: 30MB

After using it for some days/weeks: 160MB.

SpaceTally new printSpaceAnalysis showed:

Class  code space # instances
 inst space percent   inst average size
ByteString   2785  413144
116244078   69.90  281.36
Array3712  181772
  8485.10   46.58
ByteArray85741319
  81868024.90 6206.82
Bitmap   3653 303
  66563404.0021968.12
CompiledMethod  22467   90554
  56853743.40   62.78


After executing ImageCleaner cleanUpForRelease: 36MB

Then...I searched which part of #cleanUpForRelease: was making the
difference, and it was:

Smalltalk cleanUp: true except: #() confirming: false.

So now it was time to know WHICH class did the diference, so I modified
#cleanUp: aggressive except: exclusions confirming: aBool

in these lines:

"Run the cleanup code"
classes
do:[:aClass|
Transcript show: 'Image size before cleaning ', aClass name, ' : ',
Smalltalk imagePath asFileReference size asString.
aClass cleanUp: aggressive.
3 timesRepeat: [Smalltalk garbageCollect].
Smalltalk snapshot: true andQuit: false.
Transcript show: 'Image size after cleaning ', aClass name, ' : ',
Smalltalk imagePath asFileReference size asString.
]
displayingProgress: [:aClass| 'Cleaning up in ', aClass name].
I then opened a Transcript, and evaluated

Smalltalk cleanUp: true except: #() confirming: false.

I went to prepare Mate, and when I come back, the result was, of course:

"Image size after cleaning MCFileBasedRepository : 39744008"

That clean up ends up doing:

flushAllCaches
self allSubInstancesDo: [:ea | ea flushCache]
So it sends #flushCache to all instances of MCHttpRepository and
MCFileBasedRepository.

Now what I wanted to see if it there was a particular repo that could
take most of the space (like package-cache).
And indeed, it was...I modified #flushCaches to:

flushAllCaches
| file |
file := 'repos.txt' asFileReference writeStream text.
self allSubInstancesDo: [:each |
file nextPutAll: 'Image size before cleaning ', each printString, ' :
', Smalltalk imagePath asFileReference size asString; cr.
each flushCache.
3 timesRepeat: [Smalltalk garbageCollect].
Smalltalk snapshot: true andQuit: false.
file nextPutAll: 'Image size after cleaning ', each printString, ' :
', Smalltalk imagePath asFileReference size asString;cr.
].
file flush; close.
And then I looked in the 'repos.txt' file. My package cache repo
cleaned 60 MB. Glorp cleaned 35MB. Seaside30 cleaned 10MB.
So...cleaning cache of just 3 repos frees approx 100MB.

The question iscan we flush the cache safely? If they are called
"cache", then I guess yes, we can.

Thoughts?

Thanks,



On Wed, Jul 31, 2013 at 10:48 AM, Mariano Martinez Peck
mailto:marianop...@gmail.com>> wrote:

Guys, I have images also with seaside, magritte, glorp,
postgresV2, etc and it is also around 200MB.
I will try to do some research today and let you know.

Cheers,


On Tue, Jul 30, 2013 at 8:55 AM, Marcus Denker
mailto:marcus.den...@inria.fr>> wrote:


On Jul 30, 2013, at 1:49 PM, "p...@highoctane.be
" mailto:p...@highoctane.be>> wrote:

> the changes file contained passwords and I replaced the
text.  So offsets may be wrong due to that.
>
Yes, the first thing I wanted to do is to recompile
everything. Does not work.

> Memorymonitor is not doing fanct stuff. It just counts
instances.
>
Yes, but maybe it holds on to these instances?

Marcus





--
Mariano
http://marianopeck.wordpress.com 




--
Mariano
http://marianopeck.wordpress.com 




--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] FileTree Monticello Repository

2013-09-13 Thread Goubier Thierry



Le 13/09/2013 04:25, Esteban A. Maringolo a écrit :

Is anybody using FileTree repositories?


Which repositories? Dale's github?


If so, I'd like to know the pros and cons of using it.


More complex to use than Smalltalkhub/Squeaksource because it is not yet 
integrated in the default image. Some features may not work, but average 
MC work under Pharo2.0 works fine with all features of Filetree 
(including gitfiletree).


Easier to use than Smalltalkhub/Squeaksource for authentification.


I want to use to version everything with git, but I don't know how it
keeps git (it is, FileTree files) in sync with MC versions.


A filetree repository appears as a MC repository in the same way as 
another type of MC repository.


Filetree will require that you do all your version management in the git 
repo by hand (i.e. save a version of your package in a filetree repo, 
then switch to a console to commit it. If you forget to commit and save 
a new version of a package on the filetree repo, you overwrite the 
previous version and git will not record it. Filetree by itself will 
only show you the state of the HEAD of your git repository).


If you use gitfiletree (it sits over Filetree), then git commit will be 
done for you when saving your package, and the repository browser will 
show you all the history of the repository, exactly as if it was a 
Smalltalkhub or Squeaksource repository. What will remain to do on the 
command line are the git push and whatever management you do on the 
repository (merging, branching, even if you can also merge via MC 
instead). In short, gitfiletree calls git for you and parse the results :)


I'm still wondering about adding more git commands inside the MC GUI to 
do more from inside Pharo (like automagically pushing), but I don't want 
to enforce a specific way of organising the git repository... and I'm 
just trying to get gitfiletree to pass its tests in the pharo3.0 branch 
of Filetree at the moment.


Does this answer your questions?

Thierry
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] FileTree Monticello Repository

2013-09-13 Thread Goubier Thierry



Le 13/09/2013 16:30, Esteban A. Maringolo a écrit :

Goubier,

You do answer my questions. I'm certainly looking for something like
gitfiletree then.

One last question I have is, does the gitfiletree:// repository type
come bundled with the FileTree package? Or do I need to download and
install it separately?


Yes, I think it is in the default configuration for pharo 2.0.


Regarding adding more git commands inside the MC GUI I'd like to have
them separated.
Unless I can load previous versions of my MC package and that causes the
git to checkout the files from a previous commit.


No, it does a lot better than that.

It loads the definitions of a previous version of a package without 
doing a checkout on the repo, to do with it in MC as you want : 
load/merge/compare changes. If you know git, it uses 'git archive' to 
retrieve a specific package version in the commit history.


It also bypass most of the stored metadata in the package: methods 
timestamps are the git commit timestamps, package history is the git 
commit history of the repo (pruned to remove all commits not related to 
the package, in the case of a repo containing multiple packages).



I don't know how the branching is managed or if it's simply ignored.


I'm displaying it in the repository inspector, otherwise it's ignored.

Thierry


Regards,

Esteban A. Maringolo


2013/9/13 Goubier Thierry mailto:thierry.goub...@cea.fr>>



Le 13/09/2013 04:25, Esteban A. Maringolo a écrit :

Is anybody using FileTree repositories?


Which repositories? Dale's github?


If so, I'd like to know the pros and cons of using it.


More complex to use than Smalltalkhub/Squeaksource because it is not
yet integrated in the default image. Some features may not work, but
average MC work under Pharo2.0 works fine with all features of
Filetree (including gitfiletree).

Easier to use than Smalltalkhub/Squeaksource for authentification.


I want to use to version everything with git, but I don't know
how it
keeps git (it is, FileTree files) in sync with MC versions.


A filetree repository appears as a MC repository in the same way as
another type of MC repository.

Filetree will require that you do all your version management in the
git repo by hand (i.e. save a version of your package in a filetree
repo, then switch to a console to commit it. If you forget to commit
and save a new version of a package on the filetree repo, you
overwrite the previous version and git will not record it. Filetree
by itself will only show you the state of the HEAD of your git
repository).

If you use gitfiletree (it sits over Filetree), then git commit will
be done for you when saving your package, and the repository browser
will show you all the history of the repository, exactly as if it
was a Smalltalkhub or Squeaksource repository. What will remain to
do on the command line are the git push and whatever management you
do on the repository (merging, branching, even if you can also merge
via MC instead). In short, gitfiletree calls git for you and parse
the results :)

I'm still wondering about adding more git commands inside the MC GUI
to do more from inside Pharo (like automagically pushing), but I
don't want to enforce a specific way of organising the git
repository... and I'm just trying to get gitfiletree to pass its
tests in the pharo3.0 branch of Filetree at the moment.

Does this answer your questions?

Thierry
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95




--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] FileTree Monticello Repository

2013-09-13 Thread Goubier Thierry



Le 13/09/2013 17:04, b...@openinworld.com a écrit :

Goubier Thierry wrote:



Le 13/09/2013 04:25, Esteban A. Maringolo a écrit :

Is anybody using FileTree repositories?


Which repositories? Dale's github?


If so, I'd like to know the pros and cons of using it.


More complex to use than Smalltalkhub/Squeaksource because it is not
yet integrated in the default image. Some features may not work, but
average MC work under Pharo2.0 works fine with all features of
Filetree (including gitfiletree).

Easier to use than Smalltalkhub/Squeaksource for authentification.


I want to use to version everything with git, but I don't know how it
keeps git (it is, FileTree files) in sync with MC versions.


A filetree repository appears as a MC repository in the same way as
another type of MC repository.

Filetree will require that you do all your version management in the
git repo by hand (i.e. save a version of your package in a filetree
repo, then switch to a console to commit it. If you forget to commit
and save a new version of a package on the filetree repo, you
overwrite the previous version and git will not record it. Filetree by
itself will only show you the state of the HEAD of your git repository).

If you use gitfiletree (it sits over Filetree), then git commit will
be done for you when saving your package, and the repository browser
will show you all the history of the repository, exactly as if it was
a Smalltalkhub or Squeaksource repository. What will remain to do on
the command line are the git push and whatever management you do on
the repository (merging, branching, even if you can also merge via MC
instead). In short, gitfiletree calls git for you and parse the
results :)

I'm still wondering about adding more git commands inside the MC GUI
to do more from inside Pharo (like automagically pushing), but I don't
want to enforce a specific way of organising the git repository... and
I'm just trying to get gitfiletree to pass its tests in the pharo3.0
branch of Filetree at the moment.

Does this answer your questions?

Thierry

 > but I don't want to enforce a specific way of organising the git
repository

I see this extreme altruism :) around the community, and while it is
very admirable, I think sometimes its misplaced :).  The flip side is
that some people (like me) aren't really familiar with git don't know
how we might want git organised, or even what the options are.
Unfortunately this stalls my motivation to try it out (sorry, weak, I
know - but I admit it, and I think its common (or do I just think that
to make myself feel better)).  Having a concrete implementation of any
additional functionality that might make git more transparent "out of
the box" would be beneficial for its uptake.  As well, without a
concrete example, others who might want to implement something like that
have to start more from scratch, whereas your concrete example might be
90% of what someone wants and then its only 10% that they need to
customize.  The reality of human nature is that its easier to criticize
to pick out what you don't like, than to create something new.  However
the hidden benefit of this criticism is that it engages people in
discussion and then you hook them into helping develop what they need.
So anyway, my short response is, if "you" would benefit from that added
functionality then "just do it".  :)
cheers -ben

P.S. I admire what I read about progress with Filtetree and GitFileTree
towards using git.  For some segments outside the Pharo community that
we want to draw in, this is going to be an important consideration.


Hi Ben,

I'm sorry that this doesn't convince you to use git with Pharo :)

So far, I very happy with the functionality gitfiletree has; for a 
common user like me it has been working very nicely for quite some time 
now :):) It has the features I need: allow the introduction of pharo 
development in any pre-existing / mixed language repository; allow me to 
build in 5 sec a new repo for a package; integrate with github; better 
long history exploration than anything else under Pharo.


At the same time, it was a bit of a mock-up, this gitfiletree: just 
adding some automation to a filetree over git repository, and also add 
some motivation for someone else to see what can be done and how, so as 
to eventually reimplement it as a FileSystem / or as a libcgit instead 
of calling git log and git archive :)


It's now a bit of a bench for some future directions of FileTree, such 
as removing the metadata which is provoking conflicts when merging under 
git, or as a new replacement of changesets (but EPICEA is going in 
another interesting direction, so I'm not trying anything there).


And don't worry for my altruism not adding functionalities :) I'm the 
guy who wrote a complete alternative IDE for pharo 2.0, just because I 
prefer it to Nautilus :O


Thierry
--
Thierr

Re: [Pharo-users] FileTree Monticello Repository

2013-09-13 Thread GOUBIER Thierry
When you change a method and save, git will see one file changed (the method) 
and put it in the commit (there will also be a few changes in the metadata 
associated with the method and this will be included in the commit, but this 
won't matter for gitfiletree). Everything else will stay as before, i.e. owned 
by the original author (if it is done on git). Additionally, the message in the 
git log will be the one you wrote for the package in MC when saving.

When you start to use git, what you should do is move all your package versions 
onto the new repository, for example with a Gofer script. It will commit all 
the versions, starting from the first one, and so recreate the history (but 
without the merges and resetting timestamps and attributing ownership to you); 
I don't know enough of git to do a perfect history import, but it could be done.

Thierry


De : Pharo-users [pharo-users-boun...@lists.pharo.org] de la part de Paul 
DeBruicker [pdebr...@gmail.com]
Date d'envoi : vendredi 13 septembre 2013 17:47
À : pharo-users@lists.pharo.org
Objet : Re: [Pharo-users] FileTree Monticello Repository

On 09/13/2013 07:53 AM, Goubier Thierry wrote:
> It also bypass most of the stored metadata in the package: methods
> timestamps are the git commit timestamps, package history is the git
> commit history of the repo (pruned to remove all commits not related to
> the package, in the case of a repo containing multiple packages).


So does this mean that If I make a bug fix in someone's package and then
commit it, I become the author of every method of the package?


Or can it tell from the commit that its just that one method that
changed and all the other methods are from prior commits?



Also, when beginning to use git, if I make the initial commit of the
package is all the prior editing and version history lost?


Thanks

Paul




Re: [Pharo-users] FileTree Monticello Repository

2013-09-13 Thread GOUBIER Thierry
Yes, there is a way. If you use a Gofer import script[1] to move a package from 
say, a squeaksource repository to a git repository with gitfiletree, you will 
import and commit all the versions one by one inside the git repo, starting 
with the oldest. You will loose the timestamps, but not the history.

Thierry

[1] I should give you a link, but a google "Gofer migrate from Squeaksource to 
Smalltalkhub" should bring you to a few good blog pages with scripts example, 
something along the lines of Gofer fetch. Gofer push :)

De : Pharo-users [pharo-users-boun...@lists.pharo.org] de la part de Esteban A. 
Maringolo [emaring...@gmail.com]
Date d'envoi : vendredi 13 septembre 2013 17:52
À : Any question about pharo is welcome
Objet : Re: [Pharo-users] FileTree Monticello Repository

2013/9/13 Paul DeBruicker 
> Also, when beginning to use git, if I make the initial commit of the
> package is all the prior editing and version history lost?

It happened to me.

Maybe there is a way of, in a blank image, load the MC package
editions from a regular repo and commit them in the GitFileTree one.
It is... to replay every commit in the new repo.


Esteban A. Maringolo




Re: [Pharo-users] [ANN] Launching Pharo on Ubuntu

2013-09-23 Thread Goubier Thierry

Hi Damien,

thanks for that, I went to try and had to do a few things, just tell me 
if I got everything right:


I should install the pharo-launcher package.

If I already have the pharo-vm package, I should remove it since it 
conflicts with pharo-vm-core, a dependency of pharo-launcher.


Then, starting pharo from the command line requires changing pharo to 
pharo-vm-x (can I change pharo -headless by pharo-vm-nox in my Makefiles?).


Thierry

Le 23/09/2013 14:13, Damien Cassou a écrit :

For Ubuntu users who are using my PPA
(https://launchpad.net/~pharo/+archive/stable/), you can now launch
Pharo from either the Ubuntu Dashboard or the terminal (just type
'pharo').

In both cases, you will see the Pharo Launcher from which you can
create new images from templates on the web and launch existing
images. http://www.smalltalkhub.com/#!/~Pharo/PharoLauncher

No need for manual download of zip files, unpacking, and directory
management. The launcher does everything for you.

Have fun



--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Capturing messages

2013-09-24 Thread Goubier Thierry
There is also a code tracer working in 2.0 that I maintain and use from 
time to time, called Jejak.


It would require a small extension and recompiling a lot of methods, but 
it could be made to trace and record all method entries (taking care of 
not tracing its own code :)).


It will slow down the VM by a significant amount, of course.

Thierry

Le 24/09/2013 16:30, Alejandro Pulver a écrit :

Thanks for the idea, I'll try emulating shotgun sequencing by increasing
the sampling rate for short periods of time.

But a better alternative would be to enable and disable the simulator
(context's runSimulated) for exact sequences (even if shorter, to avoid
slowdowns). Is it possible with the current implementation?

It's not that I don't appreciate the ideas for the new reflection
framework. but I'm looking for something to use for this project. And we
have only a few weeks. Actually, the most important part is not the
system integration but analyzing the structure of those message
sequences (like word analysis in natural language processing).


On Tue, Sep 24, 2013 at 4:59 AM, Marcus Denker mailto:marcus.den...@inria.fr>> wrote:


On Sep 24, 2013, at 9:41 AM, Alejandro Pulver mailto:alepul...@gmail.com>> wrote:

 > I see. But what about sampling? It shouldn't slow down the
program nearly as much as these "instrumentation" like mechanisms.
 >
 > And as I'm going to count them anyways, missing the most unused
ones won't be such a problem.
 >
 > That combined with complete capture for a small run (like a test
or block) would be enough for our needs.
 >
 >

Yes, one could just use some random selection (I really like the
idea of shotgun sequencing…
http://en.wikipedia.org/wiki/Shotgun_sequencing)
The resulting information should be quite good.

But the first step is that we need a really good, very dynamic, very
general and powerful basis… this is what we want to build
with Reflectivity2 (and Reflectivity3 will have to hook deeper into
the JIT of the VM, but that is another story).

Related to step 3), another source for interesting data is the VM
itself (e.g. caches).

But step by step…

The idea is to take the new possibilities we have in Pharo3 and make
a well engineered realization of partial behavioral reflection,
with two extensions:
 -> meta links on instance  variables. Very cool
possibilities now that instance variables are reified objects ("Slot")
 -> object specific meta links by integrating with a good
proxy implementation

This will already bring amazing capabilities to the system (and
subsume MethodWrappers, simple CLOS style MOPs, perfect for
breakpoints, watchpoints and debugging in general,  and it can be
the basis for AOP like things).

 Marcus




--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Scoped Senders

2013-09-26 Thread Goubier Thierry
In AltBrowser, double click on the package you want, in the resulting 
package-scoped browser, choose the method and select sendersOf in the 
context menu :)


(It may not be working completely at the moment)

By hand, write the following.

Create a RBEnvironment:

| rbp |
rbp := RBBrowserEnvironment new forPackages: { }.

Then do the senders search on it:

rbp referencesTo: aSelector in: rbp

Thierry

Le 26/09/2013 16:39, Sean P. DeNigris a écrit :

How do I find the senders of a message, but just in a certain set of
packages?

Thanks.



-
Cheers,
Sean
--
View this message in context: 
http://forum.world.st/Scoped-Senders-tp4710563.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.





--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Scoped Senders

2013-09-26 Thread Goubier Thierry



Le 26/09/2013 16:58, Goubier Thierry a écrit :

In AltBrowser, double click on the package you want, in the resulting
package-scoped browser, choose the method and select sendersOf in the
context menu :)

(It may not be working completely at the moment)

By hand, write the following.

Create a RBEnvironment:

| rbp |
rbp := RBBrowserEnvironment new forPackages: { }.

Then do the senders search on it:

rbp referencesTo: aSelector in: rbp


Sorry, should be

rbp referencesTo: aSelector

Thierry



Thierry

Le 26/09/2013 16:39, Sean P. DeNigris a écrit :

How do I find the senders of a message, but just in a certain set of
packages?

Thanks.



-
Cheers,
Sean
--
View this message in context:
http://forum.world.st/Scoped-Senders-tp4710563.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.







--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Anyone have a script to take a set of Packages and commit them in chronological order to a git repo?

2013-10-30 Thread GOUBIER Thierry
Hi Paul,

as far as I have experienced, if you fetch and push a package with a Gofer 
script, it will push them in the target repo from oldest to newest. I've done 
that with gitfiletree: as a target a few times, and this recreates the history 
in the git repo, but without the 'original' date and 'original' author however.

If you do the same with FileTree, then this won't work, however. You need to do 
a git commit after each package is written to the repository.

Thierry


De : Pharo-users [pharo-users-boun...@lists.pharo.org] de la part de Paul 
DeBruicker [pdebr...@gmail.com]
Date d'envoi : mercredi 30 octobre 2013 22:37
À : Any question about pharo is welcome
Objet : [Pharo-users] Anyone have a script to take a set of Packages and
commit them in chronological order to a git repo?

Hi,

I'm thinking to use travisci.org to build and test some of the MIT licensed 
packages I've been maintaining.  I'd like to get those packages development 
histories into git in an orderly way, so the information is there for 
curiosity's sake.

Thanks

Paul



[Pharo-users] Roassal question

2013-11-25 Thread Goubier Thierry

Hi,

would anybody knows how to do a nested layout with reversed radial tree 
in Roassal? I'd like to build a grid of reversed radial trees... It 
works with trees, but not with the radial layout.


Thanks,

Thierry
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Roassal question

2013-11-27 Thread Goubier Thierry
I will try to see if I can reproduce it on a test case and give you the 
code.


Thierry

Le 27/11/2013 12:20, Tudor Girba a écrit :

Can you provide the snippet that works for trees?

Doru


On Mon, Nov 25, 2013 at 2:40 PM, Goubier Thierry mailto:thierry.goub...@cea.fr>> wrote:

Hi,

would anybody knows how to do a nested layout with reversed radial
tree in Roassal? I'd like to build a grid of reversed radial
trees... It works with trees, but not with the radial layout.

Thanks,

Thierry
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92
 / 83 95




--
www.tudorgirba.com <http://www.tudorgirba.com>

"Every thing has its own flow"


--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Fwd: NativeBoost and standard out

2014-01-17 Thread Goubier Thierry

Hi Sean,

can you summarize what you ended up with? I'd really like to get a 
solution to be able to support git in Windows.


Thanks,

Thierry

Le 17/01/2014 02:29, Sean P. DeNigris a écrit :

That was just what I needed. Thanks, Hernan! It seems like we could
consolidate a bit on Windows: we have NB, ProcessWrapper, and OSProcess,
all of which have a piece of the functionality you'd want for
interacting with external processes...


 Original message 
From: "Sean P. DeNigris [via Smalltalk]" <[hidden email]
>
Date: 12/24/2013 9:46 AM (GMT-05:00)
To: "Sean P. DeNigris" <[hidden email]
>
Subject: Re: Fwd: NativeBoost and standard out


Hernán Morales Durand wrote
Maybe does this help ProcessWrapper
...

Intriguing! I'll try it when I get access to a Windows machine... Thanks :)
Cheers,
Sean


View this message in context: Re: Fwd: NativeBoost and standard out

Sent from the Pharo Smalltalk Users mailing list archive
 at Nabble.com.


--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] finding the parent of a filereference

2014-01-31 Thread GOUBIER Thierry
Try

aFileReference parent

Thierry

De : Pharo-users [pharo-users-boun...@lists.pharo.org] de la part de Tudor 
Girba [tu...@tudorgirba.com]
Date d'envoi : vendredi 31 janvier 2014 21:48
À : Any question about pharo is welcome
Objet : [Pharo-users] finding the parent of a filereference

Hi,

I would like to find the parent of a FileReference. For example:

/a/b/c ==> /a/b

I could not find any straightforward way. The one I found was to go via the 
path and do:

aFileReference path withParents reverse second asFileReference

Is there no other way?

Cheers,
Doru

--
www.tudorgirba.com

"Every thing has its own flow"


Re: [Pharo-users] Google Summer of Code is here, your ideas please!

2014-02-04 Thread Goubier Thierry



Le 04/02/2014 14:34, Sven Van Caekenberghe a écrit :


On 04 Feb 2014, at 14:31, Joachim Tuchel  wrote:


* An interface to manage Smalltalk source code in GIT with tools for merging 
etc. - with Portability as a primary design goal (Cypress sure is the place to 
start from)


That already exists, in Thierry's work, right ? He recently posted about this...


I have the base git support... I carefully avoided the "tools for 
merging" part :P


Anybody who has done merges with git, especially on Monticello packages 
under filetree format, will understand why :(


(I tend to merge under Monticello and recommit instead. Works very well, 
but doesn't register as a merge for git. It's something I'd like to 
solve eventually, one day...)


Thierry
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Fwd: NativeBoost and standard out

2014-02-07 Thread GOUBIER Thierry
+1 : one library that works !

Thierry

De : Pharo-users [pharo-users-boun...@lists.pharo.org] de la part de Sean P. 
DeNigris [s...@clipperadams.com]
Date d'envoi : vendredi 7 février 2014 18:29
À : pharo-users@lists.pharo.org
Objet : Re: [Pharo-users] Fwd: NativeBoost and standard out

Emilio Oca-3 wrote
>> Maybe does this help
> Yes! beatiful and lovely

Ugh, we really need to document the external process options so people don't
have to go through this frustration again and again. Ultimately, it'd be
great to have at least one library that works on all platforms...



-
Cheers,
Sean
--
View this message in context: 
http://forum.world.st/Fwd-NativeBoost-and-standard-out-tp4732117p4742216.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.




Re: [Pharo-users] Google Summer of Code is here, your ideas please!

2014-02-10 Thread Goubier Thierry



Le 09/02/2014 15:42, Joachim Tuchel a écrit :

Hi,

so that's not exactly what i had in mind. In a portable git interface for Smalltalk code, 
menticello would be an optional plugin (just like store, envy, sts or whatever), but it 
would be self contained with a clever api to implant it into a dialect. Let's call it 
"git native" with plugs for dialects...


Looks like FileSystem-Git to me :) 
http://smalltalkhub.com/#!/~FileSystemGitDev/FileSystem-Git


I'm effectively at the other end: making a plugin for Monticello to talk 
to git. Like the hg equivalent I'v seen announced for ST/X, it shows 
possible usage patterns of git (and hence be a requirements for your 
interface).


Thierry
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] branching with monticello

2014-02-12 Thread Goubier Thierry

No, but:

- merging with git creates conflicts in FileTree metadata (version, 
methodProperties in each class) and those conflicts are messy to fix 
(the version particularly) and loses merge information (the Monticello 
history will not record the merge)[1] [2].


- merging with Monticello does not record as a merge in git.

[1] gitfiletree could solve that as it doesn't need the version and 
methodProperties metadata, but it still writes them to disk to be 
compatible with FileTree.
[2] gitfiletree will show you the merge in Monticello however (but 
FileTree won't).


Thierry

Le 11/02/2014 19:16, Yuriy Tymchuk a écrit :

I’m worried a bit about merging. Won’t it damage some monticello meta data?

Uko

On 11 Feb 2014, at 18:22, Esteban Lorenzano mailto:esteba...@gmail.com>> wrote:


you can… filetree is a file format. What you do with those files is up
to you and your tools :)

On 11 Feb 2014, at 17:30, Yuriy Tymchuk mailto:yuriy.tymc...@me.com>> wrote:


Can we get something from git branches with file tree?

Uko

On 11 Feb 2014, at 17:26, Esteban Lorenzano mailto:esteba...@gmail.com>> wrote:


in monticello, each package is itself a branch.

so you can have different approachs:

- you just rename your package to YourPackage-YourBranch
- you use different repositories
- yo do not do anything and you just realise that each package is a
branch, so you can start from anywhere and merge with anything :)

Esteban

On 11 Feb 2014, at 16:46, sergio_101 mailto:sergio@gmail.com>> wrote:


 i am sort of foggy on how to effectively use branching with
monticello. currently, we use branches daily. we branch off the
master, and give it some name "like update_user_functions"..

 we develop away on that, and when it's time, we merge that back
into master, and push out to the server.

 having named branches makes it very easy for us track what's going
on in the development line.

 is this possible with monticello, or am i just missing an ideology?

 thanks!

--

peace,
sergio
photographer, journalist, visionary
#BitMessage BM-2D8VWUJSS41RFKh1ec83preVabHrnniExa

http://www.ThoseOptimizeGuys.com 
http://www.CodingForHire.com 
http://www.coffee-black.com 
http://www.painlessfrugality.com 
http://www.twitter.com/sergio_101
http://www.facebook.com/sergio101










--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Spec and an application menu

2014-02-17 Thread Goubier Thierry



Le 17/02/2014 15:02, b...@openinworld.com a écrit :

Benjamin wrote:

I think a Spec model could be done to provide this feature

About the integration in 3.0, one may argue it’s not present since
years, nobody complained so :P

Ben


True, but Pharo is moving into a domain that Squeak didn't target :P :P
cheers -ben


Note that Squeak 4.3 has a true menu bar ;)

Note 2: a small change or extension to the MenuMorph infrastructure in 
Pharo would hold a normal menu bar... Wait, it may already be there, 
unknown to all :)


Thierry
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Spec and an application menu

2014-02-17 Thread Goubier Thierry



Le 17/02/2014 15:18, b...@openinworld.com a écrit :

Goubier Thierry wrote:


Note that Squeak 4.3 has a true menu bar ;)

Note 2: a small change or extension to the MenuMorph infrastructure in
Pharo would hold a normal menu bar... Wait, it may already be there,
unknown to all :)

Thierry

Cool. Thanks Thierry.


Look for DockingBarMorph.

Thierry
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Spec and an application menu

2014-02-18 Thread Goubier Thierry



Le 18/02/2014 09:12, Hilaire Fernandes a écrit :



Le 17/02/2014 20:22, kmo a écrit :

Yes - there's no problem with menus if you use Morphs. Here's an interface
that uses a ToolDockingBarMorph to implement a menu.





It is already there as Morph:

UITheme exampleWindowWithToolbars


I knew it! Thanks Hilaire.

Now I want to try something: populate the menu bar with all possible 
menu/shortcuts commands defined in my app (i.e. tree node contextual 
menu, code pane contextual menu, smart-suggestions type commands) to 
ensure discoverability, in as few lines as possible.


Thierry
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Spec and an application menu

2014-02-18 Thread Goubier Thierry

Has been moved to:

WidgetExamples new exampleWindowWithToolbars

in Pharo 3.0

Le 18/02/2014 09:12, Hilaire Fernandes a écrit :

UITheme exampleWindowWithToolbars


--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Spec and an application menu

2014-02-18 Thread Goubier Thierry



Le 18/02/2014 09:36, Hilaire Fernandes a écrit :



Le 18/02/2014 09:26, Goubier Thierry a écrit :


Now I want to try something: populate the menu bar with all possible
menu/shortcuts commands defined in my app (i.e. tree node contextual
menu, code pane contextual menu, smart-suggestions type commands) to
ensure discoverability, in as few lines as possible.


I guess it should be a mission for Spec.


Probably ;)


For DrGeo, I have to hand write it and it is no a few lines. Not to
mention I did not set up the keyboard short cut.


Well, I lifted the Command framework of the OmniBrowser for my own 
needs, and building automatically the menu and the shortcuts is just a 
few lines (and the shortcuts are allways in sync with the menu).


I just have to change a bit the isActive/isEnabled for the menu bar; it 
should do the trick. Longuest will probably be rebuilding the layout of 
the window to accomodate the menu bar.


Oh, and some menu commands names depend on the name of the ast node at 
the cursor point in the text (such as 'create accessors on requestor' 
when selecting the 'requestor' instance variable name in the #subclass: 
class description), so I should have a way to handle that (have a 
default name when nothing is selected?)


Thierry
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Spec and an application menu

2014-02-18 Thread Goubier Thierry



Le 18/02/2014 14:32, Johan Fabry a écrit :


And I agree with Ben :-)

Also, since a UI framework is something very large and complicated, with many 
possible uses, it's not realistic to expect a few developers to be able to do a 
'big bang' release that is 100% feature complete. Spec, as is, is very complete 
and useful for a large variety of UIs. If the community uses it, it will become 
clear which features have been overlooked and hence which Spec improvements 
will need to be prioritized.


I do agree with the very large and complicated.


So, use it and tell us about it :-)


Which is exactly what's happening now :)

Thierry
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Spec and an application menu

2014-02-19 Thread Goubier Thierry



Le 18/02/2014 20:17, Johan Fabry a écrit :

Just to motivate the browser example: we did try to find a different example 
but it's not so easy. If you want an application example, you need to explain 
the application and its' needs. The advantage of the browser is that you do not 
need to explain it. Also the browser has all the elements that you want to show 
in a simple example, including the reuse of models. Moreover this is without 
needing to provide (and explain) a bunch of application-specific code.


I think this is where the issue is. Smalltalk Browsers are very specific 
GUI applications, and very old in their shape (old as an example of a 
GUI from the 80's).


They do showcase very well the strength of the Spec component 
composition, but, at the same time, they are quite different from an 
average GUI application these days. Note that all "Business" Smalltalks 
I know off these days (Dolphin, ST/X, Cincom) have menu bars and tool 
bars in their browsers.



If you have an example that shows the same things than what we have now, taking 
into account the above requirements, and ending up at approx the same number of 
pages I would be most happy to write it up!


Your typical text or model editor?

But it doesn't showcase Spec composition as well as the Browser.

Thierry
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Spec website: nice!

2014-02-28 Thread Goubier Thierry

Yes, this is cool :) Nice work.

Benjamin, why don't you do a ConfigurationOfSpec with an url of
'github://SpecForPharo/spec:master' ?

Thierry

Le 28/02/2014 10:59, p...@highoctane.be a écrit :

Didn't knew about it and came across by looking at the GitHub project
for Spec.

http://spec.st/

Phil


--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Spec website: nice!

2014-02-28 Thread Goubier Thierry



Le 28/02/2014 11:26, Benjamin a écrit :

Because I did not knew about it until yesterday :)


Took me a while to understand that too :) Found the code when hacking 
support for gitfiletree in Metacello.



I will have a look next week :P
(or if you want to submit a PR before LOL)


Hum, maybe over the week-end then. By the way, your link to github is 
broken :)


Thierry


Ben

On 28 Feb 2014, at 11:10, Goubier Thierry mailto:thierry.goub...@cea.fr>> wrote:


Yes, this is cool :) Nice work.

Benjamin, why don't you do a ConfigurationOfSpec with an url of
'github://SpecForPharo/spec:master' ?

Thierry

Le 28/02/2014 10:59, p...@highoctane.be <mailto:p...@highoctane.be> a
écrit :

Didn't knew about it and came across by looking at the GitHub project
for Spec.

http://spec.st/

Phil


--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95





--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] CI Job for Smacc

2014-03-14 Thread Goubier Thierry

No, there isn't any CI job for SmaCC. It could be nice :)

Thierry

Le 14/03/2014 15:57, Damien Cassou a écrit :

Hi guys,

is there a CI job for Smacc? If no, should I create one?

Bets



--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Pavel's CCodeGenerator works under Windows MinGW: sweet

2014-03-26 Thread Goubier Thierry

Impressive! Very interesting.

Thierry

Le 26/03/2014 06:37, Pavel Krivanek a écrit :

Unbelievable... I stare how open source can work :-) I started this
project yesterday so it can hardly translate more than the small
examples and of course it had no announcement.

So, CCodeGenerator is the standalone translator from Smalltalk to plain
C extracted from VMMaker. It should be able now generate other projects
than the VM. You can write a shared library in trimmed Smalltalk
(http://wiki.squeak.org/squeak/slang), debug it in Smalltalk IDE and
then translate to C and compile. With NativeBoost binding (that will be
generated in future versions automatically) you can use it simply from
Smalltalk again. So you can write some parts of your projects in
Smalltalk that will run on speed of C.

Thank you Phil, I added you as a contributor. If others want to have
write access to the repository, let me know.

Cheers,
-- Pavel



2014-03-26 0:39 GMT+01:00 Philippe Back mailto:p...@highoctane.be>>:

I loaded the code from
http://www.smalltalkhub.com/#!/~PavelKrivanek/CCodeGenerator where
the generator is now standalone, from VMMaker

__ __

I made my own little version here:

http://www.smalltalkhub.com/#!/~philippeback/HOExtras/packages/CCodeGenerator-Core

__ __

Just works nicely under windows, not sure for the OSProcess thing as
I did the build by hand in a side console.

__ __

So: CCGExample new nbFib4:  30 90799453

__ __

It just works perfectly.

__ __

That’s a pretty great day for integration with JNIPort and
CCodeGenerator!

__ __

Phil

__ __




   

Ce courrier électronique ne contient aucun virus ou logiciel
malveillant parce que la protection Antivirus avast!
 est active.





--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Pavel's CCodeGenerator works under Windows MinGW: sweet

2014-03-26 Thread Goubier Thierry



Le 26/03/2014 09:03, Marcus Denker a écrit :


On 26 Mar 2014, at 06:37, Pavel Krivanek  wrote:


Unbelievable... I stare how open source can work :-) I started this project 
yesterday so it can hardly translate more than the small examples and of course 
it had no announcement.

So, CCodeGenerator is the standalone translator from Smalltalk to plain C 
extracted from VMMaker.


One thing we need to do eventually is to have a SLANG that does not use the old 
AST and Parser… but the RB AST instead.


I'm curious about that. I'll have a look to see how hard it would be to 
make the change (I'm deep in parser and AST land at the moment).


Thierry
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Pavel's CCodeGenerator works under Windows MinGW: sweet

2014-03-26 Thread Goubier Thierry



Le 26/03/2014 09:11, Marcus Denker a écrit :


On 26 Mar 2014, at 09:06, Goubier Thierry  wrote:




Le 26/03/2014 09:03, Marcus Denker a écrit :


On 26 Mar 2014, at 06:37, Pavel Krivanek  wrote:


Unbelievable... I stare how open source can work :-) I started this project 
yesterday so it can hardly translate more than the small examples and of course 
it had no announcement.

So, CCodeGenerator is the standalone translator from Smalltalk to plain C 
extracted from VMMaker.


One thing we need to do eventually is to have a SLANG that does not use the old 
AST and Parser… but the RB AST instead.


I'm curious about that. I'll have a look to see how hard it would be to make 
the change (I'm deep in parser and AST land at the moment).


The nice thing would be that it would just a visitor… very similar to Opal: 1) 
do semantic analysis 2) a visitor emitting C code.


Yes, this is what I expected to find.


Later one could then even have a real intermediate representation (maybe the 
one of Sista?) and do some optimisation there, with all
control flow information instead of using the AST.


Hum, this means however rewritting a bunch of compiler optimisation stuff.


Ah, and there is Waterfall: http://hal.inria.fr/hal-00871353

This already contains a SLANG based on the RB AST… but compiling with native 
boost ASMJIT as a backend, not C.


Cool. I'll read that.

I'm on to some AST to LLVM-IR thing in an HPC-oriented European project, 
so I'll get first-hand knowledge of yet another path to binary generation.


Thierry
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Drag and drop items between list views

2014-04-02 Thread Goubier Thierry

Hi Martin,

yes, most list-like widgets can drag and drop. Feedback when inserting 
items in lists could be improved, however (i.e. you can drop on a list 
item, but I've never seen the feedback for dropping between list items).


Thierry

Le 02/04/2014 16:09, MartinW a écrit :

Hi,
i have to make a UI where users can sort items (sentences) into different
collections by dragging and dropping them between list views. Is this
possible with the widgets currently available in Pharo?
M.



--
View this message in context: 
http://forum.world.st/Drag-and-drop-items-between-list-views-tp4752285.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.





--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Drag and drop items between list views

2014-04-02 Thread Goubier Thierry

Ok, look at that code:

| collection1 collection2 list1 list2 |
collection1 := #(1 2 3 4 5) asOrderedCollection.
collection2 := #($a $b $c $d $e) asOrderedCollection.
list1 := ListModel new.
list1 items: collection1.
list1 dragEnabled: true.
list1 dropEnabled: true.
list1 acceptDropBlock:
[ :transfer :event :source :receiver :index |
transfer passenger do:
[:e |
collection1 insert: e first before: index.
collection2 remove: e first].
list1 items: collection1.
list2 items: collection2  ].
list1 openWithSpec.
list2 := ListModel new.
list2 items: collection2.
list2 dragEnabled: true.
list2 dropEnabled: true.
	list2 acceptDropBlock: [ :transfer :event :source :receiver :index | 
self halt ].

^ list2 openWithSpec

Now you can drag and drop from list2 to list1, and I think the code is 
good for drag and drop of multiple items.


Thierry

Le 02/04/2014 17:08, MartinW a écrit :

I tried the following, but i do not know what to do in the acceptDropBlock.
It seems the receiver in the block is only an item in a list, but how do i
get the receiving list/collection?
What i want to achieve is that a user can drag the '1' from list1 to list2
and the resulting collections will then be collection1: (2 3 4 5)
collection2: ($a $b $c $d $e 1) and the lists will be updated accordingly.


| collection1 collection2 list1 list2 |

collection1 := #(1 2 3 4 5).
collection2 := #($a $b $c $d $e).

list1 := ListModel new.
list1 items: collection1.
list1 dragEnabled: true.
list1 dropEnabled: true.
list1 acceptDropBlock: [ :transfer :event :source :receiver :index |  
self
halt ].
list1 openWithSpec.

list2 := ListModel new.
list2 items: collection2.
list2 dragEnabled: true.
list2 dropEnabled: true.
list2 acceptDropBlock: [ :transfer :event :source :receiver :index |  
self
halt ].
list2 openWithSpec.


Goubier Thierry wrote

yes, most list-like widgets can drag and drop. Feedback when inserting
items in lists could be improved, however (i.e. you can drop on a list
item, but I've never seen the feedback for dropping between list items).
Le 02/04/2014 16:09, MartinW a écrit :

i have to make a UI where users can sort items (sentences) into different
collections by dragging and dropping them between list views. Is this
possible with the widgets currently available in Pharo?






--
View this message in context: 
http://forum.world.st/Drag-and-drop-items-between-list-views-tp4752285p4752328.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.





--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Drag and drop items between list views

2014-04-02 Thread Goubier Thierry



Le 02/04/2014 17:40, MartinW a écrit :

Thank you. This is a step forward. The thing is i can't hardcode the
collections. In the end product i don't have two but seven lists, so i must
be able to detect in the acceptDropBlock which is the receiving
collection/list.


I'll try to redo a halt in there to see if I can get the target inside 
the event, and, from the target, be able to get back to the list then :)


Thierry



Goubier Thierry wrote

Ok, look at that code:

| collection1 collection2 list1 list2 |
collection1 := #(1 2 3 4 5) asOrderedCollection.
collection2 := #($a $b $c $d $e) asOrderedCollection.
list1 := ListModel new.
list1 items: collection1.
list1 dragEnabled: true.
list1 dropEnabled: true.
list1 acceptDropBlock:
[ :transfer :event :source :receiver :index |
transfer passenger do:
[:e |
collection1 insert: e first before: index.
collection2 remove: e first].
list1 items: collection1.
list2 items: collection2  ].
list1 openWithSpec.
list2 := ListModel new.
list2 items: collection2.
list2 dragEnabled: true.
list2 dropEnabled: true.
list2 acceptDropBlock: [ :transfer :event :source :receiver :index |
self halt ].
^ list2 openWithSpec

Now you can drag and drop from list2 to list1, and I think the code is
good for drag and drop of multiple items.






--
View this message in context: 
http://forum.world.st/Drag-and-drop-items-between-list-views-tp4752285p4752342.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.





--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Drag and drop items between list views

2014-04-02 Thread Goubier Thierry



Le 02/04/2014 17:40, MartinW a écrit :

Thank you. This is a step forward. The thing is i can't hardcode the
collections. In the end product i don't have two but seven lists, so i must
be able to detect in the acceptDropBlock which is the receiving
collection/list.


Ok, the :source is your friend (should be named :target :)); it will 
give you the Morph (whose model model is the ListModel instance).


list1
acceptDropBlock: [ :transfer :event :source :receiver :index |
| c1 c2 l1 l2 |
l1 := source model model.
c1 := l1 listItems.
l2 := transfer source model model.
c2 := l2 listItems.
transfer passenger
do: [ :e |
c1 insert: e first before: index.
c2 remove: e first ].
l1 items: c1.
l2 items: c2 ].

This code does not integrate the fact that transfer may be a window (try 
to drag and drop a window on list1 and you'll see :))


Thierry
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Drag and drop items between list views

2014-04-03 Thread Goubier Thierry



Le 02/04/2014 20:44, MartinW a écrit :

First of all thank you for taking the time to explain all this to me! I
already learned a lot about working with the spec widgets..


You're giving me good code to work with, and the things I use are more 
Morphic than Spec, which is more in my circle of confidence.



I still have a problem. The first version with the hardcoded collections did
obviously change the original collections (that's the desired behaviour).

The last version though, did change the items in the list views, but not the
original collections.


You're right. My problem is that I couldn't see a way to link the 
ListModel to the collection so that a change to one of them would 
propagate to the other. I'll go and do some reading on Spec.


Another approach, that I would use, is to put more complex objects 
inside the lists. Thoses objects would know how to get added / removed 
from their respective collections, and then I would propagate collection 
changes to the ListModel instances.


Does it makes sense?

Thierry
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Drag and drop items between list views

2014-04-04 Thread Goubier Thierry



Le 03/04/2014 22:55, MartinW a écrit :

Goubier Thierry wrote

Another approach, that I would use, is to put more complex objects
inside the lists. Thoses objects would know how to get added / removed
from their respective collections, and then I would propagate collection
changes to the ListModel instances.


That sounded promising. I made a Collectible class. It's instances know how
to add themselves to a collection (i'm not sure if that's a good idea, but
as experiment..)

The problem is, i never get to these objects in my acceptDropBlock. In

list1 acceptDropBlock: [ :transfer :event :source :receiver :index |
transfer passenger do: [:element | element addSelfToCollection:
collection1] ].

the element is only a ByteString - the name of my Collectible object. :(


I believe what is happening is that ListModel and the widget above 
convert your Collectible instance into a string to display it; and then 
the drag and drop code forget to get the model object behind the 
displayed string (i.e. the drag and drop code expect all items to be 
morphs with all sort of complex stuff).


By the way, any chance of having your code as an example for Spec? I 
went through the spec documentation and I couldn't see anything similar, 
and, from our difficulties to get that to work, I would guess a bit of 
work on Spec drag and drop support could be a good thing.



Are there other possibilities if i do not use Spec?


Yes. Drag and drop code in Morphic is fairly similar. The Morphic code 
for opening windows is certainly longer, however.


Thierry
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Drag and drop items between list views

2014-04-04 Thread Goubier Thierry

Hi Ben,

I think that hard-linking the collections inside the drop block isn't 
working in that case, so you have to write that without any reference to 
collection1 and collection2 :)


But, since you're here: why don't I have an API to add or remove items 
from the ListModel instance? If I was working in VisualWorks, I would 
have used one of the model subclasses for collections and I would have 
used its API for adding or removing items... Here writing code like:


list1
acceptDropBlock: [ :transfer :event :source :receiver :index |
| c1 c2 l1 l2 |
l1 := source model model.
l2 := transfer source model model.
transfer passenger do: [ :e |
l1 insert: e first before: index.
l2 remove: e first ] ].

i.e. have the ListModel instance behave as a collection for a subset of 
the usual collection api.


Thierry

Le 04/04/2014 00:40, Benjamin Van Ryseghem a écrit :

here is a "hackish" solution:

 collection1 := #(1 2 3 4 5) asOrderedCollection.
 collection2 := #($a $b $c $d $e) asOrderedCollection.
 list1 := ListModel new.
 list1 items: collection1.
 list1 dragEnabled: true.
 list1 dropEnabled: true.
  list1
 acceptDropBlock: [ :transfer :event :source :receiver
:index |
 | c1 c2 l1 l2 |
 l1 := source model model.
 c1 := l1 listItems.
 l2 := transfer source model model.
 c2 := l2 listItems.
 transfer passenger
 do: [ :e |
 c1 insert: e first before: index.
 c2 remove: e first ].
 l1 items: c1.
collection1 removeAll; addAll: c1.
 l2 items: c2.
collection2 removeAll; addAll: c2. ].
 list1 openWithSpec.
 list2 := ListModel new.
 list2 items: collection2.
 list2 dragEnabled: true.
 list2 dropEnabled: true.
 list2 acceptDropBlock: [ :transfer :event :source :receiver
:index |
self halt ].
 ^ list2 openWithSpec.

The problem here is that by default, the list items are sorted, setting
the listItems with a copy.
Maybe it would be better to actually do not sort until one sets a real
sortingBlock.

Ben


2014-04-03 22:55 GMT+02:00 MartinW mailto:w...@fastmail.fm>>:

Goubier Thierry wrote
 > Another approach, that I would use, is to put more complex objects
 > inside the lists. Thoses objects would know how to get added /
removed
 > from their respective collections, and then I would propagate
collection
 > changes to the ListModel instances.

That sounded promising. I made a Collectible class. It's instances
know how
to add themselves to a collection (i'm not sure if that's a good
idea, but
as experiment..)

The problem is, i never get to these objects in my acceptDropBlock. In

list1 acceptDropBlock: [ :transfer :event :source :receiver :index |
transfer passenger do: [:element | element addSelfToCollection:
collection1] ].

the element is only a ByteString - the name of my Collectible object. :(

Are there other possibilities if i do not use Spec?



--
View this message in context:

http://forum.world.st/Drag-and-drop-items-between-list-views-tp4752285p4752625.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.




--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Drag and drop items between list views

2014-04-04 Thread Goubier Thierry



Le 04/04/2014 10:41, Benjamin a écrit :

Why not, but this will not solve the issue :)
I will probably fix that in the train today (5h long trip to Bordeaux ^^)
.


I'm nice to give you something to do during those 5 hours, then ;)


The issue is that the items are sorted by default, which means that
the list is populated with a copy of the items provided.
Maybe it should not :)


Yes, I've seen that. It's fine by me that the list displayed in the 
widget is copied and sorted, just that I would have liked to be able to 
touch the true collection hidden inside the ListModel. Unless the list 
model is more like a ListAdaptor in meaning, in which cas I'll know that 
I have to build better objects around it.


But then, as that example shows, I then have problem connecting the drag 
and drop to the model.



Then for the convenient methods, I am not that sure :P
But maybe it’s a good use case for traits :P


I'd say it depends what a ListModel is. Is this a model, in which case 
I'd like it to stand for the abstract collection inside and be able to 
add and remove items in it (and not use the trick of l1 items: l1 
getItems), or is this just an adapter? If an adapter, then drag and drop 
is hard to implement.


Thierry
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Drag and drop items between list views

2014-04-04 Thread Goubier Thierry



Le 04/04/2014 12:04, MartinW a écrit :

Goubier Thierry wrote

By the way, any chance of having your code as an example for Spec? I
went through the spec documentation and I couldn't see anything similar,
and, from our difficulties to get that to work, I would guess a bit of
work on Spec drag and drop support could be a good thing.


I just start investigating my ui possibilities with pharo for a new
application. The code examples in this thread are all there is at the
moment.


Ok. Still, they offer a good working base for a specific use case.


Goubier Thierry wrote

Are there other possibilities if i do not use Spec?


Yes. Drag and drop code in Morphic is fairly similar. The Morphic code
for opening windows is certainly longer, however.


Yes, there are more possibilities if i do it in pure Mophic/Polymorph? — or
possibilites are quite similar? :)


You get better control over what drag and drop means (including the 
ability to control per-item if you will accept the target, or what to 
carry when the drag starts), but the framework takes time to get into.


Thierry
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] can we have the pharo theme back please?

2014-04-11 Thread Goubier Thierry



Le 10/04/2014 20:11, kmo a écrit :

The pharo theme seems to have been dropped from Pharo 3. I loved that theme.
The first thing I always do is switch to the pharo theme. Is it still
available somewhere? I really do not like the pharo 3 theme and the Watery
and Vistary themes are no use on Linux.


Same problems as yours, so I extracted the Pharo theme and put it 
somewhere so that I could do the following:


Gofer new
url: 'http://smalltalkhub.com/mc/ThierryGoubier/Alt30/main';
package: 'UITheme-Pharo';
load

Thierry
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] can we have the pharo theme back please?

2014-04-11 Thread Goubier Thierry

It's about not erasing a theme, not working on it.

However, if you consider we should be forced to use the Pharo3 theme so 
that we have to fix it before being able to work in Pharo, then I 
understand why the Pharo theme was removed :)


Thierry

Le 10/04/2014 22:18, Stephan Eggermont a écrit :

Making a theme work consistently is a huge amount of work. We have not finished
making one of them work. I’m in favor of finishing one theme before spending 
time
on other theme’s.

Stephan



--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] can we have the pharo theme back please?

2014-04-11 Thread Goubier Thierry



Le 11/04/2014 17:22, Esteban Lorenzano a écrit :

Hi,

As exposed, the problem is that maintaining several themes is a lot of work.
So unless there are maintainers, our tendency will be always to reduce the 
amount of them in the image, and try to maintain one that fits most of our UI 
needs.
One of our concerns now, more than maintaining the themes, is to do steps to 
make theming easier (then others can do themes and maintain them outside the 
image).


Agreed with all arguments :)

Maybe we can consider having a UIThemes project in PharoExtras?

Thierry
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Updating packages from command line

2014-05-02 Thread GOUBIER Thierry
What I use is eval --save:

pharo-vm-nox MyImage.image eval --save "Gofer new smalltalkhubUser: 'myUser' 
project: 'MyProject'; package: 'MyPackage'; load

Thierry

De : Pharo-users [pharo-users-boun...@lists.pharo.org] de la part de Bernat 
Romagosa [tibabenfortlapala...@gmail.com]
Envoyé : vendredi 2 mai 2014 13:28
À : Any question about pharo is welcome
Objet : [Pharo-users] Updating packages from command line

Is there a way to do it?

Here's my attempt:

pharo-vm-nox MyImage.image eval "Gofer new smalltalkhubUser: 'myUser' project: 
'MyProject'; package: 'MyPackage'; load. Smalltalk snapshot: true andQuit: true"

then:

pharo-vm-nox MyImage.image eval --no-quit "MyJustLoadedClass start"

results in:

UndefinedObject>>DoIt (MyJustLoadedClass is Undeclared)
MessageNotUnderstood: receiver of "start" is nil

Thanks!
Bernat.

--
Bernat Romagosa.


Re: [Pharo-users] Updating packages from command line

2014-05-02 Thread GOUBIER Thierry
Bernat,

if I encounter something like that, I would also erase the contents of my 
package-cache directory. Sometimes it seems I never manage to activate changes 
because it keeps on loading a package of the same name and number out of the 
cache instead.

Thierry



De : Pharo-users [pharo-users-boun...@lists.pharo.org] de la part de Bernat 
Romagosa [tibabenfortlapala...@gmail.com]
Envoyé : vendredi 2 mai 2014 15:39
À : Any question about pharo is welcome
Objet : Re: [Pharo-users] Updating packages from command line

I started over from scratch, filed out and in the config and package, erased 
all packages in the repo, pushed them back and still no success.

I think I'll manually scp the image file for now... :P

Thanks guys!


2014-05-02 15:21 GMT+02:00 Bernat Romagosa 
mailto:tibabenfortlapala...@gmail.com>>:
Indeed something's broken... I used the versionner tool to build it, but I 
think something went wrong.

http://smalltalkhub.com/#!/~bromagosa/StarUOCs/versions/ConfigurationOfStarUOCs-BernatRomagosa.3

Try to download the mcz, it fails.

I don't understand why MC added (2) to the file name.




2014-05-02 15:13 GMT+02:00 Sven Van Caekenberghe 
mailto:s...@stfx.eu>>:

I think something must be broken with his configuration, you cannot even list 
it...

On 02 May 2014, at 15:11, Esteban Lorenzano 
mailto:esteba...@gmail.com>> wrote:

> pharo-vm-nox Pharo.image config 
> http://smalltalkhub.com/mc/bromagosa/StarUOCs/main  ConfigurationOfStarUOCs 
> —install=development
>
> has to work. All out infrastructure is based on that :)
>
> Esteban
>
> On 02 May 2014, at 15:05, Bernat Romagosa 
> mailto:tibabenfortlapala...@gmail.com>> wrote:
>
>> Hmm it doesn't seem to work...
>>
>> pharo-vm-nox Pharo.image config 
>> http://smalltalkhub.com/mc/bromagosa/StarUOCs/main
>> KeyNotFound: key #ConfigurationOfStarUOCs not found in SystemDictionary
>>
>> But the config is there and I can load it from the GUI by doing:
>>
>>
>> Gofer new
>>  smalltalkhubUser: 'bromagosa' project: 'StarUOCs';
>>  package: 'ConfigurationOfStarUOCs';
>>  load.
>>
>> ConfigurationOfStarUOCs load.
>>
>> What can be happening? My version is:
>>
>> pharo-vm-nox Pharo.image printVersion
>> [version] 3.0 #30846
>>
>>
>>
>> 2014-05-02 13:51 GMT+02:00 Bernat Romagosa 
>> mailto:tibabenfortlapala...@gmail.com>>:
>> I see, thanks a lot! :)
>>
>>
>> 2014-05-02 13:45 GMT+02:00 Sven Van Caekenberghe 
>> mailto:s...@stfx.eu>>:
>>
>> The best approach is to use Configurations and the config handler:
>>
>> $ ./pharo Pharo.image config
>> Command line handler for dealing with Metacello configurations from the 
>> command line
>>
>> Usage: config [--help]  [] 
>> [--install[=]] [--group=] [--username=] 
>> [--password=]
>>--help  show this help message
>>A Monticello repository name
>> A valid Metacello Configuration name
>>   A valid version for the given configuration
>> A valid Metacello group name
>>  An optional username to access the 
>> configuration's repository
>>  An optional password to access the 
>> configuration's repository
>>
>> Examples:
>># display this help message
>>pharo Pharo.image config
>>
>># list all configurations of a repository
>>pharo Pharo.image config $MC_REPOS_URL
>>
>># list all the available versions of a confgurtation
>>pharo Pharo.image config $MC_REPOS_URL ConfigurationOfFoo
>>
>># install the stable version
>>pharo Pharo.image config $MC_REPOS_URL ConfigurationOfFoo --install
>>
>>#install a specific version '1.5'
>>pharo Pharo.image config $MC_REPOS_URL ConfigurationOfFoo 
>> --install=1.5
>>
>>#install a specific version '1.5' and only a specific group 'Tests'
>>pharo Pharo.image config $MC_REPOS_URL ConfigurationOfFoo 
>> --install=1.5 --group=Tests
>>
>> The following article contains this approach as well:
>>
>> http://zn.stfx.eu/zn/build-and-deploy-1st-webapp/
>>
>> http://zn.stfx.eu/zn/build-and-deploy-1st-webapp/#deployingforproduction
>>
>> HTH,
>>
>> Sven
>>
>> On 02 May 2014, at 13:28, Bernat Romagosa 
>> mailto:tibabenfortlapala...@gmail.com>> 
>> wrote:
>>
>>> Is there a way to do it?
>>>
>>> Here's my attempt:
>>>
>>> pharo-vm-nox MyImage.image eval "Gofer new smalltalkhubUser: 'myUser' 
>>> project: 'MyProject'; package: 'MyPackage'; load. Smalltalk snapshot: true 
>>> andQuit: true"
>>>
>>> then:
>>>
>>> pharo-vm-nox MyImage.image eval --no-quit "MyJustLoadedClass start"
>>>
>>> results in:
>>>
>>> UndefinedObject>>DoIt (MyJustLoadedClass is Undeclared)
>>> MessageNotUnderstood: receiver of "start" is nil
>>>
>>> Thanks!
>>> Bernat.
>>>
>>> --
>>> Bernat Romagosa.
>>
>>
>>
>>
>>
>> --
>> Bernat Romagosa.
>>
>>
>>
>> --
>> Bernat Romagosa.
>
>





--
Bernat Romagosa.



--
Bernat Romagosa.


Re: [Pharo-users] Receiving Nautilus notice when code is changed

2014-05-14 Thread Goubier Thierry

Hi Hilaire,

you can track the system announcements MethodModified and MethodAdded; 
they are browser independent (but then you need to filter to see it 
relates to the method you are interested in).


SystemAnnouncer uniqueInstance weak on: MethodAdded send: #update: to: 
self domain.


Thierry

Le 14/05/2014 14:37, Hilaire Fernandes a écrit :

Now I wonder how can I get noticed when code was edited and compiled
from a Nautilus window.

Previously I was doing:
browser addDependent: self domain.

and DrGeo received notice in the domain objet  through the #update: method.

It does not work anymore.

How to do it now?

Thanks

Hilaire


Le 14/05/2014 11:45, Hilaire Fernandes a écrit :

Hi,

In DrGeo, I add this code snippet to:

browser := Browser
newOnClass: DrGeoUserScripts
selector: mathItem script.
browser addDependent: self domain.
browser codeTextMorph owner owner extent: 450@350.
browser topView setProperty: #morphicLayerNumber toValue: 5.





1. open a minimal browser
2. set a dependency so DrGeo is noticed when the user edited and compile
its script (so Drgeo can update the sketch)
3. rescale the browser so the user can still see his sketch
4. set the minimal browser in a permanent top position.

As Browser is broken and not gonna be fixed, I need to redo the same
with Nautilus, but this one is a big beast. Any tips how to do it?

Thansk

Hilaire






--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Receiving Nautilus notice when code is changed

2014-05-14 Thread Goubier Thierry



Le 14/05/2014 15:38, Hilaire Fernandes a écrit :

Thanks Thierry.
This one I really can't discover it.


Oh you could like I did: spending ages looking at the Browser, Nautilus 
and OmniBrowser code ;)


Keep up the good work with DrGeo: it's really one of the "flagship" 
Pharo apps that I talk about when I want to convince non-computer guys 
about Pharo.


Thierry
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Minimal browser

2014-05-15 Thread Goubier Thierry



Le 14/05/2014 20:31, Hilaire Fernandes a écrit :

Could be yes. Needed action is editing&recompiling code and creating new
method in a given class as shown in the screenshot from DrGeo 13.10:
even this one is a temporary solution because still too much is exposed
to the user as the class/instance button,...


Have you considered controlling the user experience directly to let him 
focus only on the method to create or edit?


Creating a text editor window in coding mode with the ability to edit or 
create a method in a preset class is not much work; I'd say around 20 
lines with the default menu and an accept which compiles.


If you want complete control on the menu (i.e. a bit more polish than 
the default and control over which shortcuts are active), I can extract 
what I've done for mine: it's a minimal command objects API to couple 
menus and shortcuts inspired by the one of the OmniBrowser (of Pharo 
1.4). In there, a typical command with its 
shortcut/label/icon/activation status is about five lines long.


The example I showed you is a full browser, but in which all actions, 
refactorings and searches will be limited to the class. I still think it 
is a bit too much for you use case.


Thierry
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Minimal browser

2014-05-15 Thread Goubier Thierry



Le 15/05/2014 09:29, Hilaire Fernandes a écrit :

Thierry,

I was not aware it could be that short. Yes it will be nice.
All in all:
- one GUI tool to edit an existing script (so no visibility on the other
methods of the class)


Hilaire,

Would you need the script to hide the fact it is a method or not? I.e. 
make it DSL-Like and hide the method header and its parameters?



- one GUI tool to create a method (with visibility to the other method
of the class, as possible examples)


Does it includes the ability to modify existing methods?

I ask that to see if we need to hide much of what makes a system browser 
in Smalltalk, or, to the contrary, if it is a good idea to open up to 
the browser world so as to introduce the user (maybe advanced) to the 
underlying Pharo so as to allow for more powerfull extensions.


If we need to hide, then it will be with a dedicated GUI. If we open up, 
then a restricted browser is best (and then, if we want to keep to 
standards in Pharo, it means Nautilus).


Is DrGeo development open so that I may write it myself ?

Thierry



Hilaire

Le 15/05/2014 09:18, Goubier Thierry a écrit :


Have you considered controlling the user experience directly to let him
focus only on the method to create or edit?

Creating a text editor window in coding mode with the ability to edit or
create a method in a preset class is not much work; I'd say around 20
lines with the default menu and an accept which compiles.

If you want complete control on the menu (i.e. a bit more polish than
the default and control over which shortcuts are active), I can extract
what I've done for mine: it's a minimal command objects API to couple
menus and shortcuts inspired by the one of the OmniBrowser (of Pharo
1.4). In there, a typical command with its
shortcut/label/icon/activation status is about five lines long.





--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] Metacello with git

2014-05-19 Thread Goubier Thierry

Hi,

you can use gitfiletree (for Mac and Linux); you have to ensure 
ConfigurationOfGitFileTree is loaded in your configuration.


Have a look at ConfigurationOfSmaCC and ConfigurationOfAltBrowser for 
examples (in the Pharo3 configuration browser).


Thierry

Le 19/05/2014 11:46, Laurent Laffont a écrit :

Hi,

How to specify a git filetree repository (but not github) in a Metacello
Configuration ?

Laurent



--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] the mystery of dirty package

2014-05-28 Thread Goubier Thierry

Hi Usman,

look if the loaded package has overrides on other packages. If yes, it 
will dirty them, and looking for changes will clean them.


Thierry

Le 28/05/2014 15:59, Usman Bhatti a écrit :

Hi,

It is second time in a week that I have to analyze a problem related to
a package getting dirty because of loading another package. But when
looking for changes, the first package becomes clean again.


One occurrence of the problem can be seen in the latest moose image:
- download the latest image here:https://ci.inria.fr/moose/job/moose-5.0/
- monticello browser -> Collections-Abstract -> changes and the package
becomes clean.

Any idea how to determine which method(s) from the incoming package
might be causing changes in the loaded package? Or generally, how to go
about correcting this problem?

usman



--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95



Re: [Pharo-users] the mystery of dirty package

2014-05-30 Thread GOUBIER Thierry


De : Pharo-users [pharo-users-boun...@lists.pharo.org] de la part de Tudor 
Girba [tu...@tudorgirba.com]
Envoyé : vendredi 30 mai 2014 13:16
À : Any question about pharo is welcome
Objet : Re: [Pharo-users] the mystery of dirty package

I do not quite understand.

If it is an overriden method, the dirtyness should not go away when looking for 
changes, no? In our case, there are no changes found

If the overriden method (of say OriginalPackage) is redefined in a protocol 
named '*myPackage-override' by MyPackage, then asking MC for changes will 
consider that OriginalPackage is clean (and no changes will be found).

A good example is ConfigurationOfGitFileTree as it is now. Upon loading it, you 
will see that it will set as dirty I think four packages, with all of them 
except one become clean when looking for changes... The one that shows changes 
has the overridden  method not in an -override protocol (and I need to correct 
that someday).

This is how MC processes overrides.

Thierry

@Usman: what is the problematic method?

Doru


On Fri, May 30, 2014 at 1:11 PM, Usman Bhatti 
mailto:usman.bha...@gmail.com>> wrote:
Tx for the pointer Thierry.

So, I did a small script (because there were 314 methods) to see number of 
non-class-extension methods with and without loading the dirty marker package 
and I could spot the culprit.

Running this script before and after loading the second package and doing a 
difference on the two sets shows determining the overridden method.

methods := (RPackage organizer packageNamed: packageName) definedClasses 
flatCollect: [:class | class  methodDict values].
methods := methods select: [:aMethod | aMethod category asString 
includesSubstring: '*'].


regards,
usman



On Wed, May 28, 2014 at 4:30 PM, Goubier Thierry 
mailto:thierry.goub...@cea.fr>> wrote:
Hi Usman,

look if the loaded package has overrides on other packages. If yes, it will 
dirty them, and looking for changes will clean them.

Thierry

Le 28/05/2014 15:59, Usman Bhatti a écrit :

Hi,

It is second time in a week that I have to analyze a problem related to
a package getting dirty because of loading another package. But when
looking for changes, the first package becomes clean again.


One occurrence of the problem can be seen in the latest moose image:
- download the latest image here:https://ci.inria.fr/moose/job/moose-5.0/
- monticello browser -> Collections-Abstract -> changes and the package
becomes clean.

Any idea how to determine which method(s) from the incoming package
might be causing changes in the loaded package? Or generally, how to go
about correcting this problem?

usman


--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 
83 95





--
www.tudorgirba.com<http://www.tudorgirba.com>

"Every thing has its own flow"


Re: [Pharo-users] How pragma works to create menu?

2014-07-10 Thread Goubier Thierry

Hi Mark,

you can override the standard menu by creating the text view with
on:text:accept:readSelection:menu: and pass a menu building selector
as the last argument. But you may not be able to recover the default 
menu that way (I didn't try, but maybe this is possible).


In the menu building selector, you can add items to the menu just the 
way you want it; you can also contextualise it (based on what is 
selected in the message list, for example).


Side note: to sort of get what you're doing, I got rid of the message 
browser a while ago and replaced it with a system browser scoped by a 
set of methods... no more special "message list" gui, just the normal 
system browser gui with all power (code navigation, refactorings, smart 
suggestions, contextualized menus, etc...).


Thierry

Le 10/07/2014 17:27, Mark Rizun a écrit :

Maybe someone knows, how can I implement a context menu for
MessageBrowser that would pop-up not on itemsList pane, but on
sourceCode pane. Plus, I want it to use the standart one(I mean
smalltalkEditorMenu), and to have additional features.

Mark


2014-07-10 16:28 GMT+02:00 Mark Rizun mailto:mri...@gmail.com>>:

Ok, thanks)


2014-07-10 16:21 GMT+02:00 Nicolai Hess mailto:nicolaih...@web.de>>:

2014-07-10 15:45 GMT+02:00 Mark Rizun mailto:mri...@gmail.com>>:

In the NautilusRefactoring class we have a method on a class
side:

sourceCodeRefactoringMenu: aBuilder
 
 | target |
 target := aBuilder model.
 target selectedClass ifNotNil: [:selectedClass |
selectedClass
sourceCodeRefactoring: aBuilder ]

I'd like to understand how this line works: target :=
aBuilder model. I
mean, how aBuilder initializes a model?
Because, if you change the pragma from
 to
another one, you will get another result using this
particular line.

Mark


aBuilder is constructed from a PragmaMenuBuilder, this
PragmaMenubuilder calls all methods with
pragma .

The model is initializes in for example, in AbstractNautilusUI
classMenuBuilder.


Nicolai





--
View this message in context:
http://forum.world.st/How-pragma-works-to-create-menu-tp4767409.html
Sent from the Pharo Smalltalk Users mailing list archive at
Nabble.com.






--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95