Hi Eliot

I would like to make some clarifications. 

Preamble: 
--------------
I was thinking that I should not reply but I think that I have the right to 
clarify a bit because I do not like several points. 
I reply as Stef "the guy that had the vision of Pharo and that spent 10 years 
pushing and building Pharo.”
So I think that it makes me credible enough.

My points:
-------------
        - With you this is always the same: I’m too emotional and it ends 
everything. Stephane is emotional 
        so we cannot communicate with him. You often place yourself as a 
professional and that I’m emotional. 
        Could you stop this little game because to me it starts to be a bit 
boring? Or I will just put a filter and 
        trash systematically your emails. 
        
        - Last week you told us that time bombing our process was a bad idea in 
an answer about settings
        keeping references instead of releasing them. 
        First this had nothing to do with the problem.
        You see P7 was delayed because we considered that the system was not 
ready but P7 should be released.   
        May I make the remark that the world is using time-based delivery?

        - About CMake, you may be right that makefile is better than CMake but 
a part of the world is using 
        CMake and the net result is that we lost our effort and infrastructure 
just to follow you. Ronie uses CMake.  
        Igor which I consider as a talented developer used CMake because he 
thought it was the best tool 
        he should use. 
        
        - About infrastructure and process.
        I wanted to check the REplugin this week end because we should use it 
since the world
        is using Perl reg-expression and I could not find the code of the 
plugin on github.
        I saw that some plugin code is not even versioned and only available on 
a strange ftp and it was surprising 
        to me. I’m still surprised that after 3 years (when esteban requested 
that all plugin code are grouped together
        in a single place, this is still not the case). 

        - Did it not look strange to you that Esteban left the VM list in the 
past? 
        Esteban looks like a reasonable and stable person to me.

        - You are systematically telling to me that I’m offended when people 
criticized us. I’m not offended by critics.
        We are not offended by critics. 
        We have internal emails that are much more violent about our own 
process. 
        We are not blind and we reflect on our own process and we invite people 
to REPORT problems. 
        Now we ask people to be credible when they do it because we are busy
                - report situation
                - step by step reproducibility
                - proportionality of the voice versus the problem
                - and not been offensive

        We did not see any official reports about problems that we may have 
introduced. 

        - You are vocal about “instability". And you report that one method 
changed. Seriously?
        Are you not exagerating a bit?
        Let us talk about instability:
                - When we talk about instability we talk about the fact that we 
cannot use for real ephemerons 
                because they corrupt the memory and that we get random crash.
                - We had instability when we have memory leaks that randomly 
slows down Pharo. 
                - We had instability which delays our release with a bug in FFI 
that made cairo crash on windows 64 bits.
        
If you want to interact with us (and not only me, because I’m the tip of the 
iceberg
and many people are frustrated by your attitude), let us start with positive 
communication and attitude:

        - You express your problems and we see how we (together) can fix them. 

        - You can contribute by writing tests and by entering bug entries in 
the bug tracker.

About Pharo:
————————
We understand that some people do not like it but we do not force anybody use 
and make business with it. 
Now I want to make something super clear: Pharo will not sacrifice agility and 
improvements on the altar of 
compatibility with Squeak. 

Pharo will change because Pharo is agile and because many things should be 
improved. 
We pay real attention about backwards compatibility. Much more than people 
think. 
Because we have many external projects and libraries that we support. 
Now if Pharo is used to build the VM then we will have to find a way to pay 
attention. 
And we will reinvest in building a process that checks this. 

Our problem is that integration time cannot take hours and right now validating 
Pharo is
a bit too long. We will work on it. 

We strongly advocate to invest in tests. Tests are a good mechanisms to support 
evolution. 
If you have tests we can automatically rewrite deprecated methods and we will 
use this more often. 

We finally start to have:
        - a better compiler and not an ancient one which reported error as 
Morph.
        - a better architecture, more modular
        - a real bootstrap (we should improve it and build tools to support it 
- we are working on it)
        - strong libraries (File, Stream, HTTP) more documented and tested
        - better tools (Iceberg and Calypso are definitively steps in the right 
direction)
And we will continue to improve. 
We will iterate on all these to make Pharo even better. 
We are writing more tests to support those changes. 

