tedious programming-in-the-debugger error needs fixing

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
52 messages Options
123
Reply | Threaded
Open this post in threaded view
|

Re: Development methodology (was: tedious programming-in-the-debugger error needs fixing)

Jakob Reschke
Sounds like Christoph wants an issue tracker that is integrated with the
version control system. GitHub just happens to be one of the platforms to
offer this (next to Bitbucket, and Gitlab, and Jira, and what not).

If I remember correctly, that is one of the reasons why Pharo has moved to
Git and GitHub: because they did not want to reinvent/reimplement these
tools.

There already is https://github.com/squeak-smalltalk/ and the squeak-app
repository over there (through Travis CI) is what sends us the smalltalkCI
reports for Trunk. Maybe we could use another repository there as an issue
tracker and subscribe issue/pull request comments to squeak-dev in the same
manner as the CI. (I don't suppose that the Mantis is still frequently used
or would send email to the list, correct?) Now since Squeak does not switch
to Git (given the feelings of several prominent people here towards Git),
what remains to be solved is the integration with the version control
system.

Maybe we have to build the proper Monticello frontend to Git repositories
after all... despite enjoying the non-Monticello tools such as the Git
Browser in and around HPI. I don't suppose anyone will be able to go the
other way around and write, maintain, and operate the custom Monticello
issue tracker platform in their free time.

Kind regards,
Jakob



Christoph Thiede wrote

> I will give a short case study and tell you how I think it probably could
> be
> performed more efficiently using the GitHub workflow:
>
> 1) I'm proposing a new extension to some Squeak component, let's say a
> menu
> for the HelpBrowser. To do this, I upload a new version to the inbox
> (Package-ct.2 based on Package-xyz.1).
> 2) Some kind person is giving me some feedback on the proposal so I am
> reworking it. To share the new version with the community, I have two
> options: A. Upload a new inbox version (Package-ct.3) that depends on
> Package-ct.2 or B. upload a new inbox version that contains a copy of all
> changes of Package-ct.2, too, that is based on Package-xyz.1 again, and
> that
> explains that Package-ct.2 can moved into the treated inbox now. Usually,
> I
> choose option B because it makes it easier to read the complete diff of my
> proposal compared to the trunk (but let's see step 3 for this decision).
> In
> every case, I need to leave a note referring to Package-ct.2.
> 3) Some kind person would like to clean up the inbox, including reviewing
> and eventually merging of my proposal, but where should they find all
> relevant information? Regarding to Package-ct.2, the Monticello Browser
> does
> not give you any hint that it is stale and should be moved into the
> treated
> inbox (provided that I chose option B in step 2) because you cannot see
> the
> discussion from the mailing list there. The mail-archive thread about
> Package-ct.2, too, does not contain any reference to Package-ct.3 (unless
> I'm sending another piece of noise manually). On the other hand, if I
> chose
> option 2.A, you cannot review Package-ct.3 standalone neither in the
> Monticello Browser nor in the mailing thread. And things get more
> complicated if just another review is left on the proposal before it can
> be
> merged ...
> Of course, as I am not a merging person, I cannot tell whether step 3
> exactly describes your workflow as a merger, but I am facing very similar
> issues when trying to get an overview of my own contribution. And also, we
> had several small incidents in the past when something was merged that
> actually should have been improved before (just for example,
> Regex-Core-ct.56).
>
> So how could this look differently when applying the GitHub workflow?
> 1) For the initial proposal, I'm opening a new Pull Request to merge
> "helpbrowser-menu" into "trunk" with a single commit commit-a.
> 2) To react on the kind person's feedback, I add another commit commit-b
> to
> this branch. GitHub, the GitBrowser, and every other git client will
> automatically display the connection between both commits, and because
> commit-a is no longer a head commit, it will not be considered as a
> complete
> feature by anybody any longer.
> 3) Every subsequent feedback can be left directly to the Pull Request
> thread
> (which can be easily synchronized with the mailing list using a bot
> similar
> to the OpenSmalltalk-VM-Bot) and be resolved by just another commit to
> this
> branch. All version information is kept at one single place.
> *) As a bonus, GitHub offers a bunch of useful features that make it
> easier
> to overview and organize all contributions. For example, we can
> automatically run the CI for every Pull Request (which I'm sure would help
> us to introduce a smaller number of bugs into the Trunk/master); issue/PR
> references are automatically displayed on both ends of a link; people can
> be
> assigned to certain PRs; labels can be used to mark a PR as draft, fix,
> enhancement, review, etc. and much more ... Also, there is already an
> existing project to integrate GitHub conversations into Squeak, see
> SqueakIssueIntegration.
> *) Another plus could be organizing all packages in one repository to get
> rid of changesets sent to the list which I find truly unhandy as they are
> not really designed for versioning.





--
Sent from: http://forum.world.st/Squeak-Dev-f45488.html

Reply | Threaded
Open this post in threaded view
|

Re: Development methodology (was: tedious programming-in-the-debugger error needs fixing)

Christoph Thiede

Sounds like Christoph wants an issue tracker that is integrated with the version control system.


Exactly. You managed to summarize in one sentence which took me two screen pages. :-)


Now since Squeak does not switch to Git (given the feelings of several prominent people here towards Git), what remains to be solved is the integration with the version control system.


I already have some early plans about this lying on my desk how such an integration system could look like. Schematically, we would need to observe the list of pull requests in the git repository and mirror every new commit as an inbox version to the inbox. The other way around, the Monticello list of inbox/trunk versions needs to be observed, and all new versions that were not already triggered by a PR need to be converted into a new git commit either on the main branch or on a PR branch. Conversation could be synchronized using the OpenSmalltalk-VM-Bot.

Ideally, this approach could allow us to operate with the same version & issue model from two alternative views, Monticello+mailing list, and GitHub.


However, that's only a thought experiment at this time, and everything further would probably be an implementation detail only. The actual question is how big is the actual demand for such a hybrid/two-way VCS for us a community (and not for me as a single Monticello-moaning person) and how many people actually would like to use the git interface.


I don't suppose anyone will be able to go the other way around and write, maintain, and operate the custom Monticello issue tracker platform in their free time.


I don't think so, too. While I appreciate the idea of using true Smalltalk objects for every part of the Squeak project, including issues and versioning, it is simply not realistic for a community of our size to build a full-stack service from the scratch for these aspects, again, that can compete with big existing solutions such as GitHub & Co. Thus, my personal opinion would be to outsource it.


Best,

Christoph


Von: Squeak-dev <[hidden email]> im Auftrag von jakres-2 <[hidden email]>
Gesendet: Donnerstag, 1. Oktober 2020 22:57:59
An: [hidden email]
Betreff: Re: [squeak-dev] Development methodology (was: tedious programming-in-the-debugger error needs fixing)
 
Sounds like Christoph wants an issue tracker that is integrated with the
version control system. GitHub just happens to be one of the platforms to
offer this (next to Bitbucket, and Gitlab, and Jira, and what not).

If I remember correctly, that is one of the reasons why Pharo has moved to
Git and GitHub: because they did not want to reinvent/reimplement these
tools.

There already is https://github.com/squeak-smalltalk/ and the squeak-app
repository over there (through Travis CI) is what sends us the smalltalkCI
reports for Trunk. Maybe we could use another repository there as an issue
tracker and subscribe issue/pull request comments to squeak-dev in the same
manner as the CI. (I don't suppose that the Mantis is still frequently used
or would send email to the list, correct?) Now since Squeak does not switch
to Git (given the feelings of several prominent people here towards Git),
what remains to be solved is the integration with the version control
system.

Maybe we have to build the proper Monticello frontend to Git repositories
after all... despite enjoying the non-Monticello tools such as the Git
Browser in and around HPI. I don't suppose anyone will be able to go the
other way around and write, maintain, and operate the custom Monticello
issue tracker platform in their free time.

Kind regards,
Jakob



Christoph Thiede wrote
> I will give a short case study and tell you how I think it probably could
> be
> performed more efficiently using the GitHub workflow:
>
> 1) I'm proposing a new extension to some Squeak component, let's say a
> menu
> for the HelpBrowser. To do this, I upload a new version to the inbox
> (Package-ct.2 based on Package-xyz.1).
> 2) Some kind person is giving me some feedback on the proposal so I am
> reworking it. To share the new version with the community, I have two
> options: A. Upload a new inbox version (Package-ct.3) that depends on
> Package-ct.2 or B. upload a new inbox version that contains a copy of all
> changes of Package-ct.2, too, that is based on Package-xyz.1 again, and
> that
> explains that Package-ct.2 can moved into the treated inbox now. Usually,
> I
> choose option B because it makes it easier to read the complete diff of my
> proposal compared to the trunk (but let's see step 3 for this decision).
> In
> every case, I need to leave a note referring to Package-ct.2.
> 3) Some kind person would like to clean up the inbox, including reviewing
> and eventually merging of my proposal, but where should they find all
> relevant information? Regarding to Package-ct.2, the Monticello Browser
> does
> not give you any hint that it is stale and should be moved into the
> treated
> inbox (provided that I chose option B in step 2) because you cannot see
> the
> discussion from the mailing list there. The mail-archive thread about
> Package-ct.2, too, does not contain any reference to Package-ct.3 (unless
> I'm sending another piece of noise manually). On the other hand, if I
> chose
> option 2.A, you cannot review Package-ct.3 standalone neither in the
> Monticello Browser nor in the mailing thread. And things get more
> complicated if just another review is left on the proposal before it can
> be
> merged ...
> Of course, as I am not a merging person, I cannot tell whether step 3
> exactly describes your workflow as a merger, but I am facing very similar
> issues when trying to get an overview of my own contribution. And also, we
> had several small incidents in the past when something was merged that
> actually should have been improved before (just for example,
> Regex-Core-ct.56).
>
> So how could this look differently when applying the GitHub workflow?
> 1) For the initial proposal, I'm opening a new Pull Request to merge
> "helpbrowser-menu" into "trunk" with a single commit commit-a.
> 2) To react on the kind person's feedback, I add another commit commit-b
> to
> this branch. GitHub, the GitBrowser, and every other git client will
> automatically display the connection between both commits, and because
> commit-a is no longer a head commit, it will not be considered as a
> complete
> feature by anybody any longer.
> 3) Every subsequent feedback can be left directly to the Pull Request
> thread
> (which can be easily synchronized with the mailing list using a bot
> similar
> to the OpenSmalltalk-VM-Bot) and be resolved by just another commit to
> this
> branch. All version information is kept at one single place.
> *) As a bonus, GitHub offers a bunch of useful features that make it
> easier
> to overview and organize all contributions. For example, we can
> automatically run the CI for every Pull Request (which I'm sure would help
> us to introduce a smaller number of bugs into the Trunk/master); issue/PR
> references are automatically displayed on both ends of a link; people can
> be
> assigned to certain PRs; labels can be used to mark a PR as draft, fix,
> enhancement, review, etc. and much more ... Also, there is already an
> existing project to integrate GitHub conversations into Squeak, see
> SqueakIssueIntegration.
> *) Another plus could be organizing all packages in one repository to get
> rid of changesets sent to the list which I find truly unhandy as they are
> not really designed for versioning.





