Re: [Pharo-dev] WeakValueDictionary: shouldn't be "absent" after GC?

2017-02-23 Thread Guillermo Polito
Thanks Martin :)

On Thu, Feb 23, 2017 at 6:18 AM, Martin Dias  wrote:

>
>
> On Wed, Feb 22, 2017 at 9:52 AM, Guillermo Polito <
> guillermopol...@gmail.com> wrote:
>
>>
>>
>> On Wed, Feb 22, 2017 at 12:57 AM, Martin Dias 
>> wrote:
>>
>>> Hi all
>>>
>>> Phil:
>>> I'm sorry, didn't get what you point with the code snippet. The copy of
>>> the Symbol is the same instance, that I think it's nto GCed.
>>>
>>> Guille:
>>> Yes, I knew the internals of the WeakValueDictionary but asked about the
>>> API.
>>>
>>
>> Ah, ok, I only understood that you did not get why it was like that. :)
>>
>>
>>> What I don't know is about using WeakRegistry
>>>
>>
>> This is just needed to do the cleanup of the expired associations.
>>
>>
>>> and Ephemerons.
>>>
>>
>> This is a completely different thing. There is an EphemeronRegistry in
>> the image, but it does not propose at:/at:ifAbsent: messages. It just holds
>> Ephemerons.
>>
>> I'll check WeakKeyDictionary.
>>>
>>
>> If you need to hold weakly the values, then this is not what you're
>> looking for, isn't it?
>>
>>
>>>
>>> I understand the idea of "explicit control of magic", but not sure if I
>>> understand concretely. Do you mean to implement something like
>>> WeakValueDictionary>>register which will not be executed by
>>> #initialize, so the user can decide to register. Am I right?
>>>
>>
>> Yep. I would even call it:
>>
>>  registerForCleanup
>>
>> Like that it is explicit that you're doing it, and that it may incur into
>> some performance degradation of the entire system.
>>
>>
>>>
>>> Denis:
>>> +1 WeakSet behavior is really confusing! In thte case of
>>> WeakValueDictionary I didn't check for inconsistencies but was only annoyed
>>> but it's behavior.
>>>
>>> Guille and Denis:
>>> Instead of using SetElement or cleaning up the empty
>>> WeakValueAssociations, what I first thought is to internally consider an
>>> association with nil as absent. I mean, modify or override some methods
>>> soem when there is an WeakValueAssociation with value == nil it
>>> considers it's absent. Concretely, I'd expect:
>>>
>>
>> Well, the idea of the SetElement is that you may want to have `nil` as a
>> valid value in your dictionary. Otherwise, you cannot do:
>>
>> WeakValueDictionary new
>>at: 'key' put: nil;
>>at: 'key' --> error???
>>
>> We can discuss if it is useful or not, but as with sets, before people
>> used to check if the inserted element was nil beforehand to have the
>> expected behavior...
>>
>>
>>> | dictionary |
>>> dictionary := WeakValueDictionary with: 'hello' -> 'world' copy.
>>> Smalltalk garbageCollect.
>>> {
>>> dictionary values includes: nil. *---> false *
>>> dictionary at: 'hello'. * ---> NotFound signal*
>>> dictionary at: 'hello' ifAbsent: [ 'absent' ].* ---> 'absent'*
>>> dictionary at: 'hello' ifAbsentPut: [ 'put' ]. *---> 'put'*
>>> }
>>>
>>
>> I agree that we may review the API. At least #at:, #at:ifAbsent: and
>> #at:ifAbsentPut: should behave similarly.
>>
>>
> OK, I wrote several tests for the expected behavior and fixed
> WeakValueDictionary. Anyway, not sure if it's convenient to integrate it in
> Pharo 6 or in any version... maybe it's just OK to check for nils at
> user-level as currently, and do not change it. I had to use SetElement else
> tests didn't pass.
>
> https://pharo.fogbugz.com/f/cases/19746/WeakValueDictionary-has-
> counter-intuitive-behavior
>
>
>
>
>> In any case, we could see how to improve EphemeronRegistry or even
>> implement an EphemericDictionary that would replace the WeakValueDictionary.
>>
>>
>>>
>>> It's better if I give some context. Look this simplified version of my
>>> use case:
>>>
>>> MyUI>>
>>> morphAt: key
>>> cache ifNil: [ cache := WeakValueDictionary new ].
>>>  ^ cache at: key ifPresent: [:cachedValueOrNil | cachedValueOrNil
>>> ifNotNil: [ cachedValueOrNil ] ifNil: [ cache at: entryReference put: (self
>>> newMorph: key) ] ] ifAbsent: [ cache at: entryReference put: (self
>>> newMorph: key) ]
>>>
>>> I'd like to only send #newMorph: in ifAbsent: and to avoid the
>>> ifNotNil:ifNil:
>>> Like this:
>>>
>>> morphAt: key
>>> cache ifNil: [ cache := WeakValueDictionary new ].
>>>  ^ cache at: key ifAbsent: [ cache at: entryReference put: (self
>>> newMorph: key) ]
>>>
>>> :-)
>>>
>>> Martín
>>>
>>
>>
>


Re: [Pharo-dev] Any idea for a cool name for the remote tool suite?

2017-02-23 Thread Denis Kudriashov
Philippe invented new word Pharocket :). Maybe it is the best for this
project?


