--- Begin Message ---
So when I read your emails everything looks perfect from your side.
So let it be.
Stef
> On 16 Jan 2019, at 23:15, Eliot Miranda <eliot.mira...@gmail.com> wrote:
>
> Hi Stef,
>
>
> thanks for taking the time to respond so thoughtfully.
>
> On Mon, Jan 14, 2019 at 12:20 AM ducasse <steph...@netcourrier.com
> <mailto:steph...@netcourrier.com>> wrote:
> 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.
>
> You do not have to defend your credentials. The community is aware of your
> contributions.
>
>
> 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.
>
> I do not say "Stephane is emotional so we cannot communicate with him.". I
> do think you let your emotions show too much and that it makes communication
> with you difficult. But more importantly, a leader is more effective if they
> can reign in their emotions and not criticize people in public, and so on. I
> mention your emotionality not to denigrate you but to hope that communication
> in the community can improve. You have as much to gain as anyone, arguably
> more, from not taking things so personally and being less emotional. If we
> analyze the above statement we see that it is coercive: stop criticizing my
> emotionality or I will stop reading your emails. One could instead be open:
> "Why is it that you criticize me as being emotional?", "Can you give me
> evidence of me being emotional?" etc. Instead you open with a defensive
> position, and with a threat. If, later on, having started filtering out my
> emails, you found you had to respond again, because we have common interests
> and those interests cause us to need to interact, you will put yourself in a
> weak position having to back track on your filtering.
>
>
> - 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.
>
> No. I said that my opinion is that time boxing releases is a bad idea. This
> is not about settings, it is about the content of releases. For me, a release
> is done when it satisfactorily meets objective release criteria: tests pass,
> a subset of new features planned for the release are functional, etc. That
> releasing something that is incomplete or broken does not help. I base this
> on long experience with VisualWorks, Qwaq and Squeak.
>
> 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?
>
> May I make the remark that what others choose to do does not make it right?
>
> - 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.
>
> Yes, and I disagree about the way that they use it, and for good reason. I
> have defended my use of Makefiles for a long time, for objective reasons. I
> have also proposed good ways for using CMake (to derive a platform-specific
> header file defining available platform-specific features). But my objection
> to Igor's process was that he generated sources on each build. And my
> objections to Ronie's use of CMake for the minheadless build are that a) it
> is slow and b) explicit feature sets are much better than the implicit
> feature sets that arise when using CMake.
>
> - 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).
>
> Esteban is free to move the code into VMMaker.oscog. VMMaker.oscog below to
> the community. It is wrong to expect me, a member of that community, to do
> all the leg work. The VM is called opensmalltalk-vm for a reason.
>
> - 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.
>
> Would you like to expand on this? I find your sentence vague. If you have
> specifics you would like to address I am open to hearing them.
>
> - 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.
>
> Wow, that does not sound good. Surely a discussion over process does not
> have to be violent.
>
> We are not blind and we reflect on our own process and we invite
> people to REPORT problems.
>
> Do you invite them to discuss problems also? Is the only avenue by which a
> problem can be raised through a bug tracker? What is the bug that covers
> this discussion?
>
> 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?
>
> My comment comes from the frustration of having prepared a functional system
> in Pharo 6 only to find that it no longer works in Pharo 7. Am I wrong to
> feel frustrated? Would you not also feel frustrated? Would you not also
> want to discuss this? Would you not also, as the maintainer of a package
> upon which Pharo depends, want to have that package well-supported and n to
> be one that is frequently broken?
>
> 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.
>
> Um, I have reached out on numerous occasions for test cases. I haven't
> received a test case or complaint on ephemeris for many months, perhaps over
> a year (I will check). I am very motivated to fix these problems. Please
> bring them to my attention on vm-dev. They will receive prompt attention. I
> love working on this part of the system, ads does Clément. I am eager to see
> ephemeris deployed in Squeak, Pharo and Cuis, especially to improve file
> handling, specifically arranging that files are flushed on close, and that we
> do not have two copies (one inevitably out of date) of each file, simply to
> arrange that file handles are closed on finalization.
>
> - We had instability when we have memory leaks that randomly
> slows down Pharo.
>
> Indeed, and memory leaks are not necessarily caused by the GC, but by handles
> to external memory, something that affects Pharo deeply because its graphics
> model uses external libraries, and hence requires more careful interfacing
> with external libraries, something that would be improved by having reliable
> ephemeron support.
>
> I am quite confident that there are no memory leaks in the Spur GC; but I'm
> happy to be proved wrong and, along with Clément, who is currently doing
> great work on the GC, work that we hope to show a string publication for very
> soon, I will be happy to attempt to fix any memory leaks that are the fault
> of the GC, and not thin the FFI.
>
> - We had instability which delays our release with a bug in
> FFI that made cairo crash on windows 64 bits.
>
> Yes, there are bugs in the VM. And what's your point?
>
> 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.
>
> That's what I'm trying to do.
>
>
> - You can contribute by writing tests and by entering bug entries in
> the bug tracker.
>
> I write tests in VMMaker and elsewhere. Being able to load VMMaker into
> Pharo and run the simulator, generate sources, do in-image compilation, and
> run its test suites is a significant number of tests. I work principally in
> Squeak. I interact with lots of people in the Pharo community. I am here,
> interacting now.
>
> 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.
>
> I am not asking that the Pharo community do that. I am asking that the
> VMMaker package continue to work from releases to release. From Pharo 6 to
> Pharo 7 that did not happen.
>
> Pharo will change because Pharo is agile and because many things should be
> improved.
>
> and because it has a high-quality VM beneath it that has improved performance
> exponentially in the move from interpreter, stack interpreter, cog v1 and
> spur, and should continue to do so through Sista. We are all working hard to
> make things better.
>
> 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.
>
> Good; thank you.
>
>
> 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.
>
> Glad to hear it. And I'm very much aware of this work and support it
> wholeheartedly. And in the VM we are doing similar things.
>
> I repeat it: I think that we are doing a pretty good job about the quality
> that we deliver.
>
> I agree.
>
> Stef
>
> Thank you.
> Eliot
>
>
>
> > On 11 Jan 2019, at 18:54, Eliot Miranda <eliot.mira...@gmail.com
> > <mailto:eliot.mira...@gmail.com>> wrote:
> >
> > Hi Stef,
> >
> >> On Jan 10, 2019, at 7:59 AM, ducasse <steph...@netcourrier.com
> >> <mailto: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
> >>> <mailto: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 <mailto: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.
> >>
> >>
> >>
>
>
>
>
>
> --
> _,,,^..^,,,_
> best, Eliot
--- End Message ---