--
Sent from: http://forum.world.st/Squeak-Dev-f45488.html



Carpe Squeak!
Reply | Threaded
Open this post in threaded view
|

Re: Development methodology (was: tedious programming-in-the-debugger error needs fixing)

Jakob Reschke
In reply to this post by Christoph Thiede
Christoph Thiede wrote

>> But, our community is small
>
> That's another good point, I'd love to see more contributions by more
> people
> on the Squeak project! But from my point of view, the mailing-list-based
> workflow is simply a quite conservative approach that might keep many
> potentially interested casual Squeakers away from participating in our
> community. I think the following article provides a very good summary of
> my
> thought on this matter: "Relying on plain-text email is a 'barrier to
> entry'
> for kernel development, says Linux Foundation board member"
> (https://www.theregister.com/2020/08/25/linux_kernel_email/). Marcel
> argued
> that the mailing list works as a filter for keeping unexperienced or
> unqualified people away from our community, but I believe our community is
> too small for throwing away all these possible contributions.

Agreed. Elitism does not help at all. Ask Uncle Bob [1]. Also subscribing to
a mailing list feels somehow different than signing up on Stack Overflow or
GitHub. Some people don't like to get involved in a club just because they
work with something and might want to fix a bug or make some contributions
every now and then. (How nice of them!) Arguably a submission to the Inbox
has hardly any barriers (no need to sign up anywhere), but to get the
feedback, advertise your change, and communicate effectively you have to
sign up.

[1] https://youtu.be/YX3iRjKj7C0?t=2190



--
Sent from: http://forum.world.st/Squeak-Dev-f45488.html

Reply | Threaded
Open this post in threaded view
|

Re: Development methodology (was: tedious programming-in-the-debugger error needs fixing)

Jakob Reschke
In reply to this post by Christoph Thiede
Am Do., 1. Okt. 2020 um 23:43 Uhr schrieb Thiede, Christoph
<[hidden email]>:
>
> > Sounds like Christoph wants an issue tracker that is integrated with the version control system.
>
> Exactly. You managed to summarize in one sentence which took me two screen pages. :-)
>

Usually it's me who writes the walls of text, but you're welcome. ;-)

>
> The actual question is how big is the actual demand for such a hybrid/two-way VCS for us a community (and not for me as a single Monticello-moaning person) and how many people actually would like to use the git interface.
>

Well I have lost track myself of how many of my Inbox submissions have
actually been merged, or even been commented or not... even with a
label for them in Gmail I find it just too cumbersome to follow up and
run after all of those that get no attention (and compared to you I
don't submit all that many). The Inbox submission email can be far
away from the Trunk merge email of the same version, just to give one
example of another first world problem. Also most inbox threads do not
explicitly get "closed" and instead remain dangling around.

Reply | Threaded
Open this post in threaded view
|

Re: Development methodology (was: tedious programming-in-the-debugger error needs fixing)

timrowledge
In reply to this post by Jakob Reschke


> On 2020-10-01, at 3:13 PM, Jakob Reschke <[hidden email]> wrote:
> Also subscribing to
> a mailing list feels somehow different than signing up on Stack Overflow or
> GitHub.

I think this must be something of a generational thing. Us Old Folk are, I suspect, much more likely to see it the other way round. A lot of us have lived on email for... well, about as long as humans have known about electricity. Signing up on a website, on the other hand, seems really annoying and intrusive to me.


tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Strange OpCodes: SEXI: Sign EXtend Integer



Reply | Threaded
Open this post in threaded view
|

Re: Development methodology (was: tedious programming-in-the-debugger error needs fixing)

Christoph Thiede

> Agreed. Elitism does not help at all. Ask Uncle Bob [1].


Great talk, thanks a lot for sharing this!


Well I have lost track myself of how many of my Inbox submissions have actually been merged, or even been commented or not... even with a label for them in Gmail I find it just too cumbersome to follow up and run after all of those that get no attention (and compared to you I don't submit all that many).

I have been trying a number of approaches, too, from todo lists over email folders to Trello boards, but it is simply too complex because it is a parallel data structure you have to maintain, and every interested person needs to maintain it themselves again ...
This reminds me of the Primitive Obsession code smell: We all seem to think of the same model ("submission", "review", "fix", "close") but still use a forest of primitive artifacts (separate email posts/inbox versions) to represent them. Not exactly worthy of a project that is dedicated to the Golden rule of "Everything is an object" and a universal object graph, I believe ... :-)

The Inbox submission email can be far away from the Trunk merge email of the same version, just to give one example of another first world problem.

That's a good observation. How expensive would it be to change SqueakSource so that Trunk merge emails are replied to their inbox ancestor email, if there is any? I tried to load SqueakSource into an image, but for now, I failed to resolve all the dependencies ... (This should probably go into another thread.)

I think this must be something of a generational thing. Us Old Folk are, I suspect, much more likely to see it the other way round. A lot of us have lived on email for... well, about as long as humans have known about electricity. Signing up on a website, on the other hand, seems really annoying and intrusive to me.

Well I can tell that in my generation, mailing lists are definitively much more considered as obsolete and disliked. Everyone has a GitHub account (or if not yet, this costs you one minute for millions of projects) while for a mailing list, you have to fill in a subscription form for every new project ... IMO email has failed in so many points where alternatives provide better solutions. How many "> > > > original post > > > quoted by me > > quoted by you > don't eat my quote characters!1", unwanted
line breaks after
every third word or
so, different confusing fonts and sizes, and much more have I been reading in this list! Platforms have the uniform Markdown standard to get rid of all this mess. Also, managing subscriptions for individual threads is so much easier on GitHub & Co. I think could carry on for a few more paragraphs, but that's probably not the point. :-)

Best,
Christoph

Von: Squeak-dev <[hidden email]> im Auftrag von tim Rowledge <[hidden email]>
Gesendet: Freitag, 2. Oktober 2020 00:29:25
An: The general-purpose Squeak developers list
Betreff: Re: [squeak-dev] Development methodology (was: tedious programming-in-the-debugger error needs fixing)
 


> On 2020-10-01, at 3:13 PM, Jakob Reschke <[hidden email]> wrote:
> Also subscribing to
> a mailing list feels somehow different than signing up on Stack Overflow or
> GitHub.

I think this must be something of a generational thing. Us Old Folk are, I suspect, much more likely to see it the other way round. A lot of us have lived on email for... well, about as long as humans have known about electricity. Signing up on a website, on the other hand, seems really annoying and intrusive to me.


tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Strange OpCodes: SEXI: Sign EXtend Integer





Carpe Squeak!
Reply | Threaded
Open this post in threaded view
|

Re: Development methodology (was: tedious programming-in-the-debugger error needs fixing)

Chris Muller-3
Hi Christoph and Jakob,

> Now since Squeak does not switch to Git (given the feelings of several prominent people here towards Git)

Hmm, that doesn't sound quite right.  What I sense are such (positive) "feelings" TOWARDS Git in some members, it has them wanting to use that particular tool (vs. other tools or solutions which could also address the community's needs, i.e., see below).  I sometimes think "the tool" and the associated "popularity" is the end-goal in and of itself, rather than the output artifact.  Please pardon me if I'm mistaken about that.  For me, it's not really anything about any "feelings" about Git as the (im)practicality of integration.  It's a beast.  To bring a beast into _everyone's_ workflow that has 90% more "stuff" than we need, and requires them to sign up just to use -- I think it would be a "filter" on the community, especially of non-developers (hint:  You and Jakob are developers).  For me, being hosted by a private company is not so attractive.

I do think some of these issues you describe with the Inbox contribution process are shallow enough they could be largely mitigated with simple upgrades to our existing tools.  For example, you could submit an improvement that allows original contributors of Inbox items to move them to Treated themself.  You could add a button to filter out all entries in the Inbox which have further descendants also in the Inbox.  You could make an, "update from Inbox" which would only download packages for which have your loaded versions as ancestors.  There are many simple things that could be done.  A bug-tracker is a bigger deal, but it's often a lot less overhead to just FIX the bug than open, track, and close a bug report.  We do have Mantis to keep track of the longer-term bugs.

But, again, this is "not Git", which seems to be the desired "feature".  :/

We have *decades* of Monticello packages for Squeak across not just our own repositories, but many other "external" legacy repositories.  (i.e., see the "repositories" category of Installer class side).  Obviously, our tools and methodology will be an on-going discussion, but I don't see this legacy ever going away completely, no matter what we do, Monticello will continue to be used by some.  It seems clear that the only path to Git and other tools is a backward-compatible integration with existing tools, a "stepping stone" that doesn't require a major adjustment like losing method-level timestamp information.  But it's not going to write itself.  Only the burning interest within people like you and/or Jakob will get it done.  :)

 - Chris


Reply | Threaded
Open this post in threaded view
|

Re: Development methodology (was: tedious programming-in-the-debugger error needs fixing)

Douglas Brebner-2

On 04/10/2020 21:36, Chris Muller wrote:
> For me, being hosted by a private company is not so attractive.
>

Are you confusing git with Github here? There are many git hosters and
you can host it yourself.