2017-01-30 17:09 GMT+01:00 Dimitris Chloupis :

> Also I think its fair that the guy that wrote the code to pick the name,
> its his baby afterall, whether he is paid for it or not. He earned that
> right.
>
> On Mon, Jan 30, 2017 at 6:06 PM Dimitris Chloupis 
> wrote:
>
>> Just for the record, the name does not matter
>>
>> As a matter of fact if you want the name to really sell the library/
>> tools then the last thing you want is a name that makes any logical sense
>>
>> You have much better chance to catch attention with "Pink Elephant" than
>> "Pharo Remote tools" or whatever
>>
>> illogical names monopolise the software market
>>
>> Python
>> Ruby on Rails
>> Django
>> Blender
>> Unreal
>> Unity
>> Javascript
>> Java
>> C
>> C++
>> Windows
>> MacOS
>>
>> and so on
>>
>> Developers choose to name their projects the craziest names and wisely so
>>
>> the name is there to catch attention, not to make sense or come up top on
>> google search.
>>
>> In the end what it matters is the code itself.
>>
>> Ruby On Rails did not become populary because we love ruby stones or we
>> love go "too...tooo" on rails ... its popular because the library has
>> been very useful to many people.
>>
>> And the name itself guarantees that it wont come up top in google search
>> because it has nothing unique about it.
>>
>> The rest is just marketing ;)
>>
>


Re: [Pharo-dev] Pharo Papers

2017-02-23 Thread denker
Hello,

I have setup a collection at HAL. For now it is empty, we should fill it and 
then add it to the website
(and announce it then, not now…).

The collection automatically has every paper on HAL that has “PHARO” as a 
keyword in the field
"Project/Collaboration”.

https://hal.inria.fr/PHARO/
https://hal.archives-ouvertes.fr/PHARO

HAL is not Inria specific, here is some more infos (from 
https://hal.archives-ouvertes.fr ):

HAL is an open archive where authors can deposit scholarly documents 
from all academic fields.

For the attention of the authors

• The deposit must be made in agreement with the co-authors and 
in the respect for the policy of the publishers.
• The deposit is subject of a control, HAL reserves the right 
to refuse items that do not meet the criteria of the archive.
• Any deposit is definitive, no withdrawals will be made after 
the on-line posting of the publication.
• Text files in pdf format or image files are sent to CINES 
(https://www.cines.fr/en/) for long-term archiving.

For the attention of the readers

• In a context of electronic distribution, every author keep all its 
intellectual property rights.




> On 16 Feb 2017, at 15:13, denker  wrote:
> 
> One idea on my TODO that I got from colleagues here working on another 
> OpenSource/Research
> system (Sofa3D): to add all publication to the website automatically using 
> HAL (the national french
> paper database).
> 
> It looks like this on the website:
>   https://www.sofa-framework.org/applications/publications/
> 
> and here “how to add a paper”:
> 
>   
> https://www.sofa-framework.org/applications/publications/add-a-publication-with-hal/
> 
> I will definitely set this up for Pharo later this year (read: as soon as 
> possible)
> 
>   Marcus
> 
> 
>> On 16 Feb 2017, at 14:30, Ben Coman  wrote:
>> 
>> And now for your regularly scheduled random trivia show...
>> I was mildly curious about how many papers touched on Pharo.
>> 
>> 1,110 on google scholar for...
>> "pharo" "programming"
>> http://tiny.cc/pharo-scholar
>> 
>> 1,630 on normal google for...
>> "pharo" "programming" "abstract" "introduction" "conclusion"
>> "references" filetype:pdf
>> http://tiny.cc/pharo-papers
>> 
>> Probably a lot of overlap between them.
>> cheers -ben
>> 
> 




[Pharo-dev] Build Pharo VM

2017-02-23 Thread Guido Chari
Hi,

I am trying to compile the Pharo-VM but I was not able. Neither in OSX nor
in Unix. I followed the instructions on
https://github.com/pharo-project/pharo-vm. In OSX the builder at the image
level runs ok but I see no output at the build directory. In Unix, the
files in the build directory were generated but then the building process
fails because of some cmake files not found from one of the plugins. I am
using the last version from the master repo.

So my question is, any hints on what I am doing wrong? Are there any up to
date documentation for building the vm?

Best regards,
Guido.


Re: [Pharo-dev] Any idea for a cool name for the remote tool suite?

2017-02-23 Thread Ben Coman
Not great but okay. i think we are at the point of "perfect is the enemy of
done".  There have been plenty of suitable suggestions, and its a topic
with high bike-shedding quotient, so you should just pick one you and the
man paying the bills are happy with.  Otherwise you'll get another round of
suggestions like these...
"phrem"  26k googs - pharo remote
"phremt" - 195 googs - pharo remote tools
"phremit" 225 googs - pharo remote integrated tools
"phremide" 5 googs - pharo remote ide

One thing to keep in mind though is that we can be as clever as we like
here in text, but you should imagine yourself saying it in front of a
lecture.

cheers -ben

On Thu, Feb 23, 2017 at 5:35 PM, Denis Kudriashov 
wrote:

> Philippe invented new word Pharocket :). Maybe it is the best for this
> project?
>
>
> 2017-01-30 17:09 GMT+01:00 Dimitris Chloupis :
>
>> Also I think its fair that the guy that wrote the code to pick the name,
>> its his baby afterall, whether he is paid for it or not. He earned that
>> right.
>>
>> On Mon, Jan 30, 2017 at 6:06 PM Dimitris Chloupis 
>> wrote:
>>
>>> Just for the record, the name does not matter
>>>
>>> As a matter of fact if you want the name to really sell the library/
>>> tools then the last thing you want is a name that makes any logical sense
>>>
>>> You have much better chance to catch attention with "Pink Elephant" than
>>> "Pharo Remote tools" or whatever
>>>
>>> illogical names monopolise the software market
>>>
>>> Python
>>> Ruby on Rails
>>> Django
>>> Blender
>>> Unreal
>>> Unity
>>> Javascript
>>> Java
>>> C
>>> C++
>>> Windows
>>> MacOS
>>>
>>> and so on
>>>
>>> Developers choose to name their projects the craziest names and wisely so
>>>
>>> the name is there to catch attention, not to make sense or come up top
>>> on google search.
>>>
>>> In the end what it matters is the code itself.
>>>
>>> Ruby On Rails did not become populary because we love ruby stones or we
>>> love go "too...tooo" on rails ... its popular because the library has
>>> been very useful to many people.
>>>
>>> And the name itself guarantees that it wont come up top in google search
>>> because it has nothing unique about it.
>>>
>>> The rest is just marketing ;)
>>>
>>
>