I repeat it: I think that we are doing a pretty good job about the quality that 
we deliver. 

Stef


> On 11 Jan 2019, at 18:54, Eliot Miranda <eliot.mira...@gmail.com> wrote:
> 
> Hi Stef,
> 
>> On Jan 10, 2019, at 7:59 AM, ducasse <steph...@netcourrier.com> wrote:
>> 
>> Eliot I would like also two points to this.
>> 
>> - First we asked thomas to write tests about the debugger model and you see 
>> if they would be tests about methods we could understand 
>> that they are used and control what they do. So we should all thank thomas 
>> for his energy in this not so easy task.
>> 
>> - Second it would be nice if you could refrain to be systematically negative 
>> about what we are doing. I think that our development process
>> is much better than many others :) It is not perfect because this does not 
>> exist. 
>> I think that we are doing a great job make Smalltalk cool. And yes it may 
>> happen that one untested, undocumented method
>> get lost. I think that we are doing pretty good given the resources we have. 
> 
> Even more serious an issue for the Pharo community than a development process 
> which fails to support the Ned’s of users is a defensive attitude that does 
> not want to discuss serious issues maturely. I bring up the stability and 
> backward-portability issue because it is *important*; it has affected 
> Clément’s ability to deliver Sista and my and feenk’s efforts to support VM 
> development on Pharo.  If your response to my trying to discuss seriously and 
> objectively a problem that needs discussion is always to say “please don’t be 
> negative” I have even less confidence that Pharo can be a realistic platform 
> for my work and the work of others.
> 
> 
>> Stef
>> 
>>> On 10 Jan 2019, at 15:11, Eliot Miranda <eliot.mira...@gmail.com> wrote:
>>> 
>>> Hi Thomas,
>>> 
>>>> On Jan 10, 2019, at 2:24 AM, Thomas Dupriez via Pharo-dev 
>>>> <pharo-dev@lists.pharo.org> wrote:
>>>> 
>>>> <mime-attachment>
>>> 
>>> in a stack of contexts the active pc is different for the top context.  For 
>>> other than the top context, a context’s pc will be pointing after the send 
>>> that created the context above it, so to find the pc of the send one finds 
>>> the previous pc.  For the top context its pc is the active pc.
>>> 
>>> Typically the debugger is invoked in two different modes, interruption or 
>>> exception. When interrupted, a process is stopped at the next suspension 
>>> point (method entry or backward branch) and the top context in the process 
>>> is the context to be displayed in the debugger.  When an exception occurs 
>>> the exception search machinery will find the signaling context, the context 
>>> that raised the exception, which will be below the search machinery and the 
>>> debugger invocation above that. The active pc of the signaling context will 
>>> be the of for the send of digbsl et al.
>>> 
>>> So the distinction is important and the utility method is probably useful.
>>> 
>>> Do you want to remove the method simply because there are no senders in the 
>>> image?
>>> 
>>> If so, this is indicative of a serious problem with the Pharo development 
>>> process.  In the summer I ported VMMaker.oscog to Pharo 6.  Now as feenk 
>>> try and build a VMMaker.oscog image on Pharo 7, the system is broken, in 
>>> part because of depreciations and in part because useful methods 
>>> (isOptimisedBlock (isOptimizedBlock?) in the Opal compiler) have been 
>>> removed.
>>> 
>>> Just because a method is not in the image does not imply it is not in use.  
>>> It simply means that it is not in use in the base image.  As the system 
>>> gets modularised this issue will only increase.  There are lots of 
>>> collection methods that exist as a library that are not used in the base 
>>> image and removing them would clearly damage the library for users.  This 
>>> is the case for lots of so-called system code.  There are users out there, 
>>> like those of us in the vm team, who rely on such system code, and it is 
>>> extremely unsettling and frustrating to have that system code change all 
>>> the time.  If Pharo is to be a useful platform to the vm team it has to be 
>>> more stable.
>> 
>> 
>> 



Reply via email to