Reply | Threaded
Open this post in threaded view
|

Re: Development methodology (was: tedious programming-in-the-debugger error needs fixing)

Phil B
In reply to this post by Christoph Thiede
Christoph,

On Thu, Oct 1, 2020 at 7:23 PM Thiede, Christoph <[hidden email]> wrote:

Well I can tell that in my generation, mailing lists are definitively much more considered as obsolete and disliked.

This is largely a statement about fashion/trends and overlooks one massive advantage mailing lists have over the several *generations* of web approaches: while they are crusty (they have been since the 90's) they are also relatively eternal.  You want to traverse the entire history of discussions on the Squeak mailing list?  The archives are there, in a trivial and open format, and so you can.  Just this week I looked up some 20 year old posts in squeak-dev, it's not a theoretical argument. (try doing that with your sourceforge... err, google+... umm, slack... history)

Everyone has a GitHub account (or if not yet, this costs you one minute for millions of projects) while for a mailing list, you have to fill in a subscription form for every new project ...

Here you're showing you've already fallen behind: the github trend for discussing things is already fading and those trendier than you have already moved on to the next thing: Slack  is where it's at!  In a year or two it will be something else... and the treadmill keeps going but not really going anywhere.

Now I've been saying this somewhat kidding: I'd actually love to see something *better* replace email for discussions.  But it has to be open[1] and adaptable to various existing technologies as well as the new ones that come along.  So far, there has been no critical mass around anything viable mainly because the masses (even in the tech space) keep hopping from trend to trend.  So many old fogies say 'meh, why bother'.  It's not that we love email so much, it's that everything that's been proposed to replace it is worse and fleeting.

[1] github issues fail on the open front.  Unlike git which you can always prop up your own server for, you're always one corporate decision away from issues being broken/taken away.

IMO email has failed in so many points where alternatives provide better solutions. How many "> > > > original post > > > quoted by me > > quoted by you > don't eat my quote characters!1", unwanted

line breaks after
every third word or
so, different confusing fonts and sizes, and much more have I been reading in this list! Platforms have the uniform Markdown standard to get rid of all this mess. Also, managing subscriptions for individual threads is so much easier on GitHub & Co. I think could carry on for a few more paragraphs, but that's probably not the point. :-)

I don't like HTML email myself and find it a lot easier just to read the text version.  I know... it's not nearly as pretty, but it does work and avoids many of the formatting issues you're complaining about.


Best,
Christoph


Thanks,
Phil 


Reply | Threaded
Open this post in threaded view
|

Re: Development methodology (was: tedious programming-in-the-debugger error needs fixing)

Phil B
In reply to this post by Douglas Brebner-2
On Sun, Oct 4, 2020 at 5:39 PM Douglas Brebner <[hidden email]> wrote:

On 04/10/2020 21:36, Chris Muller wrote:
> For me, being hosted by a private company is not so attractive.
>

Are you confusing git with Github here? There are many git hosters and
you can host it yourself.

Github issues are not based on git, it's a proprietary solution exclusive to github.


Reply | Threaded
Open this post in threaded view
|

Re: Development methodology (was: tedious programming-in-the-debugger error needs fixing)

Jakob Reschke
In reply to this post by Chris Muller-3
Hi Chris,

I suppose many of us drawn towards Git instead of Monticello find Monticello
lacking in not only minor ways. The alternative or improvement needs not
necessarily be Git, but given its acceptance in the wider developer
community, it is an obvious choice.


Chris Muller-3 wrote
> For me,
> it's not really anything about any "feelings" about Git as the
> (im)practicality of integration.  It's a beast.  To bring a beast into
> _everyone's_ workflow that has 90% more "stuff" than we need [...]

What exactly do you think is so massive about Git? The basics are really
quite simple. The complexity comes with the vast number of possibilities to
transform a graph of history, and canonical Git supporting many of them, but
you do not have to do or support all of these. Other idiosyncrasies of Git
can be simply omitted. For example, you will not find anything about the
"index" or staging area of Git in the Git Browser tools. Git vocabulary is
different from Monticello vocabulary (that is true for almost all pairs of
version control systems) and Git has some different ideas of how tracking
works and what to put in a single repository. But if you stick to the
Monticello workflows and know the corresponding Git vocabulary, I contend
that Git is not more complicated than Monticello. Fixing a Monticello
ancestry is at least as complicated as doing a rebase ("advanced feature")
in Git; after you have learned either, you can confidently wield either.

In other ways, Monticello just looks simpler because something is in fact
missing. Consider branches: most Git tools have knobs to deal with them in
various ways, while Monticello tools just deny to talk about branches.
Monticello ancestry does support branching, yet I think Monticello lacks
first-class objects for branches, with all the implications for repository
handling. The tools might look simpler without branch management, but it is
not a feature but rather the lack of one. Note that you can also avoid
branch management in Git: just stay on the mainline branch forever and merge
your commits back and forth with the upstream repository's mainline. While
it might appear simpler that way, you might as well call it less organized.


Chris Muller-3 wrote
> [...] requires
> them to sign up just to use -- I think it would be a "filter" on the
> community, especially of non-developers (hint:  You and Jakob are
> developers).  For me, being hosted by a private company is not so
> attractive.

As Phil pointed out, you seem to confuse Git with GitHub here. But your
arguments are applicable if we take the integrated issue tracker into
account because that needs to be run by someone. In theory Squeak could host
an own GitLab Community Edition server instead of relying on GitHub.

Note that you also have to sign up to use Mantis or participate on the
mailing list or the Slack channel.

About the "filter": how many non-developers try to trace inbox contributions
or engage in code reviews? How many non-developers use Monticello (given
that it can only track packages and configuations thereof)? The "filter"
might not take anything interesting away from the other target audiences
after all.

We do not wish to move all discussions from the list to pull requests. Also
the idea was to link up pull request conversations with the list, like the
CI job reports, or conversations on the OpenSmalltalk-VM repository to the
vm-dev list.


Chris Muller-3 wrote
> For example, you could submit an
> improvement that allows original contributors of Inbox items to move them
> to Treated themself.

How? Only Trunk committers have access to the Squeaksource treating backend,
so neither the code nor the tool is available to normal users for
improvement. Guest users cannot even delete versions from the inbox
repository, can they?


Chris Muller-3 wrote
> You could add a button to filter out all entries in
> the Inbox which have further descendants also in the Inbox.  You could
> make
> an, "update from Inbox" which would only download packages for which have
> your loaded versions as ancestors.

I don't understand how these would help in the tracking of issues, can you
elaborate please? My understanding: The first shows you the tips of all
loose branches in the inbox, but still without a mapping to issues (which is
not necessarily a 1:1 mapping, with reinforced complexity because of the
drive towards a compact ancestry...). Combined with some client-side
extensions it might allow us to track branches locally, but not share them
explicitly. To find remote branches, you would have to download many of
these versions first because only then you can access their ancestry (you
don't know in advance which versions are the tips, and combined with the
redundancy among versions, this is a Monticello implementation flaw). The
second would allow an update if someone moved some of your own branches
forward. But it rarely happens nowadays.


Chris Muller-3 wrote
> There are many simple things that could
> be done.  A bug-tracker is a bigger deal, but it's often a lot less
> overhead to just FIX the bug than open, track, and close a bug report.  We
> do have Mantis to keep track of the longer-term bugs.

I think this plays down the issue. It being a bigger deal is exactly why we
would like to use an existing platform. "Just FIX the bug" is not always so
straightforward that a single new version is sufficient. There might be
multiple iterations, or multiple packages affected, or many versions towards
a larger goal over an extended period of time. That's why we would like some
integrated issue tracking, even for short-term bugs. Think more of pull
requests with conversation and review facilities than of bug tickets. Pull
requests, combined with a system that can actually track branches or tasks,
allow for iterative refinement and feedback while binding all the iterations
or steps together.

Mantis is not integrated with Monticello, is it? Also it doesn't look very
active.


Chris Muller-3 wrote
> We have *decades* of Monticello packages for Squeak across not just our
> own
> repositories, but many other "external" legacy repositories. [...]
> Monticello will continue
> to be used by some.  

In my opinion this is no argument against different tools because nobody
suggested to remove Monticello from Squeak. As we already see in practice,
Git tools and Monticello tools, as well as both kinds of repositories, can
co-exist.

Otherwise we could still use floppy disks because there are decades of
software packages that were distributed on floppy disks, yet we don't. :-)


Chris Muller-3 wrote
> It seems clear that the only path to Git and other
> tools is a backward-compatible integration with existing tools

Well, other paths have already been walked. ;-) But in which direction goes
this backwards- compatibility? Do you want be able to use newer tools also
on old repositories? Alright, that would be nice. Do you want to be able to
use newer repositories in old tools? Why, given that it will probably
restrict the newer repositories?


Chris Muller-3 wrote
> a "stepping
> stone" that doesn't require a major adjustment like losing method-level
> timestamp information.

This seems to confound the use of Git with the use of the Tonel format with
a Pharo-style implementation.

Otherwise it affirms what I wrote a few messages before: maybe we do have to
bite the bullet and write a proper MCGitRepository that molds Git-hosted
projects into the Monticello tools, even though we have already created
other tools.

By the way, the draft spec of Tonel that Martin was offering to the list in
a recent thread demands that custom attributes on classes, methods, ... be
preserved by the system. So even if Squeak woulde use Tonel more often in
the future, it would not necessarily mean that method timestamps have to be
sacrificed. Squot and its Git tools are stored in the FileTree format, have
been Git-hosted from the start, include some packages whose Monticello
ancestries have been converted and integrated into the Git history, and has
method timestamps all over.


Chris Muller-3 wrote
> But it's not going to write itself.  Only the
> burning interest within people like you and/or Jakob will get it done.  :)

Thank you for the encouragement. Unfortunately with regards to Monticello
tools it recurrently sounds like: "If you want contemporary features, you
must add them to the old tools because we do not want to adopt new tools
that can already do the job." Forgive me if this reads too polemic.

Kind regards,
Jakob



--
Sent from: http://forum.world.st/Squeak-Dev-f45488.html

Reply | Threaded
Open this post in threaded view
|