Re: [Pharo-dev] Build Pharo VM

2017-02-23 Thread Esteban Lorenzano

> On 23 Feb 2017, at 15:33, Guido Chari  wrote:
> 
> Hi,
> 
> I am trying to compile the Pharo-VM but I was not able. Neither in OSX nor in 
> Unix. I followed the instructions on 
> https://github.com/pharo-project/pharo-vm 
> . In OSX the builder at the image 
> level runs ok but I see no output at the build directory. In Unix, the files 
> in the build directory were generated but then the building process fails 
> because of some cmake files not found from one of the plugins. I am using the 
> last version from the master repo. 
> 
> So my question is, any hints on what I am doing wrong? Are there any up to 
> date documentation for building the vm?

yes: everything :)
that instructions are very old and I still do not have time to fix them… 

basically, if all your dependencies are ok, doing this should be enough: 

$ git clone g...@github.com:pharo-project/pharo-vm.git
$ cd pharo-vm/opensmalltalk-vm/build.macos32x86/pharo.cog.spur
$ ./mvm -f

for linux you can: 

$ cd pharo-vm/opensmalltalk-vm//build.linux32x86/pharo.cog.spur/build
$ ./mvm

Esteban

> 
> Best regards,
> Guido. 



[Pharo-dev] [pharo-project/pharo-core] f6558d: 60409

2017-02-23 Thread GitHub
  Branch: refs/heads/6.0
  Home:   https://github.com/pharo-project/pharo-core
  Commit: f6558da26d4c7f3f14392533dc65b60a5c71f6ae
  
https://github.com/pharo-project/pharo-core/commit/f6558da26d4c7f3f14392533dc65b60a5c71f6ae
  Author: Jenkins Build Server 
  Date:   2017-02-23 (Thu, 23 Feb 2017)

  Changed paths:
R 
Kernel-Tests.package/ContextTest.class/instance/private/expectedFailures.st
M 
ReflectionMirrors-Primitives-Tests.package/MirrorPrimitivesTests.class/instance/tests-write
 barrier/testMakingObjectReadOnly.st
R ScriptLoader60.package/ScriptLoader.class/instance/pharo - 
scripts/script60408.st
A ScriptLoader60.package/ScriptLoader.class/instance/pharo - 
scripts/script60409.st
R ScriptLoader60.package/ScriptLoader.class/instance/pharo - 
updates/update60408.st
A ScriptLoader60.package/ScriptLoader.class/instance/pharo - 
updates/update60409.st
M 
ScriptLoader60.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
R 
WriteBarrierTests.package/WriteBarrierTest.class/instance/setup/expectedFailures.st

  Log Message:
  ---
  60409
19748 new VMs allow enabling of WriteBarrierTests
https://pharo.fogbugz.com/f/cases/19748

http://files.pharo.org/image/60/60409.zip




[Pharo-dev] [pharo-project/pharo-core]

2017-02-23 Thread GitHub
  Branch: refs/tags/60409
  Home:   https://github.com/pharo-project/pharo-core


[Pharo-dev] [pharo-project/pharo-core] e65cbe: 60410

2017-02-23 Thread GitHub
  Branch: refs/heads/6.0
  Home:   https://github.com/pharo-project/pharo-core
  Commit: e65cbe9d4fdb5c5e7d5d9557e1232a5e625c5de2
  
https://github.com/pharo-project/pharo-core/commit/e65cbe9d4fdb5c5e7d5d9557e1232a5e625c5de2
  Author: Jenkins Build Server 
  Date:   2017-02-23 (Thu, 23 Feb 2017)

  Changed paths:
