Re: [Pharo-users] Nautilus groups

2015-02-10 Thread Ben Coman
I've never used the groups - mainly because I've never seen a sample
workflow that I could copy, and my existing workflow is sufficient (which
means I get a mess of windows plastered all over the screen as I follow
senderimplementors, and could probably do better).

btw, I've just spent 60 seconds trying to work out how to add an item to a
group and could not.  I don't even know what it groups - packages, classes,
methods???  So I guess I ignored it, and once ignored, its a bit like that
broken step in you building you always walk around without noticing.

So discoverability of how to use it could be better, like something in the
tooltip that links a more extensive tutorial on it, either in or out of
image.

cheers -ben



On Tue, Feb 10, 2015 at 9:51 PM, Luc Fabresse luc.fabre...@gmail.com
wrote:

 Hi Christophe,



 2015-02-10 14:28 GMT+01:00 Christophe Demarey christophe.dema...@inria.fr
 :

 Hello,

 We would like to know if some of you use Nautilus groups functionality:

- dynamic groups: 'Last modified packages', 'Most viewed classes',
'Work'

 I do not use dynamic groups.



- user defined groups : from the menu, you can flatten the content of
many packages and get all classes into the newly created group.

 I do not like to flatten


 We have the feeling that it is not used (or not a lot) and we think to
 replace it with another mechanism (for example, let the user define his/her
 'favorites' classes / packages).


 +1

 I would prefer to be able to save a regular expression (the one I enter in
 the text area above Package list)


 Cheers,

 #Luc




 Thanks for the feedback.





Re: [Pharo-users] recover lost changes