Re: Development methodology (was: tedious programming-in-the-debugger error needs fixing)

Eliot Miranda-2
Hi Jakob,

> On Oct 4, 2020, at 6:14 PM, Jakob Reschke <[hidden email]> wrote:
>
> Hi Chris,
>
> I suppose many of us drawn towards Git instead of Monticello find Monticello
> lacking in not only minor ways. The alternative or improvement needs not
> necessarily be Git, but given its acceptance in the wider developer
> community, it is an obvious choice.
>
>
> Chris Muller-3 wrote
>> For me,
>> it's not really anything about any "feelings" about Git as the
>> (im)practicality of integration.  It's a beast.  To bring a beast into
>> _everyone's_ workflow that has 90% more "stuff" than we need [...]
>
> What exactly do you think is so massive about Git? The basics are really
> quite simple. The complexity comes with the vast number of possibilities to
> transform a graph of history, and canonical Git supporting many of them, but
> you do not have to do or support all of these. Other idiosyncrasies of Git
> can be simply omitted. For example, you will not find anything about the
> "index" or staging area of Git in the Git Browser tools. Git vocabulary is
> different from Monticello vocabulary (that is true for almost all pairs of
> version control systems) and Git has some different ideas of how tracking
> works and what to put in a single repository. But if you stick to the
> Monticello workflows and know the corresponding Git vocabulary, I contend
> that Git is not more complicated than Monticello. Fixing a Monticello
> ancestry is at least as complicated as doing a rebase ("advanced feature")
> in Git; after you have learned either, you can confidently wield either.
>
> In other ways, Monticello just looks simpler because something is in fact
> missing. Consider branches: most Git tools have knobs to deal with them in
> various ways, while Monticello tools just deny to talk about branches.
> Monticello ancestry does support branching, yet I think Monticello lacks
> first-class objects for branches, with all the implications for repository
> handling. The tools might look simpler without branch management, but it is
> not a feature but rather the lack of one. Note that you can also avoid
> branch management in Git: just stay on the mainline branch forever and merge
> your commits back and forth with the upstream repository's mainline. While
> it might appear simpler that way, you might as well call it less organized.

Monticello supports branches.  And merging between them is as easy as merging any other version of a package.  And Monticello does support recording histories across branches.

The two things that Monticello has over git are
- that it is used without leaving the image.  I’ve yet to see a git integration where at some stage one was forced to try and fix things in git, or that the image and the git repository got out of sync, or that if one tried to use more than one image against a git repository something horrible broke
- that it can be extended using our own tools.  Git is written in C and controlled by a separate community.  One gives up great autonomy when allowing ones core VCS to be in a foreign system.  When git crashes it crashes.  It doesn’t raise a friendly debugger in which one can determine and fix and proceed from the bug, it segfaults, in optimized code, and you’re hosed.

Personally I don’t want to work in that kind of world.  The Pharo crowd do.  I will do everything in my power to prevent Squeak going the same way.  And if I’m unsuccessful I’ll go somewhere else.

>
> Chris Muller-3 wrote
>> [...] requires
>> them to sign up just to use -- I think it would be a "filter" on the
>> community, especially of non-developers (hint:  You and Jakob are
>> developers).  For me, being hosted by a private company is not so
>> attractive.
>
> As Phil pointed out, you seem to confuse Git with GitHub here. But your
> arguments are applicable if we take the integrated issue tracker into
> account because that needs to be run by someone. In theory Squeak could host
> an own GitLab Community Edition server instead of relying on GitHub.
>
> Note that you also have to sign up to use Mantis or participate on the
> mailing list or the Slack channel.
>
> About the "filter": how many non-developers try to trace inbox contributions
> or engage in code reviews? How many non-developers use Monticello (given
> that it can only track packages and configuations thereof)? The "filter"
> might not take anything interesting away from the other target audiences
> after all.
>
> We do not wish to move all discussions from the list to pull requests. Also
> the idea was to link up pull request conversations with the list, like the
> CI job reports, or conversations on the OpenSmalltalk-VM repository to the
> vm-dev list.
>
>
> Chris Muller-3 wrote
>> For example, you could submit an
>> improvement that allows original contributors of Inbox items to move them
>> to Treated themself.
>
> How? Only Trunk committers have access to the Squeaksource treating backend,
> so neither the code nor the tool is available to normal users for
> improvement. Guest users cannot even delete versions from the inbox
> repository, can they?
>
>
> Chris Muller-3 wrote
>> You could add a button to filter out all entries in
>> the Inbox which have further descendants also in the Inbox.  You could
>> make
>> an, "update from Inbox" which would only download packages for which have
>> your loaded versions as ancestors.
>
> I don't understand how these would help in the tracking of issues, can you
> elaborate please? My understanding: The first shows you the tips of all
> loose branches in the inbox, but still without a mapping to issues (which is
> not necessarily a 1:1 mapping, with reinforced complexity because of the
> drive towards a compact ancestry...). Combined with some client-side
> extensions it might allow us to track branches locally, but not share them
> explicitly. To find remote branches, you would have to download many of
> these versions first because only then you can access their ancestry (you
> don't know in advance which versions are the tips, and combined with the
> redundancy among versions, this is a Monticello implementation flaw). The
> second would allow an update if someone moved some of your own branches
> forward. But it rarely happens nowadays.
>
>
> Chris Muller-3 wrote
>> There are many simple things that could
>> be done.  A bug-tracker is a bigger deal, but it's often a lot less
>> overhead to just FIX the bug than open, track, and close a bug report.  We
>> do have Mantis to keep track of the longer-term bugs.
>
> I think this plays down the issue. It being a bigger deal is exactly why we
> would like to use an existing platform. "Just FIX the bug" is not always so
> straightforward that a single new version is sufficient. There might be
> multiple iterations, or multiple packages affected, or many versions towards
> a larger goal over an extended period of time. That's why we would like some
> integrated issue tracking, even for short-term bugs. Think more of pull
> requests with conversation and review facilities than of bug tickets. Pull
> requests, combined with a system that can actually track branches or tasks,
> allow for iterative refinement and feedback while binding all the iterations
> or steps together.
>
> Mantis is not integrated with Monticello, is it? Also it doesn't look very
> active.
>
>
> Chris Muller-3 wrote
>> We have *decades* of Monticello packages for Squeak across not just our
>> own
>> repositories, but many other "external" legacy repositories. [...]
>> Monticello will continue
>> to be used by some.  
>
> In my opinion this is no argument against different tools because nobody
> suggested to remove Monticello from Squeak. As we already see in practice,
> Git tools and Monticello tools, as well as both kinds of repositories, can
> co-exist.
>
> Otherwise we could still use floppy disks because there are decades of
> software packages that were distributed on floppy disks, yet we don't. :-)
>
>
> Chris Muller-3 wrote
>> It seems clear that the only path to Git and other
>> tools is a backward-compatible integration with existing tools
>
> Well, other paths have already been walked. ;-) But in which direction goes
> this backwards- compatibility? Do you want be able to use newer tools also
> on old repositories? Alright, that would be nice. Do you want to be able to
> use newer repositories in old tools? Why, given that it will probably
> restrict the newer repositories?
>
>
> Chris Muller-3 wrote
>> a "stepping
>> stone" that doesn't require a major adjustment like losing method-level
>> timestamp information.
>
> This seems to confound the use of Git with the use of the Tonel format with
> a Pharo-style implementation.
>
> Otherwise it affirms what I wrote a few messages before: maybe we do have to
> bite the bullet and write a proper MCGitRepository that molds Git-hosted
> projects into the Monticello tools, even though we have already created
> other tools.
>
> By the way, the draft spec of Tonel that Martin was offering to the list in
> a recent thread demands that custom attributes on classes, methods, ... be
> preserved by the system. So even if Squeak woulde use Tonel more often in
> the future, it would not necessarily mean that method timestamps have to be
> sacrificed. Squot and its Git tools are stored in the FileTree format, have
> been Git-hosted from the start, include some packages whose Monticello
> ancestries have been converted and integrated into the Git history, and has
> method timestamps all over.
>
>
> Chris Muller-3 wrote
>> But it's not going to write itself.  Only the
>> burning interest within people like you and/or Jakob will get it done.  :)
>
> Thank you for the encouragement. Unfortunately with regards to Monticello
> tools it recurrently sounds like: "If you want contemporary features, you
> must add them to the old tools because we do not want to adopt new tools
> that can already do the job." Forgive me if this reads too polemic.
>
> Kind regards,
> Jakob
>
>
>
> --
> Sent from: http://forum.world.st/Squeak-Dev-f45488.html
>

Reply | Threaded
Open this post in threaded view
|

Re: Development methodology (was: tedious programming-in-the-debugger error needs fixing)

marcel.taeumel
Hi Eliot. :-)

that it is used without leaving the image

+1

that it can be extended using our own tools

+1

One gives up great autonomy when allowing ones core VCS to be in a foreign system

+1000

Personally I don’t want to work in that kind of world.

Me neither. Let's keep on working hard (or even fighting^^) for those values!

Best,
Marcel

Am 05.10.2020 08:50:48 schrieb Eliot Miranda <[hidden email]>:

Hi Jakob,

