October 17, 2013
On 10/16/13, Brad Roberts <braddr@puremagic.com> wrote:
> That's not a what, that's a who.

- We do not have any vision or major plans ahead for the language. Currently we're stuck in a bug-driven development environment, where bugs are arbitrarily picked off of bugzilla and fixed. But there's no major plans ahead, e.g. "let's plan to fix these X major bugs for some upcoming release". We can't force people to work on X or Y, but if they're in a visual place and marked important and scheduled to be fixed, this will give an incentive for contributors to work on these problems.

- We do not have any defined release timeline. When is it time to start prepping for a release? It's up to Walter's arbitrary decision for when this happens, he doesn't even talk to the community or contributors on whether it's a good time for a beta phase (maybe there's a huge or disruptive new pull request that's planning to be merged and a beta should be delayed).

- We do not have a defined timeline for the beta testing period. How long before we decide that the beta has been tested for long enough before a release is made? Again, it's up to Walter's decision.

Having a defined release cycle and a beta testing period will ultimately be beneficial for everyone. People who are busy can rearrange their schedule to make free time and ensure they have enough time to test a beta compiler on their projects, and contributors to D can prepare for a cycle of days or weeks where they can rapidly work on reducing regressions and polish everything up for the release (e.g. writing an elaborate changelog).

- We do not have a proper release system. Nick Sabalausky has been working hard on one[1], but Walter seems to have completely ignored it. It would have been a terrific opportunity to try and make it work for this release. What better way to test it than to test it on a release?

- The betas are still not visible. The homepage makes no notes on a new beta being available, the download page does not list the betas either, and AFAICT there's no RSS feed either. The social media groups are not notified either (neither Andrei's nor Walter's twitter feed make a mention of a new beta being out, the same applies to https://twitter.com/D_Programming or the #dlang hash tags). To top it all off, you cannot post to the dmd-beta newsgroups from the D Forums, you have to separately register to this mailing list.

If we want user feedback on betas we absolutely must make the betas visible and give an opportunity for people to post feedback.