R ScriptLoader60.package/ScriptLoader.class/instance/pharo - 
scripts/script60409.st
A ScriptLoader60.package/ScriptLoader.class/instance/pharo - 
scripts/script60410.st
R ScriptLoader60.package/ScriptLoader.class/instance/pharo - 
updates/update60409.st
A ScriptLoader60.package/ScriptLoader.class/instance/pharo - 
updates/update60410.st
M 
ScriptLoader60.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
M 
UnifiedFFI-Tests.package/FFICallbackTests.class/instance/tests/testCqsort.st
M 
UnifiedFFI-Tests.package/FFICallbackTests.class/instance/tests/testCqsortWithByteArray.st

  Log Message:
  ---
  60410
19749 FFICallbackTests needs to be skipped for now 
https://pharo.fogbugz.com/f/cases/19749

http://files.pharo.org/image/60/60410.zip




[Pharo-dev] [pharo-project/pharo-core]

2017-02-23 Thread GitHub
  Branch: refs/tags/60410
  Home:   https://github.com/pharo-project/pharo-core


Re: [Pharo-dev] Build Pharo VM

2017-02-23 Thread stepharong

Esteban

can you add a todo to remove this readme?

Stef


On Thu, 23 Feb 2017 15:51:07 +0100, Esteban Lorenzano  
 wrote:





On 23 Feb 2017, at 15:33, Guido Chari  wrote:

Hi,

I am trying to compile the Pharo-VM but I was not able. Neither in OSX  
nor in Unix. I followed the instructions on  
https://github.com/pharo-project/pharo-vm. In OSX the builder at >>the  
image level runs ok but I see no output at the build directory. In  
Unix, the files in the build directory were generated but then the  
building process fails because of some cmake >>files not found from one  
of the plugins. I am using the last version from the master repo.
So my question is, any hints on what I am doing wrong? Are there any up  
to date documentation for building the vm?


yes: everything :)
that instructions are very old and I still do not have time to fix them…
basically, if all your dependencies are ok, doing this should be enough:
$ git clone g...@github.com:pharo-project/pharo-vm.git
$ cd pharo-vm/opensmalltalk-vm/build.macos32x86/pharo.cog.spur
$ ./mvm -f

for linux you can:
$ cd pharo-vm/opensmalltalk-vm//build.linux32x86/pharo.cog.spur/build
$ ./mvm

Esteban



Best regards,
Guido.






--
Using Opera's mail client: http://www.opera.com/mail/

Re: [Pharo-dev] UnixOSProcessPlugin and accessing C array out of bounds

2017-02-23 Thread stepharong

Thanks david!

On Thu, 23 Feb 2017 03:00:08 +0100, David T. Lewis   
wrote:



Holger,

Good catch, thank you. There were two arrays dimensioned wrong in  
OSProcessPlugin in
the Smalltalk slang source. I fixed this, and the warning should be gone  
after the

sources are next generated.

Esteban,

I fixed the oscog branch also. I could not easily test it, but it is a  
small change

so hopefully should be no problem when you next generate the plugin.

Dave


On Wed, Feb 22, 2017 at 04:25:05PM +0700, Holger Freyther wrote:

Hi Esteban,

while building packages for OBS and going the compile warnings (one of  
the nice things of newer compilers is the increased diagnostic) I  
noticed this:


[  196s]  
/usr/src/packages/BUILD/src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c:4525:20:  
warning: iteration 64u invokes undefined behavior  
[-Waggressive-loop-optimizations]

[  196s] if ((semaIndices[sigNum]) > 0) {
[  196s] ^
[  196s]  
/usr/src/packages/BUILD/src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c:4524:9:  
note: containing loop

[  196s]while (sigNum <= (signalArraySize())) {

while (sigNum <= (signalArraySize())) {
if ((semaIndices[sigNum]) > 0) {
setSignalNumberhandler(sigNum,  
(originalSignalHandlers())[sigNum]);

}
sigNum += 1;
}

semaIndices has signalArraySize()/NSIG number of entries and is zero  
based, it is being accessed with sigNum==NSIG which means one entry  
beyond the  memory of the array? Can you confirm this?


restoreDefaultSignalHandlers
"Restore signal handlers to their original behaviors."

| sigNum |

semaIndices = nil "nil if in interpreter simulation"
ifFalse: [sigNum := 1.
[sigNum <= self signalArraySize] whileTrue:
[((semaIndices at: sigNum) > 0) ifTrue:
[self setSignalNumber: sigNum  
handler: (self originalSignalHandlers at: sigNum).].

sigNum := sigNum + 1]]

So it is one based but the array doesn't have an extra element to make  
it work? How is this normally handled in slang code?



holger





--
Using Opera's mail client: http://www.opera.com/mail/



Re: [Pharo-dev] [Moose-dev] How ready is Bloc for a simple use-case?

2017-02-23 Thread stepharong

Hi aliaksei


I would love to start to play with Bloc to build a game with boxes.
Now is there any tutorial that I can follow to get started?

Stef



We could try to do it together and maybe even make a video (stream) of  
implementation process :)

Cheers,
Alex

On 22 February 2017 at 22:02, Aliaksei Syrel   
wrote:

Hi Peter

I wanted to ask about Bloc:

Thanks for your interest :)

1) how stable is the API? e.g. if some overhaul changes to  
unify/whatever are planned


Api itself is in "final" state, however naming might be improved  
(changed with or without depreciations). But don't worry user-side api  
is already in a very good shape, at least from our >>perspective :)


2) I saw in the techtalk that you can align elements (to center,  
bottom, ...), however is that possible with lines? Lines have to  
rotate, morph shape, etc.