> On Oct 4, 2020, at 6:14 PM, Jakob Reschke wrote:
>
> Hi Chris,
>
> I suppose many of us drawn towards Git instead of Monticello find Monticello
> lacking in not only minor ways. The alternative or improvement needs not
> necessarily be Git, but given its acceptance in the wider developer
> community, it is an obvious choice.
>
>
> Chris Muller-3 wrote
>> For me,
>> it's not really anything about any "feelings" about Git as the
>> (im)practicality of integration. It's a beast. To bring a beast into
>> _everyone's_ workflow that has 90% more "stuff" than we need [...]
>
> What exactly do you think is so massive about Git? The basics are really
> quite simple. The complexity comes with the vast number of possibilities to
> transform a graph of history, and canonical Git supporting many of them, but
> you do not have to do or support all of these. Other idiosyncrasies of Git
> can be simply omitted. For example, you will not find anything about the
> "index" or staging area of Git in the Git Browser tools. Git vocabulary is
> different from Monticello vocabulary (that is true for almost all pairs of
> version control systems) and Git has some different ideas of how tracking
> works and what to put in a single repository. But if you stick to the
> Monticello workflows and know the corresponding Git vocabulary, I contend
> that Git is not more complicated than Monticello. Fixing a Monticello
> ancestry is at least as complicated as doing a rebase ("advanced feature")
> in Git; after you have learned either, you can confidently wield either.
>
> In other ways, Monticello just looks simpler because something is in fact
> missing. Consider branches: most Git tools have knobs to deal with them in
> various ways, while Monticello tools just deny to talk about branches.
> Monticello ancestry does support branching, yet I think Monticello lacks
> first-class objects for branches, with all the implications for repository
> handling. The tools might look simpler without branch management, but it is
> not a feature but rather the lack of one. Note that you can also avoid
> branch management in Git: just stay on the mainline branch forever and merge
> your commits back and forth with the upstream repository's mainline. While
> it might appear simpler that way, you might as well call it less organized.

Monticello supports branches. And merging between them is as easy as merging any other version of a package. And Monticello does support recording histories across branches.

The two things that Monticello has over git are
- that it is used without leaving the image. I’ve yet to see a git integration where at some stage one was forced to try and fix things in git, or that the image and the git repository got out of sync, or that if one tried to use more than one image against a git repository something horrible broke
- that it can be extended using our own tools. Git is written in C and controlled by a separate community. One gives up great autonomy when allowing ones core VCS to be in a foreign system. When git crashes it crashes. It doesn’t raise a friendly debugger in which one can determine and fix and proceed from the bug, it segfaults, in optimized code, and you’re hosed.

Personally I don’t want to work in that kind of world. The Pharo crowd do. I will do everything in my power to prevent Squeak going the same way. And if I’m unsuccessful I’ll go somewhere else.

>
> Chris Muller-3 wrote
>> [...] requires
>> them to sign up just to use -- I think it would be a "filter" on the
>> community, especially of non-developers (hint: You and Jakob are
>> developers). For me, being hosted by a private company is not so
>> attractive.
>
> As Phil pointed out, you seem to confuse Git with GitHub here. But your
> arguments are applicable if we take the integrated issue tracker into
> account because that needs to be run by someone. In theory Squeak could host
> an own GitLab Community Edition server instead of relying on GitHub.
>
> Note that you also have to sign up to use Mantis or participate on the
> mailing list or the Slack channel.
>
> About the "filter": how many non-developers try to trace inbox contributions
> or engage in code reviews? How many non-developers use Monticello (given
> that it can only track packages and configuations thereof)? The "filter"
> might not take anything interesting away from the other target audiences
> after all.
>
> We do not wish to move all discussions from the list to pull requests. Also
> the idea was to link up pull request conversations with the list, like the
> CI job reports, or conversations on the OpenSmalltalk-VM repository to the
> vm-dev list.
>
>
> Chris Muller-3 wrote
>> For example, you could submit an
>> improvement that allows original contributors of Inbox items to move them
>> to Treated themself.
>
> How? Only Trunk committers have access to the Squeaksource treating backend,
> so neither the code nor the tool is available to normal users for
> improvement. Guest users cannot even delete versions from the inbox
> repository, can they?
>
>
> Chris Muller-3 wrote
>> You could add a button to filter out all entries in
>> the Inbox which have further descendants also in the Inbox. You could
>> make
>> an, "update from Inbox" which would only download packages for which have
>> your loaded versions as ancestors.
>
> I don't understand how these would help in the tracking of issues, can you
> elaborate please? My understanding: The first shows you the tips of all
> loose branches in the inbox, but still without a mapping to issues (which is
> not necessarily a 1:1 mapping, with reinforced complexity because of the
> drive towards a compact ancestry...). Combined with some client-side
> extensions it might allow us to track branches locally, but not share them
> explicitly. To find remote branches, you would have to download many of
> these versions first because only then you can access their ancestry (you
> don't know in advance which versions are the tips, and combined with the
> redundancy among versions, this is a Monticello implementation flaw). The
> second would allow an update if someone moved some of your own branches
> forward. But it rarely happens nowadays.
>
>
> Chris Muller-3 wrote
>> There are many simple things that could
>> be done. A bug-tracker is a bigger deal, but it's often a lot less
>> overhead to just FIX the bug than open, track, and close a bug report. We
>> do have Mantis to keep track of the longer-term bugs.
>
> I think this plays down the issue. It being a bigger deal is exactly why we
> would like to use an existing platform. "Just FIX the bug" is not always so
> straightforward that a single new version is sufficient. There might be
> multiple iterations, or multiple packages affected, or many versions towards
> a larger goal over an extended period of time. That's why we would like some
> integrated issue tracking, even for short-term bugs. Think more of pull
> requests with conversation and review facilities than of bug tickets. Pull
> requests, combined with a system that can actually track branches or tasks,
> allow for iterative refinement and feedback while binding all the iterations
> or steps together.
>
> Mantis is not integrated with Monticello, is it? Also it doesn't look very
> active.
>
>
> Chris Muller-3 wrote
>> We have *decades* of Monticello packages for Squeak across not just our
>> own
>> repositories, but many other "external" legacy repositories. [...]
>> Monticello will continue
>> to be used by some.
>
> In my opinion this is no argument against different tools because nobody
> suggested to remove Monticello from Squeak. As we already see in practice,
> Git tools and Monticello tools, as well as both kinds of repositories, can
> co-exist.
>
> Otherwise we could still use floppy disks because there are decades of
> software packages that were distributed on floppy disks, yet we don't. :-)
>
>
> Chris Muller-3 wrote
>> It seems clear that the only path to Git and other
>> tools is a backward-compatible integration with existing tools
>
> Well, other paths have already been walked. ;-) But in which direction goes
> this backwards- compatibility? Do you want be able to use newer tools also
> on old repositories? Alright, that would be nice. Do you want to be able to
> use newer repositories in old tools? Why, given that it will probably
> restrict the newer repositories?
>
>
> Chris Muller-3 wrote
>> a "stepping
>> stone" that doesn't require a major adjustment like losing method-level
>> timestamp information.
>
> This seems to confound the use of Git with the use of the Tonel format with
> a Pharo-style implementation.
>
> Otherwise it affirms what I wrote a few messages before: maybe we do have to
> bite the bullet and write a proper MCGitRepository that molds Git-hosted
> projects into the Monticello tools, even though we have already created
> other tools.
>
> By the way, the draft spec of Tonel that Martin was offering to the list in
> a recent thread demands that custom attributes on classes, methods, ... be
> preserved by the system. So even if Squeak woulde use Tonel more often in
> the future, it would not necessarily mean that method timestamps have to be
> sacrificed. Squot and its Git tools are stored in the FileTree format, have
> been Git-hosted from the start, include some packages whose Monticello
> ancestries have been converted and integrated into the Git history, and has
> method timestamps all over.
>
>
> Chris Muller-3 wrote
>> But it's not going to write itself. Only the
>> burning interest within people like you and/or Jakob will get it done. :)
>
> Thank you for the encouragement. Unfortunately with regards to Monticello
> tools it recurrently sounds like: "If you want contemporary features, you
> must add them to the old tools because we do not want to adopt new tools
> that can already do the job." Forgive me if this reads too polemic.
>
> Kind regards,
> Jakob
>
>
>
> --
> Sent from: http://forum.world.st/Squeak-Dev-f45488.html
>



Reply | Threaded
Open this post in threaded view
|

Re: Development methodology (was: tedious&nbsp; &nbsp; &nbsp; &nbsp; programming-in-the-debugger error needs fixing)

Squeak - Dev mailing list
In reply to this post by Eliot Miranda-2
Brainstorming here, laugh, mock, fume, etc as appropriate

An enterprising dev implements the git server in squeak ....

1. any git client interacts just as with the c git.
2. Behind the scenes, git uuid's are used but so are monticello "stuff"
3. Monticello interacts with the sqGit server seamlessly.( Handoff?)
4. Bug happens...native squeak tools...

I have learned and forgotten Git at least twice,but iirc, it is a tree of uuids and ops on that tree.  If that is true, I sense an opportunity for a dev who is interested


If i had time, I would do it as it sounds like a fun project. I do not have time. ):


---- On Mon, 05 Oct 2020 02:50:36 -0400 [hidden email] wrote ----

Hi Jakob,

> On Oct 4, 2020, at 6:14 PM, Jakob Reschke <[hidden email]> wrote:
>
> Hi Chris,
>
> I suppose many of us drawn towards Git instead of Monticello find Monticello
> lacking in not only minor ways. The alternative or improvement needs not
> necessarily be Git, but given its acceptance in the wider developer
> community, it is an obvious choice.
>
>
> Chris Muller-3 wrote
>> For me,
>> it's not really anything about any "feelings" about Git as the
>> (im)practicality of integration. It's a beast. To bring a beast into
>> _everyone's_ workflow that has 90% more "stuff" than we need [...]
>
> What exactly do you think is so massive about Git? The basics are really
> quite simple. The complexity comes with the vast number of possibilities to
> transform a graph of history, and canonical Git supporting many of them, but
> you do not have to do or support all of these. Other idiosyncrasies of Git
> can be simply omitted. For example, you will not find anything about the
> "index" or staging area of Git in the Git Browser tools. Git vocabulary is
> different from Monticello vocabulary (that is true for almost all pairs of
> version control systems) and Git has some different ideas of how tracking
> works and what to put in a single repository. But if you stick to the
> Monticello workflows and know the corresponding Git vocabulary, I contend
> that Git is not more complicated than Monticello. Fixing a Monticello
> ancestry is at least as complicated as doing a rebase ("advanced feature")
> in Git; after you have learned either, you can confidently wield either.
>
> In other ways, Monticello just looks simpler because something is in fact
> missing. Consider branches: most Git tools have knobs to deal with them in
> various ways, while Monticello tools just deny to talk about branches.
> Monticello ancestry does support branching, yet I think Monticello lacks
> first-class objects for branches, with all the implications for repository
> handling. The tools might look simpler without branch management, but it is
> not a feature but rather the lack of one. Note that you can also avoid
> branch management in Git: just stay on the mainline branch forever and merge
> your commits back and forth with the upstream repository's mainline. While
> it might appear simpler that way, you might as well call it less organized.