- Walter is still not tagging the beta releases by the file name (it's always dmd2beta.zip). I've complained about this several times and IIRC someone else did as well at dconf (maybe I'm remembering wrong though). They should at least be named as "dmd2_064_beta1.zip", "dmd2_064_beta2.zip". And all of them should always be available for download (including visibility on the download page), so people who do not use Git or build manually from master can quicky check whether a regression was introduced in a specific beta version.

- I still sigh when I hear about Walter and Andrei having private phone conversations, or any kind of decision is made behind-the-scenes rather than publicly where the community has a say in it. Walter's implementation of UDAs directly in master which lead to having a deprecated syntax even though nobody used this syntax is what comes to mind.

- Both Walter and Andrei not following the rules and making novice mistakes w.r.t Git and Github. Walter still seems to struggle with basic usage of git, where people continually have to re-explain what's wrong and how to fix an issue. I'm sorry, but if someone bought the Git book years ago and is still struggling with *concepts* then no amount of hand-guiding is going to help. And Andrei doing things like merging a dozen pull requests at once, with complete disregard to the fact that merging to master means other pulls could easily break (and so master can be broken). You cannot make so many merges unless you're absolutely sure each pull request does not interfere with another.

- Back to Walter, a few weeks ago he merged a pull request over night, without regard to the pull request not being fully tested by the test machines. The result? Master was broken **for the entire next day**. Nobody knew which commit broke master, so nothing was done until Walter came back to Github the next day and started reverting his pulls. In the meantime the entire day was wasted because nobody's pull request could get green. Luckily it was a sunday, so there weren't too many complaints. But I could have easily merged a few pulls that day (as it happens I like to do things on a sunday), and as a result we would have a smaller pull queue.

--

There's just many things that are going plain wrong here, and a lot of promises are always made but ultimately never delivered (whether it's about breaking changes or an improved development process -- again think about scheduling bug fixes for the future, we could help people prepare for the breaking changes).

Personally I find D to be a huge part of me right now (probably not the other way around, I'm a small part of this compared to the huge contributors), and I feel really bummed out when both Andrei and Walter take a casual stance when things are broken (whether it's the system itself or something specific like master being broken). I really think we have a great thing going here with the language, but everything else has to improve, and particularly the development and release process.

So that's what I'm protesting about.

[1] : https://github.com/D-Programming-Language/installer/pull/24
(release build script)
October 18, 2013
On Wednesday, 16 October 2013 at 17:41:37 UTC, deadalnix wrote:
> Hum I have several regression is SDC's test suite. I have to investigate more to fix the code or submit bug report. It looks related to AA. What are the changes that affect AA in this new release ?

It turns out that is is a closure bug.

Sadly, this involve compiling SDC completely and run it on some test data. I can repro consistently, but it seems really hard to get a small repro. I just moved to the US, and am quite busy especially since the gvt shutdown have complicated things quite a bit.

Anyway, It is unlikely that I'll have a redux in the next ~2 weeks. I'm not how we should proceed here, but the bug seems serious to me (the worst kind : everything compile fine, bug the codegen is bogus).
October 18, 2013
On 2013-10-17 22:35, Andrej Mitrovic wrote:

> - Walter is still not tagging the beta releases by the file name (it's
> always dmd2beta.zip). I've complained about this several times and
> IIRC someone else did as well at dconf (maybe I'm remembering wrong
> though). They should at least be named as "dmd2_064_beta1.zip",
> "dmd2_064_beta2.zip". And all of them should always be available for
> download (including visibility on the download page), so people who do
> not use Git or build manually from master can quicky check whether a
> regression was introduced in a specific beta version.

Please make it "dmd.2_064_beta1.zip" and "dmd.2_064_beta2.zip" instead. This will automatically make it compatible with DVM. The important thing here is "dmd.<whatever>".

> So that's what I'm protesting about.

Agree with everything you said.

-- 
/Jacob Carlborg
October 18, 2013
On Friday, 18 October 2013 at 04:14:59 UTC, deadalnix wrote:
> On Wednesday, 16 October 2013 at 17:41:37 UTC, deadalnix wrote:
>> Hum I have several regression is SDC's test suite. I have to investigate more to fix the code or submit bug report. It looks related to AA. What are the changes that affect AA in this new release ?
>
> It turns out that is is a closure bug.
>
> Sadly, this involve compiling SDC completely and run it on some test data. I can repro consistently, but it seems really hard to get a small repro. I just moved to the US, and am quite busy especially since the gvt shutdown have complicated things quite a bit.
>
> Anyway, It is unlikely that I'll have a redux in the next ~2 weeks. I'm not how we should proceed here, but the bug seems serious to me (the worst kind : everything compile fine, bug the codegen is bogus).

More detail, and that is getting weird. The bug seem limited to the use of unittest. Anyway, let's do some dustmitting tomorow and hope it goes somewhere.

Also, when NOT using the unittest flag, a lot of my code do not compile, symbol _D6object15__T7reserveTyaZ7reserveFNaNbNeKAyamZm is missing.

It seems I have 2 bad bugs here.
October 18, 2013
On Friday, 18 October 2013 at 06:36:43 UTC, Jacob Carlborg wrote:
> On 2013-10-17 22:35, Andrej Mitrovic wrote:
>
>> - Walter is still not tagging the beta releases by the file name (it's
>> always dmd2beta.zip). I've complained about this several times and
>> IIRC someone else did as well at dconf (maybe I'm remembering wrong
>> though). They should at least be named as "dmd2_064_beta1.zip",
>> "dmd2_064_beta2.zip". And all of them should always be available for
>> download (including visibility on the download page), so people who do
>> not use Git or build manually from master can quicky check whether a
>> regression was introduced in a specific beta version.
>
> Please make it "dmd.2_064_beta1.zip" and "dmd.2_064_beta2.zip" instead. This will automatically make it compatible with DVM. The important thing here is "dmd.<whatever>".

IIRC, Walter wanted that file to always be named dmd.zip or dmd2.zip or whatever, in order to allow a permanent download link, while guaranteeing the file to be the latest version of the tool.

In this case, I think the best compromise is simply to have the latest version download-able either as dmd2.zip and as dmd2.<version>.zip.


October 18, 2013
On 10/17/2013 11:45 PM, deadalnix wrote:
> Also, when NOT using the unittest flag, a lot of my code do not compile, symbol
> _D6object15__T7reserveTyaZ7reserveFNaNbNeKAyamZm is missing.

See:

http://d.puremagic.com/issues/show_bug.cgi?id=11284

October 18, 2013
On Friday, 18 October 2013 at 07:21:47 UTC, Walter Bright wrote:
> On 10/17/2013 11:45 PM, deadalnix wrote:
>> Also, when NOT using the unittest flag, a lot of my code do not compile, symbol
>> _D6object15__T7reserveTyaZ7reserveFNaNbNeKAyamZm is missing.
>
> See:
>
> http://d.puremagic.com/issues/show_bug.cgi?id=11284

I blasted everything from dmd/druntime/phobos and my own project and recompiled everything from master for D projects and then my project is compiled with the new dmd, everything with the same flag.

I highly doubt that this fit into cases 1 to 4 as you mention. I'll however double check with that in mind.

That also doesn't explain why I get a closure bug (frame pointer or frame content is corrupted) when compiling with unittest. The code that fail isn't even unittested !
October 18, 2013
On 10/18/13, eles <eles@eles.com> wrote:
> IIRC, Walter wanted that file to always be named dmd.zip or dmd2.zip or whatever, in order to allow a permanent download link, while guaranteeing the file to be the latest version of the tool.

This is the wrong approach. There should be a "latest_beta" file which holds the name of the latest beta zip. Then automatic download tools can read this file before attempting to download the beta. And for everyone else who manually downloads, they should be able to see what the latest version is on the website.

This isn't a novelty approach, many open-source libraries host their sources in a tarball on an FTP server with a LATEST file.

Speaking of which, insisting on using .zip files is another beef I have with Walter. The whole "everyone on Windows is stuck in the 90s" mentality is plain wrong, especially for programmers. 7zip (or Peazip or whatever) should be part of every modern programmer's toolbox.

If you've tried to investigate some source code of an open-source library in the last 15 years you must have ran into the issue of having to open tarballs, or more specifically non-zip/non-rar archives. I just can't believe there would still be programmers that use Winzip or the lousy built-in Windows unzipper.
October 18, 2013
On 10/18/13 7:08 AM, Andrej Mitrovic wrote:
> On 10/18/13, eles <eles@eles.com> wrote:
>> IIRC, Walter wanted that file to always be named dmd.zip or
>> dmd2.zip or whatever, in order to allow a permanent download
>> link, while guaranteeing the file to be the latest version of the
>> tool.
>
> This is the wrong approach. There should be a "latest_beta" file which
> holds the name of the latest beta zip.

Correct, the latest beta is a link to the actual numbered file.

> Speaking of which, insisting on using .zip files is another beef I
> have with Walter. The whole "everyone on Windows is stuck in the 90s"
> mentality is plain wrong, especially for programmers. 7zip (or Peazip
> or whatever) should be part of every modern programmer's toolbox.

I don't think that makes a large difference. Probably the better thing to do is trimming the contents of the archive.

I'll come back with a reply to the longer message.


Andrei


October 18, 2013
Am 18.10.2013 09:33, schrieb deadalnix:
> On Friday, 18 October 2013 at 07:21:47 UTC, Walter Bright wrote:
>> On 10/17/2013 11:45 PM, deadalnix wrote:
>>> Also, when NOT using the unittest flag, a lot of my code do not
>>> compile, symbol
>>> _D6object15__T7reserveTyaZ7reserveFNaNbNeKAyamZm is missing.
>>
>> See:
>>
>> http://d.puremagic.com/issues/show_bug.cgi?id=11284
>
> I blasted everything from dmd/druntime/phobos and my own project and
> recompiled everything from master for D projects and then my project is
> compiled with the new dmd, everything with the same flag.
>
> I highly doubt that this fit into cases 1 to 4 as you mention. I'll
> however double check with that in mind.
>
> That also doesn't explain why I get a closure bug (frame pointer or
> frame content is corrupted) when compiling with unittest. The code that
> fail isn't even unittested !

I have a similar issue than yours. The symbol that is missing for me is not even contained within any version or debug block. See:
http://d.puremagic.com/issues/show_bug.cgi?id=11280

Kind Regards
Benjamin Thaut