And I
also do not want to have 1 year releases. In fact, that is why for our work we actually
use the latest version. The only reason why we did not have faster releases was that there
was no reliable way to do it, except the manual way. Right now, we still do not have such
a way for Git either, and this is not a problem unique to Moose. It would be great work on
some solution for this problem to benefit all Pharo projects.
With git I thought that you can reload a version and dependent components held in the
same repository based on a hash.
We do not need to handle the versions as with MC but I think that this only works for
components stored in the same repo.
This is why we should really think about what is Moose.
I will ask the experts around.
The problem is when you have multiple repositories, and a deeper nesting level. Indeed,
we do not have version methods, but we still have to change the string inside the baseline
to point to specific version of a dependency.
For
Glamour and existing GT, we can deal with bugs at most, but we will not invest in further
development. The memory leaks problem seems to have reappeared. This shows that we do not
have the right tools for understanding it, and I would be happy to work with someone that
wants to invest in this, especially when it comes to Announcements.
Discuss with esteban. Because we should do something.
Ok.
Ok this is good to know. Because Moose++ should
not rely on Glamour then and it means that RMOD will not invest there. I suspected it
so good to know.
We think that except GTTool, Pharo should not depend on Glamour so that we can unload it.
So we will check and redo all the tools
that are not GT to not use Glamour.
Ok.
Now there are two problems that I would like to
see changed in the future
- no comment at all in methods. This is the last time that I accept components in Pharo
in that state
Same apply for Spec and other BTW
- Subclasses when superclass could have been improved. For example GLMAnnouncer methods
should not be there
but most of them should have been put the superclass. This is not the way to grow a
strong infrastructure.
- Having all the classes subclasses of Announcer looks like a bad design strategy.
We are now talking about things that happened 9 years ago :). In VW, every object is
announcer. As Glamour came in Pharo from VW, it was the simpler move strategy.
Indeed, GLMAnnouncer should not exist, but the logic of GLMAnnouncer is quite specific
(suspending announcements) to Glamour and we did not find a nice way to make it properly
reusable, and that is why it did not get into Announcer. We had a long discussion about
this with Igor, and at the time he was guarding Announcements, so nothing was integrated.
On the UI
front, our complete energy is on Bloc, and the goal is both to produce the IDE for Pharo
and to provide the browsing infrastructure for Moose. Over the past year, the main UI we
used when working with Moose was the Moose Playground and GTInspector and it works really
well. This shows that the investment in Bloc can pay off easily for Moose as well.
I have large concerns about the engineering behind GT widgets and Glamour and overall
super complex design of GT in general.
I can understand that you want generic solution but generic solutions have a cost.
Now I sincerly hope that the new version will be less complex because Pharo needs
simplicity and often
you discarded this argument but this argument is real and it can kill us. We cannot for
example spent days looking for memory leaks.
I did not discard the argument. But that was the best solution I could find, and others
did not produce a better one.
Of course generic infrastructures have a cost. Now, before considering the cost of
generic solutions, we should also compare it with the cost of maintaining 1000s of
concrete use cases (such as inspector extensions). As you know, finding the right
abstraction is difficult. For example, Traits underwent several implementations over 15
years, and now we have another one. You have a similar issue with Spec. For me, this is
actually great. All of these served a purpose at the time, but the important part is that
they were shipped even if they were not perfect.
Now you see something that is symptomatic to me:
let us look at Beacon / SystemLogger.
I do not care about SystemLogger. Now I worked on it (and the design could be better).
Then you came with Beacon which basically killed SystemLogger.
Then nothing. We still have this fucking Transcript everywhere and not object transcript.
There were not a single effort to build the next step. While I was planning to do it with
SystemLogger.
You killed my energy and all the effort around. And you produce Beacon and two people are
using it.
So I will check with the guys here what they think about Beacon and may be do a pass on
SystemLogger or another iteration.
Now for me the main problem (and there is a pattern with Glamour here) is that
I do not know how to maintain Beacon while I know how to maintain SystemLogger (it is
limited and simple and not
super generic and super powerful but I can maintain it). The same happens with Glamour.
Probably the same happens with Spotter.
If esteban cannot fix easily Glamour (Iceberg suffered A LOT of bugs in Glamour like the
refresh to index in list) then there is an ENGINEERING problem.
Now we can discard this argument. The point is still there.
I do not understand this part. Beacon was moved under the Pharo umbrella, but its
integration was postponed multiple times due to various other external reasons in Pharo
that were not under my control. Now, Beacon also came with documentation, and its
implementation is smaller and has less concepts than SystemLogger (the main engine has 303
lines of code). I would be very happy to push it, but I do not know what else to do right
now :(.
So at the end I want to say that I may prefer
that Pharo does not have hyperfancy features that only two people master
and that we (the guy spending time on cleaning) can manage our system.
I have a different opinion.
Also,
beside the UI, the new GT also comes with visual components, like Mondrian and Diagrammer,
and with the basic support for documentation with Documenter.
I am not sure I understand what not loading GTExample mean.
The point is that we should take care of modularity and I would like to avoid to be also
forced to pay attention for others.
Sure.
Bloc/Brick/GT are tested and documented like this, so we need to have that around.
We will have to check this because even for Pharo we want to avoid to have the
Glamour/Annoucement hell around
when you will consider that another project is more important.
I am not sure I see the similarity between GTExample and Announcements. Can you explain?
I guess
that you are referring to the issue "GT-Examples-Roassal2 should not be packaged in
GT-Examples #1180”. I think there is a confusion, so I added a comment for that:
https://github.com/moosetechnology/Moose/issues/1180#issuecomment-373904295
Yes but not only.
You see when we introduced Glamour in Pharo. You remember I was against it and you said
that
it was only 35 classes and that I could maintain Morphic that was far more complex.
Net result. ***We*** were fighting multiple time with memory leaks. The design is overly
complex.
We invested in the memory leaks as well. But, I think it would be a pity to say that the
investment in GT had only costs and no benefits :).
What we introduce in Pharo should be maintainable
by the majority.
- method comments (look at Glamour not a single method comment!!!!!!!!!)
- decent class comments and not just plain shit “this class is abstract”
- tests and not with a super funky system that only one guy understand
- less use of Pragmas
- You see if
I use Statespecs and
you use GTExample and
denis use his testing framework because it is
cooler
then
when we improve SUnit (which we will do) then fewer components benefit from it
we have to pay attention to Statespecs, GTExample,….. instead of ONE framework.
I do agree that one framework is important. Now, SUnit is around since decades and did
not really change much so I do not think it would be such a bad thing to revisit its
usage. GTExample is not only SUnit replacement, but also a way to document and
communicate. I would be very happy to have a conversation about it. When I wanted to talk
about examples a couple of years ago, there was not much interest for it. So, we went on
to do our homework and now have significant case studies that drove significant projects,
and now we can have that conversation with more concrete facts around us.
I think that Pharo will get a lot more picky
about its components. So We are talking about Pharo 8.0
so you can be prepared. But do not come to tell me that we did not tell it.
Good. We will still continue producing components that are free and available and people
will be able to pick them if they want. The cool thing with Pharo getting more modular is
that now the cost of people trying things out is smaller so this should raise more
interesting debates, which I think is a healthy thing.
I really think that Pharo 8.0 will be about
massive cleaning up.
So as a community we will have to have a real discussion about Pharo 80
because we will raise the bar and I will push all my voice for that because we cannot
continue
like that.
I think that we should set some basic rules such as the tools we want for Pharo
development and the quality rules.
I agree.
Doru
Stef
Cheers,
Doru
> On Mar 17, 2018, at 6:39 PM, Stéphane Ducasse <stephane.ducasse(a)inria.fr>
wrote:
>
> I would like also to see what is the vision for the future of Moose.
>
> Because we will put some effort on the table but not blindly and I would like to
avoid to
> throw away months of work.
>
> I would like to know what is the status of Glamour development because iceberg shows
that Glamour is buggy.
> We also have memory leaks in Pharo because of GT tools and this is super annoying.
>
> I think that there are too many announcers to my personal taste
>
> stef
>
>> On 17 Mar 2018, at 18:26, Stéphane Ducasse <stephane.ducasse(a)inria.fr>
wrote:
>>
>>>
>>> On 17 Mar 2018, at 17:42, Tudor Girba <tudor(a)tudorgirba.com> wrote:
>>>
>>> Excellent!
>>>
>>> Andrei and I allocated next Tuesday to look into migrating the code to
GitHub. Can we sync on Discord for this?
>>
>> Yes it would be nice.
>>
>> Now tuesday we will have a meeting with Guille and others because for Pharo we
can make sure that
>> we can get exactly the same system to reproduce bugs and not end upi with
situation like two weeks ago where we could not get Pharo
>> opening. So may be the pattern for Pharo can be applied to Moose.
>>
>> For the new moose I do not want to have one year open session. I’m fed up to have
no possibility to go back in the past.
>> So we should find a solution and a real one. I’m not in the mood to lose my
energy on something that
>> is unmanageable and just a “fuite en avant”.
>> So may be automatic release every two weeks is a solution. It should not be
difficult to git.
>>
>> I also would like that subprojects are managed nicely and modularly. For example
I do not understand why we have Roassal-VW in Moose.
>> I want to make sure that we can get moose without GTExample also.
>>
>> We should have a pattern for subcomponents and projects.
>> PetitParser
>> SmaCC
>> Roassal
>> XML
>> …
>> Here we see already that there are difference. SmaCC easy it is external.
>>
>> I will start to migrate (I cleaned RoelTyper).
>>
>> Stef
>>
>>
>>>> On Mar 17, 2018, at 9:58 AM, Stéphane Ducasse
<stephane.ducasse(a)inria.fr> wrote:
>>>>
>>>> Hi guys
>>>>
>>>> We started to have a look at the bug entries of Moose on github.
>>>> We will start to migrate Moose to github. We will have to think how to
manage this.
>>>> Projects
>>>> Subprojects
>>>> Baseline migration
>>>>
>>>> I would like to enforce the following:
>>>>
>>>> - the feature todos should not be managed in the bug tracker. Trello is
good for this.
>>>> - Now todo related to current situation: such as remove empty class,
split package should at least the entry should be tagged with todo.
>>>> - close any bug entry that does not have a description how to reproduce
it.
>>>>
>>>> Stef
>>>>
>>>> --------------------------------------------
>>>> Stéphane Ducasse
>>>>
http://stephane.ducasse.free.fr
>>>>
http://www.synectique.eu /
http://www.pharo.org
>>>> 03 59 35 87 52
>>>> Assistant: Julie Jonas
>>>> FAX 03 59 57 78 50
>>>> TEL 03 59 35 86 16
>>>> S. Ducasse - Inria
>>>> 40, avenue Halley,
>>>> Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
>>>> Villeneuve d'Ascq 59650
>>>> France
>>>>
>>>> _______________________________________________
>>>> Moose-dev mailing list
>>>> Moose-dev(a)list.inf.unibe.ch
>>>>
https://www.list.inf.unibe.ch/listinfo/moose-dev
>>>
>>> --
>>>
www.tudorgirba.com
>>>
www.feenk.com
>>>
>>> "To lead is not to demand things, it is to make them happen."
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Moose-dev mailing list
>>> Moose-dev(a)list.inf.unibe.ch
>>>
https://www.list.inf.unibe.ch/listinfo/moose-dev
>>
>> --------------------------------------------
>> Stéphane Ducasse
>>
http://stephane.ducasse.free.fr
>>
http://www.synectique.eu /
http://www.pharo.org
>> 03 59 35 87 52
>> Assistant: Julie Jonas
>> FAX 03 59 57 78 50
>> TEL 03 59 35 86 16
>> S. Ducasse - Inria
>> 40, avenue Halley,
>> Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
>> Villeneuve d'Ascq 59650
>> France
>>
>> _______________________________________________
>> Moose-dev mailing list
>> Moose-dev(a)list.inf.unibe.ch
>>
https://www.list.inf.unibe.ch/listinfo/moose-dev
>
> --------------------------------------------
> Stéphane Ducasse
>
http://stephane.ducasse.free.fr
>
http://www.synectique.eu /
http://www.pharo.org
> 03 59 35 87 52
> Assistant: Julie Jonas
> FAX 03 59 57 78 50
> TEL 03 59 35 86 16
> S. Ducasse - Inria
> 40, avenue Halley,
> Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
> Villeneuve d'Ascq 59650
> France
>
> _______________________________________________
> Moose-dev mailing list
> Moose-dev(a)list.inf.unibe.ch
>
https://www.list.inf.unibe.ch/listinfo/moose-dev
--
www.tudorgirba.com
www.feenk.com
"Beauty is where we see it."
_______________________________________________
Moose-dev mailing list
Moose-dev(a)list.inf.unibe.ch
https://www.list.inf.unibe.ch/listinfo/moose-dev
--------------------------------------------
Stéphane Ducasse
http://stephane.ducasse.free.fr
http://www.synectique.eu /
http://www.pharo.org
03 59 35 87 52
Assistant: Julie Jonas
FAX 03 59 57 78 50
TEL 03 59 35 86 16
S. Ducasse - Inria
40, avenue Halley,
Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
Villeneuve d'Ascq 59650
France
_______________________________________________
Moose-dev mailing list
Moose-dev(a)list.inf.unibe.ch
https://www.list.inf.unibe.ch/listinfo/moose-dev
--
www.tudorgirba.com
www.feenk.com
"Obvious things are difficult to teach."
_______________________________________________
Moose-dev mailing list
Moose-dev(a)list.inf.unibe.ch
https://www.list.inf.unibe.ch/listinfo/moose-dev
03 59 35 87 52
Assistant: Julie Jonas
FAX 03 59 57 78 50
TEL 03 59 35 86 16
S. Ducasse - Inria
40, avenue Halley,
Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
Villeneuve d'Ascq 59650
France
_______________________________________________
Moose-dev mailing list
Moose-dev(a)list.inf.unibe.ch