Monticello supports branches. And merging between them is as easy as merging any other version of a package. And Monticello does support recording histories across branches.

The two things that Monticello has over git are
- that it is used without leaving the image. I’ve yet to see a git integration where at some stage one was forced to try and fix things in git, or that the image and the git repository got out of sync, or that if one tried to use more than one image against a git repository something horrible broke
- that it can be extended using our own tools. Git is written in C and controlled by a separate community. One gives up great autonomy when allowing ones core VCS to be in a foreign system. When git crashes it crashes. It doesn’t raise a friendly debugger in which one can determine and fix and proceed from the bug, it segfaults, in optimized code, and you’re hosed.

Personally I don’t want to work in that kind of world. The Pharo crowd do. I will do everything in my power to prevent Squeak going the same way. And if I’m unsuccessful I’ll go somewhere else.

>
> Chris Muller-3 wrote
>> [...] requires
>> them to sign up just to use -- I think it would be a "filter" on the
>> community, especially of non-developers (hint: You and Jakob are
>> developers). For me, being hosted by a private company is not so
>> attractive.
>
> As Phil pointed out, you seem to confuse Git with GitHub here. But your
> arguments are applicable if we take the integrated issue tracker into
> account because that needs to be run by someone. In theory Squeak could host
> an own GitLab Community Edition server instead of relying on GitHub.
>
> Note that you also have to sign up to use Mantis or participate on the
> mailing list or the Slack channel.
>
> About the "filter": how many non-developers try to trace inbox contributions
> or engage in code reviews? How many non-developers use Monticello (given
> that it can only track packages and configuations thereof)? The "filter"
> might not take anything interesting away from the other target audiences
> after all.
>
> We do not wish to move all discussions from the list to pull requests. Also
> the idea was to link up pull request conversations with the list, like the
> CI job reports, or conversations on the OpenSmalltalk-VM repository to the
> vm-dev list.
>
>
> Chris Muller-3 wrote
>> For example, you could submit an
>> improvement that allows original contributors of Inbox items to move them
>> to Treated themself.
>
> How? Only Trunk committers have access to the Squeaksource treating backend,
> so neither the code nor the tool is available to normal users for
> improvement. Guest users cannot even delete versions from the inbox
> repository, can they?
>
>
> Chris Muller-3 wrote
>> You could add a button to filter out all entries in
>> the Inbox which have further descendants also in the Inbox. You could
>> make
>> an, "update from Inbox" which would only download packages for which have
>> your loaded versions as ancestors.
>
> I don't understand how these would help in the tracking of issues, can you
> elaborate please? My understanding: The first shows you the tips of all
> loose branches in the inbox, but still without a mapping to issues (which is
> not necessarily a 1:1 mapping, with reinforced complexity because of the
> drive towards a compact ancestry...). Combined with some client-side
> extensions it might allow us to track branches locally, but not share them
> explicitly. To find remote branches, you would have to download many of
> these versions first because only then you can access their ancestry (you
> don't know in advance which versions are the tips, and combined with the
> redundancy among versions, this is a Monticello implementation flaw). The
> second would allow an update if someone moved some of your own branches
> forward. But it rarely happens nowadays.
>
>
> Chris Muller-3 wrote
>> There are many simple things that could
>> be done. A bug-tracker is a bigger deal, but it's often a lot less
>> overhead to just FIX the bug than open, track, and close a bug report. We
>> do have Mantis to keep track of the longer-term bugs.
>
> I think this plays down the issue. It being a bigger deal is exactly why we
> would like to use an existing platform. "Just FIX the bug" is not always so
> straightforward that a single new version is sufficient. There might be
> multiple iterations, or multiple packages affected, or many versions towards
> a larger goal over an extended period of time. That's why we would like some
> integrated issue tracking, even for short-term bugs. Think more of pull
> requests with conversation and review facilities than of bug tickets. Pull
> requests, combined with a system that can actually track branches or tasks,
> allow for iterative refinement and feedback while binding all the iterations
> or steps together.
>
> Mantis is not integrated with Monticello, is it? Also it doesn't look very
> active.
>
>
> Chris Muller-3 wrote
>> We have *decades* of Monticello packages for Squeak across not just our
>> own
>> repositories, but many other "external" legacy repositories. [...]
>> Monticello will continue
>> to be used by some.
>
> In my opinion this is no argument against different tools because nobody
> suggested to remove Monticello from Squeak. As we already see in practice,
> Git tools and Monticello tools, as well as both kinds of repositories, can
> co-exist.
>
> Otherwise we could still use floppy disks because there are decades of
> software packages that were distributed on floppy disks, yet we don't. :-)
>
>
> Chris Muller-3 wrote
>> It seems clear that the only path to Git and other
>> tools is a backward-compatible integration with existing tools
>
> Well, other paths have already been walked. ;-) But in which direction goes
> this backwards- compatibility? Do you want be able to use newer tools also
> on old repositories? Alright, that would be nice. Do you want to be able to
> use newer repositories in old tools? Why, given that it will probably
> restrict the newer repositories?
>
>
> Chris Muller-3 wrote
>> a "stepping
>> stone" that doesn't require a major adjustment like losing method-level
>> timestamp information.
>
> This seems to confound the use of Git with the use of the Tonel format with
> a Pharo-style implementation.
>
> Otherwise it affirms what I wrote a few messages before: maybe we do have to
> bite the bullet and write a proper MCGitRepository that molds Git-hosted
> projects into the Monticello tools, even though we have already created
> other tools.
>
> By the way, the draft spec of Tonel that Martin was offering to the list in
> a recent thread demands that custom attributes on classes, methods, ... be
> preserved by the system. So even if Squeak woulde use Tonel more often in
> the future, it would not necessarily mean that method timestamps have to be
> sacrificed. Squot and its Git tools are stored in the FileTree format, have
> been Git-hosted from the start, include some packages whose Monticello
> ancestries have been converted and integrated into the Git history, and has
> method timestamps all over.
>
>
> Chris Muller-3 wrote
>> But it's not going to write itself. Only the
>> burning interest within people like you and/or Jakob will get it done. :)
>
> Thank you for the encouragement. Unfortunately with regards to Monticello
> tools it recurrently sounds like: "If you want contemporary features, you
> must add them to the old tools because we do not want to adopt new tools
> that can already do the job." Forgive me if this reads too polemic.
>
> Kind regards,
> Jakob
>
>
>
> --
> Sent from: http://forum.world.st/Squeak-Dev-f45488.html
>




Reply | Threaded
Open this post in threaded view
|

Re: Development methodology (was: tedious programming-in-the-debugger error needs fixing)

Jakob Reschke
In reply to this post by Eliot Miranda-2
Hi Eliot,


Eliot Miranda-2 wrote
>> On Oct 4, 2020, at 6:14 PM, Jakob Reschke &lt;

> forums.jakob@

> &gt; wrote:
>>
>> In other ways, Monticello just looks simpler because something is in fact
>> missing. Consider branches: most Git tools have knobs to deal with them
>> in
>> various ways, while Monticello tools just deny to talk about branches.
>> Monticello ancestry does support branching, yet I think Monticello lacks
>> first-class objects for branches, with all the implications for
>> repository
>> handling. The tools might look simpler without branch management, but it
>> is
>> not a feature but rather the lack of one. Note that you can also avoid
>> branch management in Git: just stay on the mainline branch forever and
>> merge
>> your commits back and forth with the upstream repository's mainline.
>> While
>> it might appear simpler that way, you might as well call it less
>> organized.
>
> Monticello supports branches.  And merging between them is as easy as
> merging any other version of a package.  And Monticello does support
> recording histories across branches.

That is what I wrote: Monticello ancestry does support branching. But there
is no list of branches and there is no object for a branch. Instead one has
to find the loose ends in a sea of versions. Chris's first tool suggestion
would alleviate this, but it may be quite expensive and would still not give
names to branches.

Anyway, to have branches was not what Christoph and I were after. Topic
tracking and integrated conversations it is.


Eliot Miranda-2 wrote

> The two things that Monticello has over git are
> - that it is used without leaving the image.  I’ve yet to see a git
> integration where at some stage one was forced to try and fix things in
> git, or that the image and the git repository got out of sync, or that if
> one tried to use more than one image against a git repository something
> horrible broke
> - that it can be extended using our own tools.  Git is written in C and
> controlled by a separate community.  One gives up great autonomy when
> allowing ones core VCS to be in a foreign system.  When git crashes it
> crashes.  It doesn’t raise a friendly debugger in which one can determine
> and fix and proceed from the bug, it segfaults, in optimized code, and
> you’re hosed.

I can see your point. Although I cannot remember seeing Git crash for me in
the last ten years. And we are in a serious lock-in if we extend this notion
to everything in the world. I'm glad the other programming languages did not
all have to implement their own VCS first, otherwise there would be even
more of these around.

Luckily, we already have a Git implementation in Smalltalk. Thank Tobias for
urging me to salvage this rather than concentrating on FFI and libgit2 three
years ago. The Git Browser tools are as Squeak as they can be for dealing
with Smalltalk packages. Except maybe that the Git repository is still
stored outside, but what is a commit worth if it gets trapped in an unsaved,
unexpectedly broken image.

Even if we didn't have this Smalltalk implementation, the canonical Git has
lots of plumbing tools that could be controlled via OSProcess to query and
manipulate repositories. It wouldn't crash the VM like errors in libgit2
might, at the cost of being much slower.


Eliot Miranda-2 wrote
> Personally I don’t want to work in that kind of world.  The Pharo crowd
> do.  I will do everything in my power to prevent Squeak going the same
> way.  And if I’m unsuccessful I’ll go somewhere else.

Understood. I don't wish to see you leave.

Yet in my opinion Squeak really needs to get along with the outside world
for the mutual benefit; we cannot afford to always reimplement everything in
Smalltalk just to be able to comfortably debug the issues we wouldn't have
if we had used something mature.

