Hi doru

Hi,

I think email is not particularly good for this. Let’s talk directly next week.

Yes I suggest that we plan multiple talks because one will not be enough. 
We should also present what we will do around Spec2 but first we should have a prototype because it will 
clean a lot of mess and works with Morphic and Bloc. 

In the meantime, here is some input:

It would be great to align the development of Moose with that of Pharo. We were waiting for this for a long time, and now that Pharo is built similar to how other projects are built, we can finally do it. So, this is really great!

You will tell me what you mean because this is not clear. 
I do not see for now the difference. 


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. 

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 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. 

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.


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.

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. 

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. 


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. 

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 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.

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 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. 
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. 


Stef


Cheers,
Doru


On Mar 17, 2018, at 6:39 PM, Stéphane Ducasse <stephane.ducasse@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@inria.fr> wrote:


On 17 Mar 2018, at 17:42, Tudor Girba <tudor@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@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@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@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@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@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@list.inf.unibe.ch
https://www.list.inf.unibe.ch/listinfo/moose-dev

--------------------------------------------
Stéphane Ducasse
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