3) Are non-straight lines possible? (e.g. bezier, arc)
Exactly :) Lines are just bloc elements as anything else: buttons, text  
images. They can be linear, can be arcs or bezier curves (both  
quadratic or cubic). Default canvas used for rendering in >>Bloc  
(SpartaCanvas) has very good support of vector shapes and lines.



The idea for me is to make a simple mindmap

   - elements with some text, icons, math symbols inside
   - connectors (non-straight lines) between elements


It is very doable. Please, don't forget that Bloc is a low level  
framework that does not contain any widgets (existing ones will be  
deleted, especially BlLine, BlText and BlTextElement). The only  
>>responsibility Bloc has is to provide a basic infrastructure that  
does not put any constraints on users. Which means that if you want to  
have a bezier line you have to subclass BlElement, >>implement  
corresponding accessors for anchor points and override  
drawPathOnSpartaCanvas: in order to display you line. You can learn  
more about canvas by checking SpartaCanvas class >>comment and method  
comments in 'api' protocol.


Layouts, alignment, transformations are part of bloc and are available  
to all subclasses of BlElement.


Cheers,
Alex

On 22 February 2017 at 21:32, Peter Uhnak  wrote:

Hi,

I wanted to ask about Bloc:

1) how stable is the API? e.g. if some overhaul changes to  
unify/whatever are planned
2) I saw in the techtalk that you can align elements (to center,  
bottom, ...), however is that possible with lines? Lines have to  
rotate, morph shape, etc.

3) Are non-straight lines possible? (e.g. bezier, arc)

The idea for me is to make a simple mindmap
   - elements with some text, icons, math symbols inside
   - connectors (non-straight lines) between elements

To me (apart from the lines) it seems like it should be already doable.

Also either my (Morphic) Pharo is really slow, or Bloc (in the video)  
is superfast (everything is happening instantly).


Thanks,
Peter
___
Moose-dev mailing list
moose-...@list.inf.unibe.ch
https://www.list.inf.unibe.ch/listinfo/moose-dev








--
Using Opera's mail client: http://www.opera.com/mail/

[Pharo-dev] Raw pane on byteStrings

2017-02-23 Thread stepharong

Hi

I'm trying to debug citezen generation and I have to compare strings.
Now I think that the raw views (in Pharo 50) is not good because we cannot  
see all the items in raw format.

See the attachements. It jumps from 21 to 174 ...
and what I want to see is of course in the middle.

Is it me or there is something wrong there.
Stef

Re: [Pharo-dev] Epicea - showing latest lost changes

2017-02-23 Thread stepharong

I agree :)

On Wed, 22 Feb 2017 18:10:35 +0100, Ben Coman  wrote:


One thing I am missing from Epicea that I used to be able to do
is being able to filter out old changes.  If I've been thrashingsome  
method back and forth between a few implementations,often I don't want  
to see *all* the old changes,only the latest ones.  
An option to restore old versions would also be nice, but I don't think  
that feature existed previously.


cheers -ben




--
Using Opera's mail client: http://www.opera.com/mail/

[Pharo-dev] Why do we have doublequoting for "?

2017-02-23 Thread stepharong

about quoting ;(

Hi

I have a string

 '
Stéphane Ducasse and Damien Pollet,  
Fingerprints, Journal of  
Information System, 2010.


'

and when I do printIt in the debugger I get the following


 "'
Stéphane Ducasse and Damien Pollet,  
Fingerprints, Journal  
of Information System, 2010.


'"

I do not get why we doublequote the character "
inside string.

It means that I have to remove all the " inside to string to be able to  
express tests.


Stef



Re: [Pharo-dev] Any idea for a cool name for the remote tool suite?

2017-02-23 Thread p...@highoctane.be
Reach remote worlds with Pharocket!



Phil

On Thu, Feb 23, 2017 at 10:35 AM, Denis Kudriashov 
wrote:

> Philippe invented new word Pharocket :). Maybe it is the best for this
> project?
>
>
> 2017-01-30 17:09 GMT+01:00 Dimitris Chloupis :
>
>> Also I think its fair that the guy that wrote the code to pick the name,
>> its his baby afterall, whether he is paid for it or not. He earned that
>> right.
>>
>> On Mon, Jan 30, 2017 at 6:06 PM Dimitris Chloupis 
>> wrote:
>>
>>> Just for the record, the name does not matter
>>>
>>> As a matter of fact if you want the name to really sell the library/
>>> tools then the last thing you want is a name that makes any logical sense
>>>
>>> You have much better chance to catch attention with "Pink Elephant" than
>>> "Pharo Remote tools" or whatever
>>>
>>> illogical names monopolise the software market
>>>
>>> Python
>>> Ruby on Rails
>>> Django
>>> Blender
>>> Unreal
>>> Unity
>>> Javascript
>>> Java
>>> C
>>> C++
>>> Windows
>>> MacOS
>>>
>>> and so on
>>>
>>> Developers choose to name their projects the craziest names and wisely so
>>>
>>> the name is there to catch attention, not to make sense or come up top
>>> on google search.
>>>
>>> In the end what it matters is the code itself.
>>>
>>> Ruby On Rails did not become populary because we love ruby stones or we
>>> love go "too...tooo" on rails ... its popular because the library has
>>> been very useful to many people.
>>>
>>> And the name itself guarantees that it wont come up top in google search
>>> because it has nothing unique about it.
>>>
>>> The rest is just marketing ;)
>>>
>>
>