Originally this thread was about the development process and how it can be
improved. Sorry for drifting into the Squeak vs. the World discussion again.
Some things just trouble me and make me sad.

Kind regards,
Jakob



--
Sent from: http://forum.world.st/Squeak-Dev-f45488.html

Reply | Threaded
Open this post in threaded view
|

Re: Development methodology (was: tedious&nbsp; &nbsp; &nbsp; &nbsp; programming-in-the-debugger error needs fixing)

Jakob Reschke
In reply to this post by Squeak - Dev mailing list
Squeak - Dev mailing list wrote
> An enterprising dev implements the git server in squeak ....

Sigh, if it were really necessary to satisfy the community... One could
start from the FileSystem-Git package that ships with Squot and the Git
Browser. At the heart Git is just a key-value (or rather sha1-to-object)
store that contains blobs, trees, commits, and tags, plus a another
key-value (string-to-string/sha1) store for the refs, so the server would
even be free to choose how to persist the data.

Still, I think there are enough Git servers and implementations out there
already. We should not write our own.

If we had the time to write a Git platform, we could instead write that
integrated issue tracking platform for Monticello. The problem is already
solved for Git.


Squeak - Dev mailing list wrote
> 1. any git client interacts just as with the c git.
> 2. Behind the scenes, git uuid's are used but so are monticello "stuff"

SHA-1 hashes, not UUIDs in Git, but yeah you could put anything behind the
scenes as long as you can satisfy the interface.


Squeak - Dev mailing list wrote
> 3. Monticello interacts with the sqGit server seamlessly.( Handoff?)

So either we have that true Git adapter for Monticello (then we would also
not need our own server implementation), or the server has a Monticello
frontend in front of the Git backend.


Squeak - Dev mailing list wrote
> 4. Bug happens...native squeak tools...

Unless the bug is on the server. Then hidden native Squeak tools and broken
connection...


Squeak - Dev mailing list wrote
> If i had time, I would do it as it sounds like a fun project. I do not
> have time. ):

Oh if only I had too much time...



--
Sent from: http://forum.world.st/Squeak-Dev-f45488.html

Reply | Threaded
Open this post in threaded view
|

Re: Development methodology (was: tedious&nbsp; &nbsp; &nbsp; &nbsp; programming-in-the-debugger error needs fixing)

Eliot Miranda-2
Hi Jakob,

On Mon, Oct 5, 2020 at 12:18 PM Jakob Reschke <[hidden email]> wrote:
Squeak - Dev mailing list wrote
> An enterprising dev implements the git server in squeak ....

Sigh, if it were really necessary to satisfy the community... One could
start from the FileSystem-Git package that ships with Squot and the Git
Browser. At the heart Git is just a key-value (or rather sha1-to-object)
store that contains blobs, trees, commits, and tags, plus a another
key-value (string-to-string/sha1) store for the refs, so the server would
even be free to choose how to persist the data.

Still, I think there are enough Git servers and implementations out there
already. We should not write our own.

If we had the time to write a Git platform, we could instead write that
integrated issue tracking platform for Monticello. The problem is already
solved for Git.


Squeak - Dev mailing list wrote
> 1. any git client interacts just as with the c git.
> 2. Behind the scenes, git uuid's are used but so are monticello "stuff"

SHA-1 hashes, not UUIDs in Git, but yeah you could put anything behind the
scenes as long as you can satisfy the interface.


Squeak - Dev mailing list wrote
> 3. Monticello interacts with the sqGit server seamlessly.( Handoff?)

So either we have that true Git adapter for Monticello (then we would also
not need our own server implementation), or the server has a Monticello
frontend in front of the Git backend.

   If you were architecting this on a tight budget, which would you choose and why?  If you were architecting this with an unlimited budget, what would you choose and why?


Squeak - Dev mailing list wrote
> 4. Bug happens...native squeak tools...

Unless the bug is on the server. Then hidden native Squeak tools and broken
connection...

Right.  But we suffer that with Monticello too.  However, Git, like Monticello, has the advantage that one can work locally without uploading, unlike, say, Subversion, which (IIRC) can only do remote commits.


Squeak - Dev mailing list wrote
> If i had time, I would do it as it sounds like a fun project. I do not
> have time. ):

Oh if only I had too much time...

Amen.  But there is a corollary I can attest to.  I've been able to work on Cog since 2008, 12 years already.  That's as long as I worked on VisualWorks, and there's no sign that I'll have to stop working on opensmalltak-vm (Cog), Squeak or Terf any time soon.  I had the architectural idea for Sista back in 2003, and had to ait for Clément's arrival to see it realised.  This is to say that it is really important not to allow your ambition to be limited by your perceptio of how much time you have.  Likely, if you're committed and passionate and lucky, you will have much more time than you imagine.  Patience *is* a virtue, along with stubborn doggedness.
--
Sent from: http://forum.world.st/Squeak-Dev-f45488.html

_,,,^..^,,,_
best, Eliot


Reply | Threaded
Open this post in threaded view
|

Re: Development methodology (was: tedious&nbsp; &nbsp; &nbsp; &nbsp; programming-in-the-debugger error needs fixing)

Christoph Thiede
Hi all,

looks like I'm a bit late back to this debate again, but it's very nice it
is still going on! There are many arguments I wanted to tell but Jakob
already explained all of them better than I could do. So just let me come
back to some points:


Mantis:

I just took another look at bugs.squeak.org again, and I'm sorry but I still
think that our community deserves a better bug tracking solution than this.
It really looks old-fashioned and, from today's point of view, quite chaotic
and confusing. And compared to something like GitHub, it does not give me an
idea of how to report a bug. Do I have to log in? Which credentials do I
need to use? Why is there no register button anywhere?
Also, there must be some reason why the latest issue was submitted nearly
two years ago. Is Mantis connected to the mailing list at all? Asking all of
you who have used Mantis in past and reported newer bugs to the mailing list
instead, why did you do that? I would guess because mails provid higher
visibility and interactivity, is this correct?


Phil, you called GitHub & Co. one trend of many that's durability is
uncertain (correct me if I misunderstood you). I see this point, but looking
at the current numbers I strongly believe that GitHub has reached a critical
mass of developers and projects that won't move so quickly again. How many
large global players have decided to use GitHub, including competitors of
Microsoft itself such as Google, Apple, Facebook, etc.?

At least, according to the trends GitHub is way more popular than
SourceForge, for example, has ever been, actually, it has even overtaken git
itself on Google Trends:
https://trends.google.com/trends/explore?date=all&q=github,sourceforge,gitlab,bitbucket,slack

(By the way, if you search any old threads you can also find it on
web.archive.org in most cases).

> Here you're showing you've already fallen behind: the github trend for
> discussing things is already fading and those trendier than you have
> already moved on to the next thing: Slack  is where it's at!  In a year or
> two it will be something else... and the treadmill keeps going but not
> really going anywhere.

Slack is a group messenger used for communication in small to medium teams,
but I can hardly imagine someone seriously uses this as a bug tracker for a
large-scale software project with a big community, there is just too much
noise when pressing Enter sends a new message. The same goes for social
media platforms such as Google Plus that do not even offer basic tracking
features such as closing or labeling. I don't think you can compare this.


> Monticello ancestry does support branching, yet I think Monticello lacks
> first-class objects for branches, with all the implications for repository
> handling.

+1. And I feel the lack of branches for about every second or third
submission I make to the inbox and am forced to reinvent my one pseudo
branch wheel.


Git vs. GitHub vs. GitLab:

As Jakob already mentioned, they're not the same. I believe that GitHub
offers the largest range by far, but personally I would still consider it as
an improvement to set up a self-hosted GitLab instance (actually, from a
technical point of view, I think GitLab offers even more convenience
features for free).

But still, it's right what Eliot said about git and companies:

> One gives up great autonomy when allowing ones core VCS to be in a foreign
> system

So why do you use git & GitHub for OpenSmalltalk-VM and not something like
Monticello?

Which leads me to my most important point which Uncle Bob from Jakob's
linked talk above gives this striking name to: elitism.
In plain theory, I would consider it as an ideal, too, to have a Smalltalk
system in which you can literally control every bit (ultimately, this might
be a Smalltalk computer with no separate host system, where all drivers etc.
are written in Smalltalk - completely neglecting every question of
optimization). But in reality, the Squeak community, or even the entire
Smalltalk community, is a quite small community, and I would love to change
this and make Squeak/Smalltalk competitive again for contemporary
development tasks, which involves the mutual boosting between
tools/frameworks and developers. And because we are quite small at this
point, we have two alternative ways we could go:
Either we can spend our time on reimplementing every good and relevant idea
from the "real world" in Squeak and making ourself even more comfortable in
our small niche (which is, as I'm convinced, already very comfortable in
many terms, compared to most other languages and environments); or we can
join our forces and focus for now on opening our system towards the real
world, both in terms of solutions and people. Which one would you choose?

> Yet in my opinion Squeak really needs to get along with the outside world
> for the mutual benefit; we cannot afford to always reimplement everything
> in Smalltalk just to be able to comfortably debug the issues we wouldn't
> have if we had used something mature.

+1000


Best,
Christoph

PS: And as a matter of course, I'm neither in the position nor willing to
enforce any innovations that would deter some of our important community
members from the Squeak Project. But I'm not giving up the hope that this
discussion may reveal some more interesting insights about the desires and
demands of us as a community. :-)



--
Sent from: http://forum.world.st/Squeak-Dev-f45488.html

Carpe Squeak!
Reply | Threaded
Open this post in threaded view
|

Re: Development methodology (was: tedious&nbsp; &nbsp; &nbsp; &nbsp; programming-in-the-debugger error needs fixing)

Squeak - Dev mailing list
My opinion for what it us worth.


I prefer the monticelloand I agree it should be kept as the core squeak repo for reasons Eliot has given; its very similar to the Slackware tgz  ways of doing things. Easy peasy, consistent  and routine*

I see Jakob's git tool as a means to establish two way communication with the gitster userbase.  The Roassal attempt uses it to get from git into squeak and then, hopefully into monticello for ease if installation. Call this the git-pull.

