Idea #1 on integrating RC with GC

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Mon Feb 10 15:15:34 PST 2014


On 2/10/14, 12:48 AM, "Ola Fosheim Grøstad" 
<ola.fosheim.grostad+dlang at gmail.com>" wrote:
> On Monday, 10 February 2014 at 04:22:32 UTC, Andrei Alexandrescu wrote:
>> Your thoughts are appreciated (all 6 of them in as many sentences).
>> There is something to be said, however, about armchair quarterbacking
>> and holier-than-thou kibitzing on what others should be doing. This
>> community is as close as it gets to a meritocracy, so if you think you
>> know what's good, you do good. If you want your stupendously many "I
>> think"s to carry weight, follow them with some "I do"s as well. Hop on
>> github. This endless walk through your knowledge base just isn't useful.
>
> Good job, my initial response to Manu was a critique of going Ad Hominem
> and you as a person time and time again fail in that regard in many
> discussions.

Totally. For the most part I take posts one at a time and at face value 
only, it's just that sometimes larger patterns develop themselves. But 
as I told Walter, for better or (sometimes definitely) worse, our 
character flaws make history inside the D community.

> You do however deserve a round of ad hominem because you as
> one of the two people who are in a position to communicate the project
> vision and set forth MEASURABLE goals that can be tracked and evaluated,
> but you refuse to do so.

A fresh perspective is always good to take under consideration. It's 
also a good opportunity to bring more transparency to what we're doing, 
as I'll do below.

> All talk of meritocracy is essentially hypocrisy because all projects
> need to establish boundaries and a goal post, and you fail miserably in
> that regard. That's why D is a slow mover. "This endless walk through
> [my] knowledgebase" is of course not a walk through my knowledgebase, it
> is an assessment of the project that YOU FAIL to attempt to do. It is my
> attempt to try to figure out where this project is heading.
>
> You are right, I should not have to do it. YOU SHOULD DO IT. AND PRESENT
> IT. That way people won't be let down.

I have done so. Several times. Two very simple examples from recent history:

1. I stressed that good work on bugs with bounties is a gesture of good 
will with Facebook that will bring more support from the company. It's 
the trifecta: the bugs are not harder than those people work on anyway, 
it's good impact on the future of the language, and it's even 
non-negligible money. E.g. I wrote on 2014-01-11:

> My hope is to convince that the message Facebook is conveying here is
> much stronger than the actual sums involved; it's an initiation of
> cooperation and involvement with a community, and it would be awesome
> to respond in kind.

Taking a look at 
https://www.bountysource.com/trackers/383571-d-programming-language, 
however, reveals that there's little attention to those bugs, in SPITE 
of the fact that contributions on HARDER problems on the SAME project 
continued as furiously as ever, if not more.

2. I said many times our inability to review github contributions at the 
rate they arrive is an important problem we're facing. We currently have 
216 open pull requests across our projects. I think this bottleneck very 
concretely limits the growth speed of D.

This is a typical problem. Reviewing contributions is hard and thankless 
work. I know how we solved it at Facebook for our many open-sourced 
projects: we created a team for it, with a manager, tracking progress, 
the works. This is _exactly_ the kind of thing that can't be done in a 
volunteer community.

The reality is that on a volunteer-driven project, it's not easy to tell 
people what to do. They're by definition in it for working what _they_ 
want to work on. Applying classic management techniques naively is 
unlikely to work because all management techniques are using resources 
toward goals and assume the appropriately qualified human resources will 
work on what the project requires be done.

So I wasn't glib when I sent you to github. In a very concrete sense, 
you'd be helping there a ton more in a fraction of the time you spend 
posting.

> I like the initial vision Walter Bright put forth years ago, that is to
> make a better C++. That has somehow evolved into making a compiled C#.
> Can you please ASSESS that.

I think D must not define itself in relation to any other language.

> You and Walter Bright are leads.
>
> I expect any project and you to put forth:
>
> 1. A clear vision that establish a firm boundary.
> 2. A small set of clear measurable goals that give the project direction.
> 3. A list of points stating what the project is not going to address in
> the immediate future.

Some of these are useful to put together at least as (a) thoughts on 
what I believe would be high-impact topics, (b) things that I plan 
personally to work on.

> This endless walk through what is wrong with D project management just
> isn't useful, because you don't want to listen.

Honestly, as one who's been at this for a long time and has done and 
witnessed a number of such attempts, I think you're exceedingly naive 
about what can be done with traditional project management approaches in 
this case.

Three simple anecdotes out of many:

1. I've had a long chat with a Linux senior kernel guy who's been there 
since the very early days. Back then Linux did not have any form of 
project management, and nobody told people what to work on. People just 
worked on whatever itch they wanted to scratch. The way it succeeded is 
getting the attention of sufficiently many people that there was someone 
on each possible itch :o). Still, for a very long time (years after 
actual heavy corporate support emerged) many Linux tools looked like 
proofs of concept compared to the mature Windows equivalents.

2. A few months ago a prominent member of the community made (privately 
to Walter and myself) a strong argument along the same lines as yours: D 
could move much faster if some good management could be used with it, 
and offered to ask as a manager of the project. I explained him with 
(other) examples what I'm explaining you now, of which the most 
important point was that resource management can be done if there are 
resources to manage. He understood my point (and was gracious enough to 
continue work within the community). I don't think things have changed 
in that regard since he made is bid.

3. Only a few _days_ ago Walter and I were discussing with another 
prominent community member. He is the author of a project that 
beautifully plays into D's strengths to the end of really being the best 
in the world at a very measurable metric. Walter and I emphasized how 
finalizing and streamlining this project would both launch his career on 
a meteoric orbit, and have a strong impact on D. He, however, is busy 
with schoolwork and some other D projects that are comparatively just 
irrelevant - and that's where the discussion just kind of ended. Had he 
been a report of mine, I would have simple ensured that I assign all his 
other tasks to someone else, and discuss goals and milestones with him 
for the high-impact project. But he's not, so I can't. This alone would 
have been enough to disabuse me of any illusions I could do project 
management on Dlang.

Ola, I'm sure you mean well. I trust you will find it within yourself 
the best way to contribute to this community.


Andrei



More information about the Digitalmars-d mailing list