Re: [Pharo-dev] Raw pane on byteStrings

2017-02-23 Thread Andrei Chis
Hi Stef,

Currently that's the default behaviour of the Raw view: it displays for
collections only the first and the last 21 elements. The Items view however
always should display all the elements of a collection.

The main problem with the Raw view in Pharo 5 is the speed. In Pharo 6 now
the speed of the Raw view is greately improved so we could increase those
limits. Still for now there should still be some limit for the Raw view.
Ideally we should add a small widget, something like a paginator, for
navigating through large and very large collections.

Cheers,
Andrei

On Feb 23, 2017 19:35, "stepharong"  wrote:

> Hi
>
> I'm trying to debug citezen generation and I have to compare strings.
> Now I think that the raw views (in Pharo 50) is not good because we cannot
> see all the items in raw format.
> See the attachements. It jumps from 21 to 174 ...
> and what I want to see is of course in the middle.
>
> Is it me or there is something wrong there.
> Stef


Re: [Pharo-dev] Why do we have doublequoting for "?

2017-02-23 Thread Gabriel Cotelli
Try doing Ctrl+P twice. It will not comment the printed string.

On Thu, Feb 23, 2017 at 4:17 PM, stepharong  wrote:

> about quoting ;(
>
> Hi
>
> I have a string
>
>  '
> Stéphane Ducasse and Damien Pollet,
> Fingerprints, Journal of
> Information System, 2010.
> 
> '
>
> and when I do printIt in the debugger I get the following
>
>
>  "'
> Stéphane Ducasse and Damien Pollet,
> Fingerprints,  class=""journal"">Journal of Information System,  class=""year"">2010.
> 
> '"
>
> I do not get why we doublequote the character "
> inside string.
>
> It means that I have to remove all the " inside to string to be able to
> express tests.
>
> Stef
>
>


Re: [Pharo-dev] Why do we have doublequoting for "?

2017-02-23 Thread stepharong

Thnkas gabriel
I'm hacking in an old Pharo 50 image and it was terrible because printit  
even a copyReplaceAll: '""' byt: '"'

did not work.
I do not understand what is the scenario to double quote comment character  
"


I understand single quotes but not double quotes.
stef


Try doing Ctrl+P twice. It will not comment the printed string.

On Thu, Feb 23, 2017 at 4:17 PM, stepharong  wrote:

about quoting ;(

Hi

I have a string

'
Stéphane Ducasse and Damien Pollet,  
Fingerprints, Journal  
of Information System, >class="year">2010.


'

and when I do printIt in the debugger I get the following


"'
Stéphane Ducasse and Damien  
Pollet, Fingerprints, class=""journal"">Journal of Information System, >>class=""year"">2010.


'"

I do not get why we doublequote the character "
inside string.

It means that I have to remove all the " inside to string to be able to  
express tests.


Stef







--
Using Opera's mail client: http://www.opera.com/mail/

Re: [Pharo-dev] Raw pane on byteStrings

2017-02-23 Thread stepharong

Hi andrei

Yes. The problem is that it makes the raw view sometimes totally useless  
as in my case.

I could not see anything I was interesting in.
I found the pagniator confusing a bit because it expands in the middle (it  
means that when I want to see 54 and over then I have to scroll in the  
middle

because 50 is not a the top like in a book page.

Stef


Hi Stef,

Currently that's the default behaviour of the Raw view: it displays for  
collections only the first and the last 21 elements. The Items view  
however always should display all the elements of a >collection.


The main problem with the Raw view in Pharo 5 is the speed. In Pharo 6  
now the speed of the Raw view is greately improved so we could increase  
those limits. Still for now there should still be >some limit for the  
Raw view. Ideally we should add a small widget, something like a  
paginator, for navigating through large and very large collections.


Cheers,
Andrei

On Feb 23, 2017 19:35, "stepharong"  wrote:

Hi

I'm trying to debug citezen generation and I have to compare strings.
Now I think that the raw views (in Pharo 50) is not good because we  
cannot see all the items in raw format.

See the attachements. It jumps from 21 to 174 ...
and what I want to see is of course in the middle.

Is it me or there is something wrong there.
Stef




--
Using Opera's mail client: http://www.opera.com/mail/

Re: [Pharo-dev] Pharo 60 : 60410 DNU on commit and no idea how to copy the stack :((((((((((((((((((((((((((((((((((((((((((((((

2017-02-23 Thread Andrei Chis
On Thu, Feb 23, 2017 at 10:55 PM, stepharong  wrote:

> Pharo 6.0
> Latest update: #60410
>
> Hi
>
> Several points that we MUST improve
>
> - I often get an error when I save code.
> SubscriptOutOfBounds: 0
>
>
> extent
> ^ self actualWidth
> ifNil: [ self minimumExtent ]
> ifNotNil: [
> (self actualWidth + self margins left + self
> margins right)
> @ (self lines last bottom - self lines
> first top + self margins top + self margins bottom) ]
> In RubParagraph
> apparentl self lines last...
> tries to access the 0 indexed element :(
>
>
> - How do we get the old textual stack description?
>

In the toolbar menu of the stack you find 'Fuel out stack' and 'Copy to
clipboard'.
'Copy to clipboard' copies a textual description of the stack that can then
be pasted in an email.
Is this the "old textual description" or are you referring to something
else?


>
> Now I wanted to report it and share with you the stack. oh boy!
> I thought it was file out but no it just save one method
> definition (So great)
>

What action did you use to file our the textual description?

Cheers,
Andrei



>
> I got Fuelout the stack in the menu but this is not what I want.
> :(((


> - Finally
> BTW I clicked on report and I have no idea what it does not mean.
> The fly by help is empty :(
>
>
> So like an idiot I did a screen capture.
> This broke totally my feel. In less than 10 min I left like either the
> system became less good or I'm totally stupid.
>
> Stef


Re: [Pharo-dev] Raw pane on byteStrings

2017-02-23 Thread Ben Coman
A couple of random side-thoughts for Pharo 7. Would it be possible...
* to have a "diff" tab, for example to compare two strings side by side,
perhaps highlighting and being able to jump to the differences.
* to somehow reference the parent pane, for example if the current pane
shows a string element from an array, I can grab another string from the
same array to diff against
* coming at it from the other way, perhaps an array [Items] tab could be
multi-selected for elements to diff

* it would be nice if you could right-click on a tab to get a menu item to
open its implementation. Then in this case Stef might jump to the
implementation of the [Raw], change the tab's name, remove the code
skipping middle elements and in a few minutes have a new tab doing what he
wants.
* perhaps the tab menu item could be called "Customize" and it
automatically copies and renames the [Raw] tab implementation into the
String class so its ready for editing.

cheers -ben

On Fri, Feb 24, 2017 at 3:19 AM, Andrei Chis 
wrote:

> Hi Stef,
>
> Currently that's the default behaviour of the Raw view: it displays for
> collections only the first and the last 21 elements. The Items view however
> always should display all the elements of a collection.
>
> The main problem with the Raw view in Pharo 5 is the speed. In Pharo 6 now
> the speed of the Raw view is greately improved so we could increase those
> limits. Still for now there should still be some limit for the Raw view.
> Ideally we should add a small widget, something like a paginator, for
> navigating through large and very large collections.
>
> Cheers,
> Andrei
>
> On Feb 23, 2017 19:35, "stepharong"  wrote:
>
>> Hi
>>
>> I'm trying to debug citezen generation and I have to compare strings.
>> Now I think that the raw views (in Pharo 50) is not good because we
>> cannot see all the items in raw format.
>> See the attachements. It jumps from 21 to 174 ...
>> and what I want to see is of course in the middle.
>>
>> Is it me or there is something wrong there.
>> Stef
>
>


Re: [Pharo-dev] Epicea - showing latest lost changes

2017-02-23 Thread Martin Dias
Hi. Does this report match your idea?
https://pharo.fogbugz.com/f/cases/19686/Epicea-Filters

Martin

On Thu, Feb 23, 2017 at 3:35 PM, stepharong  wrote:

> I agree :)
>
> On Wed, 22 Feb 2017 18:10:35 +0100, Ben Coman  wrote:
>
> One thing I am missing from Epicea that I used to be able to do
> is being able to filter out old changes.  If I've been thrashing
> some method back and forth between a few implementations,
> often I don't want to see *all* the old changes,only the latest ones.
>
> An option to restore old versions would also be nice, but I don't think
> that feature existed previously.
>
> cheers -ben
>
>
>
>
> --
> Using Opera's mail client: http://www.opera.com/mail/
>


Re: [Pharo-dev] Why do we have doublequoting for "?

2017-02-23 Thread Yuriy Tymchuk
So if you paste this as a comment somewhere you don’t have to manually add 
double double-quotes.

I don’t use the result of print it at all, but I guess there are two scenarios 
for it’s usage. One as you described: copy the result and use it in tests or in 
some further computation. (but if you use TDD test are already written ;P). 
Another one is to copy the result and paste it somewhere as a comment in your 
code, to access it easily afterwards. If you have a double quote in your result 
it will break the comment, so the thing is escaped automatically.

Uko

> On 23 Feb 2017, at 22:25, stepharong  wrote:
> 
> Thnkas gabriel
> I'm hacking in an old Pharo 50 image and it was terrible because printit even 
> a copyReplaceAll: '""' byt: '"'
> did not work. 
> I do not understand what is the scenario to double quote comment character " 
> 
> I understand single quotes but not double quotes. 
> stef
> 
> Try doing Ctrl+P twice. It will not comment the printed string.
> 
> On Thu, Feb 23, 2017 at 4:17 PM, stepharong  > wrote:
> about quoting ;(
> 
> Hi
> 
> I have a string
> 
>  '
> Stéphane Ducasse and Damien Pollet,  class="title">Fingerprints, Journal of 
> Information System, 2010.
> 
> '
> 
> and when I do printIt in the debugger I get the following
> 
> 
>  "'
> Stéphane Ducasse and Damien Pollet, 
> Fingerprints, Journal of 
> Information System, 2010.
> 
> '"
> 
> I do not get why we doublequote the character "
> inside string.
> 
> It means that I have to remove all the " inside to string to be able to 
> express tests.
> 
> Stef
> 
> 
> 
> 
> 
> -- 
> Using Opera's mail client: http://www.opera.com/mail/ 
> 


Re: [Pharo-dev] Why do we have doublequoting for "?

2017-02-23 Thread stepharong

Yuriy


Why does it make sense to have "" "" inside strings?


So if you paste this as a comment somewhere you don’t have to manually  
add double double-quotes.


Did you read my example?
I do not need any double double quotes.


I don’t use the result of print it at all, but I guess there are two  
scenarios for it’s usage. One as you described: copy the result and use  
it in tests or in some further computation.


But this is exactly what I cannot do with this stupid doubling of double  
quotes



(but if you use TDD test are already written ;P).


well...

Another one is to copy the result and paste it somewhere as a comment in  
your code, to access it easily afterwards. If you have a double quote in  
your result it will break the comment, so the >thing is escaped  
automatically.


Probably but here this is inside a string.
I think that this heuristic is totally bogus.



Uko


On 23 Feb 2017, at 22:25, stepharong  wrote:

Thnkas gabriel
I'm hacking in an old Pharo 50 image and it was terrible because  
printit even a copyReplaceAll: '""' byt: '"'
did not work.I do not understand what is the scenario to double quote  
comment character "

I understand single quotes but not double quotes.stef


Try doing Ctrl+P twice. It will not comment the printed string.

On Thu, Feb 23, 2017 at 4:17 PM, stepharong  wrote:

about quoting ;(

Hi

I have a string

'
Stéphane Ducasse and Damien  
Pollet, Fingerprints, class="journal">Journal of Information System, class="year">2010.


'

and when I do printIt in the debugger I get the following


"'
Stéphane Ducasse and Damien  
Pollet, Fingerprints, class=""journal"">Journal of Information System, class=""year"">2010.


'"

I do not get why we doublequote the character "
inside string.

It means that I have to remove all the " inside to string to be able  
to express tests.


Stef







--Using Opera's mail client: http://www.opera.com/mail/






--
Using Opera's mail client: http://www.opera.com/mail/

Re: [Pharo-dev] Epicea - showing latest lost changes

2017-02-23 Thread stepharong

Hi martin

Thanks for our constant improvement of epicea.
In VW they have a nice way to filter

you can filter the entitiies
 doit or not
 method or not
 packages or not
and you can deselect a selected item.

this way you can say I do not want any doit except this one.



On Fri, 24 Feb 2017 06:29:36 +0100, Martin Dias   
wrote:


Hi. Does this report match your idea? 
https://pharo.fogbugz.com/f/cases/19686/Epicea-Filters

Martin

On Thu, Feb 23, 2017 at 3:35 PM, stepharong  wrote:

I agree :)

On Wed, 22 Feb 2017 18:10:35 +0100, Ben Coman   
wrote:



One thing I am missing from Epicea that I used to be able to do
is being able to filter out old changes.  If I've been thrashingsome  
method back and forth between a few implementations,often I don't want  
to see *all* the old changes,only the latest ones.  
An option to restore old versions would also be nice, but I don't  
think that feature existed previously.


cheers -ben




--Using Opera's mail client: http://www.opera.com/mail/






--
Using Opera's mail client: http://www.opera.com/mail/

Re: [Pharo-dev] Pharo 60 : 60410 DNU on commit and no idea how to copy the stack :((((((((((((((((((((((((((((((((((((((((((((((

2017-02-23 Thread stepharong
On Fri, 24 Feb 2017 00:05:10 +0100, Andrei Chis  
 wrote:





On Thu, Feb 23, 2017 at 10:55 PM, stepharong  wrote:

Pharo 6.0
Latest update: #60410

Hi

Several points that we MUST improve

- I often get an error when I save code.
SubscriptOutOfBounds: 0


extent
   ^ self actualWidth
   ifNil: [ self minimumExtent ]
   ifNotNil: [
   (self actualWidth + self margins left + self  
margins right)
   @ (self lines last bottom - self lines  
first top + self margins top + self margins bottom) ]

In RubParagraph
   apparentl self lines last...
   tries to access the 0 indexed element :(


- How do we get the old textual stack description?


In the toolbar menu of the stack you find 'Fuel out stack' and 'Copy to  
clipboard'.
'Copy to clipboard' copies a textual description of the stack that can  
then be pasted in an email.
Is this the "old textual description" or are you referring to something  
else?


Ok this is what I was looking for.
It looks like a generic copy past entry so I did not tried it.
Can you rename it into  copy textual stack?

Then I do not get why we could not get action about the current context  
and action about the complete stack together.

Because these are not method that we see but contexts.




   Now I wanted to report it and share with you the stack. oh  
boy!
   I thought it was file out but no it just save one method  
definition (So great)


What action did you use to file our the textual description?


fileout in the main menu when you clik on the stack element.
I never ever used it since 2006.



Cheers,
Andrei




   I got Fuelout the stack in the menu but this is not what I want.  
:(((


- Finally
   BTW I clicked on report and I have no idea what it does not  
mean. The fly by help is empty :(



do you have an idea about what is this Send a report: it looks totally  
obscure and useless.






So like an idiot I did a screen capture.
This broke totally my feel. In less than 10 min I left like either the  
system became less good or I'm totally stupid.


Stef






--
Using Opera's mail client: http://www.opera.com/mail/