Regarding the git-push from squeak to git, Eliot mentioned a git centric use-case recently that he noted was very convenient.  Let me thow in my initial thioughts for squeakbooks.irg/doc/seasideDoc...each book will live in sqyeak as a class;  its content can be built internally in squeak via a workspace, helpbrowser, (what are those old fangled books in the flaps? Can it handle that?).  From squeak, we can commit to github and monticelli,  keeping  monticello the spine if the project. From the outreach perspective, some git-heads will prefer to clone, checkout, edit and commit entirely from Emacs**

Count me in the keep monticello camp, and also count me in the outreach/facilitate camp.

Frankly, I do not like git. I have learned it twice and forgotten it twice, now I am on relearn three for the Roassal effort.

Cordially,




*Slackware is a very conservative linux distro, their community has solved the "next cool thing" itch with Slackbuilds.org.  Core Slackware stays lean and old school while Slackbuilds has the cutting edge stuff. A cool featyre of that site is that each package lists its dependencies as links to the required package  . For example, here us Rasterman's ground breaking E16  wirh ine dependency

https://slackbuilds.org/repository/14.2/desktop/e16/

While this one https://slackbuilds.org/repository/14.2/ham/wsjtx/  has 3 deps and the first dep has its deps...I find this model far easier to use than Metacello. Slackbuoilds is tarballs all the way down.  Squeakbuilds can/ should be .mcz's all the way down abd That! Is Monticello, baby. Nite too that the drop down filters by version.  The latest BabyIDE stuff would be solved with that. Couple that, with squeak-launcher that makes it easy to launch different squeak images wuth different VM's and you got yourself a user friendly sysrem.



**cue Tim screaming....


---- On Tue, 06 Oct 2020 06:47:58 -0400 [hidden email] wrote ----

Hi all,

looks like I'm a bit late back to this debate again, but it's very nice it
is still going on! There are many arguments I wanted to tell but Jakob
already explained all of them better than I could do. So just let me come
back to some points:


Mantis:

I just took another look at bugs.squeak.org again, and I'm sorry but I still
think that our community deserves a better bug tracking solution than this.
It really looks old-fashioned and, from today's point of view, quite chaotic
and confusing. And compared to something like GitHub, it does not give me an
idea of how to report a bug. Do I have to log in? Which credentials do I
need to use? Why is there no register button anywhere?
Also, there must be some reason why the latest issue was submitted nearly
two years ago. Is Mantis connected to the mailing list at all? Asking all of
you who have used Mantis in past and reported newer bugs to the mailing list
instead, why did you do that? I would guess because mails provid higher
visibility and interactivity, is this correct?


Phil, you called GitHub & Co. one trend of many that's durability is
uncertain (correct me if I misunderstood you). I see this point, but looking
at the current numbers I strongly believe that GitHub has reached a critical
mass of developers and projects that won't move so quickly again. How many
large global players have decided to use GitHub, including competitors of
Microsoft itself such as Google, Apple, Facebook, etc.?

At least, according to the trends GitHub is way more popular than
SourceForge, for example, has ever been, actually, it has even overtaken git
itself on Google Trends:
https://trends.google.com/trends/explore?date=all&q=github,sourceforge,gitlab,bitbucket,slack

(By the way, if you search any old threads you can also find it on
web.archive.org in most cases).

> Here you're showing you've already fallen behind: the github trend for
> discussing things is already fading and those trendier than you have
> already moved on to the next thing: Slack is where it's at! In a year or
> two it will be something else... and the treadmill keeps going but not
> really going anywhere.

Slack is a group messenger used for communication in small to medium teams,
but I can hardly imagine someone seriously uses this as a bug tracker for a
large-scale software project with a big community, there is just too much
noise when pressing Enter sends a new message. The same goes for social
media platforms such as Google Plus that do not even offer basic tracking
features such as closing or labeling. I don't think you can compare this.


> Monticello ancestry does support branching, yet I think Monticello lacks
> first-class objects for branches, with all the implications for repository
> handling.

+1. And I feel the lack of branches for about every second or third
submission I make to the inbox and am forced to reinvent my one pseudo
branch wheel.


Git vs. GitHub vs. GitLab:

As Jakob already mentioned, they're not the same. I believe that GitHub
offers the largest range by far, but personally I would still consider it as
an improvement to set up a self-hosted GitLab instance (actually, from a
technical point of view, I think GitLab offers even more convenience
features for free).

But still, it's right what Eliot said about git and companies:

> One gives up great autonomy when allowing ones core VCS to be in a foreign
> system

So why do you use git & GitHub for OpenSmalltalk-VM and not something like
Monticello?

Which leads me to my most important point which Uncle Bob from Jakob's
linked talk above gives this striking name to: elitism.
In plain theory, I would consider it as an ideal, too, to have a Smalltalk
system in which you can literally control every bit (ultimately, this might
be a Smalltalk computer with no separate host system, where all drivers etc.
are written in Smalltalk - completely neglecting every question of
optimization). But in reality, the Squeak community, or even the entire
Smalltalk community, is a quite small community, and I would love to change
this and make Squeak/Smalltalk competitive again for contemporary
development tasks, which involves the mutual boosting between
tools/frameworks and developers. And because we are quite small at this
point, we have two alternative ways we could go:
Either we can spend our time on reimplementing every good and relevant idea
from the "real world" in Squeak and making ourself even more comfortable in
our small niche (which is, as I'm convinced, already very comfortable in
many terms, compared to most other languages and environments); or we can
join our forces and focus for now on opening our system towards the real
world, both in terms of solutions and people. Which one would you choose?

> Yet in my opinion Squeak really needs to get along with the outside world
> for the mutual benefit; we cannot afford to always reimplement everything
> in Smalltalk just to be able to comfortably debug the issues we wouldn't
> have if we had used something mature.

+1000


Best,
Christoph

PS: And as a matter of course, I'm neither in the position nor willing to
enforce any innovations that would deter some of our important community
members from the Squeak Project. But I'm not giving up the hope that this
discussion may reveal some more interesting insights about the desires and
demands of us as a community. :-)



--
Sent from: http://forum.world.st/Squeak-Dev-f45488.html




Reply | Threaded
Open this post in threaded view
|

Re: Development methodology (was: tedious&nbsp; &nbsp; &nbsp; &nbsp; programming-in-the-debugger error needs fixing)

Phil B
In reply to this post by Christoph Thiede
Christoph,

On Tue, Oct 6, 2020 at 6:48 AM Christoph Thiede <[hidden email]> wrote:
Phil, you called GitHub & Co. one trend of many that's durability is
uncertain (correct me if I misunderstood you). I see this point, but looking
at the current numbers I strongly believe that GitHub has reached a critical
mass of developers and projects that won't move so quickly again. How many
large global players have decided to use GitHub, including competitors of
Microsoft itself such as Google, Apple, Facebook, etc.?

You can always switch from github to gitlab to some other 3rd party to self hosted which is key.  If that weren't an option, I think there's about a 0% chance most of us would be using github as the entire conversation about migrating would have been a non-starter.

Separate git from github.  I don't doubt the durability of git as a VCS, github is just a convenient server implementation.  As nice as github is, I believe the open source world flocked to github because of its underlying use of git rather than github itself.  I do very much doubt the durability of github issues, especially given github's corporate ownership.  As has been shown repeatedly over the decades, if Microsoft (like any other for-profit entity) decides it's in their best interest to deprecate/migrate this functionality to something else (say a Teams-centric solution or whatever) they *will* leave people who don't want to migrate high and dry or left with some semi-functional solution that tries to push them into a commercial offering.  Since it's a proprietary solution, Smalltalk users would be stuck in that scenario if they become dependent on it.  The majority of projects I follow that existed pre-github migrated to github with one eye on the door (i.e. 'what will we do if github ever shuts down free access or otherwise does something anti-open source?') and are very reluctant to embrace github issues for that reason: it makes leaving harder should the situation change.  The smart move is to remain skeptical and keep your options open given how many different times and ways this has played out badly in the past.

There have been numerous times in the past when 'everyone' (esp. major companies) flocked to things because they had achieved critical mass and weren't ever going to go away.  Visual Basic and Java come to mind.  SourceForge used to be that type of solution  for a number of open source projects and see how well that turned out.
 
At least, according to the trends GitHub is way more popular than
SourceForge, for example, has ever been, actually, it has even overtaken git
itself on Google Trends:
https://trends.google.com/trends/explore?date=all&q=github,sourceforge,gitlab,bitbucket,slack

Popularity is fleeting.  Notice how that red line (SourceForge popularity) comes in on the left? (which probably also represent the years it was in decline, BTW)  For the first 5 years of that graph one could have made the argument 'look how popular SourceForge is, we should be using it' (oh boy, did people make that argument back then!)... it's a bad metric to base decisions on.
 


(By the way, if you search any old threads you can also find it on
web.archive.org in most cases).

A truly awful solution only viable if you've bought into the 'it's never going to go away' line of thinking and then it does.
 

> Here you're showing you've already fallen behind: the github trend for
> discussing things is already fading and those trendier than you have
> already moved on to the next thing: Slack  is where it's at!  In a year or
> two it will be something else... and the treadmill keeps going but not
> really going anywhere.

Slack is a group messenger used for communication in small to medium teams,
but I can hardly imagine someone seriously uses this as a bug tracker for a
large-scale software project with a big community, there is just too much
noise when pressing Enter sends a new message. The same goes for social
media platforms such as Google Plus that do not even offer basic tracking
features such as closing or labeling. I don't think you can compare this.

I don't disagree re: Slack but I've seen plenty of younger people not care: they want to use Slack because it's what they know.  That's basically your argument for Squeak to use github issues: that's what you, and people in your peer group, know and use.[1]  I actually don't take issue with that: if github issues really were a better, viable, long-term reliable replacement for open source projects I think most of us would bite down and make the switch (as many did when the discussion of migrating to git occurred).  The problem is github issues isn't that.  I can hardly imagine open source projects even considering using a proprietary solution, which is very different from using commercial hosting of an open solution, but here we are discussing even thinking about github issues.

[1] Which I'd counter with: learn something new (to you), not something that is merely new.
  
Best,
Christoph

Thanks,
Phil 


123