2015-02-10 Thread Martin Bähr
Excerpts from Hartmut's message of 2015-02-10 15:58:13 +0100:
 Working with Pharo 3.0 I noticed for a while that I could not recover 
 class definitions (do it's) from the Recent Changes.

i noticed this too.
methods worked fine, but i couldn't recover methods to new classes until i
recreated the class manually.

greetings, martin.

-- 
eKita   -   the online platform for your entire academic life
-- 
chief engineer   eKita.co
pike programmer  pike.lysator.liu.secaudium.net societyserver.org
secretary  beijinglug.org
mentor   fossasia.org
foresight developer  foresightlinux.orgrealss.com
unix sysadmin
Martin Bähr  working in chinahttp://societyserver.org/mbaehr/



Re: [Pharo-users] PhD offer with Pharo about Interaction design

2015-02-10 Thread Marcus Denker

 On 10 Feb 2015, at 15:46, Ben Coman b...@openinworld.com wrote:
 
 This was interesting to know...   The researchers at Inria published over 
 4,500 articles in 2013. They are behind over 300 active patents and 120 
 start-ups.
 
It is a big research institute: 8 research centers, 172 Teams, 4471 members of 
staff.

Marcus





Re: [Pharo-users] PhD offer with Pharo about Interaction design

2015-02-10 Thread Ben Coman
This was interesting to know...   The researchers at Inria published over
4,500 articles in 2013. They are behind over 300 active patents and 120
start-ups.

cheers -ben

On Tue, Feb 10, 2015 at 9:37 PM, Camille camille.ter...@gmail.com wrote:

 Great!

  On 10 Feb 2015, at 14:29, stepharo steph...@free.fr wrote:
 
 
 
 http://www.inria.fr/en/institute/recruitment/offers/phd/campaign-2015/%28view%29/details.html?id=PNGFK026203F3VBQB6G68LOE1LOV5=4509LG=ENResultsperpage=20nPostingID=9157nPostingTargetID=15138option=52sort=DESCnDepartmentID=28
 
 





Re: [Pharo-users] Problems evaluating message sends in run-time arrays

2015-02-10 Thread Sean P. DeNigris
Andy Burnett wrote
 In both cases it evaluates to 'Color blue' rather than the Color object.

'Color blue' is the Color object you created and put in your array. It is
aColor object. It's print string is 'Color blue'. See Color#printOn: for
more info.





-
Cheers,
Sean
--
View this message in context: 
http://forum.world.st/Problems-evaluating-message-sends-in-run-time-arrays-tp4805048p4805060.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.



Re: [Pharo-users] Problems evaluating message sends in run-time arrays

2015-02-10 Thread Ignacio Sniechowski
or
| colorList |
colorList := { Color blue class }.

*Lic. Ignacio Sniechowski, MBA*
*Prosavic SRL*

*Tel: (011) 4542-6714*





















On Tue, Feb 10, 2015 at 10:38 PM, Andy Burnett 
andy.burn...@knowinnovation.com wrote:

 I would like to create an array with a collection of colour values.

 I tried both:

 colorList := {Color blue}
 and
 colourList := {Color named: #blue.}.

 In both cases it evaluates to 'Color blue' rather than the Color object.

 What surprised me was that:

 charList := {Character digitValue:35. Character digitValue:33.}.

 Does evaluate to an array of two characters.  What is going on?

 Cheers
 Andy
 ᐧ



Re: [Pharo-users] Problems evaluating message sends in run-time arrays

2015-02-10 Thread Ben Coman
I'm away from my Pharo computer to double-check, but is it just that is how
a Color object displays itself ? Maybe have a look at ColorprintOn:
cheers -ben

On Wed, Feb 11, 2015 at 9:38 AM, Andy Burnett 
andy.burn...@knowinnovation.com wrote:

 I would like to create an array with a collection of colour values.

 I tried both:

 colorList := {Color blue}
 and
 colourList := {Color named: #blue.}.

 In both cases it evaluates to 'Color blue' rather than the Color object.

 What surprised me was that:

 charList := {Character digitValue:35. Character digitValue:33.}.

 Does evaluate to an array of two characters.  What is going on?

 Cheers
 Andy
 ᐧ



[Pharo-users] Problems evaluating message sends in run-time arrays

2015-02-10 Thread Andy Burnett
I would like to create an array with a collection of colour values.

I tried both:

colorList := {Color blue}
and
colourList := {Color named: #blue.}.

In both cases it evaluates to 'Color blue' rather than the Color object.

What surprised me was that:

charList := {Character digitValue:35. Character digitValue:33.}.

Does evaluate to an array of two characters.  What is going on?

Cheers
Andy
ᐧ


Re: [Pharo-users] Problems evaluating message sends in run-time arrays

2015-02-10 Thread Ignacio Sniechowski
| colorList |
colorList := [ Color blue class ] value.

*Lic. Ignacio Sniechowski, MBA*
*Prosavic SRL*

*Tel: (011) 4542-6714*





















On Tue, Feb 10, 2015 at 10:38 PM, Andy Burnett 
andy.burn...@knowinnovation.com wrote:

 I would like to create an array with a collection of colour values.

 I tried both:

 colorList := {Color blue}
 and
 colourList := {Color named: #blue.}.

 In both cases it evaluates to 'Color blue' rather than the Color object.

 What surprised me was that:

 charList := {Character digitValue:35. Character digitValue:33.}.

 Does evaluate to an array of two characters.  What is going on?

 Cheers
 Andy
 ᐧ



Re: [Pharo-users] Nautilus groups

2015-02-10 Thread Christophe Demarey

Le 10 févr. 2015 à 16:39, Martin Bähr a écrit :

 Excerpts from Christophe Demarey's message of 2015-02-10 14:28:19 +0100:
 We would like to know if some of you use Nautilus groups functionality:
 dynamic groups: 'Last modified packages', 'Most viewed classes', 'Work'
 
 do you mean 'last modified classes'?

yes, sorry

 We have the feeling that it is not used (or not a lot) and we think to 
 replace it with another mechanism (for example, let the user define his/her 
 'favorites' classes / packages).
 
 how is that different from user defined groups?

Well, it is not yet clear but at least, do not flatten all classes and keep 
packages.


Re: [Pharo-users] Changes file size

2015-02-10 Thread Sven Van Caekenberghe
Esteban,

You might be on something important there.

I always found it strange what effect loading Glorp had on an image, blowing it 
up.

I can't say I understand though, best make it into an issue.

Sven

 On 10 Feb 2015, at 00:22, Esteban A. Maringolo emaring...@gmail.com wrote:
 
 Just when I found a way to reduce the total size of the changes file, I
 noticed the latest versions in the repository doesn't have this issue,
 what a good way of wasting one's time learning about the guts of
 Monticello :)
 
 But just for the record:
 The problem happened after installing into GlorpSession a
 MCMethodDefinition (#dropTables:), I logged every single method
 installation, and the point where things went bananas was after
 installing that culprit method:
 
 After a MCMethodDefinition(dropTables): 1201686 bytes (~1.2Mb)
 After a MCMethodDefinition(dropTables:): 135419895 bytes (~135Mb)
 
 I did a fileOut, deleted the method, and then file it in again, and
 after versioning (and reloading) the changes increased ~1Mb after
 installing Glorp.
 
 I didn't find anything particularly suspicious about it, not in the
 source code nor in the bytecodes.
 
 Now after running PharoChangesCondenser condense the changes file
 effectively shrinks.
 
 Regards!
 
 
 Esteban A. Maringolo
 
 
 2014-10-28 12:31 GMT-03:00 Sven Van Caekenberghe s...@stfx.eu:
 
 On 28 Oct 2014, at 14:58, Esteban A. Maringolo emaring...@gmail.com wrote:
 
 2014-10-28 5:41 GMT-03:00 Sven Van Caekenberghe s...@stfx.eu:
 Esteban,
 
 The Reddit example's CI Job 
 (https://ci.inria.fr/pharo-contribution/job/Reddit/) also loads Seaside 
 and Glorp (two big packages) in Pharo 3 and it too results in a 110 Mb 
 image and 142 Mb changes file. After condensing, that goes to 276 Mb !
 
 I would say something is wrong here ;-)
 
 Either something is wrong, or we feature it and rename
 PharoChangesCondenser#condense to PharoChangesExpander#expand :)
 
 Note that condensing changes on newly loaded code should not make much 
 difference (in essence, all multiple versions of methods are reduced to 1).
 
 I think we should create some issues out of this.
 
 This is true, however I find a changes of 140 megs to be MASSIVE.
 
 I totally agree, this is unacceptable. However, I did some tests, and the 
 problem is with Glorp (or any of its sub packages). I tried building both my 
 Reddit and HP35 examples from scratch in Pharo 3 on Linux.
 
 $ ./pharo reddit.image config 
 http://smalltalkhub.com/mc/SvenVanCaekenberghe/Reddit/main 
 ConfigurationOfReddit --install=stable
 
 $ ./pharo hp35.image config 
 http://smalltalkhub.com/mc/SvenVanCaekenberghe/HP35/main ConfigurationOfHP35 
 --install=stable --group=Web-UI
 
 Both load Seaside and some other stuff, but only Reddit loads Glorp and 
 PostgresV2.
 
 I did a condense changes on the HP35 image, the one on the Reddit image ran 
 out of physical memory (granted is was a small machine) !
 
 Here are the resulting sizes:
 
 $ ls -lah
 total 337M
 drwxr-xr-x  4 root root 4.0K Oct 28 15:09 .
 drwx-- 12 root root 4.0K Oct 28 12:28 ..
 -rw-r--r--  1 root root 5.8M Oct 28 13:17 hp35.changes
 -rw-r--r--  1 root root 5.6M Oct 28 14:38 hp35-condense-test.changes
 -rw-r--r--  1 root root 5.8M Oct 28 14:27 hp35-condense-test.changes.bak
 -rw-r--r--  1 root root  29M Oct 28 14:38 hp35-condense-test.image
 -rw-r--r--  1 root root  29M Oct 28 13:17 hp35.image
 drwxr-xr-x  2 root root 4.0K Oct 28 13:12 package-cache
 -rwxr-xr-x  1 root root  367 Oct 28 12:29 pharo
 -rw-rw-r--  1 root root 265K Oct 24 14:42 Pharo.changes
 -rw-rw-r--  1 root root  21M Oct 24 14:42 Pharo.image
 -rwxr-xr-x  1 root root  354 Oct 28 12:29 pharo-ui
 drwxr-xr-x  3 root root 4.0K Oct 28 12:29 pharo-vm
 -rw-r--r--  1 root root 136M Oct 28 12:48 reddit.changes
 -rw-r--r--  1 root root 105M Oct 28 12:48 reddit.image
 
 Note how the HP35 image and changes sizes are totally acceptable/normal, 
 while the Reddit one explodes, with the difference being Glorp.
 
 But I have no idea what causes this.
 
 There is no way Glorp can generate 100 Mb changes, when Seaside is OK with 6 
 Mb.
 
 I remember loading ~4000 classes in the order of 10^6 LOC in Dolphin, and
 changes never got half that size. Sizes were ~28/55MB image/changes.
 The same in VAST, any image beyond the 20MB was an alert of something
 being leaked.
 
 Hmm, we need more tests and data points, I will try on Linux command line 
 later on.
 
 I ran in it in Linux (Ubuntu) through the command line.
 
 
 Regards!
 
 
 
 




[Pharo-users] Changes file size

2015-02-10 Thread Torsten Bergmann
I always found it strange what effect loading Glorp had on an image, blowing 
it up.

Looks like it is really an effect of the Glorp code. Maybe because it was 
initially
exported from VW and then imported into Squeak/Pharo. I always thought slow 
loading
is because of this or the long license texts in the classes.

At least I had similar issues when I loaded the Glorp-EstebanMaringolo.92 
from October 2014.
I was not able to browse diffs, etc. when I wanted to clean up.

Then I commited Glorp-TorstenBergmann.93 without real changes and things 
started 
to stabilize. At least I was able to browse the diffs afterwards and could 
refactor
a little bit with Glorp-TorstenBergmann.94.

Bye
T.



[Pharo-users] Nautilus groups

2015-02-10 Thread Christophe Demarey
Hello,

We would like to know if some of you use Nautilus groups functionality:
dynamic groups: 'Last modified packages', 'Most viewed classes', 'Work'
user defined groups : from the menu, you can flatten the content of many 
packages and get all classes into the newly created group.
We have the feeling that it is not used (or not a lot) and we think to replace 
it with another mechanism (for example, let the user define his/her 'favorites' 
classes / packages).

Thanks for the feedback.



[Pharo-users] PhD offer with Pharo about Interaction design

2015-02-10 Thread stepharo


http://www.inria.fr/en/institute/recruitment/offers/phd/campaign-2015/%28view%29/details.html?id=PNGFK026203F3VBQB6G68LOE1LOV5=4509LG=ENResultsperpage=20nPostingID=9157nPostingTargetID=15138option=52sort=DESCnDepartmentID=28




Re: [Pharo-users] PhD offer with Pharo about Interaction design

2015-02-10 Thread Camille
Great!

 On 10 Feb 2015, at 14:29, stepharo steph...@free.fr wrote:
 
 
 http://www.inria.fr/en/institute/recruitment/offers/phd/campaign-2015/%28view%29/details.html?id=PNGFK026203F3VBQB6G68LOE1LOV5=4509LG=ENResultsperpage=20nPostingID=9157nPostingTargetID=15138option=52sort=DESCnDepartmentID=28
 
 




Re: [Pharo-users] Agile visualization book as an interactive grafoscopio document

2015-02-10 Thread Nicolai Hess
Hi Offray,

2015-02-09 22:14 GMT+01:00 Offray Vladimir Luna Cárdenas off...@riseup.net
:

 Hi all,
 
 So, wiring by sendToOutside: from: is not working and I don't know how
 to tell my code browser to autosave its contents as part of the node body
 where they belong.

 Any help with this is appreciated.

 Cheers,

 Offray


here is a small example,

http://ws.stfx.eu/JBIBBXA0EF3A

it uses a memory file system for storing its structure and data.
on the left pane, you can select folder and files. And a file will open
a code pane on the right side. On this code pane you can edit the
text and accept the changes with alt+s (or the icon on the upper right
corner).
The changed text is saved in the memory file.
I use the memory file system just as an example, because I don't have
another
data structure. But this should work with your GrafoscopioNode too.

Does it help?


Nicolai


Re: [Pharo-users] Externally signalling pharo VM for shutdown

2015-02-10 Thread Sebastian Sastre
You can do it with 

kill -15 PID

And, this (requires OSProcess):

makeStopHook
Answers the process that hooks to the 
OS signal that makes this worker to shutdown
when the VM process receives a TERM signal from
the OS.

^ [|semaphore|
semaphore := OSProcess accessor forwardSigTerm.
semaphore wait.
self onTerminationSignal] 
forkAt: Processor systemBackgroundPriority 
named: 'Image TERM’



onTerminationSignal
The process for the VM of this image 
has received a TERM signal from the OS.
React accordingly

self log: 'That''s all folks. This worker is shutting down. Bye bye...' 
level:#messages.
OSProcess accessor restoreSigTerm.
SmalltalkImage current snapshot: false andQuit: true.






 On Feb 10, 2015, at 4:58 PM, Esteban A. Maringolo emaring...@gmail.com 
 wrote:
 
 Is there a way I can externally signal a running pharo-vm in order to
 request a shutdown equivalent to clicking on the close icon?
 
 I'd like to externally manage the start/stop of a Pharo image, but
 because the image can be used during development, I'd like to provide
 the user with a confirmation dialog instead of simply killing the
 process.
 
 Regards!
 
 
 Esteban A. Maringolo
 




[Pharo-users] Externally signalling pharo VM for shutdown

2015-02-10 Thread Esteban A. Maringolo
Is there a way I can externally signal a running pharo-vm in order to
request a shutdown equivalent to clicking on the close icon?

I'd like to externally manage the start/stop of a Pharo image, but
because the image can be used during development, I'd like to provide
the user with a confirmation dialog instead of simply killing the
process.

Regards!


Esteban A. Maringolo



Re: [Pharo-users] Externally signalling pharo VM for shutdown

2015-02-10 Thread Paul DeBruicker
Depends on how you want the user to access the image.  Using Seaside you
could do something like whats described here:

http://book.seaside.st/book/advanced/deployment/maintaining/requesthandler



Esteban A. Maringolo wrote
 Is there a way I can externally signal a running pharo-vm in order to
 request a shutdown equivalent to clicking on the close icon?
 
 I'd like to externally manage the start/stop of a Pharo image, but
 because the image can be used during development, I'd like to provide
 the user with a confirmation dialog instead of simply killing the
 process.
 
 Regards!
 
 
 Esteban A. Maringolo





--
View this message in context: 
http://forum.world.st/Externally-signalling-pharo-VM-for-shutdown-tp4804999p4805003.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.



Re: [Pharo-users] Spotter: Browse Impementors?

2015-02-10 Thread Sean P. DeNigris
Juraj Kubelka wrote
 Do you need to open it in Implementors/Senders Browser?

Yes. I was fixing mouse wheel user code to handle horizontal wheel events.
The Morphic hook is #mouseWheel:, so I wanted a browser on all implementors
of #mouseWheel: so that I could view each one and update it if necessary.



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



Re: [Pharo-users] Externally signalling pharo VM for shutdown

2015-02-10 Thread Norbert Hartl

 Am 10.02.2015 um 21:25 schrieb Esteban A. Maringolo emaring...@gmail.com:
 
 Great. This is cool.
 
 Why this can't be part of the stock vm/image?
 
Because it needs OSProcess ;)

A zinc server is always present in the image. Sven made a 
ZnReadEvalPrintDelegate that you can easily hook in to execute a smalltalk 
snippet (if your host is secured). 
The good thing about Sebastians approach is that whenever the OS is shut down 
it is called with SIGTERM from the OS. So should fit nicely with orchestration 
of the machine.

Norbert

 Regards!
 Esteban A. Maringolo
 
 
 2015-02-10 16:28 GMT-03:00 Sebastian Sastre sebast...@flowingconcept.com:
 You can do it with
 
 kill -15 PID
 
 And, this (requires OSProcess):
 
 makeStopHook
Answers the process that hooks to the
OS signal that makes this worker to shutdown
when the VM process receives a TERM signal from
the OS.
 
^ [|semaphore|
semaphore := OSProcess accessor forwardSigTerm.
semaphore wait.
self onTerminationSignal]
forkAt: Processor systemBackgroundPriority
named: 'Image TERM’
 
 
 
 onTerminationSignal
The process for the VM of this image
has received a TERM signal from the OS.
React accordingly
 
self log: 'That''s all folks. This worker is shutting down. Bye 
 bye...' level:#messages.
OSProcess accessor restoreSigTerm.
SmalltalkImage current snapshot: false andQuit: true.
 
 
 
 
 
 
 On Feb 10, 2015, at 4:58 PM, Esteban A. Maringolo emaring...@gmail.com 
 wrote:
 
 Is there a way I can externally signal a running pharo-vm in order to
 request a shutdown equivalent to clicking on the close icon?
 
 I'd like to externally manage the start/stop of a Pharo image, but
 because the image can be used during development, I'd like to provide
 the user with a confirmation dialog instead of simply killing the
 process.
 
 Regards!
 
 
 Esteban A. Maringolo
 
 
 
 




Re: [Pharo-users] recover lost changes

2015-02-10 Thread stepharo

Yes this should be fixed.

Le 10/2/15 16:42, Martin Bähr a écrit :

Excerpts from Hartmut's message of 2015-02-10 15:58:13 +0100:

Working with Pharo 3.0 I noticed for a while that I could not recover
class definitions (do it's) from the Recent Changes.

i noticed this too.
methods worked fine, but i couldn't recover methods to new classes until i
recreated the class manually.

greetings, martin.






Re: [Pharo-users] Spotter: Browse Impementors?

2015-02-10 Thread Juraj Kubelka
You can dive-in using cmd+shift+right-arrow in Spotter and follow observation 
of those implementors. Preview is available by cmd+p.
So basically you open in a browser only one specific method. 

Do you need to open it in Implementors/Senders Browser? If yes, can you 
describe your use case, please? Thanks.

Cheers,
Juraj


 10. 2. 2015 v 16:40, Sean P. DeNigris s...@clipperadams.com:
 
 Maybe I'm missing something obvious, but if I zero in on a message name in
 spotter, can I open a browser on all implementors, or only browse one
 specific method?
 
 
 
 -
 Cheers,
 Sean
 --
 View this message in context: 
 http://forum.world.st/Spotter-Browse-Impementors-tp4805013.html
 Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
 




[Pharo-users] Spotter: Browse Impementors?

2015-02-10 Thread Sean P. DeNigris
Maybe I'm missing something obvious, but if I zero in on a message name in
spotter, can I open a browser on all implementors, or only browse one
specific method?



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



Re: [Pharo-users] Nautilus groups

2015-02-10 Thread stepharo

having a simpler way to express
here is my project would be good.
For now the way to add a group is too complex.

I would like to click on package and add it to a favorite list that is 
on the top


I would love to get a group containing the class that were loaded (or 
not in the system).
because often I load a configuration and I have no clue what have been 
loaded.


Stef

Hello,

We would like to know if some of you use Nautilus groups functionality:

  * dynamic groups: 'Last modified packages', 'Most viewed classes',
'Work'
  * user defined groups : from the menu, you can flatten the content
of many packages and get all classes into the newly created group.

We have the feeling that it is not used (or not a lot) and we think to 
replace it with another mechanism (for example, let the user define 
his/her 'favorites' classes / packages).


Thanks for the feedback.





Re: [Pharo-users] Externally signalling pharo VM for shutdown

2015-02-10 Thread Esteban A. Maringolo
Great. This is cool.

Why this can't be part of the stock vm/image?

Regards!
Esteban A. Maringolo


2015-02-10 16:28 GMT-03:00 Sebastian Sastre sebast...@flowingconcept.com:
 You can do it with

 kill -15 PID

 And, this (requires OSProcess):

 makeStopHook
 Answers the process that hooks to the
 OS signal that makes this worker to shutdown
 when the VM process receives a TERM signal from
 the OS.

 ^ [|semaphore|
 semaphore := OSProcess accessor forwardSigTerm.
 semaphore wait.
 self onTerminationSignal]
 forkAt: Processor systemBackgroundPriority
 named: 'Image TERM’



 onTerminationSignal
 The process for the VM of this image
 has received a TERM signal from the OS.
 React accordingly

 self log: 'That''s all folks. This worker is shutting down. Bye 
 bye...' level:#messages.
 OSProcess accessor restoreSigTerm.
 SmalltalkImage current snapshot: false andQuit: true.






 On Feb 10, 2015, at 4:58 PM, Esteban A. Maringolo emaring...@gmail.com 
 wrote:

 Is there a way I can externally signal a running pharo-vm in order to
 request a shutdown equivalent to clicking on the close icon?

 I'd like to externally manage the start/stop of a Pharo image, but
 because the image can be used during development, I'd like to provide
 the user with a confirmation dialog instead of simply killing the
 process.

 Regards!


 Esteban A. Maringolo






Re: [Pharo-users] recover lost changes

2015-02-10 Thread Norbert Hartl

 Am 10.02.2015 um 20:59 schrieb stepharo steph...@free.fr:
 
 Yes this should be fixed.
 
You mean fix the current implementation or swap it for epicea?

Norbert

 Le 10/2/15 16:42, Martin Bähr a écrit :
 Excerpts from Hartmut's message of 2015-02-10 15:58:13 +0100:
 Working with Pharo 3.0 I noticed for a while that I could not recover
 class definitions (do it's) from the Recent Changes.
 i noticed this too.
 methods worked fine, but i couldn't recover methods to new classes until i
 recreated the class manually.
 
 greetings, martin.
 
 
 




Re: [Pharo-users] Spotter vs Spotlight was: [Re: Cleaning code completition's namespace]

2015-02-10 Thread Laura Risani
 What do you mean about all existing menus in the image? Right now, the
 default Spotter searches for the top level entries in the World menu and
 then lets you dive if you want. It can also be made easily to search for
 all menu entries from the World menu. Is that what you have in mind?


At that moment i thought of searching on all existing menu entries, for
example if Spotter-search for Browse menu-category results will include
Browse scoped (an entry of a menu you get for classes on the
ClassBrowser). Yet at this moment i'm not sure of how useful it could be.


  In this mail alone you list 4 different search tools: Finder,
 MessageBrowser, Spotlight, Search in Nautilus. Each of these behaves
 radically different without much of an added value.


 The whole philosophy of Smalltalk revolves around a minimal and uniform
 model that can be used to express elegantly any action. For example,
 Smalltalk has a simple syntax, and yet you can explain with that simple
 syntax all things for which other languages require lots of hardcoded
 constructs. The same rigor should be applied to the user interface. With
 Spotter we strive to reach such a simple model that can be infinitely
 moldable to fit custom needs.

 Now, besides elegance, if any, what else is there? Given that search is
 such a pervasive action, before I start anything I first want to find an
 entry point. That can be a method, a class, a file, or whatever other
 object. To this end, first people think of what tool to use and then of how
 to find the interesting object inside that tool. With Spotter we want to
 eliminate the first step: we just open Spotter and start searching for what
 we want. It's not quite there, but I think it is amazingly close to this
 goal.


I liked a lot these paragraphs in theirself and also as a motivation for
Spotter.

2) Not having the regular features of a window that are useful depending on
 the case, for shortcuting i would like volatile but for browsing results i
 could depending on the case prefer persistency .


 Certainly. The current solution focuses on search. Creating a persistent
 list of objects is still a work in progress but it is out of scope at the
 moment.


If at the method GTSpotterGlobalShortcutopenGlobalSpotter one changes
#openInWorld by #openInWindow , one gets the persistent behavior (it also
includes the preview if opened).
So now i can open a volatile or persistent Spotter, i'm going to have a
keycombination for each one. In addition i get all the regular window
behavior i in some cases want.
This makes me really happy :)

Only one little keybordian issue, Cmd+w doesn't close the window as usual,
the same happens with GTPlayground. It would be nice if these come
implemented so one doesn't have to add them.


 This already works. As explained before, something like:
 d #i

 will give you only the implementors of d. So, # will search for the name
 of the category. This feature is not yet complete in that it does not
 highlight properly the results, but could you try to see if this fits what
 you have in mind?


I've just read about that, and also the last bit on custom categories on
the blog. So now i will define a category for classes+selectors and map a
keycombination to open a volatile Spotter on ti, and remove the 5 results
limit (how do i do this?). This gives me my wanted selector/class
shortcut Spotlight provided me, improving the annoying deficiency
Spotlight has of showing no-longer defined names (i asked about it in a
recent mail to the list).

Having a shortcut (Cmd+Shift+ArrowUp/ArrowDown) to jump through categories,
then why to limit the number of results in each category to 5? Why not to
show them all to avoid the need of going into the category?


 Did you try compiling the method that I sent in the previous mail
 (basically just copy paste that method in the GTSpotter class)? It should
 provide the behavior of Spotlight. Please try and let me know if it works
 for you.


Yes, it works at some degree.
I face this issue, if i type 'openIn' i get only 1/1 selector
#openeningDelimiters, and only if i continue to type 'openInW' i get 5/28
selectors.
Also at some point i started to get an #inform: msg saying WorldState
interCyclePause failed.

So additions i would like to see built by default
Cmd+w to close on GTSpotter and GTPlayground.
Remove/know-how-to remove the 5 limit on results.
Selectors category.
Font size configured at SystemBrowser to have effect on GTSpotter both on
search results and preview.

To summarize i love Spotter and it will be the tool i use the most (in
number of openings).

Love,
Laura


Re: [Pharo-users] SmaCC: First steps

2015-02-10 Thread kilon alios
Ok so after rereading the tutorial and testing again and again , I think I
have finally managed to understand how SmaCC really works and I was
succesful into converting simple python litsts to pharo arrays and ordered
collections.

The tricky part now is to apply this knowledge to complex python types like
multi dimensional lists, tuples and dictionaries. I understand that the
visitor allows me to visit a specific object instances each time they are
found in the AST . But because I want to walk the AST in order to build
multi dimensional ordered collections I need something more, or maybe my
understanding of the visitor pattern is flawed.

The problem I am having here is that each time I parse a python type that
python type is not necessarily represented by different kind of node. For
example whether its a list or a tuple or a dictionary the same class is
used PyAtomNode. In order to differentiate between those diffirent python
types PyAtomNode has instance variables for right and left bracket,
parantheses, and curly. So my initial thinking is to check those instance
variables to see if they are nil and from that I can conclude which python
type I am parsing.

So I can preform simple ifs that check that the instance variable is Nil or
not but the question is if my strategy is a good one or a bad one.

I could define my own syntax to simplify the AST tree including different
nodes for different python types , because from the looks of it , it seems
it is a bit too verbose for my needs but On the other hand I am not so sure
because in the future my needs may become more verbose too.

So I am very close and ready to create my full python types converter for
pharo but I wanted some good advice before wasting time on something that
is not efficient.


By the way Thierry I have to agree with you Smacc is a very capable parser,
also I like the use of regex syntax, makes it uglier compared Pettit Parser
but I prefer the compact regex syntax to having to define and browse tons
of classes and send tons of messages. Also the Python support is very good
and I am impressed how easily SmaCC can parse whole python applications
since some of the test are very complex. Well done great work!



On Sat, Jan 31, 2015 at 12:04 AM, kilon alios kilon.al...@gmail.com wrote:

 thank for your congratulations, because at times I fear I ask too obvious
 questions. I have to say I find this parsing very complex but very
 fascinating too :) Time to experiment with the visitor.

 On Fri, Jan 30, 2015 at 11:49 PM, Thierry Goubier 
 thierry.goub...@gmail.com wrote:



 2015-01-30 14:04 GMT+01:00 kilon alios kilon.al...@gmail.com:

 Ok thanks for the info, I am still however curious about these tests
 are just tests (which may or may not happen) that determine the AST, for
 example which node to use ?


 'tests' is just there because, in the grammar, there is this at a certain
 point:

 testlist:
 test 'test' , testlist
 | test 'test' comma_opt
 ;

 I have named this use of test 'test', so SmaCC has deduced that testlist
 will be a list of test(s) nodes (or maybe other stuff such as atoms,
 depending on the productions for test).. so, SmaCC, in each rule where
 testlist is found, it will add a 'tests' instance variable.

 So, basically, the grammar rules explain how each node can be decomposed
 in sub-nodes, and the additional annotations (the 'test' naming and the
 {{}} or {{}}) drive how the classes for the nodes you want to keep are
 generated. In that testlist case, no node will be generated, but everywhere
 testlist appear on the right of the rule, then it will add a 'tests'
 instance variable.



 Or are they tests related to unit testing class PythonParserTests ?


 Not at all :)



 Also you said I need to use the visitor created by PythonParser I assume
 you mean PyRootNodeVisitor ? Just as it is explained in the AST chapter of
 the documentation.

 In my case this simple python list will need me to subclass it and
 override method visitListmaker , the aListmaker passed as argument to the
 method should I assume it is PyListmakerNode ?


 In my experience, what you need to do is you have a look at the ast
 generated and see if you can recognize the elements. From what I see in
 your simple example, the key to your list is that PyAtomNode instance with
 something in list. Once you have that, you know that you need to visit
 PyAtomNode (and check that it has the [ ] tokens).

 Looking into what is listmaker in atom in the grammar (congratulations by
 the way, you have seen it :) ), you'll see that it creates a listmaker node
 only in the first case: test followed by a list_for, otherwise it falls
 back to testlist...

 Thierry




 On Fri, Jan 30, 2015 at 10:50 AM, Thierry Goubier 
 thierry.goub...@gmail.com wrote:

 Hi kilon,

 The tests instance variable is linked to the python grammar: top level
 items in an expression are probably tests, and, through the grammar, tests
 can be just atoms.

 So the tests instance 

[Pharo-users] get them while they are young

2015-02-10 Thread Martin Bähr
here is the reaction of a student preparing for a GSoC project for which the
student needs to learn smalltalk:

  I have installed Pharo v4.0 and started the book Pharo By Example as
   suggested by you  I just wanted to say that I am in the initial stages
   and loving it already :)

greetings, martin.

-- 
eKita   -   the online platform for your entire academic life
-- 
chief engineer   eKita.co
pike programmer  pike.lysator.liu.secaudium.net societyserver.org
secretary  beijinglug.org
mentor   fossasia.org
foresight developer  foresightlinux.orgrealss.com
unix sysadmin
Martin Bähr  working in chinahttp://societyserver.org/mbaehr/



Re: [Pharo-users] Spotter vs Spotlight was: [Re: Cleaning code completition's namespace]

2015-02-10 Thread Ben Coman
On Wed, Feb 11, 2015 at 1:25 PM, Laura Risani laura.ris...@gmail.com
wrote:


 Also at some point i started to get an #inform: msg saying WorldState
 interCyclePause failed.



Thats not GTSpotter. That was my fault since build 40477 integrated Issue
14669.
This should be fixed since Issue 40874 was integrated into build 40486 .
cheers -ben


[Pharo-users] recover lost changes

2015-02-10 Thread Hartmut

To whom can answer me

Working with Pharo 3.0 I noticed for a while that I could not recover 
class definitions (do it's) from the Recent Changes.

I also lost class comments on file-out / file-in .

For the second problem I made the following test:
1. take a fresh Pharo 3.0 image (bundle for Mac OSX from Aug 29, 2014)
2. create MyClass with a class method and a comment.
3. file-out MyClass
4. remove MyClass
on remove of MyClass I get an exception: 
https://www.dropbox.com/s/unq89t84tq7r60b/removeClass.tiff?dl=0

5. file-in MyClass
The class is there - no error

But: With the same exception in other images the comment is missing 
after file-in.


Is this known?
What does the exception mean?

--
Hartmut Krasemann

Königsberger Str. 41 c

D 22869 Schenefeld

Tel. 040.8307097

Mobil 0171.6451283

krasem...@acm.org




smime.p7s
Description: S/MIME Cryptographic Signature


Re: [Pharo-users] Nautilus groups

2015-02-10 Thread Martin Bähr
Excerpts from Christophe Demarey's message of 2015-02-10 14:28:19 +0100:
 We would like to know if some of you use Nautilus groups functionality:
 dynamic groups: 'Last modified packages', 'Most viewed classes', 'Work'

do you mean 'last modified classes'?

i use them. i find them much easier to use than having to type some regular
expression to get the list i want.

i wish they would work better though. for example, when i install new packages,
i do not want them to show up in the 'last modified classes'

maybe they can be placed in a separate group: 'last installed classes'

also, when i create a new class, it does not show up until i add a method.
which sometimes means i go have to search for the class by typing its name.

i don't know what 'work' does, i never got anything when selecting that.

 user defined groups : from the menu, you can flatten the content of many 
 packages and get all classes into the newly created group.

i have not discovered this yet.

 We have the feeling that it is not used (or not a lot) and we think to 
 replace it with another mechanism (for example, let the user define his/her 
 'favorites' classes / packages).

how is that different from user defined groups?

what i find important and useful about 'last modified classes' is that, as i
work on many things, not only pharo, when i do get back to pharo, i can go: ok,
where was i? then i click on 'last modified classes' and remember.

without that i have to find some other way to remember before i can then type
what i need to find the right classes.

it may not be much, but having an easy way to see what i have been working on
just feels more comfortable.

greetings, martin.

-- 
eKita   -   the online platform for your entire academic life
-- 
chief engineer   eKita.co
pike programmer  pike.lysator.liu.secaudium.net societyserver.org
secretary  beijinglug.org
mentor   fossasia.org
foresight developer  foresightlinux.orgrealss.com
unix sysadmin
Martin Bähr  working in chinahttp://societyserver.org/mbaehr/