www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - D 1.076 and 2.061 release

reply Walter Bright <newshound2 digitalmars.com> writes:
The big news is Win64 is now supported (in alpha).

http://www.digitalmars.com/d/download.html

D 1.076 changelog: http://www.digitalmars.com/d/1.0/changelog.html

A couple issues:

1. the dlang.org isn't updated yet.
2. the OS X package hasn't been built yet (problems with the package script).

I hope to get these resolved shortly. In the meantime, enjoy and have a Happy D 
Year!
Jan 01 2013
next sibling parent Walter Bright <newshound2 digitalmars.com> writes:
On 1/1/2013 3:46 PM, Walter Bright wrote:
 2. the OS X package hasn't been built yet (problems with the package script).
The OS X release is in the dmd.2.061.zip file, though.
Jan 01 2013
prev sibling next sibling parent reply "bearophile" <bearophileHUGS lycos.com> writes:
Walter Bright:

 http://www.digitalmars.com/d/download.html
Is this link correct? https://github.com/downloads/D-Programming-Language/dmd/dmd.2.061.zip Bye, bearophile
Jan 01 2013
parent Walter Bright <newshound2 digitalmars.com> writes:
On 1/1/2013 5:39 PM, bearophile wrote:
 Walter Bright:

 http://www.digitalmars.com/d/download.html
Is this link correct? https://github.com/downloads/D-Programming-Language/dmd/dmd.2.061.zip
No. I fixed it. You can also try: http://downloads.dlang.org.s3-website-us-east-1.amazonaws.com/releases/2013/
Jan 01 2013
prev sibling next sibling parent reply "bearophile" <bearophileHUGS lycos.com> writes:
In the D2 changelog the "Phobos Bugs Fixed" seems empty.

Also there are issues like this one that don't give enough info:
http://d.puremagic.com/issues/show_bug.cgi?id=9219

I think in the Changelog a little summary of the biggest changes 
("Release highlights") is useful to have.

Another useful thing for the changelog is like the "Porting to 
Python x.x" here:
http://docs.python.org/3.3/whatsnew/3.3.html
It explains what needs to be modified in user code to use the new 
language release.

Bye,
bearophile
Jan 01 2013
parent Walter Bright <newshound2 digitalmars.com> writes:
On 1/1/2013 7:11 PM, bearophile wrote:
 In the D2 changelog the "Phobos Bugs Fixed" seems empty.
Corrected now.
Jan 01 2013
prev sibling next sibling parent reply "Bernard Helyer" <b.helyer gmail.com> writes:
I am getting a whole _mess_ of "warning: statement not reachable"
on everything after a final switch.
Jan 01 2013
next sibling parent "Bernard Helyer" <b.helyer gmail.com> writes:
On Wednesday, 2 January 2013 at 07:01:02 UTC, Bernard Helyer 
wrote:
 I am getting a whole _mess_ of "warning: statement not 
 reachable"
 on everything after a final switch.
It seems it's more complicated than that. I'll try and distill a test case down tomorrow.
Jan 01 2013
prev sibling parent reply "deadalnix" <deadalnix gmail.com> writes:
On Wednesday, 2 January 2013 at 07:01:02 UTC, Bernard Helyer 
wrote:
 I am getting a whole _mess_ of "warning: statement not 
 reachable"
 on everything after a final switch.
I can confirm this. Freaking annoying (and not really convincing me that D is stable) !
Jan 02 2013
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/2/2013 2:45 PM, deadalnix wrote:
 On Wednesday, 2 January 2013 at 07:01:02 UTC, Bernard Helyer wrote:
 I am getting a whole _mess_ of "warning: statement not reachable"
 on everything after a final switch.
I can confirm this. Freaking annoying (and not really convincing me that D is stable) !
Please post example to bugzilla.
Jan 02 2013
next sibling parent "deadalnix" <deadalnix gmail.com> writes:
On Thursday, 3 January 2013 at 01:06:46 UTC, Walter Bright wrote:
 On 1/2/2013 2:45 PM, deadalnix wrote:
 On Wednesday, 2 January 2013 at 07:01:02 UTC, Bernard Helyer 
 wrote:
 I am getting a whole _mess_ of "warning: statement not 
 reachable"
 on everything after a final switch.
I can confirm this. Freaking annoying (and not really convincing me that D is stable) !
Please post example to bugzilla.
I plan too, but will needs hours to reduce the case. I'll do it in the next days.
Jan 03 2013
prev sibling parent reply "deadalnix" <deadalnix gmail.com> writes:
On Thursday, 3 January 2013 at 01:06:46 UTC, Walter Bright wrote:
 On 1/2/2013 2:45 PM, deadalnix wrote:
 On Wednesday, 2 January 2013 at 07:01:02 UTC, Bernard Helyer 
 wrote:
 I am getting a whole _mess_ of "warning: statement not 
 reachable"
 on everything after a final switch.
I can confirm this. Freaking annoying (and not really convincing me that D is stable) !
Please post example to bugzilla.
http://d.puremagic.com/issues/show_bug.cgi?id=9263
Jan 03 2013
next sibling parent reply "deadalnix" <deadalnix gmail.com> writes:
On Thursday, 3 January 2013 at 11:38:53 UTC, deadalnix wrote:
 On Thursday, 3 January 2013 at 01:06:46 UTC, Walter Bright 
 wrote:
 On 1/2/2013 2:45 PM, deadalnix wrote:
 On Wednesday, 2 January 2013 at 07:01:02 UTC, Bernard Helyer 
 wrote:
 I am getting a whole _mess_ of "warning: statement not 
 reachable"
 on everything after a final switch.
I can confirm this. Freaking annoying (and not really convincing me that D is stable) !
Please post example to bugzilla.
http://d.puremagic.com/issues/show_bug.cgi?id=9263
Kenji made a pull request to fix this. I'm really thankful ! However, it is just to discover that this do not work : struct Bar {} auto foo(ref Bar bar) {} foo(Bar()); // Now this is an error ! I still have code broken all over the place.
Jan 03 2013
next sibling parent reply "bearophile" <bearophileHUGS lycos.com> writes:
deadalnix:

 I still have code broken all over the place.
D2 is getting its corner case problems sorted out and fixed, but this still causes some breakage in user code. As more people use D2, issues are found, discussed and fixed, the breakages will get more and more uncommon. Bye, bearophile
Jan 03 2013
next sibling parent reply "deadalnix" <deadalnix gmail.com> writes:
On Thursday, 3 January 2013 at 16:43:06 UTC, bearophile wrote:
 deadalnix:

 I still have code broken all over the place.
D2 is getting its corner case problems sorted out and fixed, but this still causes some breakage in user code. As more people use D2, issues are found, discussed and fixed, the breakages will get more and more uncommon.
Is this breakage intended ? To me it doesn't make sense, the generated code is : (Bar bar = Bar.init; , bar).this()
Jan 03 2013
parent reply "Jonathan M Davis" <jmdavisProg gmx.com> writes:
On Thursday, January 03, 2013 17:59:22 deadalnix wrote:
 On Thursday, 3 January 2013 at 16:43:06 UTC, bearophile wrote:
 deadalnix:
 I still have code broken all over the place.
D2 is getting its corner case problems sorted out and fixed, but this still causes some breakage in user code. As more people use D2, issues are found, discussed and fixed, the breakages will get more and more uncommon.
Is this breakage intended ? To me it doesn't make sense, the generated code is : (Bar bar = Bar.init; , bar).this()
It is most definitely intended. ref requires an lvalue. A struct literal is a temporary and therefore should be an rvalue, not an lvalue. Before, you had the stupid situation of foo(Bar()); //compiles foo(funcWhichReturnsBar()); //fails to compile Both are dealing with temporaries, so both should be rvalues, and neither should compile. You need an actual variable or other non-temporary memory location (e.g. dereferenced pointer) if you want to pass an argument to a ref function. The previous behavior was broken and should have been fixed ages ago. - Jonathan M Davis
Jan 03 2013
parent "deadalnix" <deadalnix gmail.com> writes:
On Thursday, 3 January 2013 at 18:36:32 UTC, Jonathan M Davis 
wrote:
 On Thursday, January 03, 2013 17:59:22 deadalnix wrote:
 On Thursday, 3 January 2013 at 16:43:06 UTC, bearophile wrote:
 deadalnix:
 I still have code broken all over the place.
D2 is getting its corner case problems sorted out and fixed, but this still causes some breakage in user code. As more people use D2, issues are found, discussed and fixed, the breakages will get more and more uncommon.
Is this breakage intended ? To me it doesn't make sense, the generated code is : (Bar bar = Bar.init; , bar).this()
It is most definitely intended. ref requires an lvalue. A struct literal is a temporary and therefore should be an rvalue, not an lvalue.
struct Bar { uint i; this(uint foo) { import std.stdio; writeln(&this); } } void main() { Bar(0); }
 Before, you had the stupid situation of

 foo(Bar()); //compiles
 foo(funcWhichReturnsBar()); //fails to compile

 Both are dealing with temporaries, so both should be rvalues, 
 and neither
 should compile. You need an actual variable or other 
 non-temporary memory
 location (e.g. dereferenced pointer) if you want to pass an 
 argument to a ref
 function. The previous behavior was broken and should have been 
 fixed ages ago.

 - Jonathan M Davis
The compiler actually create this storage to pass it to the constructor. Why can't it pass it to something else ?
Jan 03 2013
prev sibling parent reply Johannes Pfau <nospam example.com> writes:
Am Thu, 03 Jan 2013 17:43:03 +0100
schrieb "bearophile" <bearophileHUGS lycos.com>:

 deadalnix:
 
 I still have code broken all over the place.
D2 is getting its corner case problems sorted out and fixed, but this still causes some breakage in user code. As more people use D2, issues are found, discussed and fixed, the breakages will get more and more uncommon. Bye, bearophile
I agree. But we should probably start shipping minor releases. For example regression fixes in 2.061 in the next 2 weeks could be merged into the 2.061 branch as well and we could ship a 2.061.1 release with those fixes.
Jan 03 2013
next sibling parent Leandro Lucarella <luca llucax.com.ar> writes:
Johannes Pfau, el  3 de January a las 19:37 me escribiste:
 Am Thu, 03 Jan 2013 17:43:03 +0100
 schrieb "bearophile" <bearophileHUGS lycos.com>:
 
 deadalnix:
 
 I still have code broken all over the place.
D2 is getting its corner case problems sorted out and fixed, but this still causes some breakage in user code. As more people use D2, issues are found, discussed and fixed, the breakages will get more and more uncommon. Bye, bearophile
I agree. But we should probably start shipping minor releases. For example regression fixes in 2.061 in the next 2 weeks could be merged into the 2.061 branch as well and we could ship a 2.061.1 release with those fixes.
+1 Keepping a branch for each release would make this dead easy. -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------- El techo de mi cuarto lleno de estrellas
Jan 03 2013
prev sibling parent Pierre Rouleau <prouleau001 gmail.com> writes:
On 13-01-03 1:37 PM, Johannes Pfau wrote:
 Am Thu, 03 Jan 2013 17:43:03 +0100
 schrieb "bearophile" <bearophileHUGS lycos.com>:
 I agree. But we should probably start shipping minor releases.
+1 That would also enhance the visibility of the new language features in major releases for the end-users. -- /Pierre Rouleau
Jan 06 2013
prev sibling parent reply Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> writes:
On Thu, 03 Jan 2013 17:08:58 +0100
"deadalnix" <deadalnix gmail.com> wrote:
 
 However, it is just to discover that this do not work :
 
 struct Bar {}
 auto foo(ref Bar bar) {}
 
 foo(Bar()); // Now this is an error !
 
 I still have code broken all over the place.
IIRC, they tried to include this change in 2.060 (or was it 2.059?), but due to the major problems it causes, and the fact that it *does* make sense to use a temporary as an lvalue if you don't intend to use it again afterwords, there was a big discussion about it on the beta list and it was ultimately nixed. I'm disappointed to see that it snuck back.
Jan 07 2013
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/7/2013 3:19 PM, Nick Sabalausky wrote:
 On Thu, 03 Jan 2013 17:08:58 +0100
 "deadalnix" <deadalnix gmail.com> wrote:
 However, it is just to discover that this do not work :

 struct Bar {}
 auto foo(ref Bar bar) {}

 foo(Bar()); // Now this is an error !

 I still have code broken all over the place.
IIRC, they tried to include this change in 2.060 (or was it 2.059?), but due to the major problems it causes, and the fact that it *does* make sense to use a temporary as an lvalue if you don't intend to use it again afterwords, there was a big discussion about it on the beta list and it was ultimately nixed. I'm disappointed to see that it snuck back.
Well, fixing the rvalue ref problem is still on the front burner.
Jan 07 2013
parent reply Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> writes:
On Mon, 07 Jan 2013 17:18:11 -0800
Walter Bright <newshound2 digitalmars.com> wrote:

 On 1/7/2013 3:19 PM, Nick Sabalausky wrote:
 On Thu, 03 Jan 2013 17:08:58 +0100
 "deadalnix" <deadalnix gmail.com> wrote:
 However, it is just to discover that this do not work :

 struct Bar {}
 auto foo(ref Bar bar) {}

 foo(Bar()); // Now this is an error !

 I still have code broken all over the place.
IIRC, they tried to include this change in 2.060 (or was it 2.059?), but due to the major problems it causes, and the fact that it *does* make sense to use a temporary as an lvalue if you don't intend to use it again afterwords, there was a big discussion about it on the beta list and it was ultimately nixed. I'm disappointed to see that it snuck back.
Well, fixing the rvalue ref problem is still on the front burner.
Wait, so are you saying that the above code which stopped working in 2.061 will start working again in a later version?
Jan 07 2013
parent reply "deadalnix" <deadalnix gmail.com> writes:
On Tuesday, 8 January 2013 at 05:29:15 UTC, Nick Sabalausky wrote:
 On Mon, 07 Jan 2013 17:18:11 -0800
 Walter Bright <newshound2 digitalmars.com> wrote:

 On 1/7/2013 3:19 PM, Nick Sabalausky wrote:
 On Thu, 03 Jan 2013 17:08:58 +0100
 "deadalnix" <deadalnix gmail.com> wrote:
 However, it is just to discover that this do not work :

 struct Bar {}
 auto foo(ref Bar bar) {}

 foo(Bar()); // Now this is an error !

 I still have code broken all over the place.
IIRC, they tried to include this change in 2.060 (or was it 2.059?), but due to the major problems it causes, and the fact that it *does* make sense to use a temporary as an lvalue if you don't intend to use it again afterwords, there was a big discussion about it on the beta list and it was ultimately nixed. I'm disappointed to see that it snuck back.
Well, fixing the rvalue ref problem is still on the front burner.
Wait, so are you saying that the above code which stopped working in 2.061 will start working again in a later version?
No, I think he meant that breaking that code was actually fixing the language because it shouldn't have worked in a first place (thing I disagree with but I understand the reasoning).
Jan 07 2013
parent reply Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> writes:
On Tue, 08 Jan 2013 07:11:30 +0100
"deadalnix" <deadalnix gmail.com> wrote:

 On Tuesday, 8 January 2013 at 05:29:15 UTC, Nick Sabalausky wrote:
 On Mon, 07 Jan 2013 17:18:11 -0800
 Walter Bright <newshound2 digitalmars.com> wrote:

 On 1/7/2013 3:19 PM, Nick Sabalausky wrote:
 On Thu, 03 Jan 2013 17:08:58 +0100
 "deadalnix" <deadalnix gmail.com> wrote:
 However, it is just to discover that this do not work :

 struct Bar {}
 auto foo(ref Bar bar) {}

 foo(Bar()); // Now this is an error !

 I still have code broken all over the place.
IIRC, they tried to include this change in 2.060 (or was it 2.059?), but due to the major problems it causes, and the fact that it *does* make sense to use a temporary as an lvalue if you don't intend to use it again afterwords, there was a big discussion about it on the beta list and it was ultimately nixed. I'm disappointed to see that it snuck back.
Well, fixing the rvalue ref problem is still on the front burner.
Wait, so are you saying that the above code which stopped working in 2.061 will start working again in a later version?
No, I think he meant that breaking that code was actually fixing the language because it shouldn't have worked in a first place (thing I disagree with but I understand the reasoning).
So then what's this "rvalue ref problem" that's "still on the front burner"?
Jan 08 2013
parent reply Jonathan M Davis <jmdavisProg gmx.com> writes:
On Tuesday, January 08, 2013 16:25:10 Nick Sabalausky wrote:
 So then what's this "rvalue ref problem" that's "still on the front
 burner"?
auto ref / the problem that C++'s const & deals with. The ability to have a function which takes both lvalues and rvalues without copying them unless it has to. We have a solution for it with templated functions but no solution for non-templated functions. - Jonathan M Davis
Jan 09 2013
parent "Namespace" <rswhite4 googlemail.com> writes:
We have a solution for it with templated functions but
 no solution for
 non-templated functions.
We have: https://github.com/D-Programming-Language/dmd/pull/1019 It's ready to merge. So maybe in 2.062 this problem is solved.
Jan 09 2013
prev sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/3/2013 3:38 AM, deadalnix wrote:
 On Thursday, 3 January 2013 at 01:06:46 UTC, Walter Bright wrote:
 Please post example to bugzilla.
http://d.puremagic.com/issues/show_bug.cgi?id=9263
Thank you. (And whaddya know, Kenji just fixed it!)
Jan 03 2013
parent reply "Bernard Helyer" <b.helyer gmail.com> writes:
On Friday, 4 January 2013 at 03:21:46 UTC, Walter Bright wrote:
 On 1/3/2013 3:38 AM, deadalnix wrote:
 On Thursday, 3 January 2013 at 01:06:46 UTC, Walter Bright 
 wrote:
 Please post example to bugzilla.
http://d.puremagic.com/issues/show_bug.cgi?id=9263
Thank you. (And whaddya know, Kenji just fixed it!)
Excellent. This also demonstrates why a better release process would be nice -- I can either compile with -wi and filter out warnings until 2.062 or roll back to 2.060. Bug fix releases would be super keen. :D But eh, 64 bit support? UDAs? I can hardly complain.* -Bernard. * I'm still going to complain. :P
Jan 03 2013
parent Walter Bright <newshound2 digitalmars.com> writes:
On 1/3/2013 7:44 PM, Bernard Helyer wrote:
 * I'm still going to complain. :P
My dad always told me that the time to worry is when there's no grumbling :-)
Jan 03 2013
prev sibling next sibling parent reply "bearophile" <bearophileHUGS lycos.com> writes:
Are you going to remove the D1 compiler parts of code in the D2
compiler source code? A leaner source base will help.

Also this transitional moment seems a good moment to rename the
".c" suffix of the frontend+backend C++ files to ".cpp" or
something like that.


I have to warn people that if they want to suddenly switch from
2.060 to 2.061 with no intermediate steps, probably some of their
code will break, and they will have to work to fix it.

Bye,
bearophile
Jan 02 2013
parent reply Jonathan M Davis <jmdavisProg gmx.com> writes:
On Wednesday, January 02, 2013 09:12:49 bearophile wrote:
 I have to warn people that if they want to suddenly switch from
 2.060 to 2.061 with no intermediate steps, probably some of their
 code will break, and they will have to work to fix it.
Why? - Jonathan M davis
Jan 02 2013
next sibling parent reply "bearophile" <bearophileHUGS lycos.com> writes:
Jonathan M Davis:

 Why?
Because the two numbers "2.060" and "2.061" look very very similar, so people that see them risk thinking they are just two nearly identical releases of the same compiler. But many months have passed between those two versions, many bugs have being removed, several features have being introduced, and so on (just look at the difference in the zip size between the two versions), so it's better for the users to be aware that some probably some user code will need to be fixed or improved to run on the 2.061. Bye, bearophile
Jan 02 2013
next sibling parent reply Jonathan M Davis <jmdavisProg gmx.com> writes:
On Wednesday, January 02, 2013 10:19:54 bearophile wrote:
 Jonathan M Davis:
 Why?
Because the two numbers "2.060" and "2.061" look very very similar, so people that see them risk thinking they are just two nearly identical releases of the same compiler. But many months have passed between those two versions, many bugs have being removed, several features have being introduced, and so on (just look at the difference in the zip size between the two versions), so it's better for the users to be aware that some probably some user code will need to be fixed or improved to run on the 2.061.
And how is that any different from any other release? - Jonathan M Davis
Jan 02 2013
parent reply "bearophile" <bearophileHUGS lycos.com> writes:
Jonathan M Davis:

 And how is that any different from any other release?
How much time used to pass between two adjacent releases, in past? Bye, bearophile
Jan 02 2013
parent Jacob Carlborg <doob me.com> writes:
On 2013-01-02 12:55, bearophile wrote:
 Jonathan M Davis:

 And how is that any different from any other release?
How much time used to pass between two adjacent releases, in past? Bye, bearophile
Around a month, perhaps. -- /Jacob Carlborg
Jan 02 2013
prev sibling parent reply "Jonathan M Davis" <jmdavisProg gmx.com> writes:
On Wednesday, January 02, 2013 03:20:27 Jonathan M Davis wrote:
 On Wednesday, January 02, 2013 10:19:54 bearophile wrote:
 Jonathan M Davis:
 Why?
Because the two numbers "2.060" and "2.061" look very very similar, so people that see them risk thinking they are just two nearly identical releases of the same compiler. But many months have passed between those two versions, many bugs have being removed, several features have being introduced, and so on (just look at the difference in the zip size between the two versions), so it's better for the users to be aware that some probably some user code will need to be fixed or improved to run on the 2.061.
And how is that any different from any other release?
Two to three months generally of the past few years, so this release has been much delayed in comparison, but that doesn't really change anything. You have the same risk of things breaking that you normally do. Any bug fix risks breaking code. The only difference is that there are more bugs which have been fixed. It's quite possible that way more code broke between 2.059 and 2.060 than it did between 2.060 and 2.061. I see no reason to call out this release as being particularly dangerous. If anyone is concerned about the amount of time between releases, they can see that easily enough in the changelog. - Jonathan M Davis
Jan 02 2013
parent "SomeDude" <lovelydear mailmetrash.com> writes:
On Wednesday, 2 January 2013 at 19:42:13 UTC, Jonathan M Davis 
wrote:
 On Wednesday, January 02, 2013 03:20:27 Jonathan M Davis wrote:
 On Wednesday, January 02, 2013 10:19:54 bearophile wrote:
 Jonathan M Davis:
 But many months
 have passed between those two versions, many bugs have being
 removed, several features have being introduced, and so on 
 (just look at the difference in the zip size between the two 
 versions),
 so it's better for the users to be aware that some probably 
 some
 user code will need to be fixed or improved to run on the 
 2.061.
- Jonathan M Davis
Just for D2, 330 issues closed for this release ! Talk about a huge amount of work done. Congrats to everybody, 2013 is looking good !
Jan 02 2013
prev sibling parent reply "David Eagen" <davideagen mailinator.com> writes:
On Wednesday, 2 January 2013 at 08:20:41 UTC, Jonathan M Davis 
wrote:
 On Wednesday, January 02, 2013 09:12:49 bearophile wrote:
 I have to warn people that if they want to suddenly switch from
 2.060 to 2.061 with no intermediate steps, probably some of 
 their
 code will break, and they will have to work to fix it.
Why? - Jonathan M davis
I have noticed my project doesn't compile with 2.061 when it did with 2.060. I am using a few different static libraries, one of them is thrift. I had to recompile the libraries I use with 2.061 which meant I had to rebuild thrift and the thrift generated libraries. Once I did that I could compile just fine. But before that I got the errors below. I am on 64-bit Ubuntu (AMD64). /persist/apps/lib/libthriftd.a(base_1_403.o): In function `_D6thrift4base10TException6__ctorMFAyaAyamC6object9ThrowableZC6thrift4base10TException': src/thrift/base.d:(.text._D6thrift4base10TException6__ctorMFAyaAyamC6object9ThrowableZC6thrift4bas 10TException+0x31): undefined reference to `_D6object9Exception6__ctorMFAyaAyamC6object9ThrowableZC9Exception' /persist/apps/lib/libthriftd.a(format_19a_f6c.o): In function `_D3std6format62__T11formatRangeTS3std5array16__T8AppenderTAaZ8AppenderTAyaTaZ11formatRangeFKS3std5array16__T8AppenderTAaZ8AppenderKAyaKS3std6format18__T10FormatSpecTaZ10FormatSpecZv': /persist/apps/dmd/linux/bin64/../../src/phobos/std/format.d:(.text._D3std6format62__T11formatRangeTS3std5array16__T8AppenderTAaZ8AppenderTAyaTaZ11formatRangeFKS3std5array16__T8AppenderTAaZ8AppenderKAyaKS3std6format18__T10FormatSpecTaZ10 ormatSpecZv+0x519): undefined reference to `_D6object9Exception6__ctorMFAyaAyamC6object9ThrowableZC9Exception' /persist/apps/lib/libthriftd.a(format_518_1094.o): In function `_D3std6format81__T11formatRangeTS3std5array17__T8AppenderTAyaZ8AppenderTAC3std6socket7AddressTaZ11formatRangeFKS3std5array17__T8AppenderTAyaZ8AppenderKAC3std6socket7AddressKS3std6format18__T10FormatSpecTaZ10FormatSpecZv': /persist/apps/dmd/linux/bin64/../../src/phobos/std/format.d:(.text._D3std6format81__T11formatRangeTS3std5array17__T8AppenderTAyaZ8AppenderTAC3std6socket7AddressTaZ11formatRangeFKS3std5array17__T8AppenderTAyaZ8AppenderKAC3std6socket7AddressKS3std6format18__T10FormatSpecTaZ10 ormatSpecZv+0x370): undefined reference to `_D6object9Exception6__ctorMFAyaAyamC6object9ThrowableZC9Exception' /persist/apps/lib/libthriftd.a(format_528_117d.o): In function `_D3std6format72__T11formatRangeTS3std5array17__T8AppenderTAyaZ8AppenderTAC9ExceptionTaZ11formatRangeFKS3std5array17__T8AppenderTAyaZ8AppenderKAC9ExceptionKS3std6format18__T10FormatSpecTaZ10FormatSpecZv': /persist/apps/dmd/linux/bin64/../../src/phobos/std/format.d:(.text._D3std6format72__T11formatRangeTS3std5array17__T8AppenderTAyaZ8AppenderTAC9ExceptionTaZ11formatRangeFKS3std5array17__T8AppenderTAyaZ8AppenderKAC9ExceptionKS3std6format18__T10FormatSpecTaZ10 ormatSpecZv+0x370): undefined reference to `_D6object9Exception6__ctorMFAyaAyamC6object9ThrowableZC9Exception' /persist/apps/lib/libthriftd.a(format_555_f95.o): In function `_D3std6format327__T11formatRangeTS3std5array17__T8AppenderTAyaZ8AppenderTS3std9algorithm235__T6joinerTS3std9algorithm191__T9MapResultS1123std10functional85__T8unaryFunVAyaa32_7465787428612e5f302c20603a2022602c20612e5f312e6d73672c2060226029Z8unaryFunTS3std5range43__T3ZipTAC3std6socket7AddressTAC9ExceptionZ3ZipZ9MapResultTAyaZ6joiner6ResultTaZ11formatRangeFKS3std5array17__T8AppenderTAyaZ8AppenderKS3std9algorithm235__T6joinerTS3std9algorithm191__T9MapResultS1123std10functional85__T8unaryFunVAyaa32_7465787428612e5f302c20603a2022602c20612e5f312e6d73672c2060226029Z8unaryFunTS3std5range43__T3ZipTAC3std6socket7AddressTAC9ExceptionZ3ZipZ9MapResultTAyaZ6joinerFS3std9algorithm191__T9MapResultS1123std10functional85__T8unaryFunVAyaa32_7465787428612e5f302c20603a2022602c20612e5f312e6d73672c2060226029Z8unaryFunTS3std5range43__T3ZipTAC3std6socket7AddressTAC9ExceptionZ3ZipZ9MapResultAyaZS3std9algorithm235__T6joinerTS3std9algorithm191__T9MapResultS1123std10functional85__T8unaryFunVAyaa32_7465787428612e5f302c20603a2022602c20612e5f312e6d73672c2060226029Z8unaryFunTS3std5range43__T3ZipTAC3std6socket7AddressTAC9ExceptionZ3ZipZ9MapResultTAyaZ6joiner6Result6ResultKS3std6format18__T10FormatSpecTaZ10FormatSpecZv': /persist/apps/dmd/linux/bin64/../../src/phobos/std/format.d:(.text._D3std6format327__T11formatRangeTS3std5array17__T8AppenderTAyaZ8AppenderTS3std9algorithm235__T6joinerTS3std9algorithm191__T9MapResultS1123std10functional85__T8unaryFunVAyaa32_7465787428612e5f302c20603a2022602c20612e5f312e6d73672c2060226029Z8unaryFunTS3std5range43__T3ZipTAC3std6socket7AddressTAC9ExceptionZ3ZipZ9MapResultTAyaZ6joiner6ResultTaZ11formatRangeFKS3std5array17__T8AppenderTAyaZ8AppenderKS3std9algorithm235__T6joinerTS3std9algorithm191__T9MapResultS1123std10functional85__T8unaryFunVAyaa32_7465787428612e5f302c20603a2022602c20612e5f312e6d73672c2060226029Z8unaryFunTS3std5range43__T3ZipTAC3std6socket7AddressTAC9ExceptionZ3ZipZ9MapResultTAyaZ6joinerFS3std9algorithm191__T9MapResultS1123std10functional85__T8unaryFunVAyaa32_7465787428612e5f302c20603a2022602c20612e5f312e6d73672c2060226029Z8unaryFunTS3std5range43__T3ZipTAC3std6socket7AddressTAC9ExceptionZ3ZipZ9MapResultAyaZS3std9algorithm235__T6joinerTS3std9algorithm191__T9MapResultS1123std10functional85__T8unaryFunVAyaa32_7465787428612e5f302c20603a2022602c20612e5f312e6d73672c2060226029Z8unaryFunTS3std5range43__T3ZipTAC3std6socket7AddressTAC9ExceptionZ3ZipZ9MapResultTAyaZ6joiner6Result6ResultKS3std6format18__T10FormatSpecTaZ10 ormatSpecZv+0x5bc): undefined reference to `_D6object9Exception6__ctorMFAyaAyamC6object9ThrowableZC9Exception' collect2: ld returned 1 exit status --- errorlevel 1
Jan 02 2013
next sibling parent reply Johannes Pfau <nospam example.com> writes:
Am Wed, 02 Jan 2013 15:14:53 +0100
schrieb "David Eagen" <davideagen mailinator.com>:

 On Wednesday, 2 January 2013 at 08:20:41 UTC, Jonathan M Davis 
 wrote:
 On Wednesday, January 02, 2013 09:12:49 bearophile wrote:
 I have to warn people that if they want to suddenly switch from
 2.060 to 2.061 with no intermediate steps, probably some of 
 their
 code will break, and they will have to work to fix it.
Why? - Jonathan M davis
I have noticed my project doesn't compile with 2.061 when it did with 2.060. I am using a few different static libraries, one of them is thrift. I had to recompile the libraries I use with 2.061 which meant I had to rebuild thrift and the thrift generated libraries. Once I did that I could compile just fine. But before that I got the errors below. I am on 64-bit Ubuntu (AMD64).
That's unfortunately normal for every dmd release. We try to stay API compatible, but ABI usually breaks with every compiler/druntime/phobos update. This means you can't mix object/library files compiled with different compiler versions. (An example of a ABI breaking change is everything which changes the mangled name: adding the safe/trusted attribute, pure, nothrow, property)
Jan 02 2013
parent Walter Bright <newshound2 digitalmars.com> writes:
On 1/2/2013 7:27 AM, Johannes Pfau wrote:
 That's unfortunately normal for every dmd release. We try to stay API
 compatible, but ABI usually breaks with every compiler/druntime/phobos
 update. This means you can't mix object/library files compiled with
 different compiler versions.
I go to some effort to avoid binary breakage with D1, but there's too much changing to make this work with D2 yet, so I settle for trying to not break source compatibility.
Jan 02 2013
prev sibling parent "David Nadlinger" <see klickverbot.at> writes:
On Wednesday, 2 January 2013 at 14:14:54 UTC, David Eagen wrote:
 I have noticed my project doesn't compile with 2.061 when it 
 did with 2.060. I am using a few different static libraries, 
 one of them is thrift.

 I had to recompile the libraries I use with 2.061 which meant I 
 had to rebuild thrift and the thrift generated libraries. Once 
 I did that I could compile just fine. But before that I got the 
 errors below.
Hm, the errors you are getting _do_ look like a typical Phobos modules vs. binaries mismatch. Thrift should work fine on 2.061, and if you apply the following patches, it should pass all the tests (trivial fixes, but they haven't been merged been in yet): https://issues.apache.org/jira/browse/THRIFT-1814 David
Jan 02 2013
prev sibling next sibling parent reply Jacob Carlborg <doob me.com> writes:
On 2013-01-02 00:46, Walter Bright wrote:

 2. the OS X package hasn't been built yet (problems with the package
 script).
What isn't working? Is there something I can do to help? -- /Jacob Carlborg
Jan 02 2013
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/2/2013 4:12 AM, Jacob Carlborg wrote:
 On 2013-01-02 00:46, Walter Bright wrote:

 2. the OS X package hasn't been built yet (problems with the package
 script).
What isn't working? Is there something I can do to help?
The various packages are all built on Ubuntu. The OS X one failed because it couldn't find ruby, and ruby does not work on Ubuntu (at least my version of Ubuntu - there is no ruby package for it). Looks like my mistake is I should have run it on OS X.
Jan 02 2013
next sibling parent reply "Iain Buclaw" <ibuclaw ubuntu.com> writes:
On Wednesday, 2 January 2013 at 17:53:58 UTC, Walter Bright wrote:
 On 1/2/2013 4:12 AM, Jacob Carlborg wrote:
 On 2013-01-02 00:46, Walter Bright wrote:

 2. the OS X package hasn't been built yet (problems with the 
 package
 script).
What isn't working? Is there something I can do to help?
The various packages are all built on Ubuntu. The OS X one failed because it couldn't find ruby, and ruby does not work on Ubuntu (at least my version of Ubuntu - there is no ruby package for it).
Really? http://packages.ubuntu.com/quantal/ruby Also, what's the dependency on ruby for?
Jan 02 2013
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/2/2013 9:59 AM, Iain Buclaw wrote:
 On Wednesday, 2 January 2013 at 17:53:58 UTC, Walter Bright wrote:
 On 1/2/2013 4:12 AM, Jacob Carlborg wrote:
 On 2013-01-02 00:46, Walter Bright wrote:

 2. the OS X package hasn't been built yet (problems with the package
 script).
What isn't working? Is there something I can do to help?
The various packages are all built on Ubuntu. The OS X one failed because it couldn't find ruby, and ruby does not work on Ubuntu (at least my version of Ubuntu - there is no ruby package for it).
Really? http://packages.ubuntu.com/quantal/ruby
Yeah, really. sudo apt-get ruby fails on Ubuntu 10.10.
 Also, what's the dependency on ruby for?
The OS X install package builder is written in ruby.
Jan 02 2013
next sibling parent reply Russel Winder <russel winder.org.uk> writes:
On Wed, 2013-01-02 at 10:07 -0800, Walter Bright wrote:
[=E2=80=A6]
 Yeah, really. sudo apt-get ruby fails on Ubuntu 10.10.
Any and all apt-related commands are likely to fail for that version of Ubuntu, it is no longer supported. Definitely need to stick with LTS version of Ubuntu or keep up to date, should be on 12.10 by now. Also need to consider formally supporting Mint now that Ubuntu is no longer the Linux distribution of choice in the Debian-based camp.
 Also, what's the dependency on ruby for?
=20 The OS X install package builder is written in ruby.
Ruby, Perl and Python should all be considered as required infrastructure in this day and age. It should Just Work=E2=84=A2. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Jan 02 2013
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/2/2013 10:17 AM, Russel Winder wrote:
 On Wed, 2013-01-02 at 10:07 -0800, Walter Bright wrote:
 […]
 Yeah, really. sudo apt-get ruby fails on Ubuntu 10.10.
Any and all apt-related commands are likely to fail for that version of Ubuntu, it is no longer supported. Definitely need to stick with LTS version of Ubuntu or keep up to date, should be on 12.10 by now.
I've been avoiding upgrading Ubuntu, because the last time I did that the installer trashed everything. Lost a day on that one. P.S. The Mac is the only machine I've ever been able to upgrade the operating system on that worked without trashing everything and forcing a reinstall from scratch.
Jan 02 2013
next sibling parent reply Russel Winder <russel winder.org.uk> writes:
On Wed, 2013-01-02 at 10:51 -0800, Walter Bright wrote:
[=E2=80=A6]
 I've been avoiding upgrading Ubuntu, because the last time I did that the=
=20
 installer trashed everything. Lost a day on that one.
Just because it happened once doesn't mean it will always happen. Until I abandoned all use of Ubuntu, I had never had an upgrade crash that didn't correct itself on appropriate rerun. You are the only person I know that had a total trashing due to installer fail. Reinstalling from scratch does not take a whole day. 2 hours maybe.
 P.S. The Mac is the only machine I've ever been able to upgrade the opera=
ting=20
 system on that worked without trashing everything and forcing a reinstall=
from=20
 scratch.
I have the opposite experience, Apple hardware seems incapable of upgrading operating systems. Their policy seems to be "you want a new operating system, then buy a new piece of hardware from the store." --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Jan 02 2013
next sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/2/2013 11:09 AM, Russel Winder wrote:
 On Wed, 2013-01-02 at 10:51 -0800, Walter Bright wrote:
 […]
 I've been avoiding upgrading Ubuntu, because the last time I did that the
 installer trashed everything. Lost a day on that one.
Just because it happened once doesn't mean it will always happen. Until I abandoned all use of Ubuntu, I had never had an upgrade crash that didn't correct itself on appropriate rerun. You are the only person I know that had a total trashing due to installer fail. Reinstalling from scratch does not take a whole day. 2 hours maybe.
It does when you don't remember what goes in the host file, what you had installed, redoing all the ssh keys, etc. It also deleted all my virtual boxes, I never did figure out how to get them working again. I simply gave up on virtual boxes as more trouble than they're worth. It also nuked all my mail and calender data, which is why I don't use Ubuntu for mail or calender anymore, nor do I use it for music (same thing happened).
 P.S. The Mac is the only machine I've ever been able to upgrade the operating
 system on that worked without trashing everything and forcing a reinstall from
 scratch.
I have the opposite experience, Apple hardware seems incapable of upgrading operating systems. Their policy seems to be "you want a new operating system, then buy a new piece of hardware from the store."
The only actual trouble I had was the installer assumed a screen larger than the one I had, and insisted on putting the [next] button off the bottom of the screen. Argh. P.S. I like calendar programs, but on Windows and Ubuntu, upgrading the OS inevitably deletes the calendar database. None of those frackin' calendar programs ever deign to tell me where they store their frackin' database, so I can back it up. I really, really don't understand mail and calendar programs that make it difficult to back up the data. I quit using Outlook Express because it stored the mail database in a hidden directory. WTF? Thunderbird is better, but not much.
Jan 02 2013
next sibling parent reply Dmitry Olshansky <dmitry.olsh gmail.com> writes:
1/2/2013 11:24 PM, Walter Bright пишет:
 On 1/2/2013 11:09 AM, Russel Winder wrote:
 On Wed, 2013-01-02 at 10:51 -0800, Walter Bright wrote:
 […]
 I've been avoiding upgrading Ubuntu, because the last time I did that
 the
 installer trashed everything. Lost a day on that one.
Just because it happened once doesn't mean it will always happen. Until I abandoned all use of Ubuntu, I had never had an upgrade crash that didn't correct itself on appropriate rerun. You are the only person I know that had a total trashing due to installer fail. Reinstalling from scratch does not take a whole day. 2 hours maybe.
It does when you don't remember what goes in the host file, what you had installed, redoing all the ssh keys, etc. It also deleted all my virtual boxes, I never did figure out how to get them working again. I simply gave up on virtual boxes as more trouble than they're worth.
While I've found them to be quite easy to migrate and use. If virtual hard disk can be found/recovered you don't need the settings and other crap as these are re-created in matter of minutes. There are even pre-constructed images of various OS+software stack to be found on the web.
 P.S. I like calendar programs, but on Windows and Ubuntu, upgrading the
 OS inevitably deletes the calendar database. None of those frackin'
 calendar programs ever deign to tell me where they store their frackin'
 database, so I can back it up. I really, really don't understand mail
 and calendar programs that make it difficult to back up the data. I quit
 using Outlook Express because it stored the mail database in a hidden
 directory. WTF? Thunderbird is better, but not much.
On latest Windows OS-es almost everything is in AppData\Roaming + AppData\Roaming in \Users directory. Just copying them over and reinstalling the apps seems to work (I only tried Thunderbird and couple of others though). -- Dmitry Olshansky
Jan 02 2013
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/2/2013 12:01 PM, Dmitry Olshansky wrote:
 P.S. I like calendar programs, but on Windows and Ubuntu, upgrading the
 OS inevitably deletes the calendar database. None of those frackin'
 calendar programs ever deign to tell me where they store their frackin'
 database, so I can back it up. I really, really don't understand mail
 and calendar programs that make it difficult to back up the data. I quit
 using Outlook Express because it stored the mail database in a hidden
 directory. WTF? Thunderbird is better, but not much.
On latest Windows OS-es almost everything is in AppData\Roaming + AppData\Roaming in \Users directory. Just copying them over and reinstalling the apps seems to work (I only tried Thunderbird and couple of others though).
Windows has gotten better in this regard, that is true. But it's still bizarre that, with Thunderbird, you can export/import the address book, but not the mail database. A welcome improvement would be to have a button to export/import the whole farkin' thing. Instead, when I installed TB on my laptop, I had to open the account settings on my desktop, and screen by screen, manually copy the data into my laptop TB install. A long and tedious and error-prone process, as there are endless screens and config settings.
Jan 02 2013
next sibling parent reply Jacob Carlborg <doob me.com> writes:
On 2013-01-02 21:37, Walter Bright wrote:

 Windows has gotten better in this regard, that is true.

 But it's still bizarre that, with Thunderbird, you can export/import the
 address book, but not the mail database.

 A welcome improvement would be to have a button to export/import the
 whole farkin' thing.

 Instead, when I installed TB on my laptop, I had to open the account
 settings on my desktop, and screen by screen, manually copy the data
 into my laptop TB install. A long and tedious and error-prone process,
 as there are endless screens and config settings.
Copying the thunderbird profile directory should do the trick: http://kb.mozillazine.org/Profile_folder_-_Thunderbird I've created a symlink for the newsgroups messages pointing to dropbox to get synchronization. -- /Jacob Carlborg
Jan 02 2013
parent Walter Bright <newshound2 digitalmars.com> writes:
On 1/2/2013 12:47 PM, Jacob Carlborg wrote:
 On 2013-01-02 21:37, Walter Bright wrote:

 Windows has gotten better in this regard, that is true.

 But it's still bizarre that, with Thunderbird, you can export/import the
 address book, but not the mail database.

 A welcome improvement would be to have a button to export/import the
 whole farkin' thing.

 Instead, when I installed TB on my laptop, I had to open the account
 settings on my desktop, and screen by screen, manually copy the data
 into my laptop TB install. A long and tedious and error-prone process,
 as there are endless screens and config settings.
Copying the thunderbird profile directory should do the trick: http://kb.mozillazine.org/Profile_folder_-_Thunderbird
I've suffered trying to figure out that page many times. It's exactly why a button is needed.
Jan 02 2013
prev sibling next sibling parent reply Matthew Caron <matt.caron redlion.net> writes:
On 01/02/2013 03:37 PM, Walter Bright wrote:
 But it's still bizarre that, with Thunderbird, you can export/import the
 address book, but not the mail database.
Why would you need to? If your mail store is IMAP, just let it rebuild.
 A welcome improvement would be to have a button to export/import the
 whole farkin' thing.

 Instead, when I installed TB on my laptop, I had to open the account
 settings on my desktop, and screen by screen, manually copy the data
 into my laptop TB install. A long and tedious and error-prone process,
 as there are endless screens and config settings.
scp -rp ~/.thunderbird <target machine> will shove your whole TB directory to the new box. unison and/or rsync will keep it synced. I prefer unison because it's bidi. I don't have any suggestions for automagic cloud sync because I don't like automagic cloud sync. -- Matthew Caron, Software Build Engineer Sixnet, a Red Lion business | www.sixnet.com +1 (518) 877-5173 x138 office
Jan 02 2013
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/2/2013 12:56 PM, Matthew Caron wrote:
 On 01/02/2013 03:37 PM, Walter Bright wrote:
 But it's still bizarre that, with Thunderbird, you can export/import the
 address book, but not the mail database.
Why would you need to? If your mail store is IMAP, just let it rebuild.
I don't store email on the server, I store it locally.
 A welcome improvement would be to have a button to export/import the
 whole farkin' thing.

 Instead, when I installed TB on my laptop, I had to open the account
 settings on my desktop, and screen by screen, manually copy the data
 into my laptop TB install. A long and tedious and error-prone process,
 as there are endless screens and config settings.
scp -rp ~/.thunderbird <target machine> will shove your whole TB directory to the new box.
Doesn't work on Windows. Anyhow, the TB documentation never says this. Nor does that help you if you just want to move account settings over rather than the entire 10 years worth of mail. (I generally limit what I put on my laptop, in case I lose it!) What is the rationale behind import/export of address books, and not doing that for anything else?
Jan 02 2013
next sibling parent reply "Jonathan M Davis" <jmdavisProg gmx.com> writes:
On Wednesday, January 02, 2013 13:18:02 Walter Bright wrote:
 What is the rationale behind import/export of address books, and not doing
 that for anything else?
I don't know. kmail has basically the same problem. It drives me nuts that you can't export accounts. It makes setting up a new machine a royal pain when you have something like a dozen different e-mail addresses to set up. So, I always try and copy the config files, but I've only figured out which ones those are via trial and error, and sometimes things get screwed up enough that you just have to start from scratch again, which is no fun at all. Being able to export accounts would be a _huge_ gain. - Jonathan M Davis
Jan 02 2013
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/2/2013 1:29 PM, Jonathan M Davis wrote:
 On Wednesday, January 02, 2013 13:18:02 Walter Bright wrote:
 What is the rationale behind import/export of address books, and not doing
 that for anything else?
I don't know. kmail has basically the same problem. It drives me nuts that you can't export accounts. It makes setting up a new machine a royal pain when you have something like a dozen different e-mail addresses to set up. So, I always try and copy the config files, but I've only figured out which ones those are via trial and error, and sometimes things get screwed up enough that you just have to start from scratch again, which is no fun at all. Being able to export accounts would be a _huge_ gain.
The most miserable of all is Microsoft Outlook Express, which stores all the info in hidden directories that are down a long chain of paths filled with directory names that are GUID identifiers. Then, the mail files themselves are in some secret binary format. I had some back and forth with MS support on that, as I was trying to restore my OE email from a backup image. They were genuinely mystified why I would ever want to save/restore my email data. I told them I was never going to use OE again because of that issue, which baffled them further. Fortunately, TB was able to automatically import the OE mail files. Why TB cannot automatically import TB files is another baffling mystery.
Jan 02 2013
parent reply Marco Nembrini <marco.nembrini.co gmail.com> writes:
On 03.01.2013 08:40, Walter Bright wrote:
 The most miserable of all is Microsoft Outlook Express, which stores all
 the info in hidden directories that are down a long chain of paths
 filled with directory names that are GUID identifiers.

 Then, the mail files themselves are in some secret binary format.
I hate OE, it uses a single file for each mail folder, and when this file gets bigger than 2GB (easily possible for the inbox folder and a few years of email with attachments), it cannot open it anymore. So what does is do? It creates a new empty file with the same name, nuking all your emails. And then when you buy Office to get Outlook, it cannot import emails from OE! I easily lost a week when I had to deal with this on my mother's pc... -- Marco Nembrini
Jan 02 2013
parent Walter Bright <newshound2 digitalmars.com> writes:
On 1/2/2013 8:15 PM, Marco Nembrini wrote:
 On 03.01.2013 08:40, Walter Bright wrote:
 The most miserable of all is Microsoft Outlook Express, which stores all
 the info in hidden directories that are down a long chain of paths
 filled with directory names that are GUID identifiers.

 Then, the mail files themselves are in some secret binary format.
I hate OE, it uses a single file for each mail folder, and when this file gets bigger than 2GB (easily possible for the inbox folder and a few years of email with attachments), it cannot open it anymore. So what does is do? It creates a new empty file with the same name, nuking all your emails.
Yowsa, looks like I dodged a bullet with that one. Back in the 90's, I used to use an email program called ccremote. It encrypted the email folders. I lost a lot of email when I forgot the password :-(
Jan 02 2013
prev sibling next sibling parent reply Russel Winder <russel winder.org.uk> writes:
On Wed, 2013-01-02 at 13:18 -0800, Walter Bright wrote:
[=E2=80=A6]
 I don't store email on the server, I store it locally.
I think that this is at the heart of your mail problems. It means you rely on one and only one computer for email. I would find this unworkable: I find IMAP the only solution that works for me and my collection of laptops and workstation. This has the dies effect of the data stored on the client being removable because it is reconstructible. =20 --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Jan 02 2013
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/2/2013 11:53 PM, Russel Winder wrote:
 On Wed, 2013-01-02 at 13:18 -0800, Walter Bright wrote:
 […]
 I don't store email on the server, I store it locally.
I think that this is at the heart of your mail problems. It means you rely on one and only one computer for email. I would find this unworkable: I find IMAP the only solution that works for me and my collection of laptops and workstation. This has the dies effect of the data stored on the client being removable because it is reconstructible.
I know. On the other hand, you have control over your email data.
Jan 03 2013
next sibling parent reply Russel Winder <russel winder.org.uk> writes:
On Thu, 2013-01-03 at 00:32 -0800, Walter Bright wrote:
 On 1/2/2013 11:53 PM, Russel Winder wrote:
 On Wed, 2013-01-02 at 13:18 -0800, Walter Bright wrote:
 [=E2=80=A6]
 I don't store email on the server, I store it locally.
I think that this is at the heart of your mail problems. It means you rely on one and only one computer for email. I would find this unworkable: I find IMAP the only solution that works for me and my collection of laptops and workstation. This has the dies effect of the data stored on the client being removable because it is reconstructible.
=20 I know. On the other hand, you have control over your email data.
I don't see that local or server-based storage makes any difference to the ability to manage email. But maybe I am missing something about your particular workflow. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Jan 03 2013
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/3/2013 1:22 AM, Russel Winder wrote:
 I don't see that local or server-based storage makes any difference to
 the ability to manage email. But maybe I am missing something about your
 particular workflow.
1. I control the backups 2. Third parties don't have access to my email history. I don't care what their "privacy policy" says - if they have it, they will use it as they please. You have no way to even discover what they do with it 3. I've had email servers controlled by others "go dark", and poof, all email gone 4. I *need* my old email. More than once it has saved me from a lawsuit
Jan 03 2013
next sibling parent reply "Jonathan M Davis" <jmdavisProg gmx.com> writes:
On Thursday, January 03, 2013 10:26:51 Walter Bright wrote:
 2. Third parties don't have access to my email history. I don't care what
 their "privacy policy" says - if they have it, they will use it as they
 please. You have no way to even discover what they do with it
Unless you're managing your own e-mail server (which you may be doing - I have no idea), then even if you store your e-mail locally and delete it from the server, you're still not saved from this. Just because it's deleted from your e-mail account doesn't mean that they don't still have copies, just that you don't have access anymore. Of course, if you're managing your own e-mail server, then I don't know what you'd gain from storing it locally instead of keeping it on the server. - Jonathan M Davis
Jan 03 2013
parent Walter Bright <newshound2 digitalmars.com> writes:
On 1/3/2013 10:41 AM, Jonathan M Davis wrote:
 Unless you're managing your own e-mail server (which you may be doing - I have
 no idea), then even if you store your e-mail locally and delete it from the
 server, you're still not saved from this.
I know - but it's less likely, and most ISPs delete that stuff after a few months.
Jan 03 2013
prev sibling next sibling parent reply Russel Winder <russel winder.org.uk> writes:
On Thu, 2013-01-03 at 10:26 -0800, Walter Bright wrote:
[=E2=80=A6]
 1. I control the backups
I run my own SMTP and IMAP server, including it's backing up. I like control!
 2. Third parties don't have access to my email history. I don't care what=
their=20
 "privacy policy" says - if they have it, they will use it as they please.=
You=20
 have no way to even discover what they do with it
I run my own SMTP and IMAP server, so no third party. The NSA have all emails, no matter who else has them.
 3. I've had email servers controlled by others "go dark", and poof, all e=
mail gone As I run my own SMTP and IMAP server, if it goes dark then either my server blew up or my ISP disconnected me. Email not gone due to backup strategy :-)
 4. I *need* my old email. More than once it has saved me from a lawsuit
I run my own SMTP and IMAP server, including it's backing up. Old email for some threads is definitely worth keeping. I agree with not relying on an email service such as Google, etc. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Jan 03 2013
next sibling parent Walter Bright <newshound2 digitalmars.com> writes:
On 1/3/2013 10:53 AM, Russel Winder wrote:
 On Thu, 2013-01-03 at 10:26 -0800, Walter Bright wrote:
 […]
 1. I control the backups
I run my own SMTP and IMAP server, including it's backing up. I like control!
I agree that is the best solution.
Jan 03 2013
prev sibling next sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 1/3/13 1:53 PM, Russel Winder wrote:
 On Thu, 2013-01-03 at 10:26 -0800, Walter Bright wrote:
 […]
 1. I control the backups
I run my own SMTP and IMAP server, including it's backing up. I like control!
 2. Third parties don't have access to my email history. I don't care what their
 "privacy policy" says - if they have it, they will use it as they please. You
 have no way to even discover what they do with it
I run my own SMTP and IMAP server, so no third party. The NSA have all emails, no matter who else has them.
 3. I've had email servers controlled by others "go dark", and poof, all email
gone
As I run my own SMTP and IMAP server, if it goes dark then either my server blew up or my ISP disconnected me. Email not gone due to backup strategy :-)
 4. I *need* my old email. More than once it has saved me from a lawsuit
I run my own SMTP and IMAP server, including it's backing up. Old email for some threads is definitely worth keeping. I agree with not relying on an email service such as Google, etc.
Whoa. Four instances "I run my own SMTP and IMAP server" in about as many paragraphs. You must feel quite strongly about that... Andrei "I don't yet run my own SMTP and IMAP server" Alexandrescu
Jan 03 2013
next sibling parent reply Russel Winder <russel winder.org.uk> writes:
On Thu, 2013-01-03 at 14:17 -0500, Andrei Alexandrescu wrote:
[=E2=80=A6]
 Whoa. Four instances "I run my own SMTP and IMAP server" in about as=20
 many paragraphs. You must feel quite strongly about that...
:-) Originally I was doing it to make sure I could sys admin Apache/Postfix/Dovecot (previously Courier IMAP) then I realized it was so straightforward there was little point in using a hosting agent. I had a system crash whilst away a couple of years ago and had to use GMail for a few days. It became apparent that whatever the terms of service say, Google were scanning all emails and using the data to create an advertising profile which was clearly then used to generate income for Google. Clearly this is the quid pro quo for getting free email, but I don't like the price. Worse I used to have one identity with Google Accounts, but having created a Google Mail account, Google switched the primary key to the Google Mail identifier and will not allow that to be changed. Facebook tried the same trick. This is really annoying and lowers the value of the brands for me. Result, I have my server hardware here and run all the services myself locally. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Jan 03 2013
parent reply Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> writes:
On Thu, 03 Jan 2013 20:09:24 +0000
Russel Winder <russel winder.org.uk> wrote:

 On Thu, 2013-01-03 at 14:17 -0500, Andrei Alexandrescu wrote:
 [=E2=80=A6]
 Whoa. Four instances "I run my own SMTP and IMAP server" in about
 as many paragraphs. You must feel quite strongly about that...
=20 :-) =20 Originally I was doing it to make sure I could sys admin Apache/Postfix/Dovecot (previously Courier IMAP) then I realized it was so straightforward there was little point in using a hosting agent.
Sounds like you must be very good at Linux. I would never have been able to do it without this guide: http://library.linode.com/email/postfix/dovecot-mysql-debian-6-squeeze I found that to be more contrived, obscure, and needlessly over-complicated than anything else I've ever had to set up on (or off) a c= omputer. The result is worth it, of course, but geez, what a bunch of pointless hoops. No reason I shouldn't have been able to just do something like: $ sudo apt-get install sane-email-server Then maybe answer a few simple questions, and be done with it.
 I had a system crash whilst away a couple of years ago and
 had to use GMail for a few days. It became apparent that whatever the
 terms of service say, Google were scanning all emails and using the
 data to create an advertising profile which was clearly then used to
 generate income for Google. Clearly this is the quid pro quo for
 getting free email, but I don't like the price. Worse I used to have
 one identity with Google Accounts, but having created a Google Mail
 account, Google switched the primary key to the Google Mail
 identifier and will not allow that to be changed.  Facebook tried the
 same trick. This is really annoying and lowers the value of the
 brands for me. Result, I have my server hardware here and run all the
 services myself locally.
=20
Yea. Google's "Don't be evil" is a complete load of self-rationalizing bullshit. I mean, christ, their whole business is based on mining/selling personal information, and then they twist and contort the web technologies themselves into whatever they see fit (people bitch when *Microsoft* tries to do it, but when Big Brother does it it's apparently ok), and then they have the audacity to pretend their mantra is "Don't be evil." I hate Microsoft as much as anyone, but I'd sell my soul to MS if it got rid of companies like Google and Apple.
Jan 04 2013
parent reply Russel Winder <russel winder.org.uk> writes:
On Sat, 2013-01-05 at 02:20 -0500, Nick Sabalausky wrote:
[=E2=80=A6]
 Sounds like you must be very good at Linux. I would never have been
 able to do it without this guide:
=20
 http://library.linode.com/email/postfix/dovecot-mysql-debian-6-squeeze
=20
 I found that to be more contrived, obscure, and needlessly
 over-complicated than anything else I've ever had to set up on (or off) a=
computer. Take MySQL out of the mix and it all becomes far, far, far easier.
 The result is worth it, of course, but geez, what a bunch of pointless
 hoops. No reason I shouldn't have been able to just do something like:

 $ sudo apt-get install sane-email-server
=20
 Then maybe answer a few simple questions, and be done with it.
Dovecot and Postfix now work out of the box, but still benefit from a bit of extra configuration, which is where emacs|nano|vim is all you need apart from some careful editing of the configuration files probably with an open reference manual to check exact options and syntax. Debian actually uses Exim4 now as the default SMTP system. It also works out of the box.=20 [=E2=80=A6]
 Yea. Google's "Don't be evil" is a complete load of self-rationalizing
 bullshit. I mean, christ, their whole business is based on
 mining/selling personal information, and then they twist and contort the
 web technologies themselves into whatever they see fit (people bitch
 when *Microsoft* tries to do it, but when Big Brother does it it's
 apparently ok), and then they have the audacity to pretend their mantra
 is "Don't be evil." I hate Microsoft as much as anyone, but I'd sell my
 soul to MS if it got rid of companies like Google and Apple.
Google is a complex beast in that it it clearly evil, money grubbing, etc. as it has to be as a company with shareholders, but it also does do a lot of community support to try and give back some. Much more so that Microsoft and Apple, both of which are just evil without any of the giving back. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Jan 05 2013
parent reply Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> writes:
On Sat, 05 Jan 2013 13:18:07 +0000
Russel Winder <russel winder.org.uk> wrote:

 On Sat, 2013-01-05 at 02:20 -0500, Nick Sabalausky wrote:
 Yea. Google's "Don't be evil" is a complete load of
 self-rationalizing bullshit. I mean, christ, their whole business
 is based on mining/selling personal information, and then they
 twist and contort the web technologies themselves into whatever
 they see fit (people bitch when *Microsoft* tries to do it, but
 when Big Brother does it it's apparently ok), and then they have
 the audacity to pretend their mantra is "Don't be evil." I hate
 Microsoft as much as anyone, but I'd sell my soul to MS if it got
 rid of companies like Google and Apple.
Google is a complex beast in that it it clearly evil, money grubbing, etc. as it has to be as a company with shareholders,
Yea, I was very disappointed years ago when they announced an IPO. Prior to that, they were more or less just a fairly respectable search engine. Very unsurprisingly, that didn't last long after going public.
 but it also does
 do a lot of community support to try and give back some. Much more so
 that Microsoft and Apple, both of which are just evil without any of
 the giving back.
 
That is a fair point. OTOH, Google (by their very nature) is dead-set on things like making sure the web gets treated as an application platform and getting people to store their personal data on Google's private "cloud" (a moronic and unnecessary renaming of the works "hosted" and "internet", but that's a separate rant). I know some people may not have a problem with such things as web-as-an-OS, but I see it as doing very severe damage to the entire world of computing as a whole. Which is not offset by anything they could even possibly give back. They may see it as relieving the world from the tyranny of Windows, but really it's just exchanging one facist dictator for a nuttier, but more charismatic, one. Also I think another part of what makes Google (and Apple) so dangerous is that unlike MS, most people are still hailing them as wonderful and benevolent companies.
Jan 05 2013
parent reply Russel Winder <russel winder.org.uk> writes:
On Sat, 2013-01-05 at 12:57 -0500, Nick Sabalausky wrote:
[=E2=80=A6]
 That is a fair point. OTOH, Google (by their very nature) is dead-set on
 things like making sure the web gets treated as an application platform
 and getting people to store their personal data on Google's private
 "cloud" (a moronic and unnecessary renaming of the works "hosted" and
 "internet", but that's a separate rant).
Interesting that Google are changing their terms of service so that (indirectly) Windows 8 RT users have to pay to access GAE. [=E2=80=A6]
 Also I think another part of what makes Google (and Apple) so dangerous
 is that unlike MS, most people are still hailing them as wonderful
 and benevolent companies.
The blinkered vision of Apple-heads is bizarre, but a great boon for Apple's bottom line. Unlike Amazon, Starbucks, Google, and Microsoft, Apple appear to be getting away with anti-competition practices with equanimity. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Jan 06 2013
parent reply Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> writes:
On Sun, 06 Jan 2013 11:32:28 +0000
Russel Winder <russel winder.org.uk> wrote:

 On Sat, 2013-01-05 at 12:57 -0500, Nick Sabalausky wrote:
 [=E2=80=A6]
 Also I think another part of what makes Google (and Apple) so
 dangerous is that unlike MS, most people are still hailing them as
 wonderful and benevolent companies.
=20 The blinkered vision of Apple-heads is bizarre, but a great boon for Apple's bottom line. Unlike Amazon, Starbucks, Google, and Microsoft, Apple appear to be getting away with anti-competition practices with equanimity. =20
Yea, I've noticed the same thing :( People are so enamored with their iDevices, that they think Apple can do no wrong. At least that's the only explanation I can think of. Like browsers, for instance. When Microsoft had their browser merely uninstallable and set as the *initial* default browser, the DOJ went apeshit, nevermind the fact that MS did *nothing* to prevent people from downloading and using competing browsers. Apple, OTOH, does the same, except they also PROHIBIT competing browsers (only the "shell" around the webview widget can be changed), and yet as long as Apple's the one doing it nobody seems to mind. Apple's has been known to do the same for other software besides browsers as well. And then Jobs's personal grudge against Android (still unfortunately being carried out in full by the new regime, puppeted by a ghost apparently), in particular the irrational lawsuit against Samsung where Apple is abusing software/design patents to go on the offensive (not just using them defensively). The judge, even as an Apple user, made it clear that Apple had basically no standing, and yet those goddamn jururs irrationally ruled in favor of Apple anyway.
Jan 06 2013
next sibling parent reply Russel Winder <russel winder.org.uk> writes:
On Sun, 2013-01-06 at 11:42 -0500, Nick Sabalausky wrote:
[=E2=80=A6]
 Yea, I've noticed the same thing :( People are so enamored with their
 iDevices, that they think Apple can do no wrong. At least that's the
 only explanation I can think of.
Perhaps Apple employees visit everyone who buys an Apple device and secretly implants the chip in the purchasers head? ;-) =20 Personally I think Apple laptop hardware is great, the software however leaves a lot to be desired.
 Like browsers, for instance. When Microsoft had their browser merely
 uninstallable and set as the *initial* default browser, the DOJ went
 apeshit, nevermind the fact that MS did *nothing* to prevent people
 from downloading and using competing browsers. Apple, OTOH, does the
 same, except they also PROHIBIT competing browsers (only the "shell"
 around the webview widget can be changed), and yet as long as Apple's
 the one doing it nobody seems to mind. Apple's has been known
 to do the same for other software besides browsers as well.
Perchance Apple have simply paid off the DOJ. Or mayhap the Apple employees and their chip implantation is more successful than we know?
 And then Jobs's personal grudge against Android (still
 unfortunately being carried out in full by the new regime, puppeted
 by a ghost apparently), in particular the irrational lawsuit against
 Samsung where Apple is abusing software/design patents to go on the
 offensive (not just using them defensively). The judge, even as an Apple
 user, made it clear that Apple had basically no standing, and yet those
 goddamn jururs irrationally ruled in favor of Apple anyway.
The result in the case was basically a forgone conclusion: USA company domiciled within a couple of miles of all the jurors vs. a South Korean company. No contest, whatever the actual rights and wrongs. Should have been a bench trial from the outset. Hopefully everyone is responding to the USPTO regarding software patents. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Jan 06 2013
parent Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> writes:
On Sun, 06 Jan 2013 19:25:48 +0000
Russel Winder <russel winder.org.uk> wrote:

 On Sun, 2013-01-06 at 11:42 -0500, Nick Sabalausky wrote:
 [=E2=80=A6]
 Yea, I've noticed the same thing :( People are so enamored with
 their iDevices, that they think Apple can do no wrong. At least
 that's the only explanation I can think of.
=20 Perhaps Apple employees visit everyone who buys an Apple device and secretly implants the chip in the purchasers head? ;-) =20
Secretly? It's part of the eyePhone's basic user instructions! Matt Groening even showed Fry and Leela installing theirs. ;)
 Personally I think Apple laptop hardware is great,
Is it? I wouldn't know. I know the earlier iPods had a lot of reliability problems. The one thing about modern Apple laptops that does get me though is that I just don't get the compulsive obsession with thinness. Yea, thin is fine (up to the point where I worry about accidentally snapping it), but I'd take a roomy HDD, optical drive, lots of connection ports, and good price over "Gee whiz! Look how thin it is!" anyway. I could ditch the traditional HDD/optical drives for the sake of battery life on a swivel-touchscreen netbook. But even then, I see very minimal benefit to extra thinness.
 the software however leaves a lot to be desired.
=20
I could go on and on about apple software, but I've done so enough already, and I'll refrain now ;)
 Like browsers, for instance. When Microsoft had their browser merely
 uninstallable and set as the *initial* default browser, the DOJ went
 apeshit, nevermind the fact that MS did *nothing* to prevent people
 from downloading and using competing browsers. Apple, OTOH, does the
 same, except they also PROHIBIT competing browsers (only the "shell"
 around the webview widget can be changed), and yet as long as
 Apple's the one doing it nobody seems to mind. Apple's has been
 known to do the same for other software besides browsers as well.
=20 Perchance Apple have simply paid off the DOJ. Or mayhap the Apple employees and their chip implantation is more successful than we know? =20
Heh :)
 And then Jobs's personal grudge against Android (still
 unfortunately being carried out in full by the new regime, puppeted
 by a ghost apparently), in particular the irrational lawsuit against
 Samsung where Apple is abusing software/design patents to go on the
 offensive (not just using them defensively). The judge, even as an
 Apple user, made it clear that Apple had basically no standing, and
 yet those goddamn jururs irrationally ruled in favor of Apple
 anyway.
=20 The result in the case was basically a forgone conclusion: USA company domiciled within a couple of miles of all the jurors vs. a South Korean company. No contest, whatever the actual rights and wrongs. Should have been a bench trial from the outset. =20
Good points.
 Hopefully everyone is responding to the USPTO regarding software
 patents.
=20
Does the USPTO even acknowledge the _existence_ of anyone who isn't a corporate bigwig? Let alone pay attention to anything they say? I think "corruption", I think "USPTO". Not joking about that, either.
Jan 06 2013
prev sibling next sibling parent Walter Bright <newshound2 digitalmars.com> writes:
On 1/6/2013 8:42 AM, Nick Sabalausky wrote:
 Like browsers, for instance. When Microsoft had their browser merely
 uninstallable and set as the *initial* default browser, the DOJ went
 apeshit, nevermind the fact that MS did *nothing* to prevent people
 from downloading and using competing browsers.
The other bizarre thing about that case was the browsers were all free - IE, Opera, Netscape. Arguably it isn't even a marketplace if all the products are free (contract law doesn't recognize a transaction unless there is an exchange of value, which is why you'll see contracts that pay $1). I don't see how anti-trust laws even applied.
Jan 06 2013
prev sibling parent Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> writes:
On Sun, 6 Jan 2013 11:42:53 -0500
Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> wrote:
 
 Like browsers, for instance. When Microsoft had their browser merely
 uninstallable...
Erm... s/uninstallable/non-uninstallable/ (unless I'm remembering wrong)
Jan 06 2013
prev sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/3/2013 11:17 AM, Andrei Alexandrescu wrote:
 Andrei "I don't yet run my own SMTP and IMAP server" Alexandrescu
Sheesh. How can you ever hold your head up again after that admission?
Jan 03 2013
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 1/3/13 10:07 PM, Walter Bright wrote:
 On 1/3/2013 11:17 AM, Andrei Alexandrescu wrote:
 Andrei "I don't yet run my own SMTP and IMAP server" Alexandrescu
Sheesh. How can you ever hold your head up again after that admission?
I actually used to, heh. Communigate Pro they called it, beautiful software. Then understood the email security model better and figured running one's own server doesn't make any sense - sorry Russel :o). Andrei "I know better than run my own SMTP/IMAP servers" Alexandrescu
Jan 03 2013
parent Walter Bright <newshound2 digitalmars.com> writes:
On 1/3/2013 8:25 PM, Andrei Alexandrescu wrote:
 Andrei "I know better than run my own SMTP/IMAP servers" Alexandrescu
All we need now is a Penny.
Jan 03 2013
prev sibling parent reply Jacob Carlborg <doob me.com> writes:
On 2013-01-03 19:53, Russel Winder wrote:
 On Thu, 2013-01-03 at 10:26 -0800, Walter Bright wrote:
 […]
 1. I control the backups
I run my own SMTP and IMAP server, including it's backing up. I like control!
Next step: becoming your own ISP ? -- /Jacob Carlborg
Jan 03 2013
parent reply Russel Winder <russel winder.org.uk> writes:
On Thu, 2013-01-03 at 21:08 +0100, Jacob Carlborg wrote:
[=E2=80=A6]
 Next step: becoming your own ISP ?
Define ISP ;-) --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Jan 03 2013
parent Dmitry Olshansky <dmitry.olsh gmail.com> writes:
04-Jan-2013 00:12, Russel Winder пишет:
 On Thu, 2013-01-03 at 21:08 +0100, Jacob Carlborg wrote:
 […]
 Next step: becoming your own ISP ?
Define ISP ;-)
Then go for autonomous system aka AS <g> -- Dmitry Olshansky
Jan 03 2013
prev sibling parent Matthew Caron <matt.caron redlion.net> writes:
On 01/03/2013 01:26 PM, Walter Bright wrote:
 On 1/3/2013 1:22 AM, Russel Winder wrote:
 I don't see that local or server-based storage makes any difference to
 the ability to manage email. But maybe I am missing something about your
 particular workflow.
1. I control the backups
The hosting company I use (csoft.net) has ssh access so, in addition to their backups, I go in once and month and run one was well.
 2. Third parties don't have access to my email history. I don't care
 what their "privacy policy" says - if they have it, they will use it as
 they please. You have no way to even discover what they do with it
Unless you encrypt all your email, anything that goes to and fro is subject to snooping. Now, you'll likely make a valid point about them not having *all* the history, and this is a fair point. However, I assume that everyone has everything I've ever sent in the clear. After all, you don't think all those acres of computers under various agencies' headquarters are running SETI Home, do you? Now, where did I leave my tinfoil hat...
 3. I've had email servers controlled by others "go dark", and poof, all
 email gone
That's what backups are for. You could also run a fetchmail process locally to sync at a more rapid speed, so you get a local copy of everything and get the benefit of cross-device syncing.
 4. I *need* my old email. More than once it has saved me from a lawsuit
No argument there. I have stuff going back to 1995 or so (and, ironically, the way I migrated from one mail client to another was to shove a boatload of POP email up to IMAP then leave it there), because there was no export function - which is what started this conversation in the first place! -- Matthew Caron, Software Build Engineer Sixnet, a Red Lion business | www.sixnet.com +1 (518) 877-5173 x138 office
Jan 03 2013
prev sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 1/3/13 3:32 AM, Walter Bright wrote:
 On 1/2/2013 11:53 PM, Russel Winder wrote:
 On Wed, 2013-01-02 at 13:18 -0800, Walter Bright wrote:
 […]
 I don't store email on the server, I store it locally.
I think that this is at the heart of your mail problems. It means you rely on one and only one computer for email. I would find this unworkable: I find IMAP the only solution that works for me and my collection of laptops and workstation. This has the dies effect of the data stored on the client being removable because it is reconstructible.
I know. On the other hand, you have control over your email data.
FWIW it's all an illusion. Mail is sent unsecured so securing the mail sent and received is futile. Andrei
Jan 03 2013
parent Walter Bright <newshound2 digitalmars.com> writes:
On 1/3/2013 8:28 AM, Andrei Alexandrescu wrote:
 On 1/3/13 3:32 AM, Walter Bright wrote:
 I know. On the other hand, you have control over your email data.
FWIW it's all an illusion. Mail is sent unsecured so securing the mail sent and received is futile.
I know it doesn't guarantee that there aren't copies stored on government servers and various server backups. But if it is only on a magtape stored in some subbasement, it makes it much harder for someone to casually go spelunking in my old emails.
Jan 03 2013
prev sibling parent reply Matthew Caron <matt.caron redlion.net> writes:
On 01/02/2013 04:18 PM, Walter Bright wrote:
 Why would you need to? If your mail store is IMAP, just let it rebuild.
I don't store email on the server, I store it locally.
I gave that up years ago when I ended up with more than one device. Too much "did I get that email on my laptop or my desktop?" And now with tablet, phone, laptop, desktop, and several kiosk machines around the house (because how else do you watch Firefly whilst loading custom hunting ammunition in the gun room?) and then the device proliferation continues...
 scp -rp ~/.thunderbird <target machine>

 will shove your whole TB directory to the new box.
Doesn't work on Windows.
Why not? The directory may be different, but the philosophy should still hold. Just install ssh/sshd from cygwin and you're set. (The cheekier response is "stop using toy OS's". Windows is only suitable for playing video games, and I'm looking forward to Steam's release for Linux such that I can power on the Wintendo less and less. I haven't done "real work" on Windows in 10 years. Too much UI struggle and context switching because of lack of proper virtual desktops and focus follows mouse has never quite worked correctly).
 Anyhow, the TB documentation never says this.
TB has documentation? I can't say that I've ever read it. :-)
 Nor does that help you if you just want to move account settings over
 rather than the entire 10 years worth of mail. (I generally limit what I
 put on my laptop, in case I lose it!)
Hence, my server-side email storage preference. I also have a script which pulls the mailstore locally once a month, just in case the hosting company has an issue, and then that lives on a machine with a RAID mirror and monthly detached backup.
 What is the rationale behind import/export of address books, and not
 doing that for anything else?
I have no idea. I'm not sure "rationale" applies to many FLOSS projects of appreciable size. In a cathedral model, you'd have that.. not so much in the bazaar. -- Matthew Caron, Software Build Engineer Sixnet, a Red Lion business | www.sixnet.com +1 (518) 877-5173 x138 office
Jan 03 2013
next sibling parent Walter Bright <newshound2 digitalmars.com> writes:
On 1/3/2013 5:20 AM, Matthew Caron wrote:
 On 01/02/2013 04:18 PM, Walter Bright wrote:
 Why would you need to? If your mail store is IMAP, just let it rebuild.
I don't store email on the server, I store it locally.
I gave that up years ago when I ended up with more than one device. Too much "did I get that email on my laptop or my desktop?" And now with tablet, phone, laptop, desktop, and several kiosk machines around the house (because how else do you watch Firefly whilst loading custom hunting ammunition in the gun room?) and then the device proliferation continues...
I know, it's a pain. On the other hand, I don't feel the need to write emails when I'm about town. Generally, only when I'm on a trip is this a problem, and my email client then is set to not automatically delete email from the server when downloaded.
 scp -rp ~/.thunderbird <target machine>

 will shove your whole TB directory to the new box.
Doesn't work on Windows.
Why not? The directory may be different, but the philosophy should still hold. Just install ssh/sshd from cygwin and you're set.
It's different on every machine was my point. Again, though, the address book import/export works the same, and I don't have to google thunderbird for specific instructions for each OS.
Jan 03 2013
prev sibling parent reply Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> writes:
On Thu, 03 Jan 2013 08:20:19 -0500
Matthew Caron <matt.caron redlion.net> wrote:

 On 01/02/2013 04:18 PM, Walter Bright wrote:
 Why would you need to? If your mail store is IMAP, just let it
 rebuild.
I don't store email on the server, I store it locally.
I gave that up years ago when I ended up with more than one device. Too much "did I get that email on my laptop or my desktop?" And now with tablet, phone, laptop, desktop, and several kiosk machines around the house (because how else do you watch Firefly whilst loading custom hunting ammunition in the gun room?) and then the device proliferation continues...
Turn off "Delete email from server ten seconds after downloading it". Either increase it to a sane time period, or disable delete-from-server entirely. Problem solved. Worked fine for me. Accessing *sent* messages can be a different story though, but using your email client's setting for "BCC outgoing messages to..." to send to a special "messages I sent" address works well enough. Unless you need to use some shitty Fisher-Price email client like the one in iOS, because then you're just fucked. (But if you need to rely on iOS, you'll probably have bigger problems anyway.)
 scp -rp ~/.thunderbird <target machine>

 will shove your whole TB directory to the new box.
Doesn't work on Windows.
Why not? The directory may be different, but the philosophy should still hold. Just install ssh/sshd from cygwin and you're set. (The cheekier response is "stop using toy OS's".
A few years ago I'd have disagreed, but after Vista, and then Win 7, and now Win 8 (ie three steaming turds in a row), I have to agree with you. I mostly liked XP, but I've been using Win7 for close to a year now and I'm just itching to be rid of this goddamn MS OSX. (And after having actually tried Win8, I have to say I could have easily mistaken it for a bad prank if I hadn't already known about it.)
 Windows is only 
 suitable for playing video games, and I'm looking forward to Steam's 
 release for Linux such that I can power on the Wintendo less and
 less.
Steam on Linux? That's like installing hydraulics on a Formula 1 or a rusty nail in a jock strap. Nothing that involves "Steam" is suitable for playing videogames, whether Win/Lin or anything else. I'd be willing to *release* a game, *non-exclusively*, on steam just for the visibility and for the subset of PC gamers that are unfortunately dumb enough to think steam isn't DRM, but that's all steam is good for. Gabe can suck the shit out of my ass for destroying the last non-orwellian gaming platform in existence and essentially turning it into a goddamn iPhone.
Jan 05 2013
parent reply Matthew Caron <matt.caron redlion.net> writes:
On 01/05/2013 03:01 AM, Nick Sabalausky wrote:
 On Thu, 03 Jan 2013 08:20:19 -0500
 Matthew Caron <matt.caron redlion.net> wrote:

 On 01/02/2013 04:18 PM, Walter Bright wrote:
 Why would you need to? If your mail store is IMAP, just let it
 rebuild.
I don't store email on the server, I store it locally.
I gave that up years ago when I ended up with more than one device. Too much "did I get that email on my laptop or my desktop?" And now with tablet, phone, laptop, desktop, and several kiosk machines around the house (because how else do you watch Firefly whilst loading custom hunting ammunition in the gun room?) and then the device proliferation continues...
Turn off "Delete email from server ten seconds after downloading it". Either increase it to a sane time period, or disable delete-from-server entirely. Problem solved. Worked fine for me.
Isn't this just "leave email on the server", which is what I suggested? Of course, what you're saying is "use POP with leave on server enabled". A better solution is to just use IMAP.
 Accessing *sent* messages can be a different story though, but using
 your email client's setting for "BCC outgoing messages to..." to send
 to a special "messages I sent" address works well enough. Unless you
 need to use some shitty Fisher-Price email client like the one in iOS,
 because then you're just fucked. (But if you need to rely on iOS,
 you'll probably have bigger problems anyway.)
Or, you just use IMAP.
 Windows is only
 suitable for playing video games, and I'm looking forward to Steam's
 release for Linux such that I can power on the Wintendo less and
 less.
Steam on Linux? That's like installing hydraulics on a Formula 1 or a rusty nail in a jock strap. Nothing that involves "Steam" is suitable for playing videogames, whether Win/Lin or anything else.
It's view it as an online shop which allows you to buy and install games for your platform. I have no issue with this. I don't use all the fancy extra social video game crap.
 I'd be willing to *release* a game, *non-exclusively*, on steam just
 for the visibility and for the subset of PC gamers that are
 unfortunately dumb enough to think steam isn't DRM, but that's all
 steam is good for. Gabe can suck the shit out of my ass for destroying
 the last non-orwellian gaming platform in existence and
 essentially turning it into a goddamn iPhone.
You don't have to use it, you know. There are other games. GOG.com has a pile, and many of them run just fine under Wine and or DosBOX. I'd like to see them do more Linux, and I hope that the Steam port will be the beginning of more entries on to the platform. (Of course, I thought the same thing about Loki) -- Matthew Caron, Software Build Engineer Sixnet, a Red Lion business | www.sixnet.com +1 (518) 877-5173 x138 office
Jan 07 2013
parent Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> writes:
On Mon, 07 Jan 2013 07:57:07 -0500
Matthew Caron <matt.caron redlion.net> wrote:

 On 01/05/2013 03:01 AM, Nick Sabalausky wrote:
 On Thu, 03 Jan 2013 08:20:19 -0500
 Matthew Caron <matt.caron redlion.net> wrote:

 On 01/02/2013 04:18 PM, Walter Bright wrote:
 Why would you need to? If your mail store is IMAP, just let it
 rebuild.
I don't store email on the server, I store it locally.
I gave that up years ago when I ended up with more than one device. Too much "did I get that email on my laptop or my desktop?" And now with tablet, phone, laptop, desktop, and several kiosk machines around the house (because how else do you watch Firefly whilst loading custom hunting ammunition in the gun room?) and then the device proliferation continues...
Turn off "Delete email from server ten seconds after downloading it". Either increase it to a sane time period, or disable delete-from-server entirely. Problem solved. Worked fine for me.
Isn't this just "leave email on the server", which is what I suggested? Of course, what you're saying is "use POP with leave on server enabled". A better solution is to just use IMAP.
 Accessing *sent* messages can be a different story though, but using
 your email client's setting for "BCC outgoing messages to..." to
 send to a special "messages I sent" address works well enough.
 Unless you need to use some shitty Fisher-Price email client like
 the one in iOS, because then you're just fucked. (But if you need
 to rely on iOS, you'll probably have bigger problems anyway.)
Or, you just use IMAP.
I don't think you get a local copy of everything with IMAP though, or do you?
 Windows is only
 suitable for playing video games, and I'm looking forward to
 Steam's release for Linux such that I can power on the Wintendo
 less and less.
Steam on Linux? That's like installing hydraulics on a Formula 1 or a rusty nail in a jock strap. Nothing that involves "Steam" is suitable for playing videogames, whether Win/Lin or anything else.
It's view it as an online shop which allows you to buy and install games for your platform.
That view is the problem. Steam is *not* merely an online store, Steam (just like iOS) is DRM made cool. And that asshole Newell has managed to brainwash people into actually believing that Steam isn't DRM which is patently absurd. And as a "bonus", the Steam client itself is a very poorly written piece of shitware. Slow, buggy, ugly, refuses to close when I click the "close" button (one of those asinine programs like Skype that has decided "Close" should mean "Minimize to tray" and shouldn't even be optionally fixable). Steam is NOT simply a store with community crap. And that fact that so many sheep think that it is, is a big part of what makes Steam and Newell so evil.
 I have no issue with this. I don't use all
 the fancy extra social video game crap.
 
 I'd be willing to *release* a game, *non-exclusively*, on steam just
 for the visibility and for the subset of PC gamers that are
 unfortunately dumb enough to think steam isn't DRM, but that's all
 steam is good for. Gabe can suck the shit out of my ass for
 destroying the last non-orwellian gaming platform in existence and
 essentially turning it into a goddamn iPhone.
You don't have to use it, you know. There are other games. GOG.com has a pile, and many of them run just fine under Wine and or DosBOX. I'd like to see them do more Linux, and I hope that the Steam port will be the beginning of more entries on to the platform.
GOG.com is mostly for older games (which is great, of course). But most "PC" games that are being developed and released now are exclusively Steam. Even a lot of retail ones (like Super Meat Boy, as I was irritated to discover after the fact) still require Steam and won't even run without also starting up Steam (which of course must be installed on my system).
Jan 07 2013
prev sibling parent "Xinok" <xinok live.com> writes:
On Wednesday, 2 January 2013 at 20:38:36 UTC, Walter Bright wrote:
 Windows has gotten better in this regard, that is true.

 But it's still bizarre that, with Thunderbird, you can 
 export/import the address book, but not the mail database.

 A welcome improvement would be to have a button to 
 export/import the whole farkin' thing.

 Instead, when I installed TB on my laptop, I had to open the 
 account settings on my desktop, and screen by screen, manually 
 copy the data into my laptop TB install. A long and tedious and 
 error-prone process, as there are endless screens and config 
 settings.
Portable software is your friend. http://portableapps.com/apps/internet/thunderbird_portable
Jan 02 2013
prev sibling parent reply Russel Winder <russel winder.org.uk> writes:
On Wed, 2013-01-02 at 11:24 -0800, Walter Bright wrote:
[=E2=80=A6]
 It does when you don't remember what goes in the host file, what you had=
=20
 installed, redoing all the ssh keys, etc. It also deleted all my virtual =
boxes,=20
 I never did figure out how to get them working again. I simply gave up on=
=20
 virtual boxes as more trouble than they're worth.
Host file problem should self-organize on reinstall. What you had isntalled is a question of regularly doing: dpkg --get-selections > /some/place/you/remember/on/backup/machine SSH keys can be a problem. I don't do virtual machines, but deletion sounds like it is actually another problem. Virtual machines are great for training rooms.
 It also nuked all my mail and calender data, which is why I don't use Ubu=
ntu for=20
 mail or calender anymore, nor do I use it for music (same thing happened)=
. Over-reaction to the wrong issue. Evolution is entirely fine for mail and calendar, I use it all the time on Debian and Fedora. Playing music with rhythmbox also works fine on Debian and Fedora. Also with mediatomb as a server. Where were your backups. I can vapourize a Debian/Fedora dual boot machine and have it up and running with the last backup up state in 2 hours. In the meantime I can be working on another machine and then have everything sync up in a matter of minutes. Losing mail and data and OS configuration sounds like a lack of proper sys admin approach.
 The only actual trouble I had was the installer assumed a screen larger t=
han the=20
 one I had, and insisted on putting the [next] button off the bottom of th=
e=20
 screen. Argh.
I'd agree there, I had similar problems with the Ubuntu installer, which was turned into something horrible, but may have since evolved to be something usable. I have never had any such problems with Debian or Fedora installers.
 P.S. I like calendar programs, but on Windows and Ubuntu, upgrading the O=
S=20
 inevitably deletes the calendar database. None of those frackin' calendar=
=20
 programs ever deign to tell me where they store their frackin' database, =
so I=20
 can back it up. I really, really don't understand mail and calendar progr=
ams=20
 that make it difficult to back up the data. I quit using Outlook Express =
because=20
 it stored the mail database in a hidden directory. WTF? Thunderbird is be=
tter,=20
 but not much.
I think we can blame DOS and then Windows for enshrining the idea that all configuration information should be stored in C:\ and never replicated anywhere. Sadly the XDG filestore specification is good but has some glaring problems replicating configuration and cache files across machines. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Jan 02 2013
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/2/2013 1:32 PM, Russel Winder wrote:
 It also nuked all my mail and calender data, which is why I don't use Ubuntu
for
 mail or calender anymore, nor do I use it for music (same thing happened).
Over-reaction to the wrong issue. Evolution is entirely fine for mail and calendar, I use it all the time on Debian and Fedora. Playing music with rhythmbox also works fine on Debian and Fedora. Also with mediatomb as a server.
rhythmbox is a miserable program (at least on Ubuntu). It has a marvy feature where it randomly stops playing, and only a cold boot will bring it back. It also has random problems syncing with my music file database which is on a Windows shared folder. Getting it to recognize a just-added CD was an exercise in madness. I usually wound up deleting rhythmbox's settings file and starting over. I finally threw in the towel and don't use Ubuntu to play music anymore.
 Where were your backups. I can vapourize a Debian/Fedora dual boot
 machine and have it up and running with the last backup up state in 2
 hours. In the meantime I can be working on another machine and then have
 everything sync up in a matter of minutes.  Losing mail and data and OS
 configuration sounds like a lack of proper sys admin approach.
I'll admit my backups were less than stellar. I stupidly clicked the "upgrade Ubuntu" button first. I'll also admit to not having a whole lot of patience with the problems with it.
Jan 02 2013
next sibling parent reply "Chris Nicholson-Sauls" <ibisbasenji gmail.com> writes:
All I can say is I've never looked back since abandoning 
Canonical linuxes.  And Debian in general, really.  Hooray for 
Gentoo.

More on-topic: I do look forward to playing around with UDA's and 
seeing what kind of strange voodoo I can cook up with them.  Been 
anticipating this release for eons, it seems.
Jan 02 2013
next sibling parent reply "Jonathan M Davis" <jmdavisProg gmx.com> writes:
On Wednesday, January 02, 2013 23:58:08 Chris Nicholson-Sauls wrote:
 All I can say is I've never looked back since abandoning
 Canonical linuxes. And Debian in general, really. Hooray for
 Gentoo.
Glutton for punishment are we? I used to use it and got sick of stuff breaking on me during updates (if Walter doesn't like dealing with updates on Ubuntu, I'd be shocked if he liked dealing with updates on Gentoo). I use Arch these days, since it provides a lot of the benefits of Gentoo without anywhere near as many of the headaches. But if I had to recommend an easy-to-use distro, I'd recommend OpenSuSE, but as with all such things, YMMV. For better or worse, Ubuntu is very popular. - Jonathan M Davis
Jan 02 2013
next sibling parent reply "dimsuz" <dimsuz gmail.com> writes:
On Wednesday, 2 January 2013 at 23:34:42 UTC, Jonathan M Davis 
wrote:
 I'd be shocked if he liked dealing with updates on Gentoo). I 
 use Arch these
 days, since it provides a lot of the benefits of Gentoo without 
 anywhere near
 as many of the headaches.
+1 for Arch. Have used almost everything Gentoo, Ubuntu, Debian, OpenSuse and ended up with Arch Linux. I am happy with it for almost two years now and wouldn't even consider switching to something else :) It's a bit tougher to set up (though setup process is quite well documented), but once you install it - no bothers anymore! Updates are as simple as 'pacman -Syu' (or some gui tool), it has excellent Wiki which had solution for every single problem I needed to solve and friendly forums and IRC. Rolling release is a cool model too - I decide when I want to upgrade and system is always up-to-date.
Jan 02 2013
parent "F i L" <witte2008 gmail.com> writes:
dimsuz wrote:
 +1 for Arch.
 Have used almost everything Gentoo, Ubuntu, Debian, OpenSuse 
 and ended up with Arch Linux. I am happy with it for almost two 
 years now and wouldn't even consider switching to something 
 else :)
Same here. After making my way through the most popular Linux distros, I eventually braved setting up Arch.. and I'll never go back. For me, it's the best OS I've ever used.. granted you make it past the setup and aren't afraid to open a terminal. That's also it's biggest (only?) flaw. Hopefully Manjaro/CinnArch are successful in creating a more user-friendly arch-based distro for the casual user.
Jan 02 2013
prev sibling parent "Chris Nicholson-Sauls" <ibisbasenji gmail.com> writes:
On Wednesday, 2 January 2013 at 23:34:42 UTC, Jonathan M Davis 
wrote:
 On Wednesday, January 02, 2013 23:58:08 Chris Nicholson-Sauls 
 wrote:
 All I can say is I've never looked back since abandoning
 Canonical linuxes. And Debian in general, really. Hooray for
 Gentoo.
Glutton for punishment are we?
Not particularly. I've heard plenty of horror stories, but I've yet to experience them -- or rather, I've yet to experience problems on nearly the same scale as what I had with Ubuntu/Kubuntu, and have had with SUSE far in the past. The only "flaw" I can think of is that occasionally I *forget* to run updates for a couple weeks, and then there's quite a pile of them. But that's going to be the case with any "rolling release" distro. Nothing at all against Arch (it might be my 2nd favorite); I'm just plenty happy where I am, with everything working just as I want it to.
Jan 02 2013
prev sibling next sibling parent Walter Bright <newshound2 digitalmars.com> writes:
On 1/2/2013 2:58 PM, Chris Nicholson-Sauls wrote:
 Been anticipating this release
 for eons, it seems.
Me too. I'm glad to get it out the door, as my head is boiling over with things I want to get done for the next version.
Jan 02 2013
prev sibling parent Russel Winder <russel winder.org.uk> writes:
On Wed, 2013-01-02 at 18:34 -0500, Jonathan M Davis wrote:
[=E2=80=A6]
 But if I had to recommend an easy-to-use distro, I'd recommend OpenSuSE, =
but=20
 as with all such things, YMMV. For better or worse, Ubuntu is very popula=
r. I remain with Debian Unstable as it works for me, but you do sometimes have to be careful about some upgrades, it being generally a continuous deployment system. Debian Testing is really not what it claims. I used to use it but it has more problems than Unstable as a day-to-day use distribution. Fedora does look good as a Linux/GNOME system, especially compared to Ubuntu. I think Mint is now the "Debian-based but not Debian" distro of choice amongst the cogniscenti. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Jan 02 2013
prev sibling parent reply Russel Winder <russel winder.org.uk> writes:
On Wed, 2013-01-02 at 13:59 -0800, Walter Bright wrote:
[=E2=80=A6]
 rhythmbox is a miserable program (at least on Ubuntu). It has a marvy fea=
ture=20
 where it randomly stops playing, and only a cold boot will bring it back.=
It=20
 also has random problems syncing with my music file database which is on =
a=20
 Windows shared folder. Getting it to recognize a just-added CD was an exe=
rcise=20
 in madness. I usually wound up deleting rhythmbox's settings file and sta=
rting over. There was a period prior to Canonical dropping Rhythmbox and then later reinstating it as the default player, that there were some problems with Rhythmbox failing to work. It was painful. for the last couple of years though, Rhythmbox has worked entirely fine for me on Debian Unstable with none of the problems seen during that period. So Rhythmbox on Debian works fine for me, far better than any other Linux offering. OS X offerings I have tried all, universally, fail to be at all appealing or even useful.
 I finally threw in the towel and don't use Ubuntu to play music anymore.
I threw in the towel on Ubuntu when Unity came out as the default UI. [=E2=80=A6]
 I'll admit my backups were less than stellar. I stupidly clicked the "upg=
rade=20
 Ubuntu" button first. I'll also admit to not having a whole lot of patien=
ce with=20
 the problems with it.
I have an obsessively paranoid backup regime: RAID1 data disc array on the server which does generational backups to the backup disc. Workstation mirrors the data disc and has it's own generational backup =E2= =80=93 it can become the server if the server fails. Each laptop mirrors the server data. Not only does this mean I have never lost a file even across server crash, disc fail or computer fail, each device has exactly the same data configuration, which gets propagated. So sync up, switch machine. In this context a laptop blowing up, let alone a failed upgrade of OS, is a mere mild irritant, fixed in a couple of hours The core trick is to regularly backup /etc and dpkg --get-selections. Debian state is then recreatable very quickly. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Jan 03 2013
parent reply Dmitry Olshansky <dmitry.olsh gmail.com> writes:
1/3/2013 12:22 PM, Russel Winder пишет:
 On Wed, 2013-01-02 at 13:59 -0800, Walter Bright wrote:
 […]
 rhythmbox is a miserable program (at least on Ubuntu). It has a marvy feature
 where it randomly stops playing, and only a cold boot will bring it back. It
 also has random problems syncing with my music file database which is on a
 Windows shared folder. Getting it to recognize a just-added CD was an exercise
 in madness. I usually wound up deleting rhythmbox's settings file and starting
over.
There was a period prior to Canonical dropping Rhythmbox and then later reinstating it as the default player, that there were some problems with Rhythmbox failing to work. It was painful. for the last couple of years though, Rhythmbox has worked entirely fine for me on Debian Unstable with none of the problems seen during that period. So Rhythmbox on Debian works fine for me, far better than any other Linux offering. OS X offerings I have tried all, universally, fail to be at all appealing or even useful.
 I finally threw in the towel and don't use Ubuntu to play music anymore.
I threw in the towel on Ubuntu when Unity came out as the default UI.
Going OT but can't agree more :) -- Dmitry Olshansky
Jan 03 2013
next sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/3/2013 12:25 AM, Dmitry Olshansky wrote:
 1/3/2013 12:22 PM, Russel Winder пишет:
 I threw in the towel on Ubuntu when Unity came out as the default UI.
Going OT but can't agree more :)
I use a command prompt, and don't particular care about the UI <g>.
Jan 03 2013
next sibling parent Russel Winder <russel winder.org.uk> writes:
On Thu, 2013-01-03 at 00:34 -0800, Walter Bright wrote:
 On 1/3/2013 12:25 AM, Dmitry Olshansky wrote:
 1/3/2013 12:22 PM, Russel Winder =D0=BF=D0=B8=D1=88=D0=B5=D1=82:
 I threw in the towel on Ubuntu when Unity came out as the default UI.
Going OT but can't agree more :)
=20 I use a command prompt, and don't particular care about the UI <g>.
There was a revolution in Debian, Ubuntu, and Fedora that will affect you even if you are just a command line person (as I am). Ubuntu moved to Unity which only Canonical staff seem to like. Debian and Fedora stuck with GNOME 3 and the Gnome Shell, which many people hate but actually a lot of people (including me now, but not originally) really prefer over GNOME 2. Various high profile people (cf. Linus Torvalds) panned GNOME Shell and skipped off to XFCE on GNOME 3 and then KDE. His attack on GNOME Shell was a bit OTT, but his move to KDE is entirely his choice. Even if you just manage command line terminals, the evolution will hit you. It's analogous to the way Windows 7 evolved into Windows 8, but not so revolutionary. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Jan 03 2013
prev sibling parent reply Iain Buclaw <ibuclaw ubuntu.com> writes:
On 3 January 2013 09:29, Russel Winder <russel winder.org.uk> wrote:

 On Thu, 2013-01-03 at 00:34 -0800, Walter Bright wrote:
 On 1/3/2013 12:25 AM, Dmitry Olshansky wrote:
 1/3/2013 12:22 PM, Russel Winder =D0=BF=D0=B8=D1=88=D0=B5=D1=82:
 I threw in the towel on Ubuntu when Unity came out as the default UI=
.

 Going OT but can't agree more :)
I use a command prompt, and don't particular care about the UI <g>.
There was a revolution in Debian, Ubuntu, and Fedora that will affect you even if you are just a command line person (as I am). Ubuntu moved to Unity which only Canonical staff seem to like. Debian and Fedora
I don't know, there are many users out there who rather like Unity too...
 stuck with GNOME 3 and the Gnome Shell, which many people hate but
Debian did switch to XFCE as the default desktop environment in August, and I think Mint forked Gnome 2. There's a lot a distribution can do or can switch to, so they are not really stuck at all.
 actually a lot of people (including me now, but not originally) really
 prefer over GNOME 2. Various high profile people (cf. Linus Torvalds)
 panned GNOME Shell and skipped off to XFCE on GNOME 3 and then KDE.

 His attack on GNOME Shell was a bit OTT, but his move to KDE is entirely
 his choice.
Doesn't he just keep on switching between Gnome2. Gnome3, XFCE and KDE once every 2 months? Every now and then makes a comment that things are better, but ultimately is annoyed that right click doesn't do what he wants it to do before going away and doing what he is best at.
 Even if you just manage command line terminals, the evolution will hit
 you.

 It's analogous to the way Windows 7 evolved into Windows 8, but not so
 revolutionary.
Looks like a child made it. I tested Server 2012 in a VM, couldn't find the start menu until a colleague kindly pointed out that I need to put the cursor in a very peculiar place in the bottom left hand side of the screen that is rather difficult to get to if you are accessing via a console window... Well done Microsoft, once again you've reaffirmed all the reasons for dropping you in 2005... and gave me some new ones along the way too. ;) Regards --=20 Iain Buclaw *(p < e ? p++ : p) =3D (c & 0x0f) + '0';
Jan 03 2013
parent "John Colvin" <john.loughran.colvin gmail.com> writes:
On Thursday, 3 January 2013 at 15:54:03 UTC, Iain Buclaw wrote:
 I don't know, there are many users out there who rather like 
 Unity too...
Seeing as linux mint has such a big following these days, Cinnamon is quite a big contender. I don't use mint any more, but cinnamon works great on a variety of other distros.
Jan 04 2013
prev sibling parent "SomeDude" <lovelydear mailmetrash.com> writes:
On Thursday, 3 January 2013 at 08:25:41 UTC, Dmitry Olshansky 
wrote:
 1/3/2013 12:22 PM, Russel Winder пишет:
 On Wed, 2013-01-02 at 13:59 -0800, Walter Bright wrote:
 […]

 I finally threw in the towel and don't use Ubuntu to play 
 music anymore.
I threw in the towel on Ubuntu when Unity came out as the default UI.
Going OT but can't agree more :)
I rather like lubuntu (LXDE). I like minimalist interfaces, I don't care about bells and whistles, I want things that plain work, that's all. I don't use Linux for multimedia, only for programming and work. So it runs in a VM on my laptop, and the simpler the better. With this philosophy in mind, I'm quite satisfied. The only thing I regret is, lubuntu is not a LTS release unfortunately.
Jan 13 2013
prev sibling parent Jacob Carlborg <doob me.com> writes:
On 2013-01-02 20:09, Russel Winder wrote:

 I have the opposite experience, Apple hardware seems incapable of
 upgrading operating systems.  Their policy seems to be "you want a new
 operating system, then buy a new piece of hardware from the store."
I've been updating a couple of Macs from 10.6 through 10.7 to 10.8 without any problems. I'm still using an old Macbook that was shipped with 10.4, it's running 10.7 now. Although that has had a couple of reinstalls. -- /Jacob Carlborg
Jan 02 2013
prev sibling next sibling parent Jordi Sayol <g.sayol yahoo.es> writes:
Al 02/01/13 19:51, En/na Walter Bright ha escrit:
 On 1/2/2013 10:17 AM, Russel Winder wrote:
 On Wed, 2013-01-02 at 10:07 -0800, Walter Bright wrote:
 [=E2=80=A6]
 Yeah, really. sudo apt-get ruby fails on Ubuntu 10.10.
Any and all apt-related commands are likely to fail for that version o=
f
 Ubuntu, it is no longer supported.  Definitely need to stick with LTS
 version of Ubuntu or keep up to date, should be on 12.10 by now.
=20 I've been avoiding upgrading Ubuntu, because the last time I did that t=
he installer trashed everything. Lost a day on that one.
=20
 P.S. The Mac is the only machine I've ever been able to upgrade the ope=
rating system on that worked without trashing everything and forcing a re= install from scratch.
=20
=20
Walter, to avoid this problem you can install a "rolling" release like Li= nux Mint Debian Edition, based on Debian testing. You just need to keep it upgraded with "mintUpdate" manager (shield on pa= nel). Read the "Update pack info" before. This month is scheduled to be a new LMDE DVD ISO release. Regards, --=20 Jordi Sayol
Jan 02 2013
prev sibling next sibling parent reply Jacob Carlborg <doob me.com> writes:
On 2013-01-02 19:51, Walter Bright wrote:

 I've been avoiding upgrading Ubuntu, because the last time I did that
 the installer trashed everything. Lost a day on that one.
That's what backups are for :) -- /Jacob Carlborg
Jan 02 2013
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/2/2013 12:36 PM, Jacob Carlborg wrote:
 On 2013-01-02 19:51, Walter Bright wrote:

 I've been avoiding upgrading Ubuntu, because the last time I did that
 the installer trashed everything. Lost a day on that one.
That's what backups are for :)
Having backups doesn't work so good when the versions and settings change with a new OS.
Jan 02 2013
next sibling parent Jacob Carlborg <doob me.com> writes:
On 2013-01-02 22:19, Walter Bright wrote:

 Having backups doesn't work so good when the versions and settings
 change with a new OS.
I mean, before you upgrade the OS you make sure you have everything backed up. Then if the installation trashes everything you can at least rollback to the previous state. -- /Jacob Carlborg
Jan 03 2013
prev sibling parent reply Jacob Carlborg <doob me.com> writes:
On 2013-01-02 22:19, Walter Bright wrote:

 Having backups doesn't work so good when the versions and settings
 change with a new OS.
I can also add that the latest upgrades I have performed I cloned the hard drive containing the OS. Then I perform the upgrade on the clone, if everything works ok I either run the clone instead or does the same on the original disk. -- /Jacob Carlborg
Jan 03 2013
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/3/2013 3:27 AM, Jacob Carlborg wrote:
 I can also add that the latest upgrades I have performed I cloned the hard
drive
 containing the OS. Then I perform the upgrade on the clone, if everything works
 ok I either run the clone instead or does the same on the original disk.
That's probably the best idea.
Jan 03 2013
parent Matthew Caron <matt.caron redlion.net> writes:
On 01/03/2013 01:36 PM, Walter Bright wrote:
 On 1/3/2013 3:27 AM, Jacob Carlborg wrote:
 I can also add that the latest upgrades I have performed I cloned the
 hard drive
 containing the OS. Then I perform the upgrade on the clone, if
 everything works
 ok I either run the clone instead or does the same on the original disk.
That's probably the best idea.
A bootable rescue CD containing ddrescue is excellent in this regard. I've been using SystemRescueCD of late: http://www.sysresccd.org/SystemRescueCd_Homepage I image my Windows machine using ddrescue because reinstalling Linux takes 2 hours - reinstalling Windows takes 2 weeks. :-) -- Matthew Caron, Software Build Engineer Sixnet, a Red Lion business | www.sixnet.com +1 (518) 877-5173 x138 office
Jan 03 2013
prev sibling next sibling parent Russel Winder <russel winder.org.uk> writes:
On Wed, 2013-01-02 at 20:31 +0100, Jordi Sayol wrote:
[=E2=80=A6]
 Walter, to avoid this problem you can install a "rolling" release like Li=
nux Mint Debian Edition, based on Debian testing.
 You just need to keep it upgraded with "mintUpdate" manager (shield on pa=
nel). Read the "Update pack info" before. Sadly Debian Testing, outside of a freeze period prior to a Stable release, has this habit of allowing Britney to delete important packages. Despite the statements put out by Debian, Debian Testing is not a viable rolling release. Debian Unstable is the only viable rolling release. Even then during a freeze it is irritating. Has Linux Mint Debian Edition got a fix for this problem with Debian Testing? --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Jan 03 2013
prev sibling next sibling parent Jordi Sayol <g.sayol yahoo.es> writes:
Al 03/01/13 09:26, En/na Russel Winder ha escrit:
 On Wed, 2013-01-02 at 20:31 +0100, Jordi Sayol wrote:
 [=E2=80=A6]
 Walter, to avoid this problem you can install a "rolling" release like=
Linux Mint Debian Edition, based on Debian testing.
 You just need to keep it upgraded with "mintUpdate" manager (shield on=
panel). Read the "Update pack info" before.
=20
 Sadly Debian Testing, outside of a freeze period prior to a Stable
 release, has this habit of allowing Britney to delete important
 packages. Despite the statements put out by Debian, Debian Testing is
 not a viable rolling release. Debian Unstable is the only viable rollin=
g
 release. Even then during a freeze it is irritating.
=20
 Has Linux Mint Debian Edition got a fix for this problem with Debian
 Testing?
=20
1. LMDE is not Debian Testing, it's based on Debian Testing (not shared r= epositories). 2. They update differently. Debian Testing constantly receive updates. In= stead, LMDE releases =E2=80=9CUpdate Packs=E2=80=9D every few months (tes= ted snapshots of Debian Testing). So we can call it "semi-rolling release= ". 3. LMDE has not deadline, unlike Debian Stable, Ubuntu, Fedora, OpenSUSE,= etc. Anyway, nobody is forced to use it. Until today, I've not found yet a "pe= rfect" Linux release. Best regards, --=20 Jordi Sayol
Jan 03 2013
prev sibling next sibling parent Iain Buclaw <ibuclaw ubuntu.com> writes:
On 3 January 2013 15:40, Jordi Sayol <g.sayol yahoo.es> wrote:

 Until today, I've not found yet a "perfect" Linux release.
What "perfect" Linux release did you find today? :o) -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0';
Jan 03 2013
prev sibling parent Jordi Sayol <g.sayol yahoo.es> writes:
Al 03/01/13 17:01, En/na Iain Buclaw ha escrit:
 On 3 January 2013 15:40, Jordi Sayol <g.sayol yahoo.es
<mailto:g.sayol yahoo.es>> wrote:
 
     Until today, I've not found yet a "perfect" Linux release.
 
 
 What "perfect" Linux release did you find today? :o)
 
Sorry, my English is very bad. I wanted to say that I didn't find yet. -- Jordi Sayol
Jan 04 2013
prev sibling next sibling parent reply Jordi Sayol <g.sayol yahoo.es> writes:
Al 02/01/13 19:07, En/na Walter Bright ha escrit:
 Really?   http://packages.ubuntu.com/quantal/ruby
Yeah, really. sudo apt-get ruby fails on Ubuntu 10.10.
$ sudo apt-get install ruby -- Jordi Sayol
Jan 02 2013
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/2/2013 10:37 AM, Jordi Sayol wrote:
 Al 02/01/13 19:07, En/na Walter Bright ha escrit:
 Really?   http://packages.ubuntu.com/quantal/ruby
Yeah, really. sudo apt-get ruby fails on Ubuntu 10.10.
$ sudo apt-get install ruby
That's what I did try, and yes, it fails too.
Jan 02 2013
next sibling parent reply Russel Winder <russel winder.org.uk> writes:
On Wed, 2013-01-02 at 10:47 -0800, Walter Bright wrote:
 On 1/2/2013 10:37 AM, Jordi Sayol wrote:
 Al 02/01/13 19:07, En/na Walter Bright ha escrit:
 Really?   http://packages.ubuntu.com/quantal/ruby
Yeah, really. sudo apt-get ruby fails on Ubuntu 10.10.
$ sudo apt-get install ruby
=20 That's what I did try, and yes, it fails too.
To be expected in the circumstances since 10.10 is no longer supported. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Jan 02 2013
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/2/2013 11:05 AM, Russel Winder wrote:
 To be expected in the circumstances since 10.10 is no longer supported.
Looks like I'll have to hold my nose and push the upgrade button, but after this release is settled down. Does the latest Ubuntu work properly with SSD drives? I know 10.10 does not. I have an extra SSD drive I want to try.
Jan 02 2013
parent reply Russel Winder <russel winder.org.uk> writes:
On Wed, 2013-01-02 at 11:30 -0800, Walter Bright wrote:
[=E2=80=A6]
 Looks like I'll have to hold my nose and push the upgrade button, but aft=
er this=20
 release is settled down.
=20
 Does the latest Ubuntu work properly with SSD drives? I know 10.10 does n=
ot. I=20
 have an extra SSD drive I want to try.
No idea I'm afraid. On the other hand if an SSD does not emulate the controller API for a SATA disk, then it isn't a disk, it's a something else. Does D have a CI suite of machines? =20 A CI system would have Windows, OS X, Linux, instances for 32-bit and 64-bit machines and be programmable to retain the distribution product. This would give a rolling distribution for those working at the bleeding edge, not to mention actually being a CI system. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Jan 03 2013
next sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/3/2013 12:06 AM, Russel Winder wrote:
 No idea I'm afraid. On the other hand if an SSD does not emulate the
 controller API for a SATA disk, then it isn't a disk, it's a something
 else.
The OS needs to support TRIM, or the SSD disk will get very slow.
 Does D have a CI suite of machines?

 A CI system would have Windows, OS X, Linux, instances for 32-bit and
 64-bit machines and be programmable to retain the distribution product.
 This would give a rolling distribution for those working at the bleeding
 edge, not to mention actually being a CI system.
I do have a "farm" of machines for building, but I don't know what a CI system is.
Jan 03 2013
next sibling parent Rory McGuire <rjmcguire gmail.com> writes:
I use ubuntu 12.10 with ext4 on two ssd drives and it works great. Just
don't use btrfs it is terribly slow (last tested in about Nov 2012).
 On 3 Jan 2013 10:40, "Walter Bright" <newshound2 digitalmars.com> wrote:

 On 1/3/2013 12:06 AM, Russel Winder wrote:

 No idea I'm afraid. On the other hand if an SSD does not emulate the
 controller API for a SATA disk, then it isn't a disk, it's a something
 else.
The OS needs to support TRIM, or the SSD disk will get very slow. Does D have a CI suite of machines?
 A CI system would have Windows, OS X, Linux, instances for 32-bit and
 64-bit machines and be programmable to retain the distribution product.
 This would give a rolling distribution for those working at the bleeding
 edge, not to mention actually being a CI system.
I do have a "farm" of machines for building, but I don't know what a CI system is.
Jan 03 2013
prev sibling parent "mist" <none none.none> writes:
CI == Continuous Integration

 Does D have a CI suite of machines?

 A CI system would have Windows, OS X, Linux, instances for 
 32-bit and
 64-bit machines and be programmable to retain the distribution 
 product.
 This would give a rolling distribution for those working at 
 the bleeding
 edge, not to mention actually being a CI system.
I do have a "farm" of machines for building, but I don't know what a CI system is.
Jan 03 2013
prev sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/3/2013 12:06 AM, Russel Winder wrote:
 On Wed, 2013-01-02 at 11:30 -0800, Walter Bright wrote:
 Does the latest Ubuntu work properly with SSD drives? I know 10.10 does not. I
 have an extra SSD drive I want to try.
No idea I'm afraid.
Googling it reveals the usual wishy-washy answers in Ubuntu support forums, even for 12.10. Nobody seems to know. With Windows 7, it's easy. Yes. End of story.
Jan 03 2013
parent reply Russel Winder <russel winder.org.uk> writes:
On Thu, 2013-01-03 at 00:55 -0800, Walter Bright wrote:
[=E2=80=A6]
 Googling it reveals the usual wishy-washy answers in Ubuntu support forum=
s, even=20
 for 12.10. Nobody seems to know.
Googling for anything to do with Ubuntu is not the issue, the issue is Linux and SSD. Given the issue about a special command that needs to be issues by the OS (*), it all depends on which version of Linux has that. I assume 3.6 and later have it as there are happily working Linux Ultrabooks out there, so Linux and SSD work, Intel demands it. The fact that you are on 10.10 currently is a potential issue, as the Linux support may not have been smoothed out by then.
 With Windows 7, it's easy. Yes. End of story.
Windows, delete it. End of Story. (*) SSD should have all the flashing management algorithms built in to the firmware, the OS should not be able to distinguish an SSD from a random access sequence of bytes accessed as a SATA device. We were using flash devices in 2004 when all this was already sorted. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Jan 03 2013
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/3/2013 1:20 AM, Russel Winder wrote:
 (*) SSD should have all the flashing management algorithms built in to
 the firmware, the OS should not be able to distinguish an SSD from a
 random access sequence of bytes accessed as a SATA device.  We were
 using flash devices in 2004 when all this was already sorted.
This is incorrect. Google SSD TRIM for why. The short version is yes, SSD drives will work without TRIM, but will run slowly. Operating system TRIM support is necessary for fast SSD operation. TRIM is how the operating system tells the SSD drive that certain blocks no longer contain useful data, and can be recycled. The normal non-TRIM behavior is the only way the drive finds out that blocks are no longer used is when a write is issued for them. Windows 7 has TRIM support, Windows XP does not. I have an SSD drive in an XP machine, it runs as slow as a spinning disk. An SSD in Win7, with TRIM, runs like lightning.
Jan 03 2013
next sibling parent reply Russel Winder <russel winder.org.uk> writes:
On Thu, 2013-01-03 at 01:26 -0800, Walter Bright wrote:
[=E2=80=A6]
 This is incorrect. Google SSD TRIM for why. The short version is yes, SSD=
drives=20
 will work without TRIM, but will run slowly. Operating system TRIM suppor=
t is=20
 necessary for fast SSD operation. TRIM is how the operating system tells =
the SSD=20
 drive that certain blocks no longer contain useful data, and can be recyc=
led.
=20
 The normal non-TRIM behavior is the only way the drive finds out that blo=
cks are=20
 no longer used is when a write is issued for them.
This is what you get for backward compatibility, i.e. using flash on the same IO device and device driver as was designed for rotating rust hardware. SSD is just a whole hacky thing and instead the motherboards and OSes should evolve to allow the flash to be seen as a memory extension =E2=80=93 which is what we were doing in 2004 very successfully w= ith embedded systems. The very existence of TRIM indicates a systemic problem. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Jan 03 2013
parent Walter Bright <newshound2 digitalmars.com> writes:
On 1/3/2013 2:17 AM, Russel Winder wrote:
 The very existence of TRIM indicates a systemic
 problem.
I think you misunderstand what TRIM is. Nobody anticipated a need for TRIM before SSDs, so no operating system issued TRIM commands. It's like saying C has a systemic problem because it doesn't support virtual function calls.
Jan 03 2013
prev sibling parent reply Russel Winder <russel winder.org.uk> writes:
On Thu, 2013-01-03 at 01:26 -0800, Walter Bright wrote:
[=E2=80=A6]
 Windows 7 has TRIM support, Windows XP does not. I have an SSD drive in a=
n XP=20
 machine, it runs as slow as a spinning disk. An SSD in Win7, with TRIM, r=
uns=20
 like lightning.
Linux had TRIM support since 2008, but until late 2010 it wasn't easy to work with. Since then (> 2.6.33) Linux support for TRIM has been fine as long as you use ext4 filestores. You just have to add the discard property to the partition mount in fstab. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Jan 03 2013
parent Walter Bright <newshound2 digitalmars.com> writes:
On 1/3/2013 2:40 AM, Russel Winder wrote:
 On Thu, 2013-01-03 at 01:26 -0800, Walter Bright wrote:
 […]
 Windows 7 has TRIM support, Windows XP does not. I have an SSD drive in an XP
 machine, it runs as slow as a spinning disk. An SSD in Win7, with TRIM, runs
 like lightning.
Linux had TRIM support since 2008, but until late 2010 it wasn't easy to work with. Since then (> 2.6.33) Linux support for TRIM has been fine as long as you use ext4 filestores. You just have to add the discard property to the partition mount in fstab.
Unfortunately, I'm the Ubuntu user who sticks an SSD drive into the machine, and then pushes the button "Install Ubuntu!". What do I get? What you say is like the bad older versions of Ubuntu, which would not recognize my screen. I always had to edit some config file that changed location and contents with every new version, and the actual commands to write in there were impossible to find documentation on. So it was trying random things, hoping you wouldn't bork it so bad you couldn't see anything on the display. The newer Ubuntus, thankfully, just work with the display.
Jan 03 2013
prev sibling parent reply Jordi Sayol <g.sayol yahoo.es> writes:
Al 02/01/13 19:47, En/na Walter Bright ha escrit:
 On 1/2/2013 10:37 AM, Jordi Sayol wrote:
 Al 02/01/13 19:07, En/na Walter Bright ha escrit:
 Really?   http://packages.ubuntu.com/quantal/ruby
Yeah, really. sudo apt-get ruby fails on Ubuntu 10.10.
$ sudo apt-get install ruby
That's what I did try, and yes, it fails too.
I don't know why. In a Ubuntu 10.04.4 LTS, the command: $ sudo apt-get install ruby installs these three packages: ruby ruby1.8 libruby1.8 Otherwise is that ruby version is lower that required. Best regards, -- Jordi Sayol
Jan 02 2013
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/2/2013 11:09 AM, Jordi Sayol wrote:
 I don't know why.
mercury ~> sudo apt-get install ruby [sudo] password for walter: Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: linux-headers-2.6.35-22-generic linux-headers-2.6.35-22 Use 'apt-get autoremove' to remove them. The following extra packages will be installed: libreadline5 libruby1.8 ruby1.8 Suggested packages: ri ruby-dev ruby1.8-examples ri1.8 The following NEW packages will be installed: libreadline5 libruby1.8 ruby ruby1.8 0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. Need to get 1,841kB/2,010kB of archives. After this operation, 8,266kB of additional disk space will be used. Do you want to continue [Y/n]? Y WARNING: The following packages cannot be authenticated! libreadline5 libruby1.8 ruby1.8 ruby Install these packages without verification [y/N]? Y Err http://us.archive.ubuntu.com/ubuntu/ maverick-updates/main libruby1.8 amd64 1.8.7.299-2ubuntu0.1 404 Not Found [IP: 91.189.91.15 80] Err http://security.ubuntu.com/ubuntu/ maverick-security/main libruby1.8 amd64 1.8.7.299-2ubuntu0.1 404 Not Found Err http://security.ubuntu.com/ubuntu/ maverick-security/main ruby1.8 amd64 1.8.7.299-2ubuntu0.1 404 Not Found Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/r/ruby1.8/libruby1.8_1.8.7.299- ubuntu0.1_amd64.deb 404 Not Found Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/r/ruby1.8/ruby1.8_1.8.7.299- ubuntu0.1_amd64.deb 404 Not Found E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing? mercury ~>
Jan 02 2013
parent Jordi Sayol <g.sayol yahoo.es> writes:
Al 02/01/13 20:28, En/na Walter Bright ha escrit:
 On 1/2/2013 11:09 AM, Jordi Sayol wrote:
 I don't know why.
mercury ~> sudo apt-get install ruby [sudo] password for walter: Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: linux-headers-2.6.35-22-generic linux-headers-2.6.35-22 Use 'apt-get autoremove' to remove them. The following extra packages will be installed: libreadline5 libruby1.8 ruby1.8 Suggested packages: ri ruby-dev ruby1.8-examples ri1.8 The following NEW packages will be installed: libreadline5 libruby1.8 ruby ruby1.8 0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. Need to get 1,841kB/2,010kB of archives. After this operation, 8,266kB of additional disk space will be used. Do you want to continue [Y/n]? Y WARNING: The following packages cannot be authenticated! libreadline5 libruby1.8 ruby1.8 ruby Install these packages without verification [y/N]? Y Err http://us.archive.ubuntu.com/ubuntu/ maverick-updates/main libruby1.8 amd64 1.8.7.299-2ubuntu0.1 404 Not Found [IP: 91.189.91.15 80] Err http://security.ubuntu.com/ubuntu/ maverick-security/main libruby1.8 amd64 1.8.7.299-2ubuntu0.1 404 Not Found Err http://security.ubuntu.com/ubuntu/ maverick-security/main ruby1.8 amd64 1.8.7.299-2ubuntu0.1 404 Not Found Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/r/ruby1.8/libruby1.8_1.8.7.299- ubuntu0.1_amd64.deb 404 Not Found Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/r/ruby1.8/ruby1.8_1.8.7.299- ubuntu0.1_amd64.deb 404 Not Found E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing? mercury ~>
You're right. Ubuntu 10.10 is not longer supported, so the repositories are not available. Sorry, I didn't understand you. A "rolling" release will avoid this problem. -- Jordi Sayol
Jan 02 2013
prev sibling next sibling parent Iain Buclaw <ibuclaw ubuntu.com> writes:
On 2 January 2013 18:07, Walter Bright <newshound2 digitalmars.com> wrote:

 On 1/2/2013 9:59 AM, Iain Buclaw wrote:

 On Wednesday, 2 January 2013 at 17:53:58 UTC, Walter Bright wrote:

 On 1/2/2013 4:12 AM, Jacob Carlborg wrote:

 On 2013-01-02 00:46, Walter Bright wrote:

  2. the OS X package hasn't been built yet (problems with the package
 script).
What isn't working? Is there something I can do to help?
The various packages are all built on Ubuntu. The OS X one failed because it couldn't find ruby, and ruby does not work on Ubuntu (at least my version of Ubuntu - there is no ruby package for it).
Really? http://packages.ubuntu.com/**quantal/ruby<http://packages.ubuntu.com/quantal/ruby>
Yeah, really. sudo apt-get ruby fails on Ubuntu 10.10.
Ubuntu 10.10 repositories have been moved to http://old-releases.ubuntu.com/ubuntu/ Changing your sources repository to that should fix for you. But then again why fix a system that ain't broke. :o) Regards -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0';
Jan 03 2013
prev sibling parent Iain Buclaw <ibuclaw ubuntu.com> writes:
On 3 January 2013 11:45, Iain Buclaw <ibuclaw ubuntu.com> wrote:

 On 2 January 2013 18:07, Walter Bright <newshound2 digitalmars.com> wrote:

 On 1/2/2013 9:59 AM, Iain Buclaw wrote:

 On Wednesday, 2 January 2013 at 17:53:58 UTC, Walter Bright wrote:

 On 1/2/2013 4:12 AM, Jacob Carlborg wrote:

 On 2013-01-02 00:46, Walter Bright wrote:

  2. the OS X package hasn't been built yet (problems with the package
 script).
What isn't working? Is there something I can do to help?
The various packages are all built on Ubuntu. The OS X one failed because it couldn't find ruby, and ruby does not work on Ubuntu (at least my version of Ubuntu - there is no ruby package for it).
Really? http://packages.ubuntu.com/**quantal/ruby<http://packages.ubuntu.com/quantal/ruby>
Yeah, really. sudo apt-get ruby fails on Ubuntu 10.10.
Ubuntu 10.10 repositories have been moved to http://old-releases.ubuntu.com/ubuntu/ Changing your sources repository to that should fix for you. But then again why fix a system that ain't broke. :o)
PS: Move to Debian! -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0';
Jan 03 2013
prev sibling next sibling parent Russel Winder <russel winder.org.uk> writes:
On Wed, 2013-01-02 at 09:53 -0800, Walter Bright wrote:
[=E2=80=A6]
 The various packages are all built on Ubuntu. The OS X one failed because=
it=20
 couldn't find ruby, and ruby does not work on Ubuntu (at least my version=
of=20
 Ubuntu - there is no ruby package for it).
There has been a Ruby package on Ubuntu from the beginning, because Debian has had a Ruby package from the beginning. I'm afraid if your Ubuntu doesn't have ruby then the system administrator simply needs to install it. As evidence for much of the claim made above I present http://packages.ubuntu.com/search?keywords=3Druby&searchon=3Dnames&suite=3D= all&section=3Dall Evidence is only partial as only information about maintained versions is present.
 Looks like my mistake is I should have run it on OS X.
I think this is true as well ;-) --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Jan 02 2013
prev sibling parent Jacob Carlborg <doob me.com> writes:
On 2013-01-02 18:53, Walter Bright wrote:

 The various packages are all built on Ubuntu. The OS X one failed
 because it couldn't find ruby, and ruby does not work on Ubuntu (at
 least my version of Ubuntu - there is no ruby package for it).

 Looks like my mistake is I should have run it on OS X.
Yeah, that's a requirement. Andrei has ported the Ruby script to shell script and created a pull request: https://github.com/D-Programming-Language/installer/pull/10 -- /Jacob Carlborg
Jan 02 2013
prev sibling next sibling parent Jacob Carlborg <doob me.com> writes:
On 2013-01-02 00:46, Walter Bright wrote:

 2. the OS X package hasn't been built yet (problems with the package
 script).
I think this will fix the problem: https://github.com/D-Programming-Language/installer/pull/9 I don't know if this is the problem you encountered but: PackageMaker is apparently not included with Xcode anymore. It's not included in the auxiliary package which can be downloaded here: https://developer.apple.com/downloads/index.action The script now assumes PackageMaker is installed either in /Applications/PackageMaker.app/Contents/MacOS/PackageMaker or, as before, /Developer/usr/bin/packagemaker. -- /Jacob Carlborg
Jan 02 2013
prev sibling next sibling parent reply =?UTF-8?B?QWxpIMOHZWhyZWxp?= <acehreli yahoo.com> writes:
On 01/01/2013 03:46 PM, Walter Bright wrote:

 1. the dlang.org isn't updated yet.
Is the change log available somewhere else? I want to spread the news but it is not very interesting without knowing what has changed. :) Ali
Jan 03 2013
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/3/2013 10:11 AM, Ali Çehreli wrote:
 On 01/01/2013 03:46 PM, Walter Bright wrote:

  > 1. the dlang.org isn't updated yet.

 Is the change log available somewhere else? I want to spread the news but it is
 not very interesting without knowing what has changed. :)
http://dlang.org/changelog.html
Jan 03 2013
next sibling parent reply "Jonathan M Davis" <jmdavisProg gmx.com> writes:
On Thursday, January 03, 2013 10:49:08 Walter Bright wrote:
 On 1/3/2013 10:11 AM, Ali Çehreli wrote:
 On 01/01/2013 03:46 PM, Walter Bright wrote:
 1. the dlang.org isn't updated yet.
Is the change log available somewhere else? I want to spread the news but it is not very interesting without knowing what has changed. :)
http://dlang.org/changelog.html
Oh. Those are links. I was wondering when the data was actually going to be posted. When compared to the previous ones, it looks like there's only headers with no information. But what about release notes then? There were several notes in the changelog.d file along those lines which aren't being distributed with how the changelog is currently being presented. For instance, the first few items have all been lost: $(LI std.string: $(RED The implementations of std.string.format and string.sformat have been replaced with improved implementations which conform to writef. In some, rare cases, this will break code. Please see the documentation for std.string.format and std.string.sformat for details.)) $(LI std.string.format now works in CTFE.) $(LI std.range.hasSlicing has been made stricter in an effort to make it more reliable. opSlice for infinite ranges must now return the result of std.range.take, and any range with slicing which supports $(D $) must now support it with the same semantics as arrays (including supporting subtraction for finite ranges).) $(LI std.range.isRandomAccessRange now requires hasLength for finite ranges, as it makes no sense for such ranges not to define length and many random-access algorithms rely on length.) In fact, I think that _every_ item in Phobos' changelog.d was lost. That information needs to be presented to users. - Jonathan M Davis
Jan 03 2013
next sibling parent reply "David Nadlinger" <see klickverbot.at> writes:
On Thursday, 3 January 2013 at 19:36:31 UTC, Jonathan M Davis 
wrote:
 In fact, I think that _every_ item in Phobos' changelog.d was 
 lost. That information needs to be presented to users.
Agreed – while it is great to finally see the manually maintained list of fixed bugs being replaced with a Bugzilla query, there will always be reasons for well-curated release notes to exist: they are invaluable for discussing high-level changes, drawing attention to (future) breaking changes, … David
Jan 03 2013
parent reply Philippe Sigaud <philippe.sigaud gmail.com> writes:
On Thu, Jan 3, 2013 at 9:00 PM, David Nadlinger <see klickverbot.at> wrote:

 On Thursday, 3 January 2013 at 19:36:31 UTC, Jonathan M Davis wrote:

 In fact, I think that _every_ item in Phobos' changelog.d was lost. That
 information needs to be presented to users.
Agreed =E2=80=93 while it is great to finally see the manually maintained=
list of
 fixed bugs being replaced with a Bugzilla query, there will always be
 reasons for well-curated release notes to exist: they are invaluable for
 discussing high-level changes, drawing attention to (future) breaking
 changes, =E2=80=A6
For example, UDA... They seem interesting, but I don't remember all the discussions and now that the dust settled somewhat, I'd like to know what's the syntax, how they are inspected. I used the link Walter (http://dlang.org/changelog.html) provided and all I could find is http://d.puremagic.com/issues/show_bug.cgi?id=3D9222 That's a bit short... How can someone coming to D today know this language has user-defined attributes?
Jan 03 2013
parent reply Pierre Rouleau <prouleau001 gmail.com> writes:
On 13-01-03 3:11 PM, Philippe Sigaud wrote:
 On Thu, Jan 3, 2013 at 9:00 PM, David Nadlinger <see klickverbot.at
 <mailto:see klickverbot.at>> wrote:

     On Thursday, 3 January 2013 at 19:36:31 UTC, Jonathan M Davis wrote:

         In fact, I think that _every_ item in Phobos' changelog.d was
         lost. That information needs to be presented to users.


     Agreed – while it is great to finally see the manually maintained
     list of fixed bugs being replaced with a Bugzilla query, there will
     always be reasons for well-curated release notes to exist: they are
     invaluable for discussing high-level changes, drawing attention to
     (future) breaking changes, …


 For example, UDA... They seem interesting, but I don't remember all the
 discussions and now that the dust settled somewhat, I'd like to know
 what's the syntax, how they are inspected.

 I used the link Walter (http://dlang.org/changelog.html) provided and
 all I could find is http://d.puremagic.com/issues/show_bug.cgi?id=9222
FWIW, you can see some info here: http://forum.dlang.org/thread/k7afq6$2832$1 digitalmars.com
 That's a bit short... How can someone coming to D today know this
 language has user-defined attributes?
But, yes, I agree, someone (like me) that has been watching D for long time, used it a very little, read the books but never actually had the time to use it (for all sorts of reasons), will find that the best way is to read the newsgroup and invest quite a bit of time. I would say, the best thing would be to implement release notes similar to the way the Python project does it would be great. I have been using Python for a while and I find their documentation and processes awesome. Is there something similar for D? /Pierre
Jan 03 2013
parent reply Jacob Carlborg <doob me.com> writes:
On 2013-01-03 22:31, Pierre Rouleau wrote:

 FWIW, you can see some info here:
 http://forum.dlang.org/thread/k7afq6$2832$1 digitalmars.com
Funny thing, the syntax in the original post by Walter was deprecated from the beginning. The correct syntax is: (4) int a; Or struct Foo { int b; } Foo(3) int c; -- /Jacob Carlborg
Jan 04 2013
parent reply Philippe Sigaud <philippe.sigaud gmail.com> writes:
  FWIW, you can see some info here:
 http://forum.dlang.org/thread/**k7afq6$2832$1 digitalmars.com<http://forum.dlang.org/thread/k7afq6$2832$1 digitalmars.com>
Yeah, I read that when it happened. But I don't want to read entire threads months afterwards to see how a feature work. And, honestly: *no-one* coming from outside this discussion group can understand that 2.061 brings UDA, or what UDA are.

 Funny thing, the syntax in the original post by Walter was deprecated from
 the beginning. The correct syntax is:

  (4) int a;

 Or

 struct Foo
 {
     int b;
 }

  Foo(3) int c;
I'll start a new thread on this. This seems to be a major new feature and it appears nowhere!
Jan 04 2013
parent Jacob Carlborg <doob me.com> writes:
On 2013-01-04 15:26, Philippe Sigaud wrote:

 Yeah, I read that when it happened. But I don't want to read entire
 threads months afterwards to see how a feature work.

 And, honestly: *no-one* coming from outside this discussion group can
 understand that 2.061 brings UDA, or what UDA are.
I agree.
 I'll start a new thread on this. This seems to be a major new feature
 and it appears nowhere!
I create a pull request with some documentation: https://github.com/D-Programming-Language/d-programming-language.org/pull/231 -- /Jacob Carlborg
Jan 04 2013
prev sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/3/2013 11:36 AM, Jonathan M Davis wrote:
 Oh. Those are links. I was wondering when the data was actually going to be
 posted. When compared to the previous ones, it looks like there's only headers
 with no information.
The idea is to add explanatory information to the bugzilla issue being pointed to. Making some effort to clarify the title of the bugzilla issue is also justified. This change to the changelog presentation does require that we up our game with bugzilla - accurate tags (you can see at the top what is being keyed on), accurate titles, and accurate information.
Jan 03 2013
next sibling parent reply Leandro Lucarella <luca llucax.com.ar> writes:
Walter Bright, el  3 de January a las 19:10 me escribiste:
 On 1/3/2013 11:36 AM, Jonathan M Davis wrote:
Oh. Those are links. I was wondering when the data was actually going to be
posted. When compared to the previous ones, it looks like there's only headers
with no information.
The idea is to add explanatory information to the bugzilla issue being pointed to.
Please, please, consider adding release notes, at least for new features is not good enough to just use bugzilla links, you need a clear, succinct explanation of the feature. Where would you put it? In the bug report itself? Most of the time is not clear enough by the time the bug is created and the feature is polished after a long discussion. You shouldn't make users go through the entire history of a bug, which is completely internal to the compiler development, to know what have changed. -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------- Cuando le dije si quería bailar conmigo Se puso a hablar de Jung, de Freud y Lacan Mi idiosincracia le causaba mucha gracia Me dijo al girar la cumbiera intelectual
Jan 03 2013
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/3/2013 8:51 PM, Leandro Lucarella wrote:
 Please, please, consider adding release notes, at least for new features is not
 good enough to just use bugzilla links, you need a clear, succinct explanation
 of the feature. Where would you put it? In the bug report itself? Most of the
 time is not clear enough by the time the bug is created and the feature is
 polished after a long discussion. You shouldn't make users go through the
 entire history of a bug, which is completely internal to the compiler
 development, to know what have changed.
The titles of the bug reports can and should be edited after the fact. That will help a lot. I'm not saying you're wrong. I'm saying that what you're asking for requires some significant effort from somebody. Nobody has put forth that effort in the past, resulting in the changelog being pretty crummy and woefully incomplete. At least now it is fairly complete. If anyone wants to do a pull request on the changelog to add to it, that would be great.
Jan 03 2013
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/3/2013 10:42 PM, Walter Bright wrote:
 Nobody has put forth that effort in the
 past, resulting in the changelog being pretty crummy and woefully incomplete.
I apologize to Jonathan for that remark, because Jonathan has been putting out an effort on this.
Jan 03 2013
parent reply Jonathan M Davis <jmdavisProg gmx.com> writes:
On Thursday, January 03, 2013 23:44:26 Walter Bright wrote:
 On 1/3/2013 10:42 PM, Walter Bright wrote:
 Nobody has put forth that effort in the
 past, resulting in the changelog being pretty crummy and woefully
 incomplete.
I apologize to Jonathan for that remark, because Jonathan has been putting out an effort on this.
No offense taken. It's definitely true that the Phobos developers in general have been spotty in updating the changelog files, and while I've probably been the best at it, it's not like I haven't missed stuff. I completely agree that auto-generating the list of fixed bugs and enhancement requests is a huge improvement. I just don't want to not have the ability to add notes to developers beyond that. - Jonathan M Davis
Jan 04 2013
next sibling parent reply "David Nadlinger" <see klickverbot.at> writes:
On Friday, 4 January 2013 at 10:12:37 UTC, Jonathan M Davis wrote:
 No offense taken. It's definitely true that the Phobos 
 developers in general
 have been spotty in updating the changelog files, and while 
 I've probably been
 the best at it, it's not like I haven't missed stuff.
I think part of the problem was simply that it wasn't clear what should actually go into the changelog files. Adding all the fixed issues as part of each pull request is not feasible because the frequency of merge conflicts with other pending pull requests would be way too high. Now that we got this aspect covered, I don't see a reason why having a collaboratively managed set of release notes wouldn't work – but maybe it would be better to collect them at the wiki instead of in the repositories? David
Jan 04 2013
parent reply Leandro Lucarella <luca llucax.com.ar> writes:
David Nadlinger, el  4 de January a las 11:38 me escribiste:
 On Friday, 4 January 2013 at 10:12:37 UTC, Jonathan M Davis wrote:
No offense taken. It's definitely true that the Phobos developers
in general
have been spotty in updating the changelog files, and while I've
probably been
the best at it, it's not like I haven't missed stuff.
I think part of the problem was simply that it wasn't clear what should actually go into the changelog files. Adding all the fixed issues as part of each pull request is not feasible because the frequency of merge conflicts with other pending pull requests would be way too high. Now that we got this aspect covered, I don't see a reason why having a collaboratively managed set of release notes wouldn't work – but maybe it would be better to collect them at the wiki instead of in the repositories?
I think the best way to do it is to put it in the repository where the changes were made (this implies having separate release notes for dmd, phobos and druntime, I know). This way is trivial to see if some important change deserves a note in the release notes and if it does, for the reviewers to reject the pull request until it has proper release notes. Having them elsewhere will make the review process very difficult and lots of changes will still be missing. As part of the release process, we can merge these notes together and add them to the website. Even when doing it manually shouldn't be that time consuming (is only copy&paste), this could also be automated. -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------- Every 5 minutes an area of rainforest the size of a foot ball field Is eliminated
Jan 04 2013
parent reply Jonathan M Davis <jmdavisProg gmx.com> writes:
On Friday, January 04, 2013 14:30:01 Leandro Lucarella wrote:
 I think the best way to do it is to put it in the repository where the
 changes were made (this implies having separate release notes for dmd,
 phobos and druntime, I know).
 
 This way is trivial to see if some important change deserves a note in
 the release notes and if it does, for the reviewers to reject the pull
 request until it has proper release notes.
 
 Having them elsewhere will make the review process very difficult and
 lots of changes will still be missing.
 
 As part of the release process, we can merge these notes together and
 add them to the website. Even when doing it manually shouldn't be that
 time consuming (is only copy&paste), this could also be automated.
This is what we've been doing for ages. With the bug fixes being in there, it's been a big problem, because it creates merge conflicts up the wazoo. So, we've generally avoided updating the changelog as part of pull requests with code in them. However, now that the bugzilla portion is being automated, it may be feasible to update changelog.dd in the pull requests with code changes. - Jonathan M Davis
Jan 04 2013
parent Leandro Lucarella <luca llucax.com.ar> writes:
Jonathan M Davis, el  4 de January a las 08:12 me escribiste:
 On Friday, January 04, 2013 14:30:01 Leandro Lucarella wrote:
 I think the best way to do it is to put it in the repository where the
 changes were made (this implies having separate release notes for dmd,
 phobos and druntime, I know).
 
 This way is trivial to see if some important change deserves a note in
 the release notes and if it does, for the reviewers to reject the pull
 request until it has proper release notes.
 
 Having them elsewhere will make the review process very difficult and
 lots of changes will still be missing.
 
 As part of the release process, we can merge these notes together and
 add them to the website. Even when doing it manually shouldn't be that
 time consuming (is only copy&paste), this could also be automated.
This is what we've been doing for ages. With the bug fixes being in there, it's been a big problem, because it creates merge conflicts up the wazoo. So, we've generally avoided updating the changelog as part of pull requests with code in them. However, now that the bugzilla portion is being automated, it may be feasible to update changelog.dd in the pull requests with code changes.
I'm talking about the release notes, only few changes should need an entry on that file. -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------- Ambition makes you look pretty ugly
Jan 05 2013
prev sibling parent Walter Bright <newshound2 digitalmars.com> writes:
On 1/4/2013 2:11 AM, Jonathan M Davis wrote:
 I just don't want to not have the ability to add notes to
 developers beyond that.
You can do that. Just issue a pull request, and it'll get merged in.
Jan 04 2013
prev sibling next sibling parent reply Jonathan M Davis <jmdavisProg gmx.com> writes:
On Thursday, January 03, 2013 19:10:59 Walter Bright wrote:
 On 1/3/2013 11:36 AM, Jonathan M Davis wrote:
 Oh. Those are links. I was wondering when the data was actually going to
 be
 posted. When compared to the previous ones, it looks like there's only
 headers with no information.
The idea is to add explanatory information to the bugzilla issue being pointed to. Making some effort to clarify the title of the bugzilla issue is also justified. This change to the changelog presentation does require that we up our game with bugzilla - accurate tags (you can see at the top what is being keyed on), accurate titles, and accurate information.
No offense, but that doesn't cut it. Maybe it makes sense to create bugzilla entries for stuff like $(LI std.digest.ripemd: Added RIPEMD-160 digest implementation.) but other lines like $(LI std.string: $(RED The implementations of std.string.format and string.sformat have been replaced with improved implementations which conform to writef. In some, rare cases, this will break code. Please see the documentation for std.string.format and std.string.sformat for details.)) or $(LI std.range.hasSlicing has been made stricter in an effort to make it more reliable. opSlice for infinite ranges must now return the result of std.range.take, and any range with slicing which supports $(D $) must now support it with the same semantics as arrays (including supporting subtraction for finite ranges).) are purely notes which developers should be made aware of which should _not_ be buried in a list of bugzilla entries where most people won't see them (not to mention, how many people do you think actually read through that list of bug fixes; I think that it's mostly the notes that were at the top which people cared about, and now they're gone). If you want to have a "release notes" section for them separate from the changelog section, fine. But these are notes which should be relatively prominent so that people see them! And they're specifically notes for people to read and not enhancement requests or bug fixes or whatnot. In your zeal to automate the bug fix list, you're throwing away something of real value. Automating the bug list is fine, but don't throw away all of the non-bugzilla stuff that we've been putting in the changelog. - Jonathan M Davis
Jan 03 2013
next sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/3/2013 9:49 PM, Jonathan M Davis wrote:
 but other lines like

 $(LI std.string: $(RED The implementations of std.string.format and
 string.sformat have been replaced with improved implementations which conform
 to writef. In some, rare cases, this will break code. Please see the
 documentation for std.string.format and std.string.sformat for details.))
Yes, you can put this in as the bugzilla title, though I'd tighten it up a little.
 $(LI std.range.hasSlicing has been made stricter in an effort to make it more
 reliable. opSlice for infinite ranges must now return the result of
 std.range.take, and any range with slicing which supports $(D $) must now
 support it with the same semantics as arrays (including supporting subtraction
 for finite ranges).)
This is 3 separate enhancements, each of which should be its own issue, and will certainly fit as the issue title.
 Automating the bug list is fine, but don't throw away all of the non-bugzilla
 stuff that we've been putting in the changelog.
Nothing has been deleted. In fact, I think those previous items in the 2.060 New/Changed Features are seriously deficient because they contain no hyperlinks for more information. But, as I mentioned to Leandro, if someone wants to add some additional notes to the changelog file, that's great. But somebody has to do the work, and in the past there generally hasn't been much effort expended there. Me, I've spent more time than I care to think about keeping that list manually updated, badly.
Jan 03 2013
next sibling parent reply Jonathan M Davis <jmdavisProg gmx.com> writes:
On Thursday, January 03, 2013 23:03:23 Walter Bright wrote:
 This is 3 separate enhancements, each of which should be its own issue, and
 will certainly fit as the issue title.
If you think that these work as titles in bugzilla issues, you're missing the point. They're notes that need to be given some prominence and brought to developers' attention, not simply be listed randomly among a bunch of bugzilla enhancement titles.
 But, as I mentioned to Leandro, if someone wants to add some additional
 notes to the changelog file, that's great. But somebody has to do the work,
 and in the past there generally hasn't been much effort expended there.
Fine, but then it needs to be clear where those changes are made. I'm one of the people who has generally tried to keep Phobos' and druntime's changelog.dd files up-to-date with changes. But I have no idea where else you'd want it. changelog.dd in d-programming-language.org does not appear to match what's on the website. It seems to list a lot of bugs explictly for 2.061. - Jonathan M Davis
Jan 03 2013
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/3/2013 11:15 PM, Jonathan M Davis wrote:
 On Thursday, January 03, 2013 23:03:23 Walter Bright wrote:
 This is 3 separate enhancements, each of which should be its own issue, and
 will certainly fit as the issue title.
If you think that these work as titles in bugzilla issues, you're missing the point. They're notes that need to be given some prominence and brought to developers' attention, not simply be listed randomly among a bunch of bugzilla enhancement titles.
 But, as I mentioned to Leandro, if someone wants to add some additional
 notes to the changelog file, that's great. But somebody has to do the work,
 and in the past there generally hasn't been much effort expended there.
Fine, but then it needs to be clear where those changes are made. I'm one of the people who has generally tried to keep Phobos' and druntime's changelog.dd files up-to-date with changes.
Yes, I know, and I appreciate that.
 But I have no idea where else you'd want it.
 changelog.dd in d-programming-language.org does not appear to match what's on
 the website. It seems to list a lot of bugs explictly for 2.061.
They're commented out with the $(COMMENT ...) macro.
Jan 03 2013
parent reply Jonathan M Davis <jmdavisProg gmx.com> writes:
On Thursday, January 03, 2013 23:42:05 Walter Bright wrote:
 They're commented out with the $(COMMENT ...) macro.
What's their purpose? I can understand automatically generating the list and putting it in changelog.dd or putting some sort of javascript or whatnot in there to generate the list when the page is loaded, but if you're just putting a link to bugzilla to give the list, why list the bugs in a comment which doesn't show up on the webpage at all? - Jonathan M Davis
Jan 04 2013
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/4/2013 2:09 AM, Jonathan M Davis wrote:
 What's their purpose? I can understand automatically generating the list and
 putting it in changelog.dd or putting some sort of javascript or whatnot in
 there to generate the list when the page is loaded, but if you're just putting
 a link to bugzilla to give the list, why list the bugs in a comment which
 doesn't show up on the webpage at all?
I had already made that list, and if the new links didn't work out I could quickly revert to it.
Jan 04 2013
parent reply r_m_r <r_m_r mailinator.com> writes:
On 01/05/2013 12:24 AM, Walter Bright wrote:
 On 1/4/2013 2:09 AM, Jonathan M Davis wrote:
 What's their purpose? I can understand automatically generating the
 list and
 putting it in changelog.dd or putting some sort of javascript or
 whatnot in
 there to generate the list when the page is loaded, but if you're just
 putting
 a link to bugzilla to give the list, why list the bugs in a comment which
 doesn't show up on the webpage at all?
I had already made that list, and if the new links didn't work out I could quickly revert to it.
Hi, I was wondering if it is possible to integrate some javascript in the changelog page to automatically generate the list of fixed issues as suggested by Jonathan (As an example, please see the attached file: jq.html). regards, r_m_r
Jan 04 2013
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/4/2013 12:10 PM, r_m_r wrote:
 I was wondering if it is possible to integrate some javascript in the changelog
 page to automatically generate the list of fixed issues as suggested by
Jonathan
 (As an example, please see the attached file: jq.html).
Thanks for doing this. It's an interesting idea. Some people hate javascript solutions, though :-)
Jan 09 2013
parent reply Pierre Rouleau <prouleau001 gmail.com> writes:
On 13-01-10 12:13 AM, Walter Bright wrote:
 On 1/4/2013 12:10 PM, r_m_r wrote:
 I was wondering if it is possible to integrate some javascript in the
 changelog
 page to automatically generate the list of fixed issues as suggested
 by Jonathan
 (As an example, please see the attached file: jq.html).
Thanks for doing this. It's an interesting idea. Some people hate javascript solutions, though :-)
Why not create a link to a second page that would contain that javascript so that people can decide to use it or not? Just adding a link to this on the version number for example. Getting the list that was available in previous releases would just be one more click away. I would also be possible to add a count of entries on each of those javascript-generated lists for quickly identifying if something has changed since last looking at them. -- /Pierre Rouleau
Jan 10 2013
parent Jonathan M Davis <jmdavisProg gmx.com> writes:
On Thursday, January 10, 2013 23:37:29 Pierre Rouleau wrote:
 Why not create a link to a second page that would contain that
 javascript so that people can decide to use it or not?  Just adding a
 link to this on the version number for example. Getting the list that
 was available in previous releases would just be one more click away.
People who don't want javascript, disable it, and it's my understanding that you can set up a page to provide alternate content if javascript is disabled, so if we want to use javascript but are worried about people like Nick freaking out about it, that's how I'd expect that we'd deal with it. - Jonathan M Davis
Jan 10 2013
prev sibling next sibling parent reply Leandro Lucarella <luca llucax.com.ar> writes:
Walter Bright, el  3 de January a las 23:03 me escribiste:
 On 1/3/2013 9:49 PM, Jonathan M Davis wrote:
but other lines like

$(LI std.string: $(RED The implementations of std.string.format and
string.sformat have been replaced with improved implementations which conform
to writef. In some, rare cases, this will break code. Please see the
documentation for std.string.format and std.string.sformat for details.))
Yes, you can put this in as the bugzilla title, though I'd tighten it up a little.
Are you being serious? Do you really think this would be useful for the user? That the user will be able to spot that particular comment among hundreds of bugs in a bugzilla search query result? Is really that hard to acknowledge that release notes are better than doing that? I can understand if you see problems on keeping up to date the release notes, but I can't believe that anyone can think is plain better to user bugzilla instead (for the user POV at least). Can we at least agree on that and then see if is feasible to have good and up to date release notes?
$(LI std.range.hasSlicing has been made stricter in an effort to make it more
reliable. opSlice for infinite ranges must now return the result of
std.range.take, and any range with slicing which supports $(D $) must now
support it with the same semantics as arrays (including supporting subtraction
for finite ranges).)
This is 3 separate enhancements, each of which should be its own issue, and will certainly fit as the issue title.
You are missing the point, and even then, from the user POV, is much nicer to have all that information together, because even if they are separated issues from a bug report POV, they are related to the user.
Automating the bug list is fine, but don't throw away all of the non-bugzilla
stuff that we've been putting in the changelog.
Nothing has been deleted. In fact, I think those previous items in the 2.060 New/Changed Features are seriously deficient because they contain no hyperlinks for more information.
This have to be fixed in the review process! A change shouldn't be merged unless it has proper documentation!
 But, as I mentioned to Leandro, if someone wants to add some
 additional notes to the changelog file, that's great. But somebody
 has to do the work, and in the past there generally hasn't been much
 effort expended there.
 
 Me, I've spent more time than I care to think about keeping that
 list manually updated, badly.
I understand that, but I don't think that work should be optional and only done if somebody feels like. Every pull request should include proper documentation update. Can we try to focus on that for the next release? -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------- Spooker3 always wanted to learn russian...but learned C++ instead :)
Jan 04 2013
next sibling parent Leandro Lucarella <luca llucax.com.ar> writes:
Leandro Lucarella, el  4 de January a las 15:02 me escribiste:
 Nothing has been deleted. In fact, I think those previous items in
 the 2.060 New/Changed Features are seriously deficient because they
 contain no hyperlinks for more information.
This have to be fixed in the review process! A change shouldn't be merged unless it has proper documentation!
 But, as I mentioned to Leandro, if someone wants to add some
 additional notes to the changelog file, that's great. But somebody
 has to do the work, and in the past there generally hasn't been much
 effort expended there.
 
 Me, I've spent more time than I care to think about keeping that
 list manually updated, badly.
I understand that, but I don't think that work should be optional and only done if somebody feels like. Every pull request should include proper documentation update. Can we try to focus on that for the next release?
Better later than never: https://github.com/D-Programming-Language/d-programming-language.org/pull/232 (already merged) https://github.com/D-Programming-Language/d-programming-language.org/pull/233 report or the documentation, because is the documentation of a *change*. I think you really have to *require* updating these documents before merging pull requests that requires them. New (or occasional) contributors usually don't even know where these documents are. -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------- This homeless guy asked me for some money the other day. And I was gonna give it to him but then I thought you're just gonna use it on drugs or alcohol. And then I thought, that's what I'm gonna use it on. Why am I judging this poor bastard.
Jan 04 2013
prev sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/4/2013 6:02 AM, Leandro Lucarella wrote:
 Walter Bright, el  3 de January a las 23:03 me escribiste:
 On 1/3/2013 9:49 PM, Jonathan M Davis wrote:
 but other lines like

 $(LI std.string: $(RED The implementations of std.string.format and
 string.sformat have been replaced with improved implementations which conform
 to writef. In some, rare cases, this will break code. Please see the
 documentation for std.string.format and std.string.sformat for details.))
Yes, you can put this in as the bugzilla title, though I'd tighten it up a little.
Are you being serious? Do you really think this would be useful for the user? That the user will be able to spot that particular comment among hundreds of bugs in a bugzilla search query result?
It's not hundreds. It's the new/changed list, which is rather short. It was a little longer this time because it's been several months. Usually, it's just a handful.
 Is really that hard to acknowledge that release notes are better than
 doing that? I can understand if you see problems on keeping up to date
 the release notes, but I can't believe that anyone can think is plain
 better to user bugzilla instead (for the user POV at least).

 Can we at least agree on that and then see if is feasible to have good
 and up to date release notes?
But we've done that before. It was not working.
 I understand that, but I don't think that work should be optional and
 only done if somebody feels like. Every pull request should include
 proper documentation update. Can we try to focus on that for the next
 release?
We are all volunteers. You are welcome to help out with this.
Jan 04 2013
parent Leandro Lucarella <luca llucax.com.ar> writes:
Walter Bright, el  4 de January a las 10:58 me escribiste:
 On 1/4/2013 6:02 AM, Leandro Lucarella wrote:
Walter Bright, el  3 de January a las 23:03 me escribiste:
On 1/3/2013 9:49 PM, Jonathan M Davis wrote:
but other lines like

$(LI std.string: $(RED The implementations of std.string.format and
string.sformat have been replaced with improved implementations which conform
to writef. In some, rare cases, this will break code. Please see the
documentation for std.string.format and std.string.sformat for details.))
Yes, you can put this in as the bugzilla title, though I'd tighten it up a little.
Are you being serious? Do you really think this would be useful for the user? That the user will be able to spot that particular comment among hundreds of bugs in a bugzilla search query result?
It's not hundreds. It's the new/changed list, which is rather short. It was a little longer this time because it's been several months. Usually, it's just a handful.
True, but sometimes bugfixes needs important news too, if some code use to compile when it shouldn't. What would you do with that? Add another bug and tag it as a enhancement? Makes no sense to me, is prostituting the tool and making the users go to a prostitute (no offense to prostitutes!). Why settle with an option that's clearly worse for the users?
Is really that hard to acknowledge that release notes are better than
doing that? I can understand if you see problems on keeping up to date
the release notes, but I can't believe that anyone can think is plain
better to user bugzilla instead (for the user POV at least).

Can we at least agree on that and then see if is feasible to have good
and up to date release notes?
But we've done that before. It was not working.
You are mixing everything together! What you did before is manually adding **all** the changes to the changelog. Again (and again, and again) I'm suggesting keep the automatic listings in bugzilla but adding release notes too, some more "high level" text explaining users the key changes in a new release. But I guess we are arguing for no reason now because you already said that was OK. So now, my only request is for the reviewers to try to pay more attention to pull request and stop merging them until they also update the documentation and add release notes when appropriate. That should improve the situation a lot and doesn't generate a lot of new work, just more attention when reviewing and telling the contributor what's missing for the pull request to be merged. Then the work of writing the release notes is distributed among all the users.
I understand that, but I don't think that work should be optional and
only done if somebody feels like. Every pull request should include
proper documentation update. Can we try to focus on that for the next
release?
We are all volunteers. You are welcome to help out with this.
I know that (and honestly, I think you know that I know). I already fix my incomplete pull request by updating the documentation and the "release notes". I try to help with everything I can. And there's organization too. We are all volunteers but there some more experienced volunteers and some with extra responsibilities. I just can't reject pull requests because I can't merge them, and I'm not experienced enough to precisely tell people exactly what pull requests are missing. I'll try to pay more attention myself too and give feedback when I see a pull request that I think is incomplete. -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------- El techo de mi cuarto lleno de estrellas
Jan 06 2013
prev sibling parent "eles" <eles eles.com> writes:
On Friday, 4 January 2013 at 07:03:26 UTC, Walter Bright wrote:
 On 1/3/2013 9:49 PM, Jonathan M Davis wrote:
 but other lines like
Yes, you can put this in as the bugzilla title, though I'd tighten it up a little.
 This is 3 separate enhancements, each of which should be its 
 own issue, and will certainly fit as the issue title.
One problem that I see with the current form of Bugzilla query is that is quite difficult to inform the user about how the enhancement are connected one with another (for example, if one new feature requires another new feature or changing an old behavior). These may be part of several Bugzilla issues and there is no easy way to highlight this logical connection through the SQL query. Also, not even the physical proximity of logically-related issues is not achievable through Bugzilla (maybe the issue which appears at the top is a logical consequence of the issue that appears at the bottom, or maybe they are related in terms of strategy and goals, but who's gonna say that and how?). I would vote for requiring explicitly that the pull request properly modifies the documentation in those parts that it impacs.
Jan 04 2013
prev sibling parent Leandro Lucarella <luca llucax.com.ar> writes:
Jonathan M Davis, el  3 de January a las 21:49 me escribiste:
 are purely notes which developers should be made aware of which should _not_ 
 be buried in a list of bugzilla entries where most people won't see them (not 
 to mention, how many people do you think actually read through that list of 
 bug fixes; I think that it's mostly the notes that were at the top which
people 
 cared about, and now they're gone).
Exactly. At I don't read the bugfixes list for ages now (specially since they became more and more), I just look for a particular bug if it was bothering me and want to know if it was fixed in this release. What people will always read and care is the release announcement. -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------- A buscar no lo voy a ir -- Rata (Pichi Traful, febrero de 2011)
Jan 04 2013
prev sibling parent reply Dmitry Olshansky <dmitry.olsh gmail.com> writes:
04-Jan-2013 07:10, Walter Bright пишет:
 On 1/3/2013 11:36 AM, Jonathan M Davis wrote:
 Oh. Those are links. I was wondering when the data was actually going
 to be
 posted. When compared to the previous ones, it looks like there's only
 headers
 with no information.
The idea is to add explanatory information to the bugzilla issue being pointed to. Making some effort to clarify the title of the bugzilla issue is also justified. This change to the changelog presentation does require that we up our game with bugzilla - accurate tags (you can see at the top what is being keyed on), accurate titles, and accurate information.
With all due respect I just plain refused crawling through the list of links of bugzilla to understand the whole amount of changes and/or enhancements. New features need to be featured (!) at the top of changelog and represented in the on-line spec obviously. -- Dmitry Olshansky
Jan 04 2013
parent Walter Bright <newshound2 digitalmars.com> writes:
On 1/4/2013 2:19 AM, Dmitry Olshansky wrote:
 With all due respect I just plain refused crawling through the list of links of
 bugzilla to understand the whole amount of changes and/or enhancements.
That's the way we've been doing it for years.
 New features need to be  featured (!) at the top of changelog and represented
in
 the on-line spec obviously.
Just click on New/Changed Features and you get a list.
Jan 04 2013
prev sibling parent =?UTF-8?B?QWxpIMOHZWhyZWxp?= <acehreli yahoo.com> writes:
On 01/03/2013 10:49 AM, Walter Bright wrote:
 On 1/3/2013 10:11 AM, Ali Çehreli wrote:
 On 01/01/2013 03:46 PM, Walter Bright wrote:

 1. the dlang.org isn't updated yet.
Is the change log available somewhere else? I want to spread the news but it is not very interesting without knowing what has changed. :)
http://dlang.org/changelog.html
That's what I have been looking at. The top of the page was saying 2.060 and had the changelist for 2.060. The problem is solved for me only after I told my browser to refresh that page. :-/ Ali
Jan 03 2013
prev sibling next sibling parent reply Leandro Lucarella <luca llucax.com.ar> writes:
Walter Bright, el  1 de January a las 15:46 me escribiste:
 The big news is Win64 is now supported (in alpha).
 
 http://www.digitalmars.com/d/download.html
 
 D 1.076 changelog: http://www.digitalmars.com/d/1.0/changelog.html
BTW, Changelogs looks extremely naked now, I think release notes are really needed now. Al least for new features. Is far from ideal to make people go through a bug report to know how they can adapt their code to new features. And sometimes bug reports are not updated on how things turned out, for outdated AFAIK, the title talks about a -di flags which doesn't even exist, you actually have to go through the pull request[2] to see what the hell is going on. And even then the behaviour of that pull request was changed in a subsequent one[3], and there are no visible links between those 2 pull requests. So, unless you are a private investigator, you will have a very hard time to know that what really happened is that now DMD show deprecations as a warning message (compilation is not halted anymore) by default, and there are 2 new compiler flags, -de (to get the old default behaviour to make deprecation to be errors) and -dw, to explicitly enable the new default behaviour (make them warnings) in case you changed it in a config file and want to override it in the command line (so people wanting the old behaviour by default can put -de in the dmd.conf file and they can still override that default by using -dw when compiling). The -d flag stay the same (silently ignore any deprecated feature or symbol). Anyway, at least for this particular change, the changelog is basically useless, and I don't think the bug report is the right place to inform users about compiler changes. Users don't care about the history and discussion around a change, they just only want to know how to take advantage of new features and how to fix their code (possibly with some exceptions of course, in which case they can still go back to the bug report and pull requests). Glad that the long waited new release is out, though, and the release process is still improving :) Happy new year to everyone! [1] http://d.puremagic.com/issues/show_bug.cgi?id=7041 [2] https://github.com/D-Programming-Language/dmd/pull/1185 [3] https://github.com/D-Programming-Language/dmd/pull/1287 -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------- UNA ARTISTA HACE JABONES CON SU PROPIA GRASA LUEGO DE UNA LIPOSUCCION -- Crónica TV
Jan 03 2013
next sibling parent reply Iain Buclaw <ibuclaw ubuntu.com> writes:
On 3 January 2013 20:27, Leandro Lucarella <luca llucax.com.ar> wrote:

 Walter Bright, el  1 de January a las 15:46 me escribiste:
 The big news is Win64 is now supported (in alpha).

 http://www.digitalmars.com/d/download.html

 D 1.076 changelog: http://www.digitalmars.com/d/1.0/changelog.html
BTW, Changelogs looks extremely naked now, I think release notes are really needed now. Al least for new features. Is far from ideal to make people go through a bug report to know how they can adapt their code to new features.
Each new language feature should have a corresponding link to http://dlang.org/language-reference.html -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0';
Jan 03 2013
parent Leandro Lucarella <luca llucax.com.ar> writes:
Iain Buclaw, el  3 de January a las 21:48 me escribiste:
 On 3 January 2013 20:27, Leandro Lucarella <luca llucax.com.ar> wrote:
 
 Walter Bright, el  1 de January a las 15:46 me escribiste:
 The big news is Win64 is now supported (in alpha).

 http://www.digitalmars.com/d/download.html

 D 1.076 changelog: http://www.digitalmars.com/d/1.0/changelog.html
BTW, Changelogs looks extremely naked now, I think release notes are really needed now. Al least for new features. Is far from ideal to make people go through a bug report to know how they can adapt their code to new features.
Each new language feature should have a corresponding link to http://dlang.org/language-reference.html
Where? In the bug report? If so, I think it is extremely odd and user unfriendly. If is in the releases notes, perfect, but even then I think it would be nice to include a short summary of the new feature, not just a link (someone else mentioned Python release notes and I agree that Python is an excellent example of how I, as an user, would like to see it in D too). -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------- A veces quisiera ser un auto, para chocar como choco siendo humano, para romperme en mil pedazos.
Jan 03 2013
prev sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/3/2013 12:27 PM, Leandro Lucarella wrote:
 BTW, Changelogs looks extremely naked now, I think release notes are
 really needed now. Al least for new features. Is far from ideal to make
 people go through a bug report to know how they can adapt their code to
 new features.
On the other hand, the older way of doing changelogs routinely missed a *lot* of things. Relatively few people doing the pulls would bother to log the changes. I think there were easy double the number of changes showing up in the search than were in the log.
 And sometimes bug reports are not updated on how things turned out, for

 outdated AFAIK, the title talks about a -di flags which doesn't even
 exist, you actually have to go through the pull request[2] to see what
 the hell is going on. And even then the behaviour of that pull request
 was changed in a subsequent one[3], and there are no visible links
 between those 2 pull requests.
Please update that bugzilla issue. As I posted elsewhere in this thread, this method does require upping our game with bugzilla tags, titles, and descriptions. I don't see that it is any *harder* to update the bugzilla issue than it is to provide a brief summary in the changelog. As for what's new, the failure here is the failure to document those changes. This is not a failure of the changelog - it's a failure of the documentation pages. The bugzilla should have a link to the relevant documentation. I do *not* think that a changelog new feature entry takes the place of updating the documentation, and I do not agree with writing the documentation twice (changelog and documentation).
 Anyway, at least for this particular change, the changelog is basically
 useless, and I don't think the bug report is the right place to inform
 users about compiler changes.
We've been using bugzilla for a long time to organize enhancement requests.
 Users don't care about the history and
 discussion around a change, they just only want to know how to take
 advantage of new features and how to fix their code (possibly with some
 exceptions of course, in which case they can still go back to the bug
 report and pull requests).
I agree this new system is imperfect - but I argue it is better than what we were doing before.
Jan 03 2013
next sibling parent reply Pierre Rouleau <prouleau001 gmail.com> writes:
On 13-01-03 10:18 PM, Walter Bright wrote:
 On 1/3/2013 12:27 PM, Leandro Lucarella wrote:
 BTW, Changelogs looks extremely naked now, I think release notes are
 really needed now. Al least for new features. Is far from ideal to make
 people go through a bug report to know how they can adapt their code to
 new features.
On the other hand, the older way of doing changelogs routinely missed a *lot* of things. Relatively few people doing the pulls would bother to log the changes. I think there were easy double the number of changes showing up in the search than were in the log.
 And sometimes bug reports are not updated on how things turned out, for

 outdated AFAIK, the title talks about a -di flags which doesn't even
 exist, you actually have to go through the pull request[2] to see what
 the hell is going on. And even then the behaviour of that pull request
 was changed in a subsequent one[3], and there are no visible links
 between those 2 pull requests.
Please update that bugzilla issue. As I posted elsewhere in this thread, this method does require upping our game with bugzilla tags, titles, and descriptions. I don't see that it is any *harder* to update the bugzilla issue than it is to provide a brief summary in the changelog. As for what's new, the failure here is the failure to document those changes. This is not a failure of the changelog - it's a failure of the documentation pages. The bugzilla should have a link to the relevant documentation. I do *not* think that a changelog new feature entry takes the place of updating the documentation, and I do not agree with writing the documentation twice (changelog and documentation).
 Anyway, at least for this particular change, the changelog is basically
 useless, and I don't think the bug report is the right place to inform
 users about compiler changes.
We've been using bugzilla for a long time to organize enhancement requests.
 Users don't care about the history and
 discussion around a change, they just only want to know how to take
 advantage of new features and how to fix their code (possibly with some
 exceptions of course, in which case they can still go back to the bug
 report and pull requests).
I agree this new system is imperfect - but I argue it is better than what we were doing before.
I would agree with you that updating documentation and having access to the exact details is a very good thing to do. And most current developers already using D will most likely be satisfied with this. However, for outsiders like me, that manages development groups and is waiting for D2 to become stable enough to start investing preliminary prototypes in D2 and developing software in house (first for tools while training new developers with it) and given the fact that D2 is still stabilizing, an explicit description of the highlights of the major changes of a new version is a good selling point for the language. I was able to introduce Python in a group that was very conservative and old die-hard C programmers, simply because the documentation of Python was so well done. Each *major* release is fully documented. Now, D is newer, D2 is not yet completely stable yet (not that anything these days is). So maybe I am comparing apples and oranges. Python has lots of changes between official versions (with its own bug tracker with all the details of the various changes), but then they have a *release* version (eg. Python 2.7, Python 3.3, ...) and minor releases on top of those. The model seems to be a little different in D. Will it get closer to a model similar to Python in the future? In the Python model of development it seems easier to create documentations for important releases. I really hope D succeeds in becoming an important programming language; it's got so many nice features and its community is so knowledgeable. A little PR here and there around the releases, where a quick review would identify major breakthrough would probably not hurt D's popularity though. Since I agree on avoiding duplication, would a list of major new features of the release (similar to what existed in previous logs), made of links to the updated documentation, help? Anyway, I know I'm an outsider and have not participated in the development of this incredible language and all wonderful programs that the community came up with. I just wanted to give you some feedback from the outside and, at the same time, thank Walter all the D community for the wonderful work that has been done! /Pierre
Jan 03 2013
parent Walter Bright <newshound2 digitalmars.com> writes:
On 1/3/2013 9:54 PM, Pierre Rouleau wrote:
 However, for outsiders like me, that manages development groups and is waiting
 for D2 to become stable enough to start investing preliminary prototypes in D2
 and developing software in house (first for tools while training new developers
 with it) and given the fact that D2 is still stabilizing, an explicit
 description of the highlights of the major changes of a new version is a good
 selling point for the language.
The whatsnew section is pretty short, and it's just a click away. I just don't understand why this is so objectionable.
Jan 03 2013
prev sibling next sibling parent reply Jonathan M Davis <jmdavisProg gmx.com> writes:
On Thursday, January 03, 2013 19:18:25 Walter Bright wrote:
 As for what's new, the failure here is the failure to document those
 changes. This is not a failure of the changelog - it's a failure of the
 documentation pages. The bugzilla should have a link to the relevant
 documentation.
 
 I do *not* think that a changelog new feature entry takes the place of
 updating the documentation, and I do not agree with writing the
 documentation twice (changelog and documentation).
In general, the only "new features" which need to be in the documentation but don't end up there are in dmd. But even then, they need to be in the changelog or release notes - preferrably the release notes, if we're separating them. I expect that very few people will comb through the list of bug fixes. They want to know the highlights, and we should list those. And _no one_ is going to dig through the documentation to try and figure out what changed. So, omitting a new feature entirely from the changelog or release notes because it's been put in the updated documentation makes no sense. The changelog and release notes definitely do _not_ replace proper documentation, but they're a necessary companion to it when new features are added or major changes are made. - Jonathan M Davis
Jan 03 2013
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/3/2013 9:54 PM, Jonathan M Davis wrote:
 I do *not* think that a changelog new feature entry takes the place of
 updating the documentation, and I do not agree with writing the
 documentation twice (changelog and documentation).
In general, the only "new features" which need to be in the documentation but don't end up there are in dmd. But even then, they need to be in the changelog or release notes - preferrably the release notes, if we're separating them. I expect that very few people will comb through the list of bug fixes.
New features are not bug fixes. That's why they're listed separately, and there aren't that many of them.
 They want
 to know the highlights, and we should list those. And _no one_ is going to dig
 through the documentation to try and figure out what changed.
Nobody is asking them to. The changelog has a pointer to a proper list of them.
 So, omitting a
 new feature entirely from the changelog or release notes because it's been put
 in the updated documentation makes no sense.
I don't believe I suggested that. I suggested adding a link in the enhancement request bugzilla entry to the right place in the documentation. That way, the documentation only has to be done once. A summary can be added to the bugzilla issue.
 The changelog and release notes
 definitely do _not_ replace proper documentation, but they're a necessary
 companion to it when new features are added or major changes are made.
The changelog list of new features has not gone away. Just click on where it says New/Changed Features at: http://dlang.org/changelog.html. And here's the list: http://d.puremagic.com/issues/buglist.cgi?chfieldto=2012-12-31&query_format=advanced&chfield=resolution&chfieldfrom=2012-08-02&chfieldvalue=FIXED&bug_severity=enhancement&bug_status=RESOLVED&version=D2&version=D1%20%26%20D2&resolution=FIXED&product=D Please note that the documentation that was there before in the changelog, but with no corresponding bugzilla entry, has been cut & pasted into the enhancement request bugzilla entry that I created for it. Nothing has been lost or removed. In fact, this has pointed out quite a few New/Changed Features that had been omitted from the human curated list. I think that a complete list is better than the buggy, half-assed one we had before. I will certainly concur that a lot (most?) of the titles on the bugzilla enhancement requests kinda suck, but you or I or anyone else can fix them as necessary, and I did fix a few of them.
Jan 03 2013
next sibling parent reply Jonathan M Davis <jmdavisProg gmx.com> writes:
On Thursday, January 03, 2013 22:24:34 Walter Bright wrote:
 Please note that the documentation that was there before in the changelog,
 but with no corresponding bugzilla entry, has been cut & pasted into the
 enhancement request bugzilla entry that I created for it.
 
 Nothing has been lost or removed.
And where are items like $(LI std.range.hasSlicing has been made stricter in an effort to make it more reliable. opSlice for infinite ranges must now return the result of std.range.take, and any range with slicing which supports $(D $) must now support it with the same semantics as arrays (including supporting subtraction for finite ranges).) That's something that should be listed prominently, not buried in a long list of bugzilla entries. If you want to put that sort of thing in a separate release notes section, fine. But notes like this do _not_ belong in a list of bugzilla entries. They should be prominently displayed to users.
 In fact, this has pointed out quite a few New/Changed Features that had been
 omitted from the human curated list. I think that a complete list is better
 than the buggy, half-assed one we had before.
 
 I will certainly concur that a lot (most?) of the titles on the bugzilla
 enhancement requests kinda suck, but you or I or anyone else can fix them as
 necessary, and I did fix a few of them.
I'm all for automating the bug fixes, and it makes perfect sense to handle many of the enhancement requests in the same way, but we should have a way to highlight major changes separately from the list of bugzilla entries (which have no indication of prominence or relative importance) as well as an area for giving specific notes to developers when needed (like major changes they should watch out for or impending changes that they should be aware of). If that's a separate release notes section rather than in the changelog itself, so be it, but we've now completely lost the section that we were using for that sort of thing. Instead, it's now simply a link to a bunch of bugzilla entries. - Jonathan M Davis P.S. Also, as a future improvement, we _really_ shouldn't be linking to bugzilla for our list. I've never seen a release notes document or changelog do that in my entire life. It would be _far_ more user friendly to list the changes like we did before with the bug number for each entry linking to the bug report (and it's what most projects to do from what I've seen). Automatically generating the list of bug fixes is great (and a definite step forward), but the current presentation leaves a lot to be desired.
Jan 03 2013
next sibling parent Dmitry Olshansky <dmitry.olsh gmail.com> writes:
04-Jan-2013 10:44, Jonathan M Davis пишет:
 On Thursday, January 03, 2013 22:24:34 Walter Bright wrote:
 Please note that the documentation that was there before in the changelog,
 but with no corresponding bugzilla entry, has been cut & pasted into the
 enhancement request bugzilla entry that I created for it.

 Nothing has been lost or removed.
And where are items like $(LI std.range.hasSlicing has been made stricter in an effort to make it more reliable. opSlice for infinite ranges must now return the result of std.range.take, and any range with slicing which supports $(D $) must now support it with the same semantics as arrays (including supporting subtraction for finite ranges).) That's something that should be listed prominently, not buried in a long list of bugzilla entries. If you want to put that sort of thing in a separate release notes section, fine. But notes like this do _not_ belong in a list of bugzilla entries. They should be prominently displayed to users.
 In fact, this has pointed out quite a few New/Changed Features that had been
 omitted from the human curated list. I think that a complete list is better
 than the buggy, half-assed one we had before.

 I will certainly concur that a lot (most?) of the titles on the bugzilla
 enhancement requests kinda suck, but you or I or anyone else can fix them as
 necessary, and I did fix a few of them.
I'm all for automating the bug fixes, and it makes perfect sense to handle many of the enhancement requests in the same way, but we should have a way to highlight major changes separately from the list of bugzilla entries (which have no indication of prominence or relative importance) as well as an area for giving specific notes to developers when needed (like major changes they should watch out for or impending changes that they should be aware of). If that's a separate release notes section rather than in the changelog itself, so be it, but we've now completely lost the section that we were using for that sort of thing. Instead, it's now simply a link to a bunch of bugzilla entries. - Jonathan M Davis P.S. Also, as a future improvement, we _really_ shouldn't be linking to bugzilla for our list. I've never seen a release notes document or changelog do that in my entire life. It would be _far_ more user friendly to list the changes like we did before with the bug number for each entry linking to the bug report (and it's what most projects to do from what I've seen). Automatically generating the list of bug fixes is great (and a definite step forward), but the current presentation leaves a lot to be desired.
+1 Can't agree more. -- Dmitry Olshansky
Jan 04 2013
prev sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/3/2013 10:44 PM, Jonathan M Davis wrote:
 P.S. Also, as a future improvement, we _really_ shouldn't be linking to
 bugzilla for our list. I've never seen a release notes document or changelog
 do that in my entire life. It would be _far_ more user friendly to list the
 changes like we did before with the bug number for each entry linking to the
 bug report (and it's what most projects to do from what I've seen).
What we used to do was, literally (and I mean literally) copy/paste the bugzilla entry title and stick it in the changelog. It's THE SAME LIST as in the bugzilla list. It's even in the same order. It's just that the bugzilla generated list is complete. I don't understand your rationale that it's _far_ more user friendly. It's the exact same list, in the exact same order, with the exact same text.
Jan 04 2013
parent reply Jonathan M Davis <jmdavisProg gmx.com> writes:
On Friday, January 04, 2013 14:13:22 Walter Bright wrote:
 On 1/3/2013 10:44 PM, Jonathan M Davis wrote:
 P.S. Also, as a future improvement, we _really_ shouldn't be linking to
 bugzilla for our list. I've never seen a release notes document or
 changelog do that in my entire life. It would be _far_ more user friendly
 to list the changes like we did before with the bug number for each entry
 linking to the bug report (and it's what most projects to do from what
 I've seen).
What we used to do was, literally (and I mean literally) copy/paste the bugzilla entry title and stick it in the changelog. It's THE SAME LIST as in the bugzilla list. It's even in the same order. It's just that the bugzilla generated list is complete. I don't understand your rationale that it's _far_ more user friendly. It's the exact same list, in the exact same order, with the exact same text.
Okay, _far_ more friendly is probably an exaggeration, but I definitely think that it's unfriendly to redirect people to bugzilla for the changelog, and several other people have said the same in this thread. The normal thing to do is do what we did before and list all of the changes on a single page which people can look over at a glance without caring one whit about bugzilla (beyond possibly clicking on one of the bug numbers for more details). It also means fewer clicks, because you don't have to click to get at any of the lists. I have _never_ seen any changelog other than ours use bugzilla queries for its contents. They're pretty much always done in a manner that allows them to be put in a text file (one which is frequently provided with the released files themselves or otherwise sitting in the repository along with the README and whatnot). - Jonathan M Davis
Jan 09 2013
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 1/9/13 12:43 AM, Jonathan M Davis wrote:
 On Friday, January 04, 2013 14:13:22 Walter Bright wrote:
 It's THE SAME LIST as in the bugzilla list. It's even in the same order.
 It's just that the bugzilla generated list is complete.

 I don't understand your rationale that it's _far_ more user friendly. It's
 the exact same list, in the exact same order, with the exact same text.
Okay, _far_ more friendly is probably an exaggeration
There is something to be said about proportional response. Shall we stop this now? Thanks much, Andrei
Jan 09 2013
next sibling parent reply Jonathan M Davis <jmdavisProg gmx.com> writes:
On Wednesday, January 09, 2013 00:52:32 Andrei Alexandrescu wrote:
 On 1/9/13 12:43 AM, Jonathan M Davis wrote:
 On Friday, January 04, 2013 14:13:22 Walter Bright wrote:
 It's THE SAME LIST as in the bugzilla list. It's even in the same order.
 It's just that the bugzilla generated list is complete.
 
 I don't understand your rationale that it's _far_ more user friendly.
 It's
 the exact same list, in the exact same order, with the exact same text.
Okay, _far_ more friendly is probably an exaggeration
There is something to be said about proportional response. Shall we stop this now?
I think that it's important, and other people in this thread have agreed with me (anyone other than Walter who has disagreed has been silent on the issue). But I gather that you don't agree. - Jonathan M Davis
Jan 09 2013
parent reply Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> writes:
On Wed, 09 Jan 2013 01:09:21 -0800
Jonathan M Davis <jmdavisProg gmx.com> wrote:

 On Wednesday, January 09, 2013 00:52:32 Andrei Alexandrescu wrote:
 On 1/9/13 12:43 AM, Jonathan M Davis wrote:
 On Friday, January 04, 2013 14:13:22 Walter Bright wrote:
 It's THE SAME LIST as in the bugzilla list. It's even in the
 same order. It's just that the bugzilla generated list is
 complete.
 
 I don't understand your rationale that it's _far_ more user
 friendly. It's
 the exact same list, in the exact same order, with the exact
 same text.
Okay, _far_ more friendly is probably an exaggeration
There is something to be said about proportional response. Shall we stop this now?
I think that it's important, and other people in this thread have agreed with me (anyone other than Walter who has disagreed has been silent on the issue). But I gather that you don't agree. - Jonathan M Davis
Yea, this change is definitely a notable step backwards in presentation and usability.
Jan 09 2013
parent Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> writes:
On Wed, 9 Jan 2013 12:54:54 -0500
Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> wrote:
 Yea, this change is definitely a notable step backwards in
 presentation and usability.
 
And it doesn't help that, once again, the changelog is showing the *next* release with no indication that it hasn't actually been released.
Jan 09 2013
prev sibling parent Philippe Sigaud <philippe.sigaud gmail.com> writes:
On Wed, Jan 9, 2013 at 9:52 AM, Andrei Alexandrescu
<SeeWebsiteForEmail erdani.org> wrote:
 There is something to be said about proportional response. Shall we stop this
now?
I propose to start another thread, maybe more constructive, where I propose a small text describing what's new in 2.061. Is that OK?
Jan 09 2013
prev sibling parent reply "eles" <eles eles.com> writes:
On Friday, 4 January 2013 at 06:24:37 UTC, Walter Bright wrote:
 On 1/3/2013 9:54 PM, Jonathan M Davis wrote:
 And here's the list:


 http://d.puremagic.com/issues/buglist.cgi?chfieldto=2012-12-31&query_format=advanced&chfield=resolution&chfieldfrom=2012-08-02&chfieldvalue=FIXED&bug_severity=enhancement&bug_status=RESOLVED&version=D2&version=D1%20%26%20D2&resolution=FIXED&product=D
Two concrete examples: http://d.puremagic.com/issues/show_bug.cgi?id=5992 is described in the list as: " Phobos Win64 - D2 "; At least, change its title to something more human, like "Win64 alpha has been released with working Phobos." (yes, that's exactly Don's comment, but at the end of the discussion). http://d.puremagic.com/issues/show_bug.cgi?id=5269 is described as: "version(assert)". Only if you read the discussion you understand that "version(unittest) that allows setup code for assertions to run when assertions are enabled and be compiled out when assertions are disabled" was implemented. It is very different thing to see "version(assert)" and reading a meaningful description of it...
Jan 04 2013
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/4/2013 12:16 AM, eles wrote:
 Two concrete examples:

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

 is described in the list as: " Phobos Win64 - D2 "; At least, change its title
 to something more human, like "Win64 alpha has been released with working
 Phobos." (yes, that's exactly Don's comment, but at the end of the discussion).

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

 is described as: "version(assert)". Only if you read the discussion you
 understand that "version(unittest) that allows setup code for assertions
 to run when assertions are enabled and be compiled out when assertions are
 disabled" was implemented.

 It is very different thing to see "version(assert)" and reading a meaningful
 description of it...
I understand and agree. And, as I posted previously, anyone can fix the issue titles. I've already fixed a few.
Jan 04 2013
parent reply Pierre Rouleau <prouleau001 gmail.com> writes:
On 13-01-04 3:45 AM, Walter Bright wrote:
 On 1/4/2013 12:16 AM, eles wrote:
 Two concrete examples:

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

 is described in the list as: " Phobos Win64 - D2 "; At least, change
 its title
 to something more human, like "Win64 alpha has been released with working
 Phobos." (yes, that's exactly Don's comment, but at the end of the
 discussion).

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

 is described as: "version(assert)". Only if you read the discussion you
 understand that "version(unittest) that allows setup code for assertions
 to run when assertions are enabled and be compiled out when assertions
 are
 disabled" was implemented.

 It is very different thing to see "version(assert)" and reading a
 meaningful
 description of it...
I understand and agree. And, as I posted previously, anyone can fix the issue titles. I've already fixed a few.
Don't you think a process that requires reviewing these titles *before* the actual software release announcement posting would help? Would it not be useful to have a person in charge of the redaction of this type of software release? That person would be able to review all Bugzilla reports that have been automatically generated and create a separate document titled "What's new in D 2.xxx" that would provide an overview of the release. Of course the existing four lists (new/changed features, DMD bugs fixed,...) would still exists and would be reachable. But this new document would present all the information about the changes, their intent, the way they interact together and influence writing D code. That document itself would be created during the same development cycle than the code itself. And would be reviewed. Having this document might be seen as duplication of information. It can also be seen as a central idea repository for the presentation of the changes/fixes of the release and the activity leading to the creation of this document could generate extra discussions that may lead to new ideas and more bugs being fixed. It would help introduce the information to users and if anyone is interested in the details then they can always go to the actual Bugzilla entries listed the way they are now. As an example of what I am thinking about, see http://docs.python.org/2/whatsnew/2.7.html Note, in that document the links to the various issues. The 4 lists of Bugzilla issues could be located at the top of the release document. /Pierre
Jan 04 2013
next sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/4/2013 8:59 AM, Pierre Rouleau wrote:
 Don't you think a process that requires reviewing these titles *before* the
 actual software release announcement posting would help?
Of course it would. Do you wish to help? All help is welcome.
Jan 04 2013
parent reply Pierre Rouleau <prouleau001 gmail.com> writes:
On 13-01-04 2:06 PM, Walter Bright wrote:
 On 1/4/2013 8:59 AM, Pierre Rouleau wrote:
 Don't you think a process that requires reviewing these titles
 *before* the
 actual software release announcement posting would help?
Of course it would. Do you wish to help? All help is welcome.
I was thinking about that too. I just don't know where to start. I guess I would have to read the developers guidelines and find out about the documentation markup. What should I read first? /Pierre
Jan 04 2013
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/4/2013 12:23 PM, Pierre Rouleau wrote:
 On 13-01-04 2:06 PM, Walter Bright wrote:
 On 1/4/2013 8:59 AM, Pierre Rouleau wrote:
 Don't you think a process that requires reviewing these titles
 *before* the
 actual software release announcement posting would help?
Of course it would. Do you wish to help? All help is welcome.
I was thinking about that too. I just don't know where to start. I guess I would have to read the developers guidelines and find out about the documentation markup. What should I read first?
Probably the easiest thing to start with is simply review the titles of bugzilla issues appearing in the new/changed list. You can edit them as required.
Jan 04 2013
parent reply Pierre Rouleau <prouleau001 gmail.com> writes:
On 13-01-04 3:55 PM, Walter Bright wrote:
 On 1/4/2013 12:23 PM, Pierre Rouleau wrote:
 On 13-01-04 2:06 PM, Walter Bright wrote:
 On 1/4/2013 8:59 AM, Pierre Rouleau wrote:
 Don't you think a process that requires reviewing these titles
 *before* the
 actual software release announcement posting would help?
Of course it would. Do you wish to help? All help is welcome.
I was thinking about that too. I just don't know where to start. I guess I would have to read the developers guidelines and find out about the documentation markup. What should I read first?
Probably the easiest thing to start with is simply review the titles of bugzilla issues appearing in the new/changed list. You can edit them as required.
OK, I'll start going through the list of D2.062 and then D 2.061. I'll take me time as I have to learn quite a bit, but you're right, and I would probably have proposed the same thing have I been in your shoes. Point taken and thanks! I noticed that D 2.062 has no new features. What would it take to remove the link to New/Changed Features on that version since there are none? /Pierre
Jan 05 2013
next sibling parent reply "David Nadlinger" <see klickverbot.at> writes:
On Saturday, 5 January 2013 at 09:30:41 UTC, Pierre Rouleau wrote:
 I noticed that D 2.062 has no new features.  What would it take 
 to remove the link to New/Changed Features on that version 
 since there are none?
D 2.062 does not even exist yet, the current development version of changelog.dd just made it to http://dlang.org/changelog.html by accident. Davi
Jan 05 2013
parent Pierre Rouleau <prouleau001 gmail.com> writes:
 D 2.062 does not even exist yet, the current development version of
 changelog.dd just made it to http://dlang.org/changelog.html by accident.

 Davi
OK. Was not obvious for me when I looked at the change log. And BTW, the change log page still shows it. Is this intentional? If it is, could we not identify the build as "Future/unreleased version" or something similar? This is probably what a lot of people are worried about: the fact that you need t really get involved in the project to be able to use it. And the lack of consistency does not provide a good press for the project. I will try to help by updating some of the Bugzilla titles as I continue learning. /Pierre
Jan 05 2013
prev sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/5/2013 1:30 AM, Pierre Rouleau wrote:
 I noticed that D 2.062 has no new features.  What would it take to remove the
 link to New/Changed Features on that version since there are none?
There will be.
Jan 05 2013
parent reply Pierre Rouleau <prouleau001 gmail.com> writes:
On 13-01-05 5:39 AM, Walter Bright wrote:
 On 1/5/2013 1:30 AM, Pierre Rouleau wrote:
 I noticed that D 2.062 has no new features.  What would it take to
 remove the
 link to New/Changed Features on that version since there are none?
There will be.
Do you have a plan of what they will be and a target date for the next release?
Jan 05 2013
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/5/2013 10:06 AM, Pierre Rouleau wrote:
 On 13-01-05 5:39 AM, Walter Bright wrote:
 On 1/5/2013 1:30 AM, Pierre Rouleau wrote:
 I noticed that D 2.062 has no new features.  What would it take to
 remove the
 link to New/Changed Features on that version since there are none?
There will be.
Do you have a plan of what they will be and a target date for the next release?
We've never had a release that didn't have some new/changed features.
Jan 05 2013
parent reply Pierre Rouleau <prouleau001 gmail.com> writes:
On 13-01-05 4:01 PM, Walter Bright wrote:
 On 1/5/2013 10:06 AM, Pierre Rouleau wrote:
 On 13-01-05 5:39 AM, Walter Bright wrote:
 On 1/5/2013 1:30 AM, Pierre Rouleau wrote:
 I noticed that D 2.062 has no new features.  What would it take to
 remove the
 link to New/Changed Features on that version since there are none?
There will be.
Do you have a plan of what they will be and a target date for the next release?
We've never had a release that didn't have some new/changed features.
I know. What I'm trying to see is what is the development *plan* for D2? Something that would identify the future features to be implemented and the planned targets/milestones for them. I would assume that I am not alone in watching the D language evolution, would like to get people to start using it at my work place, and would like to know what the plan is be so we can better convince other people to invest time into it. /Pierre
Jan 05 2013
next sibling parent reply Jacob Carlborg <doob me.com> writes:
On 2013-01-06 05:19, Pierre Rouleau wrote:

 I know.

 What I'm trying to see is what is the development *plan* for D2?
 Something that would identify the future features to be implemented and
 the planned targets/milestones for them.

 I would assume that I am not alone in watching the D language evolution,
 would like to get people to start using it at my work place, and would
 like to know what the plan is be so we can better convince other people
 to invest time into it.
I've requested that for years, still nothing. Well that only thing I've seen is that the change log used to say "Under Construction: Shared libraries for Linux". Still does for D1. -- /Jacob Carlborg
Jan 06 2013
next sibling parent reply Russel Winder <russel winder.org.uk> writes:
On Sun, 2013-01-06 at 12:08 +0100, Jacob Carlborg wrote:
[=E2=80=A6]
 I've requested that for years, still nothing. Well that only thing I've=
=20
 seen is that the change log used to say "Under Construction: Shared=20
 libraries for Linux". Still does for D1.
I know that the Go folk are of the view that shared libraries are an abomination and all should be expunged from the universe; all Go executables are statically linked. Of course Linux, OS X, Solaris and AIX depend on shared libraries, but maybe Google think they can change the world? If D is to compete with C, C++ and JVM-based languages then it has to have a position on shared libraries other than "we think it might be a good idea, but no-one has bothered to do anything about it to date". Either is is a good idea or it isn't. If it is a good idea then shared libraries should be in 2.062. If it isn't then a clear statement of "won't fix" and "D is a static compile only language, like Go" is needed. Of course then the issue is "How to link to shared libraries?". Go has some difficulties here but the put a shim in place to deal with it. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Jan 06 2013
parent reply Jacob Carlborg <doob me.com> writes:
On 2013-01-06 12:27, Russel Winder wrote:

 I know that the Go folk are of the view that shared libraries are an
 abomination and all should be expunged from the universe; all Go
 executables are statically linked.

 Of course Linux, OS X, Solaris and AIX depend on shared libraries, but
 maybe Google think they can change the world?
I'm pretty sure that they're linking with the dynamic libraries when linking with systems libraries. As you say, they don't have much of a choice. I guess they don't create new dynamic libraries with Go.
 If D is to compete with C, C++ and JVM-based languages then it has to
 have a position on shared libraries other than "we think it might be a
 good idea, but no-one has bothered to do anything about it to date".
 Either is is a good idea or it isn't. If it is a good idea then shared
 libraries should be in 2.062. If it isn't then a clear statement of
 "won't fix" and "D is a static compile only language, like Go" is
 needed.
I completely agree. We _need_ dynamic libraries. But the problem is that someone just have to do it and Walter doesn't seem to be in a rush to implement it.
 Of course then the issue is "How to link to shared libraries?". Go has
 some difficulties here but the put a shim in place to deal with it.
What would be the issue of linking with dynamic libraries? We can already link with C dynamic libraries without any problem. -- /Jacob Carlborg
Jan 06 2013
next sibling parent reply Russel Winder <russel winder.org.uk> writes:
On Sun, 2013-01-06 at 12:56 +0100, Jacob Carlborg wrote:
[=E2=80=A6]
 I completely agree. We _need_ dynamic libraries. But the problem is that=
=20
 someone just have to do it and Walter doesn't seem to be in a rush to=20
 implement it.
Is Walter the only person who can implement this? I cannot commit to doing anything on this in the foreseeable short-, to medium-term future, but is there anyone who can?
 Of course then the issue is "How to link to shared libraries?". Go has
 some difficulties here but the put a shim in place to deal with it.
=20 What would be the issue of linking with dynamic libraries? We can=20 already link with C dynamic libraries without any problem.
For the Go folks, it is all about issues with garbage collection and thread management, they need to perform contortions to deal with C and C ++ codes. I recollect it is to do with the way Go handles execution stacks. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Jan 06 2013
next sibling parent reply Jacob Carlborg <doob me.com> writes:
On 2013-01-06 13:20, Russel Winder wrote:

 Is Walter the only person who can implement this? I cannot commit to
 doing anything on this in the foreseeable short-, to medium-term future,
 but is there anyone who can?
No, absolutely not. But no one has been willing to do it yet. Martin Nowak seems to be closest to have something: https://github.com/dawgfoto/druntime/tree/SharedRuntime I have tried myself a couple of times but there has always been some issue with the compiler that needs to be fixed or implemented. I have never been able to figure out how to do that. For example, on Mac OS X where DMD implements its own TLS the compiler will most likely need to change somewhat. https://github.com/D-Programming-Language/druntime/blob/master/src/core/thread.d#L4549 In the above code we need to have access to which image that address (p) to the belongs to.
 For the Go folks, it is all about issues with garbage collection and
 thread management, they need to perform contortions to deal with C and C
 ++ codes. I recollect it is to do with the way Go handles execution
 stacks.
I see. -- /Jacob Carlborg
Jan 06 2013
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/6/2013 4:32 AM, Jacob Carlborg wrote:
 I have tried myself a couple of times but there has always been some issue with
 the compiler that needs to be fixed or implemented.
I have fixed every single PIC implementation compiler problem that has been brought to my attention. If there are others, I am not aware of them. Please let me know the bugzilla issue numbers for any I have missed.
 For example, on Mac OS X where DMD implements its own
 TLS the compiler will most likely need to change somewhat.
DMD implements its own TLS on OS X because the OS X C compiler says "not implemented" when you try to create TLS variables. I had no other option. The OS X TLS implementation is all done in druntime. Nevertheless, this does not impact Linux nor FreeBSD.
Jan 06 2013
next sibling parent reply Jacob Carlborg <doob me.com> writes:
On 2013-01-07 00:19, Walter Bright wrote:

 I have fixed every single PIC implementation compiler problem that has
 been brought to my attention. If there are others, I am not aware of
 them. Please let me know the bugzilla issue numbers for any I have missed.
I know you have. The problem is that there might be necessary to do some changes to the compiler. That doesn't mean there is a bug.
 DMD implements its own TLS on OS X because the OS X C compiler says "not
 implemented" when you try to create TLS variables. I had no other option.
Yeah, I know. I'm not complaining.
 The OS X TLS implementation is all done in druntime.
Not 100%. I'm thinking of the __tls_get_addr function which the compiler calls: https://github.com/D-Programming-Language/druntime/blob/master/src/core/thread.d#L4549 That function needs to know which image the given address belongs to. I think that the compiler needs to supply that, in addition to the address, but I'm not sure. If it does it requires a change in the compiler. I can add this to bugzilla.
 Nevertheless, this does not impact Linux nor FreeBSD.
Mac OS X is my main platform. It's natural that I try to get it to work there first. -- /Jacob Carlborg
Jan 06 2013
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/6/2013 11:51 PM, Jacob Carlborg wrote:
 On 2013-01-07 00:19, Walter Bright wrote:

 I have fixed every single PIC implementation compiler problem that has
 been brought to my attention. If there are others, I am not aware of
 them. Please let me know the bugzilla issue numbers for any I have missed.
I know you have. The problem is that there might be necessary to do some changes to the compiler. That doesn't mean there is a bug.
I'm sorry, but I can't do anything with that statement.
 The OS X TLS implementation is all done in druntime.
Not 100%. I'm thinking of the __tls_get_addr function which the compiler calls: https://github.com/D-Programming-Language/druntime/blob/master/src/core/thread.d#L4549
Yes, it defers it all to druntime by calling a druntime function.
 That function needs to know which image the given address belongs to. I think
 that the compiler needs to supply that, in addition to the address, but I'm not
 sure. If it does it requires a change in the compiler.

 I can add this to bugzilla.
Please nail down what is necessary first. (BTW, I don't know how the compiler can tell what image an address comes from. Remember, shared libraries are loaded at runtime, not compile time.)
 Nevertheless, this does not impact Linux nor FreeBSD.
Mac OS X is my main platform. It's natural that I try to get it to work there first.
No prob. I'll be happy to make compiler mods as necessary, once the exact problems are identified.
Jan 07 2013
next sibling parent Jacob Carlborg <doob me.com> writes:
On 2013-01-07 09:04, Walter Bright wrote:

 Please nail down what is necessary first. (BTW, I don't know how the
 compiler can tell what image an address comes from. Remember, shared
 libraries are loaded at runtime, not compile time.)
I'll try and do that. -- /Jacob Carlborg
Jan 07 2013
prev sibling parent reply Jacob Carlborg <doob me.com> writes:
On 2013-01-07 09:04, Walter Bright wrote:

 Please nail down what is necessary first. (BTW, I don't know how the
 compiler can tell what image an address comes from. Remember, shared
 libraries are loaded at runtime, not compile time.)
I've done some investigation. Currently DMD inserts a call to the __tls_get_addr function when accessing a TLS variable. This is implemented in druntime. In Mac OS X 10.7 it works similar but instead of inserting a call to __tls_get_addr there's a struct looking like this (written in D) : struct TLVDescriptor { void* function (TLVDescriptor*) thunk; size_t key; size_t offset; } The dynamic linker will iterate all loaded images and extract the section containing the TLS data. I guess this section consists of a list of TLVDescriptor*. The dynamic linker will set the "thunk" to a function "tlv_get_addrs", implemented in assembly in the dynamic linker. It will set the key to a key created by "pthread_key_create". It will also map the image with this key. This key is same for all TLVDescriptor of a given image. Instead of calling "__tls_get_addr" I think that the compiler will need to call the thunk passing in the TLVDescriptor itself to the thunk. The "tlv_get_addrs" function will then extract the key and from that key it can get the image the address belongs to. Does that make any sens? Is that something the DMD could do, that is call the thunk instead of "__tls_get_addr".? -- /Jacob Carlborg
Jan 08 2013
parent reply "deadalnix" <deadalnix gmail.com> writes:
On Wednesday, 9 January 2013 at 07:57:12 UTC, Jacob Carlborg 
wrote:
 On 2013-01-07 09:04, Walter Bright wrote:

 Please nail down what is necessary first. (BTW, I don't know 
 how the
 compiler can tell what image an address comes from. Remember, 
 shared
 libraries are loaded at runtime, not compile time.)
I've done some investigation. Currently DMD inserts a call to the __tls_get_addr function when accessing a TLS variable. This is implemented in druntime. In Mac OS X 10.7 it works similar but instead of inserting a call to __tls_get_addr there's a struct looking like this (written in D) : struct TLVDescriptor { void* function (TLVDescriptor*) thunk; size_t key; size_t offset; } The dynamic linker will iterate all loaded images and extract the section containing the TLS data. I guess this section consists of a list of TLVDescriptor*. The dynamic linker will set the "thunk" to a function "tlv_get_addrs", implemented in assembly in the dynamic linker. It will set the key to a key created by "pthread_key_create". It will also map the image with this key. This key is same for all TLVDescriptor of a given image. Instead of calling "__tls_get_addr" I think that the compiler will need to call the thunk passing in the TLVDescriptor itself to the thunk. The "tlv_get_addrs" function will then extract the key and from that key it can get the image the address belongs to. Does that make any sens? Is that something the DMD could do, that is call the thunk instead of "__tls_get_addr".?
Isn't it horrible performancewise ?
Jan 09 2013
parent reply Jacob Carlborg <doob me.com> writes:
On 2013-01-09 11:00, deadalnix wrote:

 Isn't it horrible performancewise ?
I think it sounds like that but I don't know. I'm just trying to figure out how TLS is implemented on Mac OS X 10.7+. -- /Jacob Carlborg
Jan 09 2013
parent reply Jacob Carlborg <doob me.com> writes:
On 2013-01-09 11:26, Jacob Carlborg wrote:

 I think it sounds like that but I don't know. I'm just trying to figure
 out how TLS is implemented on Mac OS X 10.7+.
Also, there's nothing else that calls this tlv_get_addr function or the thunk so I'm guessing it's the compiler that calls it. -- /Jacob Carlborg
Jan 09 2013
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/9/2013 2:28 AM, Jacob Carlborg wrote:
 On 2013-01-09 11:26, Jacob Carlborg wrote:

 I think it sounds like that but I don't know. I'm just trying to figure
 out how TLS is implemented on Mac OS X 10.7+.
Also, there's nothing else that calls this tlv_get_addr function or the thunk so I'm guessing it's the compiler that calls it.
Watcha do is something like this: __thread int x; int foo() { return x; } Compile, disassemble, and look at the code generated and the fixup records. Then there's no need to guess :-)
Jan 09 2013
next sibling parent Jacob Carlborg <doob me.com> writes:
On 2013-01-09 11:38, Walter Bright wrote:

 Watcha do is something like this:

 __thread int x;
 int foo() { return x; }

 Compile, disassemble, and look at the code generated and the fixup
 records. Then there's no need to guess :-)
Sure, I've already done that. I compared one version using "__thread" and one version without "__thread". I do see the differences of the disassembly but that doesn't help me, I don't know assembly. The only interesting I could find is that it does perform a "call", the version with "__thread". I don't have access to a machine running Lion+ but you could take a look at this: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52268 That's a bugzilla issue for the same thing for GCC. The comments contain some disassembly of uses of "__thread". -- /Jacob Carlborg
Jan 09 2013
prev sibling next sibling parent reply "David Nadlinger" <see klickverbot.at> writes:
On Wednesday, 9 January 2013 at 10:38:33 UTC, Walter Bright wrote:
 Watcha do is something like this:

 __thread int x;
 int foo() { return x; }

 Compile, disassemble, and look at the code generated and the 
 fixup records. Then there's no need to guess :-)
I also think this is the best way of approaching such problems. If you can, also try to find the source code for the involved code. In case of trying to understand the OS X TLS mechanism, I found the following files from dyld to be helpful: http://opensource.apple.com/source/dyld/dyld-210.2.3/src/threadLocalHelpers.s http://opensource.apple.com/source/dyld/dyld-210.2.3/src/threadLocalVariables.c David
Jan 09 2013
parent Jacob Carlborg <doob me.com> writes:
On 2013-01-09 17:16, David Nadlinger wrote:

 I also think this is the best way of approaching such problems. If you
 can, also try to find the source code for the involved code. In case of
 trying to understand the OS X TLS mechanism, I found the following files
 from dyld to be helpful:

 http://opensource.apple.com/source/dyld/dyld-210.2.3/src/threadLocalHelpers.s

 http://opensource.apple.com/source/dyld/dyld-210.2.3/src/threadLocalVariables.c
I've already found that code. That's where I got my information from in my previous post. -- /Jacob Carlborg
Jan 09 2013
prev sibling next sibling parent reply "John Colvin" <john.loughran.colvin gmail.com> writes:
On Wednesday, 9 January 2013 at 10:38:33 UTC, Walter Bright wrote:
 On 1/9/2013 2:28 AM, Jacob Carlborg wrote:
 On 2013-01-09 11:26, Jacob Carlborg wrote:

 I think it sounds like that but I don't know. I'm just trying 
 to figure
 out how TLS is implemented on Mac OS X 10.7+.
Also, there's nothing else that calls this tlv_get_addr function or the thunk so I'm guessing it's the compiler that calls it.
Watcha do is something like this: __thread int x; int foo() { return x; } Compile, disassemble, and look at the code generated and the fixup records. Then there's no need to guess :-)
Surely __thread is redundant there, seeing as x will be TLS by default? I tried disassembling this on os x 10.7.5 otool (the default tool for this on os x) just gave me this: tls_test.o: indirect symbol table offset is past end of file (__TEXT,__text) section It couldn't see any instructions at all. gdb disas gives this: 0x0000000000000024 <D8tls_test3fooFZi+0>: push rbp 0x0000000000000025 <D8tls_test3fooFZi+1>: mov rbp,rsp 0x0000000000000028 <D8tls_test3fooFZi+4>: mov rdi,QWORD 0x0000000000000030 <D8tls_test3fooFZi+12>: call 0x35 <D8tls_test3fooFZi+17> 0x0000000000000035 <D8tls_test3fooFZi+17>: mov eax,DWORD PTR [rax] 0x0000000000000037 <D8tls_test3fooFZi+19>: pop rbp 0x0000000000000038 <D8tls_test3fooFZi+20>: ret
Jan 09 2013
parent Jacob Carlborg <doob me.com> writes:
On 2013-01-09 19:53, John Colvin wrote:

 Surely __thread is redundant there, seeing as x will be TLS by default?
We're talking C here and it's not default in C. -- /Jacob Carlborg
Jan 09 2013
prev sibling parent reply Jacob Carlborg <doob me.com> writes:
On 2013-01-09 11:38, Walter Bright wrote:

 Watcha do is something like this:

 __thread int x;
 int foo() { return x; }

 Compile, disassemble, and look at the code generated and the fixup
 records. Then there's no need to guess :-)
As I said, I don't know assembly but here's the output: Original code: http://pastebin.com/UKb6etWD Disassembly with TLS: http://pastebin.com/nkdnE9w6 Disassembly without TLS: http://pastebin.com/vuvEBWWH Object dump with TLS: http://pastebin.com/PqpPw56a Object dump without TLS: http://pastebin.com/ki6atzEm -- /Jacob Carlborg
Jan 09 2013
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/9/2013 11:02 AM, Jacob Carlborg wrote:
 As I said, I don't know assembly but here's the output:
Good time to learn it! And I'm not kidding.
Jan 09 2013
parent reply Jacob Carlborg <doob me.com> writes:
On 2013-01-10 06:18, Walter Bright wrote:
 On 1/9/2013 11:02 AM, Jacob Carlborg wrote:
 As I said, I don't know assembly but here's the output:
Good time to learn it!
Do you have any good books to recommend for this? I will most likely not have time to learn assembly now. I'm busy with other things and I think I could spend my time better by contributing with other D related things. Also you said: "No prob. I'll be happy to make compiler mods as necessary, once the exact problems are identified." http://forum.dlang.org/thread/kbvsgo$1po3$1 digitalmars.com?page=26#post-kcdvjh:242a1f:241:40digitalmars.com -- /Jacob Carlborg
Jan 10 2013
next sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/10/2013 10:30 AM, Jacob Carlborg wrote:
 On 2013-01-10 06:18, Walter Bright wrote:
 On 1/9/2013 11:02 AM, Jacob Carlborg wrote:
 As I said, I don't know assembly but here's the output:
Good time to learn it!
Do you have any good books to recommend for this?
No. But a reasonable way is to just get the instruction set reference from Intel, and single step some D code in assembler mode in the debugger and go instruction by instruction.
 I will most likely not have time to learn assembly now. I'm busy with other
 things and I think I could spend my time better by contributing with other D
 related things.
I think you'll be pleasantly surprised at how knowing assembler will improve your high level coding abilities.
 Also you said:

 "No prob. I'll be happy to make compiler mods as necessary, once the exact
 problems are identified."

 http://forum.dlang.org/thread/kbvsgo$1po3$1 digitalmars.com?page=26#post-kcdvjh:242a1f:241:40digitalmars.com
Yes, I did. And I know that the compiler will have to be modified to match with Apple's new scheme.
Jan 10 2013
parent Jacob Carlborg <doob me.com> writes:
On 2013-01-10 21:13, Walter Bright wrote:

 No. But a reasonable way is to just get the instruction set reference
 from Intel, and single step some D code in assembler mode in the
 debugger and go instruction by instruction.
I see, thanks.
 I think you'll be pleasantly surprised at how knowing assembler will
 improve your high level coding abilities.
Yeah, that's one thing I've learned by reading the newsgroups here. -- /Jacob Carlborg
Jan 10 2013
prev sibling parent reply "deadalnix" <deadalnix gmail.com> writes:
On Thursday, 10 January 2013 at 18:30:10 UTC, Jacob Carlborg 
wrote:
 On 2013-01-10 06:18, Walter Bright wrote:
 On 1/9/2013 11:02 AM, Jacob Carlborg wrote:
 As I said, I don't know assembly but here's the output:
Good time to learn it!
Do you have any good books to recommend for this? I will most likely not have time to learn assembly now. I'm busy with other things and I think I could spend my time better by contributing with other D related things.
I have to concurs with Walter here. Knowing assembly language is a great way to improve you knowledge of programming in general. This is way easier than what most dev think. I personally know assembly for ARM and x86, and it is clearly helpful.
Jan 10 2013
next sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/10/2013 8:22 PM, deadalnix wrote:
 I have to concurs with Walter here.
I know that must be hard for you, and I admire your sacrifice! :-)
Jan 10 2013
parent "deadalnix" <deadalnix gmail.com> writes:
On Friday, 11 January 2013 at 06:37:31 UTC, Walter Bright wrote:
 On 1/10/2013 8:22 PM, deadalnix wrote:
 I have to concurs with Walter here.
I know that must be hard for you, and I admire your sacrifice! :-)
Ha, we have disagreement, but remember, people always make more noise when they disagree than when they agree.
Jan 11 2013
prev sibling parent Jacob Carlborg <doob me.com> writes:
On 2013-01-11 05:22, deadalnix wrote:

 I have to concurs with Walter here. Knowing assembly language is a great
 way to improve you knowledge of programming in general. This is way
 easier than what most dev think.

 I personally know assembly for ARM and x86, and it is clearly helpful.
I have no doubt that it can be useful and helpful. The time to learn it just competes with so much else. -- /Jacob Carlborg
Jan 10 2013
prev sibling parent reply "Robert Clipsham" <robert octarineparrot.com> writes:
On Sunday, 6 January 2013 at 23:19:48 UTC, Walter Bright wrote:
 DMD implements its own TLS on OS X because the OS X C compiler 
 says "not implemented" when you try to create TLS variables. I 
 had no other option.
Note that this no longer appears to be the case, at least with clang (OS X 10.7.5): ---- #include <stdio.h> __thread int foo; int main(){ foo = 4; printf("%d\n", foo); } ---- $ clang test.c $ ./a.out 4 $ clang --version Apple clang version 4.1 (tags/Apple/clang-421.11.66) (based on LLVM 3.1svn) Target: x86_64-apple-darwin11.4.2 Thread model: posix (llvm-)gcc still complains: $ gcc test.c test.c:2: error: thread-local storage not supported for this target $ gcc --version i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00) Copyright (C) 2007 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Though I believe it will probably fail with older OS X versions which don't have TLS support. Robert
Jan 07 2013
next sibling parent Jacob Carlborg <doob me.com> writes:
On 2013-01-07 11:14, Robert Clipsham wrote:

 Note that this no longer appears to be the case, at least with clang (OS
 X 10.7.5):
Mac OS X Lion (10.7) got support for TLS. But that means that the whole TLS needs to be redone in the compiler (output data to correct segments and similar) and in the runtime. The compiler would also need to be able to fallback to emulating as it currently does or we will loose the support for Mac OS X 10.6. Alternatively it might be possible to run the "real" TLS on Mac OS X 10.6 but then we would need to implement some parts of the dynamic linker into the D runtime. -- /Jacob Carlborg
Jan 07 2013
prev sibling parent reply "David Nadlinger" <see klickverbot.at> writes:
On Monday, 7 January 2013 at 10:14:54 UTC, Robert Clipsham wrote:
 Though I believe it will probably fail with older OS X versions 
 which don't have TLS support.
Yes, it is not supported by linker and dyld versions shipping with OS X 10.7. This is also the reason why LDC 2 only supports OS X 10.7+, as LLVM does not implement a workaround for older versions (although implementing one up to the point where it is good enough for D should be doable without too much effort). David
Jan 07 2013
next sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/7/2013 4:41 AM, David Nadlinger wrote:
 On Monday, 7 January 2013 at 10:14:54 UTC, Robert Clipsham wrote:
 Though I believe it will probably fail with older OS X versions which don't
 have TLS support.
Yes, it is not supported by linker and dyld versions shipping with OS X 10.7. This is also the reason why LDC 2 only supports OS X 10.7+, as LLVM does not implement a workaround for older versions (although implementing one up to the point where it is good enough for D should be doable without too much effort).
It's pretty clear where we'll be going with this. We'll be abandoning OS X versions older than 10.7. I don't know enough about the Mac ecosystem to know when we can pull the plug on that.
Jan 07 2013
next sibling parent reply Jacob Carlborg <doob me.com> writes:
On 2013-01-07 20:54, Walter Bright wrote:

 It's pretty clear where we'll be going with this. We'll be abandoning OS
 X versions older than 10.7.
Would it be a bad idea and do what the dynamic linker does in the druntime to support TLS? This would make it work on Mac OS X 10.6.
 I don't know enough about the Mac ecosystem to know when we can pull the
 plug on that.
Me neither. Mac OS X 10.6 was released August 28, 2009. There have been two major releases since then. -- /Jacob Carlborg
Jan 07 2013
next sibling parent reply Russel Winder <russel winder.org.uk> writes:
On Mon, 2013-01-07 at 21:12 +0100, Jacob Carlborg wrote:
 On 2013-01-07 20:54, Walter Bright wrote:
=20
 It's pretty clear where we'll be going with this. We'll be abandoning O=
S
 X versions older than 10.7.
=20 Would it be a bad idea and do what the dynamic linker does in the=20 druntime to support TLS? This would make it work on Mac OS X 10.6. =20
 I don't know enough about the Mac ecosystem to know when we can pull th=
e
 plug on that.
=20 Me neither. Mac OS X 10.6 was released August 28, 2009. There have been=
=20
 two major releases since then.
As far as I am aware white MacBooks cannot run 10.7 and 10.8, but are stuck at 10.6 --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Jan 07 2013
parent reply Jacob Carlborg <doob me.com> writes:
On 2013-01-07 21:17, Russel Winder wrote:

 As far as I am aware white MacBooks cannot run 10.7 and 10.8, but are
 stuck at 10.6
I'm running 10.7 on my white MacBook from 2006. -- /Jacob Carlborg
Jan 07 2013
next sibling parent reply Russel Winder <russel winder.org.uk> writes:
On Tue, 2013-01-08 at 08:27 +0100, Jacob Carlborg wrote:

 I'm running 10.7 on my white MacBook from 2006.
Interesting, I was told not to try upgrading to Lion, but to stay with Snow Leopard. MacBook2.1, Core 2 Duo, 2GB. This has a 64-bit processor, but 32-bit boot PROM, which means OS X will only run in 32-bit mode. This causes great pain since OS and processor report different states of being, leading to real pain building stuff. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Jan 08 2013
next sibling parent Jacob Carlborg <doob me.com> writes:
On 2013-01-08 13:52, Russel Winder wrote:
 On Tue, 2013-01-08 at 08:27 +0100, Jacob Carlborg wrote:
 Interesting, I was told not to try upgrading to Lion, but to stay with
 Snow Leopard.
I just did.
 MacBook2.1, Core 2 Duo, 2GB.
I think mine is from late 2006.
 This has a 64-bit processor, but 32-bit boot PROM, which means OS X will
 only run in 32-bit mode. This causes great pain since OS and processor
 report different states of being, leading to real pain  building stuff.
I haven't noticed any problems. -- /Jacob Carlborg
Jan 08 2013
prev sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/8/2013 4:52 AM, Russel Winder wrote:
 On Tue, 2013-01-08 at 08:27 +0100, Jacob Carlborg wrote:

 I'm running 10.7 on my white MacBook from 2006.
Interesting, I was told not to try upgrading to Lion, but to stay with Snow Leopard. MacBook2.1, Core 2 Duo, 2GB. This has a 64-bit processor, but 32-bit boot PROM, which means OS X will only run in 32-bit mode. This causes great pain since OS and processor report different states of being, leading to real pain building stuff.
So it won't run any 64 bit software? For at least a couple releases now, dmd for OS X has only included the 64 bit binaries for dmd. Not a single person has noticed (at least nobody has commented on it). We do build and test the OS X 32 bit dmd binaries, but left them off of the install package.
Jan 08 2013
parent Jacob Carlborg <doob me.com> writes:
On 2013-01-08 21:49, Walter Bright wrote:

 So it won't run any 64 bit software?
It can run 64bit software just fine. Mac OS X has been able to do that for a long time. 10.6 was the first version the kernel tries to run in 64bit mode (depends on the computer). Just because the kernel doesn't run in 64bit doesn't mean that the rest of the software can't run in 64bit.
 For at least a couple releases now, dmd for OS X has only included the
 64 bit binaries for dmd. Not a single person has noticed (at least
 nobody has commented on it).

 We do build and test the OS X 32 bit dmd binaries, but left them off of
 the install package.
There is no problem. -- /Jacob Carlborg
Jan 08 2013
prev sibling parent reply Russel Winder <russel winder.org.uk> writes:
Looks like Apple are turning Snow Leopard 10.6 into their equivalent of
XP:
http://www.computerworld.com/s/article/9233244/OS_X_Snow_Leopard_shows_sign=
s_of_becoming_Apple_s_XP

=46rom the list on http://www.apple.com/osx/how-to-upgrade/ I cannot
upgrade to Mountain Lion 10.8, and Apple provide no way of upgrading to
Lion 10.7. Thus I am forced to be Snow Leopard 10.6 for ever more.

--=20
Russel.
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder ekiga.n=
et
41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder
Jan 08 2013
next sibling parent Jacob Carlborg <doob me.com> writes:
On 2013-01-08 14:05, Russel Winder wrote:
 Looks like Apple are turning Snow Leopard 10.6 into their equivalent of
 XP:
 http://www.computerworld.com/s/article/9233244/OS_X_Snow_Leopard_shows_signs_of_becoming_Apple_s_XP

  From the list on http://www.apple.com/osx/how-to-upgrade/ I cannot
 upgrade to Mountain Lion 10.8, and Apple provide no way of upgrading to
 Lion 10.7. Thus I am forced to be Snow Leopard 10.6 for ever more.
They don't sell USB sticks anymore? -- /Jacob Carlborg
Jan 08 2013
prev sibling parent Jacob Carlborg <doob me.com> writes:
On 2013-01-08 14:05, Russel Winder wrote:
 Looks like Apple are turning Snow Leopard 10.6 into their equivalent of
 XP:
 http://www.computerworld.com/s/article/9233244/OS_X_Snow_Leopard_shows_signs_of_becoming_Apple_s_XP

  From the list on http://www.apple.com/osx/how-to-upgrade/ I cannot
 upgrade to Mountain Lion 10.8, and Apple provide no way of upgrading to
 Lion 10.7. Thus I am forced to be Snow Leopard 10.6 for ever more.
Actually, I have the installation for Lion left on my hard drive. -- /Jacob Carlborg
Jan 08 2013
prev sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/7/2013 12:12 PM, Jacob Carlborg wrote:
 On 2013-01-07 20:54, Walter Bright wrote:

 It's pretty clear where we'll be going with this. We'll be abandoning OS
 X versions older than 10.7.
Would it be a bad idea and do what the dynamic linker does in the druntime to support TLS? This would make it work on Mac OS X 10.6.
I don't think it's worth the effort. We don't have the resources to expend on platforms that are already obsolete.
 I don't know enough about the Mac ecosystem to know when we can pull the
 plug on that.
Me neither. Mac OS X 10.6 was released August 28, 2009. There have been two major releases since then.
Sounds like we can pull the plug.
Jan 07 2013
parent Jacob Carlborg <doob me.com> writes:
On 2013-01-07 23:04, Walter Bright wrote:

 Me neither. Mac OS X 10.6 was released August 28, 2009. There have
 been two
 major releases since then.
Sounds like we can pull the plug.
I've been trying to see if it's possible to get the market share for Mac OS X 10.6. This site claims it has just below 30% : http://www.netmarketshare.com/operating-system-market-share.aspx?qprid=10&qpcustomb=*2 -- /Jacob Carlborg
Jan 08 2013
prev sibling parent reply "David Nadlinger" <see klickverbot.at> writes:
On Monday, 7 January 2013 at 19:54:54 UTC, Walter Bright wrote:
 On 1/7/2013 4:41 AM, David Nadlinger wrote:
 Yes, it is not supported by linker and dyld versions shipping 
 with OS X 10.7.
Sorry, I wrote my last post in a hurry – I suppose it's clear anyway, but that should have been »by the linker and dyld versions Apple shipped with OS X prior to 10.7«.
 This is also the reason why LDC 2 only supports OS X 10.7+, as 
 LLVM does not
 implement a workaround for older versions (although 
 implementing one up to the
 point where it is good enough for D should be doable without 
 too much effort).
It's pretty clear where we'll be going with this. We'll be abandoning OS X versions older than 10.7. I don't know enough about the Mac ecosystem to know when we can pull the plug on that.
I don't know the current relative market share of the different OS X versions on top of my head either, but as we were getting a couple of bug reports from people who had tried to use LDC 2 on 10.6 (before we figured out that LLVM doesn't emulate TLS there), I guess it's too soon to drop support for it still. However, when finally somebody finds the time to implement shared library support in the runtime, the situation might have already changed anyway. David
Jan 07 2013
parent reply Jacob Carlborg <doob me.com> writes:
On 2013-01-07 21:30, David Nadlinger wrote:

 I don't know the current relative market share of the different OS X
 versions on top of my head either, but as we were getting a couple of
 bug reports from people who had tried to use LDC 2 on 10.6 (before we
 figured out that LLVM doesn't emulate TLS there), I guess it's too soon
 to drop support for it still. However, when finally somebody finds the
 time to implement shared library support in the runtime, the situation
 might have already changed anyway.
In general Apple tries to push you to have always have the latest software. There are very few reasons to not have the latest OS, they are pretty darn cheap. -- /Jacob Carlborg
Jan 07 2013
parent "deadalnix" <deadalnix gmail.com> writes:
On Tuesday, 8 January 2013 at 07:30:55 UTC, Jacob Carlborg wrote:
 On 2013-01-07 21:30, David Nadlinger wrote:

 I don't know the current relative market share of the 
 different OS X
 versions on top of my head either, but as we were getting a 
 couple of
 bug reports from people who had tried to use LDC 2 on 10.6 
 (before we
 figured out that LLVM doesn't emulate TLS there), I guess it's 
 too soon
 to drop support for it still. However, when finally somebody 
 finds the
 time to implement shared library support in the runtime, the 
 situation
 might have already changed anyway.
In general Apple tries to push you to have always have the latest software. There are very few reasons to not have the latest OS, they are pretty darn cheap.
Mandatory : http://www.gizmodo.fr/wp-content/uploads/2011/02/update_for_your_computer.jpg
Jan 08 2013
prev sibling parent Jacob Carlborg <doob me.com> writes:
On 2013-01-07 13:41, David Nadlinger wrote:

 Yes, it is not supported by linker and dyld versions shipping with OS X
 10.7. This is also the reason why LDC 2 only supports OS X 10.7+, as
 LLVM does not implement a workaround for older versions (although
 implementing one up to the point where it is good enough for D should be
 doable without too much effort).
I've looked a bit at this and if we want to emulate TLS and support dynamic libraries on Mac OS X 10.6 I think we basically need to do what the dynamic linker does on 10.7. -- /Jacob Carlborg
Jan 08 2013
prev sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/6/2013 4:20 AM, Russel Winder wrote:
 For the Go folks, it is all about issues with garbage collection and
 thread management,
It is for D as well (along with TLS). Unfortunately, the druntime implementation of these is complex, and I do not understand it.
Jan 06 2013
parent reply Jonathan M Davis <jmdavisProg gmx.com> writes:
On Sunday, January 06, 2013 15:15:23 Walter Bright wrote:
 On 1/6/2013 4:20 AM, Russel Winder wrote:
 For the Go folks, it is all about issues with garbage collection and
 thread management,
It is for D as well (along with TLS). Unfortunately, the druntime implementation of these is complex, and I do not understand it.
Does this mean that we need Sean Kelly to do it? If so, we're in trouble, because he seems to be _very_ busy these days and is generally uninvolved. I don't know if anyone else knows the code well enough to attempt it. Hopefully, someone does or is willing to learn and has the time to do so. - Jonathan M Davis
Jan 06 2013
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/6/2013 3:47 PM, Jonathan M Davis wrote:
 Does this mean that we need Sean Kelly to do it? If so, we're in trouble,
 because he seems to be _very_ busy these days and is generally uninvolved. I
 don't know if anyone else knows the code well enough to attempt it. Hopefully,
 someone does or is willing to learn and has the time to do so.
Sean would be the main one, but really anyone who is willing to get down and dirty with threads and such can do it.
Jan 06 2013
parent reply Jacob Carlborg <doob me.com> writes:
On 2013-01-07 01:25, Walter Bright wrote:

 Sean would be the main one, but really anyone who is willing to get down
 and dirty with threads and such can do it.
Martin Nowak has already started on this, it seems he know what he's doing: https://github.com/dawgfoto/druntime/tree/SharedRuntime -- /Jacob Carlborg
Jan 06 2013
parent Walter Bright <newshound2 digitalmars.com> writes:
On 1/6/2013 11:57 PM, Jacob Carlborg wrote:
 On 2013-01-07 01:25, Walter Bright wrote:

 Sean would be the main one, but really anyone who is willing to get down
 and dirty with threads and such can do it.
Martin Nowak has already started on this, it seems he know what he's doing: https://github.com/dawgfoto/druntime/tree/SharedRuntime
That's good to hear.
Jan 07 2013
prev sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/6/2013 3:56 AM, Jacob Carlborg wrote:
 I completely agree. We _need_ dynamic libraries. But the problem is that
someone
 just have to do it and Walter doesn't seem to be in a rush to implement it.
It's actually completely implemented in the compiler. I've spend considerable effort making -fPIC work, which is surprisingly complicated. Where it is not implemented is in druntime. The folks who work on druntime are the ones that need convincing.
Jan 06 2013
parent reply Jacob Carlborg <doob me.com> writes:
On 2013-01-07 00:14, Walter Bright wrote:

 Where it is not implemented is in druntime. The folks who work on
 druntime are the ones that need convincing.
I didn't know you had stopped working on the runtime. -- /Jacob Carlborg
Jan 06 2013
parent Walter Bright <newshound2 digitalmars.com> writes:
On 1/6/2013 11:57 PM, Jacob Carlborg wrote:
 On 2013-01-07 00:14, Walter Bright wrote:

 Where it is not implemented is in druntime. The folks who work on
 druntime are the ones that need convincing.
I didn't know you had stopped working on the runtime.
I now focus on the compiler, though I'll contribute now and then on the library.
Jan 07 2013
prev sibling parent reply Pierre Rouleau <prouleau001 gmail.com> writes:
On 13-01-06 6:08 AM, Jacob Carlborg wrote:
 On 2013-01-06 05:19, Pierre Rouleau wrote:

 I know.

 What I'm trying to see is what is the development *plan* for D2?
 Something that would identify the future features to be implemented and
 the planned targets/milestones for them.

 I would assume that I am not alone in watching the D language evolution,
 would like to get people to start using it at my work place, and would
 like to know what the plan is be so we can better convince other people
 to invest time into it.
I've requested that for years, still nothing. Well that only thing I've seen is that the change log used to say "Under Construction: Shared libraries for Linux". Still does for D1.
Is there a file somewhere that lists all requested features, under development features? Or the various mailing lists the only source of information? I cannot commit to much time but maybe I could start a discussion thread somewhere (here or in d.D?) to requests a list of features previously discussed, wanted, not implemented yet and after a while compile a list and save it somewhere. Starting an activity that way may ease the implementation of a road-map. /Pierre
Jan 06 2013
next sibling parent Jacob Carlborg <doob me.com> writes:
On 2013-01-06 16:20, Pierre Rouleau wrote:

 Is there a file somewhere that lists all requested features, under
 development features? Or the various mailing lists the only source of
 information?
There is some information at the wiki, the DIP's. -- /Jacob Carlborg
Jan 06 2013
prev sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/6/2013 7:20 AM, Pierre Rouleau wrote:
 Is there a file somewhere that lists all requested features, under development
 features?  Or the various mailing lists the only source of information?
http://d.puremagic.com/issues/buglist.cgi?query_format=advanced&bug_severity=enhancement&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED
Jan 06 2013
parent reply Pierre Rouleau <prouleau001 gmail.com> writes:
On 13-01-06 6:21 PM, Walter Bright wrote:
 On 1/6/2013 7:20 AM, Pierre Rouleau wrote:
 Is there a file somewhere that lists all requested features, under
 development
 features?  Or the various mailing lists the only source of information?
http://d.puremagic.com/issues/buglist.cgi?query_format=advanced&bug_severity=enhancement&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED
Thanks Walter. If this list already contains all (does it?) of what is currently identified then is there some criteria one can use to try to infer what will be implemented in the next release? Or is it just "first come first served" where the solved enhancements automatically get pulled inside the release? Is this process documented somewhere? -- /Pierre Rouleau
Jan 06 2013
next sibling parent Jonathan M Davis <jmdavisProg gmx.com> writes:
On Sunday, January 06, 2013 18:49:18 Pierre Rouleau wrote:
 On 13-01-06 6:21 PM, Walter Bright wrote:
 On 1/6/2013 7:20 AM, Pierre Rouleau wrote:
 Is there a file somewhere that lists all requested features, under
 development
 features?  Or the various mailing lists the only source of information?
http://d.puremagic.com/issues/buglist.cgi?query_format=advanced&bug_severi ty=enhancement&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED
Thanks Walter. If this list already contains all (does it?) of what is currently identified then is there some criteria one can use to try to infer what will be implemented in the next release? Or is it just "first come first served" where the solved enhancements automatically get pulled inside the release? Is this process documented somewhere?
It's generally whatever people happen to implement. Walter may or may not have his own personal plan as to what he works on, but there is no overall plan whatsoever for what's going to be implemented for the next release (or any release). It's entirely a matter of what the various volunteers happen to create pull requests for and manage to get merged in. They may or may not even do anything related to existing enhancement requests. If you're looking for anything even vaguely resembling a roadmap, you're out of luck. At best, you can get a list of some of the stuff that people would _like_ to have done (like the list of currently open enhancement requests). And that may or may not have all that strong a relation with what _will_ be done at any point in the future (either because no one gets around to them or because they end up being rejected). We should probably have a list of of major issues that still need to be tackled, but we don't really have even that (other than seeing what's in bugzilla). The closest would be this page on the old wiki, but it's not exactly definitive or necessarily up-to-date: http://prowiki.org/wiki4d/wiki.cgi?LanguageDevel - Jonathan M Davis
Jan 06 2013
prev sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/6/2013 3:49 PM, Pierre Rouleau wrote:
 If this list already contains all (does it?) of what is currently identified
 then is there some criteria one can use to try to infer what will be
implemented
 in the next release? Or is it just "first come first served" where the solved
 enhancements automatically get pulled inside the release?
The thing is, roadmaps are a lot like planning for a war. The moment the first shot is fired, all the plans go out the window. What we need to get done next is a constantly evolving situation, based on: 1. some crisis may occur 2. some opportunity may present itself 3. the language market may change its perception of what is important 4. a member of the community may promote themselves to be a champion of some particular issue, and work to get it implemented 5. our understanding of what is important and what isn't constantly evolves 6. there's constant evolution of what exactly is best practice and the best way to realize that Probably pretty high on the list would be solving the rvalue reference problem.
Jan 06 2013
next sibling parent Leandro Lucarella <luca llucax.com.ar> writes:
Walter Bright, el  6 de January a las 16:36 me escribiste:
 On 1/6/2013 3:49 PM, Pierre Rouleau wrote:
If this list already contains all (does it?) of what is currently identified
then is there some criteria one can use to try to infer what will be implemented
in the next release? Or is it just "first come first served" where the solved
enhancements automatically get pulled inside the release?
The thing is, roadmaps are a lot like planning for a war. The moment the first shot is fired, all the plans go out the window. What we need to get done next is a constantly evolving situation, based on: 1. some crisis may occur 2. some opportunity may present itself 3. the language market may change its perception of what is important 4. a member of the community may promote themselves to be a champion of some particular issue, and work to get it implemented 5. our understanding of what is important and what isn't constantly evolves 6. there's constant evolution of what exactly is best practice and the best way to realize that
This is all true for planning 5 years ahead, not 1~3 months. You don't even have to get a very precise plan, you can just focus on some aspect and try to advance in that direction. And having a plan doesn't mean you can't change it if something comes up.
 Probably pretty high on the list would be solving the rvalue reference problem.
This is a good example of something that can go into a roadmap for the next 1~3 months (AKA next release). See? You can do it. :P -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------- Hello? Is there anybody in there? Just nod if you can hear me. Is there anyone at home?
Jan 06 2013
prev sibling next sibling parent reply Pierre Rouleau <prouleau001 gmail.com> writes:
On 13-01-06 7:36 PM, Walter Bright wrote:
 On 1/6/2013 3:49 PM, Pierre Rouleau wrote:
 If this list already contains all (does it?) of what is currently
 identified
 then is there some criteria one can use to try to infer what will be
 implemented
 in the next release? Or is it just "first come first served" where the
 solved
 enhancements automatically get pulled inside the release?
The thing is, roadmaps are a lot like planning for a war. The moment the first shot is fired, all the plans go out the window. What we need to get done next is a constantly evolving situation, based on: 1. some crisis may occur 2. some opportunity may present itself 3. the language market may change its perception of what is important 4. a member of the community may promote themselves to be a champion of some particular issue, and work to get it implemented 5. our understanding of what is important and what isn't constantly evolves 6. there's constant evolution of what exactly is best practice and the best way to realize that Probably pretty high on the list would be solving the rvalue reference problem.
OK, I can understand that point of view and I recognize that it's been the view the project has taken which allowed D to evolved nicely. So, given that enhancements are identified in Bugzilla, is there a review process? Are ticket priorities and vote used? Who decides what is the priority of an enhancement? Who assigns them? Also, given that view on the development of D, what is the position on the evolution of the language in context with backward compatibility and stability? How can an organization of D users that are not also D developers can plan a project and use D for it? Do you consider D stable enough for outside users/organizations to start using it in their own projects? -- /Pierre Rouleau
Jan 06 2013
next sibling parent reply Jonathan M Davis <jmdavisProg gmx.com> writes:
On Sunday, January 06, 2013 21:15:43 Pierre Rouleau wrote:
 So, given that enhancements are identified in Bugzilla, is there a
 review process?  Are ticket priorities and vote used?  Who decides what
 is the priority of an enhancement?   Who assigns them?
There's pretty much never any assigning of issues in D's developement. Developers work on whatever they feel like working on. An enhancement request gets implemented, because someone decided to put the time in to implement it. If it's controversial, then it'll generally get discussed in the newsgroup, though some of that is likely to take place in the bug report itself or in a pull request if the developer implements it without discussing it first. Large language changes always get major discussions, but we also don't get a lot of those at this point. It's mostly little stuff.
 Also, given that view on the development of D, what is the position on
 the evolution of the language in context with backward compatibility and
 stability?
We're trying to reach the point where you can count on your code compiling for years without changing it. We're getting there, but it doens't always happen. Even fixing bugs breaks code when code relies on buggy behavior. There's also still some API changes in Phobos which breaks stuff, but we've been cutting back on those and trying to avoid them, so they happen much less now then they used to. The recent change to make deprecated warn instead of giving an error should help with that.
 How can an organization of D users that are not also D
 developers can plan a project and use D for it?
 
 Do you consider D stable enough for outside users/organizations to start
 using it in their own projects?
It's stable enough as long as you're continually working on your code. If you let it sit for a long period of time, you're likely to need the same compiler and library version that you used when you last worked on it. Breakages are _far_ fewer than they used to be, but they still happen. I'd expect that anyone using D seriously for professional development would stick to one version of the compiler for a while and then upgrade it when they have time to update their code (which they may not need to do, but it's still not quite to the point that there isn't at least a decent chance that a few lines of code will have to be changed). API breakage does occur sometimes, but we're making an effort to keep that to a minumum, and we'd like to get rid of it completely. But regardless, I believe that most breakages at this point are due to bug fixes, so when we'll reach the point that you can really expect your code to continue to compile for years on newer compilers without trouble, I don't know. That may depend primarily on the bugs that we have left and how well regressions get caught. The work that's currently being done on formalizing and ironing out the release process should help with that though. - Jonathan M Davis
Jan 06 2013
parent Pierre Rouleau <prouleau001 gmail.com> writes:
On 13-01-06 9:35 PM, Jonathan M Davis wrote:
 On Sunday, January 06, 2013 21:15:43 Pierre Rouleau wrote:
 So, given that enhancements are identified in Bugzilla, is there a
 review process?  Are ticket priorities and vote used?  Who decides what
 is the priority of an enhancement?   Who assigns them?
There's pretty much never any assigning of issues in D's developement. Developers work on whatever they feel like working on. An enhancement request gets implemented, because someone decided to put the time in to implement it. If it's controversial, then it'll generally get discussed in the newsgroup, though some of that is likely to take place in the bug report itself or in a pull request if the developer implements it without discussing it first. Large language changes always get major discussions, but we also don't get a lot of those at this point. It's mostly little stuff.
 Also, given that view on the development of D, what is the position on
 the evolution of the language in context with backward compatibility and
 stability?
We're trying to reach the point where you can count on your code compiling for years without changing it. We're getting there, but it doens't always happen. Even fixing bugs breaks code when code relies on buggy behavior. There's also still some API changes in Phobos which breaks stuff, but we've been cutting back on those and trying to avoid them, so they happen much less now then they used to. The recent change to make deprecated warn instead of giving an error should help with that.
 How can an organization of D users that are not also D
 developers can plan a project and use D for it?

 Do you consider D stable enough for outside users/organizations to start
 using it in their own projects?
It's stable enough as long as you're continually working on your code. If you let it sit for a long period of time, you're likely to need the same compiler and library version that you used when you last worked on it. Breakages are _far_ fewer than they used to be, but they still happen. I'd expect that anyone using D seriously for professional development would stick to one version of the compiler for a while and then upgrade it when they have time to update their code (which they may not need to do, but it's still not quite to the point that there isn't at least a decent chance that a few lines of code will have to be changed). API breakage does occur sometimes, but we're making an effort to keep that to a minumum, and we'd like to get rid of it completely. But regardless, I believe that most breakages at this point are due to bug fixes, so when we'll reach the point that you can really expect your code to continue to compile for years on newer compilers without trouble, I don't know. That may depend primarily on the bugs that we have left and how well regressions get caught. The work that's currently being done on formalizing and ironing out the release process should help with that though. - Jonathan M Davis
Thank you for the info! -- /Pierre Rouleau
Jan 06 2013
prev sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/6/2013 6:15 PM, Pierre Rouleau wrote:
 So, given that enhancements are identified in Bugzilla, is there a review
 process?  Are ticket priorities and vote used?  Who decides what is the
priority
 of an enhancement?   Who assigns them?
Pretty much anyone who wants to take one of them on does so and when done, issues a pull request for it. At that point, there's a general discussion of it and a decision is reached, usually by consensus.
 Also, given that view on the development of D, what is the position on the
 evolution of the language in context with backward compatibility and
 stability?   How can an organization of D users that are not also D developers
 can plan a project and use D for it?

 Do you consider D stable enough for outside users/organizations to start using
 it in their own projects?
Yes, and it is used heavily for commercial purposes by at least a couple companies. Like any other language, if you insist on using the latest feature and pushing it to the limit, you are more likely to run into problems than if you are a bit more modest in your use of it. That said, we make a large effort to fix all regressions upon each release, and I push hard to avoid making breaking changes to the language unless it is really unavoidable.
Jan 06 2013
parent reply Pierre Rouleau <prouleau001 gmail.com> writes:
On 13-01-06 9:41 PM, Walter Bright wrote:
 On 1/6/2013 6:15 PM, Pierre Rouleau wrote:
 So, given that enhancements are identified in Bugzilla, is there a review
 process?  Are ticket priorities and vote used?  Who decides what is
 the priority
 of an enhancement?   Who assigns them?
Pretty much anyone who wants to take one of them on does so and when done, issues a pull request for it. At that point, there's a general discussion of it and a decision is reached, usually by consensus.
 Also, given that view on the development of D, what is the position on
 the
 evolution of the language in context with backward compatibility and
 stability?   How can an organization of D users that are not also D
 developers
 can plan a project and use D for it?

 Do you consider D stable enough for outside users/organizations to
 start using
 it in their own projects?
Yes, and it is used heavily for commercial purposes by at least a couple companies. Like any other language, if you insist on using the latest feature and pushing it to the limit, you are more likely to run into problems than if you are a bit more modest in your use of it.
Understood, that's pretty much always the case for any programming language. Now, for someone from the outside, how would someone know what are the latest features? Would it be possible to identify the version number where a particular feature has been introduced in the Language Reference? If not, since this is DDoc based, is it possible for someone to go back in the github repo file history to identify what was added in the Language Reference files between release to releases and document this somehow?
 That said, we make a large effort to fix all regressions upon each
 release, and I push hard to avoid making breaking changes to the
 language unless it is really unavoidable.
And I can imagine it's a lot of work... -- /Pierre Rouleau
Jan 06 2013
parent Walter Bright <newshound2 digitalmars.com> writes:
On 1/6/2013 7:30 PM, Pierre Rouleau wrote:
 Understood, that's pretty much always the case for any programming language.
 Now, for someone from the outside, how would someone know what are the latest
 features?
In the changelog, click on New/Changed Features.
 Would it be possible to identify the version number where a particular feature
 has been introduced in the Language Reference?  If not, since this is DDoc
 based, is it possible for someone to go back in the github repo file history to
 identify what was added in the Language Reference files between release to
 releases and document this somehow?
If you can't find it in the changelog under New/Changed Features, you can look in github for it which has a complete history.
Jan 06 2013
prev sibling parent Jacob Carlborg <doob me.com> writes:
On 2013-01-07 01:36, Walter Bright wrote:

 The thing is, roadmaps are a lot like planning for a war. The moment the
 first shot is fired, all the plans go out the window. What we need to
 get done next is a constantly evolving situation, based on:
On occasion developer are asking what they can work on and then we don't have a roadmap to point to. -- /Jacob Carlborg
Jan 07 2013
prev sibling next sibling parent "Chris" <wendlec tcd.ie> writes:
On Sunday, 6 January 2013 at 04:19:53 UTC, Pierre Rouleau wrote:
 I know.

 What I'm trying to see is what is the development *plan* for 
 D2? Something that would identify the future features to be 
 implemented and the planned targets/milestones for them.

 I would assume that I am not alone in watching the D language 
 evolution, would like to get people to start using it at my 
 work place, and would like to know what the plan is be so we 
 can better convince other people to invest time into it.

 /Pierre
IUP have a good road map: http://www.tecgraf.puc-rio.br/iup/. I really appreciate that because you can say "OK, in April they're gonna have that feature, good!" I agree that it is about time D left the dark corner of "yeah I have heard of it, but don't know what it is". But it is hard to convince people of even looking at D, when other technologies are embraced and backed up by big companies with their huge PR networks.
Jan 06 2013
prev sibling parent reply Leandro Lucarella <luca llucax.com.ar> writes:
Pierre Rouleau, el  5 de January a las 23:19 me escribiste:
 On 13-01-05 4:01 PM, Walter Bright wrote:
On 1/5/2013 10:06 AM, Pierre Rouleau wrote:
On 13-01-05 5:39 AM, Walter Bright wrote:
On 1/5/2013 1:30 AM, Pierre Rouleau wrote:
I noticed that D 2.062 has no new features.  What would it take to
remove the
link to New/Changed Features on that version since there are none?
There will be.
Do you have a plan of what they will be and a target date for the next release?
We've never had a release that didn't have some new/changed features.
I know. What I'm trying to see is what is the development *plan* for D2?
Plan? hahaha, you must be new around here :P -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05)
Jan 06 2013
parent Pierre Rouleau <prouleau001 gmail.com> writes:
On 13-01-06 11:43 AM, Leandro Lucarella wrote:
 Pierre Rouleau, el  5 de January a las 23:19 me escribiste:
 On 13-01-05 4:01 PM, Walter Bright wrote:
 On 1/5/2013 10:06 AM, Pierre Rouleau wrote:
 On 13-01-05 5:39 AM, Walter Bright wrote:
 On 1/5/2013 1:30 AM, Pierre Rouleau wrote:
 I noticed that D 2.062 has no new features.  What would it take to
 remove the
 link to New/Changed Features on that version since there are none?
There will be.
Do you have a plan of what they will be and a target date for the next release?
We've never had a release that didn't have some new/changed features.
I know. What I'm trying to see is what is the development *plan* for D2?
Plan? hahaha, you must be new around here :P
My wife keeps telling me to be more optimistic than pessimistic, although I think being pessimist for the short term for the goal of being optimistic for the longer term has always worked for me. That's why I was proposing a gentle first step of keeping a running list of future ideas inside a file that could be debated from a specific discussion in this mailing list or another. -- /Pierre Rouleau
Jan 06 2013
prev sibling parent reply Leandro Lucarella <luca llucax.com.ar> writes:
Pierre Rouleau, el  4 de January a las 11:59 me escribiste:
 On 13-01-04 3:45 AM, Walter Bright wrote:
On 1/4/2013 12:16 AM, eles wrote:
Two concrete examples:

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

is described in the list as: " Phobos Win64 - D2 "; At least, change
its title
to something more human, like "Win64 alpha has been released with working
Phobos." (yes, that's exactly Don's comment, but at the end of the
discussion).

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

is described as: "version(assert)". Only if you read the discussion you
understand that "version(unittest) that allows setup code for assertions
to run when assertions are enabled and be compiled out when assertions
are
disabled" was implemented.

It is very different thing to see "version(assert)" and reading a
meaningful
description of it...
I understand and agree. And, as I posted previously, anyone can fix the issue titles. I've already fixed a few.
Don't you think a process that requires reviewing these titles *before* the actual software release announcement posting would help?
Yeah, that's another issue too. Having mutating "release notes" is awful and a PR disaster. Users only see the changelog once, assuming is immutable, because one thinks that releases are immutable and complete (those are very fundamental properties of a release, otherwise is a preview or a snapshot). That's another thing that I think is important to address eventually. -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------- All evidence has been buried All tapes have been erased But your footsteps give you away So you're backtracking
Jan 06 2013
parent reply Pierre Rouleau <prouleau001 gmail.com> writes:
On 13-01-06 11:40 AM, Leandro Lucarella wrote:
 Pierre Rouleau, el  4 de January a las 11:59 me escribiste:
 On 13-01-04 3:45 AM, Walter Bright wrote:
 On 1/4/2013 12:16 AM, eles wrote:
 Two concrete examples:

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

 is described in the list as: " Phobos Win64 - D2 "; At least, change
 its title
 to something more human, like "Win64 alpha has been released with working
 Phobos." (yes, that's exactly Don's comment, but at the end of the
 discussion).

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

 is described as: "version(assert)". Only if you read the discussion you
 understand that "version(unittest) that allows setup code for assertions
 to run when assertions are enabled and be compiled out when assertions
 are
 disabled" was implemented.

 It is very different thing to see "version(assert)" and reading a
 meaningful
 description of it...
I understand and agree. And, as I posted previously, anyone can fix the issue titles. I've already fixed a few.
Don't you think a process that requires reviewing these titles *before* the actual software release announcement posting would help?
Yeah, that's another issue too. Having mutating "release notes" is awful and a PR disaster. Users only see the changelog once, assuming is immutable, because one thinks that releases are immutable and complete (those are very fundamental properties of a release, otherwise is a preview or a snapshot). That's another thing that I think is important to address eventually.
Currently, from the outside, I get the impression that the D language is a great language but a language for its developers only. Although it might be OK while the language is in its infancy, I would hope that D(2) would come out of that state now that several books exist, that the standard library seems in pretty good shape, that several other libraries, frameworks and tools exist. To me, what seems missing is some wrapper around all of this that would make D(2) much more attractive for organizations like the one I work for. I am personally very interested in D(2) and have already done discussions inside my work place, but without that sort of visible infrastructure I doubt I would be able to convince anyone to adopt D(2) for any product-based development (and even for some internal tools). So, again, this is why I was asking whether you guys thought it would be a good idea for me to start a discussion somewhere in one of the D mailing lists, to gather the list of new features planned for the future (unless something like that already exists, but I did not find it) and get something going to create a running list. -- /Pierre Rouleau
Jan 06 2013
next sibling parent reply Philippe Sigaud <philippe.sigaud gmail.com> writes:
On Sun, Jan 6, 2013 at 6:56 PM, Pierre Rouleau <prouleau001 gmail.com>wrote:

 So, again, this is why I was asking whether you guys thought it would
be a good idea for me to start a discussion somewhere in one of the D mailing lists, to gather the list of new features planned for the future (unless something like that already exists, but I did not find it) and get something going to create a running list.
You could start by a thread for 2.061: what's new, in a human-readable format. I'd say: - 64 bits for Windows - User-Defined Attributes (with a link to the incoming documentation). These two themes justify a new release by themselves. Window 64 was clearly an 'official' goal. UDA were just a momentary burst of coding from Walter :) As for the future, I fear you'll get 'generic' declarations concerning const/immutable/shared, but halas not from the guys who actually do the real work. Then everyone and their dog will flock to present their pet bug. The process is still a bit amateurish, but it's coming together. Now that 64 bits Windows is out, I guess the next release will focus on killing the related bugs. As a token of goodwill, I'm willing to write a short text describing the new release and plans for the next ones, except I don't even *know* what the new release brought or what the next one will be.
Jan 06 2013
next sibling parent reply Pierre Rouleau <prouleau001 gmail.com> writes:
On 13-01-06 2:52 PM, Philippe Sigaud wrote:
 On Sun, Jan 6, 2013 at 6:56 PM, Pierre Rouleau <prouleau001 gmail.com
 <mailto:prouleau001 gmail.com>> wrote:


     So, again, this is why I was asking whether you guys thought it
     would be a good idea for me to start a discussion somewhere in one
     of the D mailing lists, to gather the list of new features planned
     for the future (unless something like that already exists, but I did
     not find it) and get something going to create a running list.


 You could start by a thread for 2.061: what's new, in a human-readable
 format.
Should I post it in D.announce or somewhere else? -- /Pierre Rouleau
Jan 06 2013
parent Philippe Sigaud <philippe.sigaud gmail.com> writes:
The main newsgroup. Normally, D.announce should not contain this kind of
conversation. It's supposed to be a low-bandwidth list for announcing
projects and releases.
Jan 06 2013
prev sibling parent Pierre Rouleau <prouleau001 gmail.com> writes:
On 13-01-06 2:52 PM, Philippe Sigaud wrote:

 As a token of goodwill, I'm willing to write a short text describing the
 new release and plans for the next ones, except I don't even *know* what
 the new release brought or what the next one will be.
I, for one, would be very interested. Even if the info gets updated later by people that notice errors or omissions in the information. If you did that, and either stored it inside a file stored in the repo or posted in the mailing list, it would be a starting point, No? Info on what is coming in the future as opposed to what has already been done would be a good point to start IMO, because the comments that might be drawn out of this activity may increase the overall awareness and push for an eventual procedure. -- /Pierre Rouleau
Jan 06 2013
prev sibling parent reply Leandro Lucarella <luca llucax.com.ar> writes:
Pierre Rouleau, el  6 de January a las 12:56 me escribiste:
Yeah, that's another issue too. Having mutating "release notes" is awful
and a PR disaster. Users only see the changelog once, assuming is
immutable, because one thinks that releases are immutable and complete
(those are very fundamental properties of a release, otherwise is a
preview or a snapshot).

That's another thing that I think is important to address eventually.
Currently, from the outside, I get the impression that the D language is a great language but a language for its developers only.
I think to develop in D, you eventually have to be involved at some point with the development of D itself. This is something that's slowly changing, but very very slowly.
 Although it might be OK while the language is in its infancy, I
 would hope that D(2) would come out of that state now that several
 books exist, that the standard library seems in pretty good shape,
 that several other libraries, frameworks and tools exist.   To me,
 what seems missing is some wrapper around all of this that would
 make D(2) much more attractive for organizations like the one I work
 for. I am personally very interested in D(2) and have already done
 discussions inside my work place, but without that sort of visible
 infrastructure I doubt I would be able to convince anyone to adopt
 D(2) for any product-based development (and even for some internal
 tools).
I agree completely, I think this is just a management problem, and until the management realizes how important this is (having a plan, a proper release process, minor version releases, etc.), only "Kamikaze" companies will be able to adopt D.
 So, again, this is why I was asking whether you guys thought it
 would be a good idea for me to start a discussion somewhere in one
 of the D mailing lists, to gather the list of new features planned
 for the future (unless something like that already exists, but I did
 not find it) and get something going to create a running list.
There is this: http://www.prowiki.org/wiki4d/wiki.cgi?LanguageDevel#Roadmap But AFAIK is not official at all, Walter never really looked at it, is just investigation work done by the community and some guys with a lot of patience to have to encourage some planning. AFAIK there is nothing like a clear milestone about where D is supposed to go in the next release, something a lot of D developers (as in compiler developers) have been asking for for a long time. The latests clear example on how D is still SDD (Surprise Driven Development) is how UDA where included in the last release. I really hope at some point this will be addressed, and I think other areas of the development process have been improved enough to think this is a good moment to do so, but first management (OK, I will say it: Walter) have to be convinced (or pushed) to do so. Maybe it will take 2 or 3 years. Just as a history reminder, I wrote a rant a little more than 3 years ago about things in the development process that needed to be addressed. Now a lot of these issues have been addressed (or at least partially): http://www.llucax.com.ar/blog/blog/post/6cac01e1 So I think there is definitely room for hope, but don't expect this to happen soon. -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------- Es más probable que el tomate sea perita, a que la pera tomatito. -- Peperino Pómoro
Jan 06 2013
next sibling parent reply Brad Roberts <braddr puremagic.com> writes:
On 1/6/2013 4:25 PM, Leandro Lucarella wrote:
 I really hope at some point this will be addressed, and I think other
 areas of the development process have been improved enough to think this
 is a good moment to do so, but first management (OK, I will say it:
 Walter) have to be convinced (or pushed) to do so. Maybe it will take 2
 or 3 years.
Believing that Walter is the problem is minimizing the problem. There's no way that a single developer can own and drive a roadmap, and that's essentially what Walter is. He's NOT a company of developers. He doesn't have a cadre of people that follow his instructions. If this community feels the need for a concerted _directed_ effort, the community needs to step up and volunteer to produce and progress upon that roadmap. The problem is that while D currently has maybe a dozen developers, each of them is essentially entirely self directed, following their own personal interests. There's nothing inherently wrong with that, and the results have been useful, but those results are also semi-chaotic and essentially impossible to predict. Does anyone know of any mechanism for getting people to do what needs to be done vs what they want to do that doesn't involve paying them? The only long term successes I can point to all involve companies. My 2 cents, Brad
Jan 06 2013
next sibling parent reply Leandro Lucarella <luca llucax.com.ar> writes:
Brad Roberts, el  6 de January a las 17:28 me escribiste:
 On 1/6/2013 4:25 PM, Leandro Lucarella wrote:
 I really hope at some point this will be addressed, and I think other
 areas of the development process have been improved enough to think this
 is a good moment to do so, but first management (OK, I will say it:
 Walter) have to be convinced (or pushed) to do so. Maybe it will take 2
 or 3 years.
Believing that Walter is the problem is minimizing the problem. There's no way that a single developer can own and drive a roadmap, and that's essentially what Walter is. He's NOT a company of developers. He doesn't have a cadre of people that follow his instructions. If this community feels the need for a concerted _directed_ effort, the community needs to step up and volunteer to produce and progress upon that roadmap. The problem is that while D currently has maybe a dozen developers, each of them is essentially entirely self directed, following their own personal interests. There's nothing inherently wrong with that, and the results have been useful, but those results are also semi-chaotic and essentially impossible to predict.
I can write a roadmap, but then, nobody will listen to me. The reality is, Walter is the "leader" and who decides what gets in and what not. It happened to me before to implement stuff that doesn't get in. And that's fine. But Walter, as a "leader" have to step up and tell where he wants to move so people focus on the stuff that have a chance to be merged. Otherwise the only road is forking, as it happened before. I don't think the Tango split and now Amber are coincidences. There is a lack of leadership in D, and talking with the community. Andrei tried to fill that leader position in the past, and even when I have lots of differences with Andrei, I think he successfully done that with Phobos. But he can't do that with DMD. I agree that Walter doesn't have to do all, but at least he must be convinced there is a value in it, and encourage it and help whoever wants to step up. Why would I bother to do anything if is very likely that Walter don't want to go that direction and all my work was done for nothing? Been there before. Now I'm more cautious when selecting my battles.
 Does anyone know of any mechanism for getting people to do what needs to be
 done vs what they want to do that doesn't involve paying them?  The only long
 term successes I can point to all involve companies.
I do think that D to take the next leap needs to have more (directly or indirectly) payed development. But still that doesn't stop you from having a plan, a tentative roadmap. -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------- ELLA FUE INFIEL, PERO EX POLOLO PAGÓ -- TV CHILE
Jan 07 2013
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 1/7/13 7:47 AM, Leandro Lucarella wrote:
 I can write a roadmap, but then, nobody will listen to me.
Walter can write a roadmap, nobody will listen to him. One thing that few people know is that Walter and I have tried to kindly convince people to work on specific things we believed were important. Such attempts have been largely unsuccessful.
 The reality is,
 Walter is the "leader" and who decides what gets in and what not. It happened
 to me before to implement stuff that doesn't get in. And that's fine. But
 Walter, as a "leader" have to step up and tell where he wants to move so people
 focus on the stuff that have a chance to be merged.
 Otherwise the only road is forking, as it happened before. I don't think the
 Tango split and now Amber are coincidences. There is a lack of leadership in D,
 and talking with the community. Andrei tried to fill that leader position in
 the past, and even when I have lots of differences with Andrei, I think he
 successfully done that with Phobos. But he can't do that with DMD.

 I agree that Walter doesn't have to do all, but at least he must be convinced
 there is a value in it, and encourage it and help whoever wants to step up.
I, too, think there is value in this approach.
 Why
 would I bother to do anything if is very likely that Walter don't want to go
 that direction and all my work was done for nothing? Been there before. Now I'm
 more cautious when selecting my battles.
One thing I want to do is enshrine a vetting mechanism that would allow Walter and myself to "pre-approve" enhancement requests. Someone (including us) would submit an enhancement request to Bugzilla, and then Walter and I add the tag "preapproved" to it. That means an implementation of the request has our approval assuming it has the appropriate quality. That should reduce the cognitive load ("am I working for nothing over here?") on the proponent of the feature and would also motivate the proponent to define the feature with reasonable completeness before implementing it.
 Does anyone know of any mechanism for getting people to do what needs to be
 done vs what they want to do that doesn't involve paying them?  The only long
 term successes I can point to all involve companies.
I do think that D to take the next leap needs to have more (directly or indirectly) payed development. But still that doesn't stop you from having a plan, a tentative roadmap.
I agree, and I happen to disagree with Walter's "Fog of War" theory which I consider somewhat a rationalization of the simple fact he enjoys, like we all do, working under the haphazard of creative flow. Short- and medium-range plans do make sense for us, and we should put them together. Important stuff keeps on remaining not done because at the end of each release cycle we don't have a clear notion of what to work on next. Andrei
Jan 07 2013
next sibling parent reply Leandro Lucarella <luca llucax.com.ar> writes:
Andrei Alexandrescu, el  7 de January a las 08:31 me escribiste:
Why would I bother to do anything if is very likely that Walter don't want
to go that direction and all my work was done for nothing? Been there
before. Now I'm more cautious when selecting my battles.
One thing I want to do is enshrine a vetting mechanism that would allow Walter and myself to "pre-approve" enhancement requests. Someone (including us) would submit an enhancement request to Bugzilla, and then Walter and I add the tag "preapproved" to it. That means an implementation of the request has our approval assuming it has the appropriate quality. That should reduce the cognitive load ("am I working for nothing over here?") on the proponent of the feature and would also motivate the proponent to define the feature with reasonable completeness before implementing it.
I think that would help a *LOT*. So basically this tag would mean something like: If somebody implement this AND the implementation is complete AND it has good quality, it will be in the next release? If so, that's not too far from roadmap. -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------- 22% of the time a pizza will arrive faster than an ambulance in Great-Britain
Jan 07 2013
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 1/7/13 9:51 AM, Leandro Lucarella wrote:
 Andrei Alexandrescu, el  7 de January a las 08:31 me escribiste:
 Why would I bother to do anything if is very likely that Walter don't want
 to go that direction and all my work was done for nothing? Been there
 before. Now I'm more cautious when selecting my battles.
One thing I want to do is enshrine a vetting mechanism that would allow Walter and myself to "pre-approve" enhancement requests. Someone (including us) would submit an enhancement request to Bugzilla, and then Walter and I add the tag "preapproved" to it. That means an implementation of the request has our approval assuming it has the appropriate quality. That should reduce the cognitive load ("am I working for nothing over here?") on the proponent of the feature and would also motivate the proponent to define the feature with reasonable completeness before implementing it.
I think that would help a *LOT*. So basically this tag would mean something like: If somebody implement this AND the implementation is complete AND it has good quality, it will be in the next release?
Yah, that's the idea.
 If so, that's not too far from roadmap.
It's less structured than a roadmap but maybe that's what would make it tenable! Andrei
Jan 07 2013
parent reply Jacob Carlborg <doob me.com> writes:
On 2013-01-07 19:29, Andrei Alexandrescu wrote:

 It's less structured than a roadmap but maybe that's what would make it
 tenable!
It would be like a roadmap without the timeline. That's a lot better than nothing. -- /Jacob Carlborg
Jan 07 2013
parent reply Johannes Pfau <nospam example.com> writes:
Am Mon, 07 Jan 2013 19:39:52 +0100
schrieb Jacob Carlborg <doob me.com>:

 On 2013-01-07 19:29, Andrei Alexandrescu wrote:
 
 It's less structured than a roadmap but maybe that's what would
 make it tenable!
It would be like a roadmap without the timeline. That's a lot better than nothing.
aka TO-DO list
Jan 07 2013
parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 1/7/13 12:39 PM, Johannes Pfau wrote:
 Am Mon, 07 Jan 2013 19:39:52 +0100
 schrieb Jacob Carlborg<doob me.com>:

 On 2013-01-07 19:29, Andrei Alexandrescu wrote:

 It's less structured than a roadmap but maybe that's what would
 make it tenable!
It would be like a roadmap without the timeline. That's a lot better than nothing.
aka TO-DO list
unprioritized
Jan 07 2013
prev sibling next sibling parent reply Leandro Lucarella <luca llucax.com.ar> writes:
Andrei Alexandrescu, el  7 de January a las 08:31 me escribiste:
 One thing I want to do is enshrine a vetting mechanism that would
 allow Walter and myself to "pre-approve" enhancement requests.
 Someone (including us) would submit an enhancement request to
 Bugzilla, and then Walter and I add the tag "preapproved" to it.
 That means an implementation of the request has our approval
 assuming it has the appropriate quality.
BTW, I wouldn't mind if you like to try this out with issue 7044 (see the pull request for more comments), which is really annoying us at work but I never got to fix because the lack of feedback (a perfect example of somebody willing, almost craving, to fix something and not doing it because of the lack of feedback). -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------- Soy como una mosca, parada en el agua. Y vos sos un transatlántico, querés nadar a mi lado. Y me estás ahogando.
Jan 07 2013
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/7/2013 11:40 AM, Leandro Lucarella wrote:
 Andrei Alexandrescu, el  7 de January a las 08:31 me escribiste:
 One thing I want to do is enshrine a vetting mechanism that would
 allow Walter and myself to "pre-approve" enhancement requests.
 Someone (including us) would submit an enhancement request to
 Bugzilla, and then Walter and I add the tag "preapproved" to it.
 That means an implementation of the request has our approval
 assuming it has the appropriate quality.
BTW, I wouldn't mind if you like to try this out with issue 7044 (see the pull request for more comments), which is really annoying us at work but I never got to fix because the lack of feedback (a perfect example of somebody willing, almost craving, to fix something and not doing it because of the lack of feedback).
At this point, reading the discussions in the links, I don't know just what the latest proposal is. https://github.com/D-Programming-Language/dmd/pull/497 http://d.puremagic.com/issues/show_bug.cgi?id=7044 http://forum.dlang.org/thread/mailman.1605.1334108859.4860.digitalmars-d puremagic.com
Jan 07 2013
parent Leandro Lucarella <luca llucax.com.ar> writes:
Walter Bright, el  7 de January a las 13:27 me escribiste:
 On 1/7/2013 11:40 AM, Leandro Lucarella wrote:
Andrei Alexandrescu, el  7 de January a las 08:31 me escribiste:
One thing I want to do is enshrine a vetting mechanism that would
allow Walter and myself to "pre-approve" enhancement requests.
Someone (including us) would submit an enhancement request to
Bugzilla, and then Walter and I add the tag "preapproved" to it.
That means an implementation of the request has our approval
assuming it has the appropriate quality.
BTW, I wouldn't mind if you like to try this out with issue 7044 (see the pull request for more comments), which is really annoying us at work but I never got to fix because the lack of feedback (a perfect example of somebody willing, almost craving, to fix something and not doing it because of the lack of feedback).
At this point, reading the discussions in the links, I don't know just what the latest proposal is. https://github.com/D-Programming-Language/dmd/pull/497 http://d.puremagic.com/issues/show_bug.cgi?id=7044 http://forum.dlang.org/thread/mailman.1605.1334108859.4860.digitalmars-d puremagic.com
The latest proposal is: http://d.puremagic.com/issues/show_bug.cgi?id=7044#c3 You commented about it, I replied to your comments, and you never commented back. I also added me as assignee, I think it would be a good idea for people wanting to implement something (seriously), to add themselves as assignee. Doing so would mean that person is assuming a commitment to implement the feature if consensus is achieved. It would be the same as "preapproved" but from the other side. You could also prioritize and give feedback to issues with somebody assigned first. -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------- Creativity is great but plagiarism is faster
Jan 08 2013
prev sibling parent Walter Bright <newshound2 digitalmars.com> writes:
On 1/7/2013 8:31 AM, Andrei Alexandrescu wrote:
 Walter can write a roadmap, nobody will listen to him.

 One thing that few people know is that Walter and I have tried to kindly
 convince people to work on specific things we believed were important. Such
 attempts have been largely unsuccessful.
True. Another thing that's been a bit frustrating to me is people regularly ask me (or the ng) "what should I work on?" I provide a list, and they go do something else. The reality is that, in a volunteer community, people work on what interests themselves. Finding ways to work successfully with that dynamic is the big challenge we face.
Jan 07 2013
prev sibling parent "deadalnix" <deadalnix gmail.com> writes:
On Monday, 7 January 2013 at 01:29:02 UTC, Brad Roberts wrote:
 Does anyone know of any mechanism for getting people to do what 
 needs to be done vs what they want to do that doesn't
 involve paying them?  The only long term successes I can point 
 to all involve companies.
You cannot achieve this without actually employing people. People on their free time ill work on whatever they want, and hopefully !
Jan 07 2013
prev sibling next sibling parent reply Jonathan M Davis <jmdavisProg gmx.com> writes:
On Sunday, January 06, 2013 17:28:57 Brad Roberts wrote:
 Does anyone know of any mechanism for getting people to do what needs to be
 done vs what they want to do that doesn't involve paying them?  The only
 long term successes I can point to all involve companies.
You'd have to look at major open source projects. They do sometimes come to together and agree on the direction that they should take (KDE and gnome would probably be good examples of that), and a lot of their efforts get focused on what gets decided, but I believe that it's still primarily a case of people working on what they want to work on. But I haven't examined the development processes of other open source projects in depth. If you have enough people, then the holes tend to get filled, but plenty of stuff still falls through the cracks, and unlike projects like KDE or gnome, I don't think that we have a need to create a direction for our project(s) and decide where they're going to be going. That might happen if we were talking about D3, but we're not (and I think that even the KDE and gnome guys only tend to do that when they're talking about where to go with their next major version). It's more of an issue of making sure that all of the little stuff that needs doing gets done. And if there's something that no one wants to work on or if everyone with the time and skill are working on other stuff that needs to be worked on, then some stuff just doesn't get done. And like you, I have no idea how to fix that. - Jonathan M Davis
Jan 06 2013
parent reply Pierre Rouleau <prouleau001 gmail.com> writes:
On 13-01-06 8:41 PM, Jonathan M Davis wrote:
 On Sunday, January 06, 2013 17:28:57 Brad Roberts wrote:
 Does anyone know of any mechanism for getting people to do what needs to be
 done vs what they want to do that doesn't involve paying them?  The only
 long term successes I can point to all involve companies.
You'd have to look at major open source projects. They do sometimes come to together and agree on the direction that they should take (KDE and gnome would probably be good examples of that), and a lot of their efforts get focused on what gets decided, but I believe that it's still primarily a case of people working on what they want to work on. But I haven't examined the development processes of other open source projects in depth. If you have enough people, then the holes tend to get filled, but plenty of stuff still falls through the cracks, and unlike projects like KDE or gnome, I don't think that we have a need to create a direction for our project(s) and decide where they're going to be going. That might happen if we were talking about D3, but we're not (and I think that even the KDE and gnome guys only tend to do that when they're talking about where to go with their next major version). It's more of an issue of making sure that all of the little stuff that needs doing gets done. And if there's something that no one wants to work on or if everyone with the time and skill are working on other stuff that needs to be worked on, then some stuff just doesn't get done. And like you, I have no idea how to fix that. - Jonathan M Davis
Is this something that the most influential people in the D project want to fix? -- /Pierre Rouleau
Jan 06 2013
parent reply Jonathan M Davis <jmdavisProg gmx.com> writes:
On Sunday, January 06, 2013 21:22:18 Pierre Rouleau wrote:
 Is this something that the most influential people in the D project want
 to fix?
What exactly do you want fixed? Sure, it would be great if we could know when certain things are going to be implemented or fixed, but without people to work on them, we can't know when that's going to happen. A lack of time and of manpower are frequently the problem here. And if you want a particular problem fixed, someone else wants another one fixed. Frequently, both could be considered high priority, and the developers only have so much time. Also, it's frequently the case that specific people are needed to fix specific issues - especially if we don't have new people stepping up to the plate and learning how to do stuff - creating an even greater bottleneck. Maybe we could get some sort of consensus on what the biggest issues are and try and get people to focus on those, but frequently, what we really need is for someone to step up and spend the time necessary to fix the issue. When that happens, stuff gets done. When it doesn't, it doesn't really matter what the biggest issues are, because there's a lack of manpower to fix them. And frequently, each major issue requires a different set of expertise, making it hard to for someone or even a small group of someones to work on all of the major issues. And we only have a small group of someones. So, if you have any suggestions on how to improve the process or otherwise help us get stuff done, great. If you think that there's something that we can do to better encourage participation, we're all ears. For instance, the release process is currently being adjusted precisely because people thought that it was a major issue and have spent the time to work out what should be done about it. But to a great extent, I don't think we necessarily know what needs to be changed or how it should be changed. Good ideas are required, and we're tight enough on time and manpower as it is just trying to get done everything that we know needs to get done. Almost always, the key is for someone who's passionate about something to get involved and make sure that it gets done. - Jonathan M Davis
Jan 06 2013
parent reply Pierre Rouleau <prouleau001 gmail.com> writes:
On 13-01-06 9:45 PM, Jonathan M Davis wrote:
 On Sunday, January 06, 2013 21:22:18 Pierre Rouleau wrote:
 Is this something that the most influential people in the D project want
 to fix?
What exactly do you want fixed?
Really, I would like to be able to start using D at work. And be in a position to be able to convince people to use it.
 Sure, it would be great if we could know when
 certain things are going to be implemented or fixed, but without people to work
 on them, we can't know when that's going to happen. A lack of time and of
 manpower are frequently the problem here. And if you want a particular problem
 fixed, someone else wants another one fixed. Frequently, both could be
 considered high priority, and the developers only have so much time. Also,
 it's frequently the case that specific people are needed to fix specific
issues -
 especially if we don't have new people stepping up to the plate and learning
 how to do stuff - creating an even greater bottleneck.

 Maybe we could get some sort of consensus on what the biggest issues are and
 try and get people to focus on those, but frequently, what we really need is
 for someone to step up and spend the time necessary to fix the issue. When that
 happens, stuff gets done. When it doesn't, it doesn't really matter what the
 biggest issues are, because there's a lack of manpower to fix them. And
 frequently, each major issue requires a different set of expertise, making it
 hard to for someone or even a small group of someones to work on all of the
 major issues. And we only have a small group of someones.

 So, if you have any suggestions on how to improve the process or otherwise
 help us get stuff done, great. If you think that there's something that we can
 do to better encourage participation, we're all ears. For instance, the
 release process is currently being adjusted precisely because people thought
 that it was a major issue and have spent the time to work out what should be
 done about it. But to a great extent, I don't think we necessarily know what
 needs to be changed or how it should be changed. Good ideas are required, and
 we're tight enough on time and manpower as it is just trying to get done
 everything that we know needs to get done.

 Almost always, the key is for someone who's passionate about something to get
 involved and make sure that it gets done.
And I understand and agree on all of the above points. I am trying to see what I could do. Yes, I can start going through the list of tickets, try to compile some info, and eventually even become one more developer. At the moment I was trying to learn more on the development process to get ideas on how (or whether it is possible) to improve the predictability aspect I would need to convince people at work on the usefulness of D. For the moment, I will continue to read the lists, the Bugzilla tickets (and propose better titles via comments if I see opportunities to do so), learn how you use DDoc for the documentation, find out what is supported by the community and its leader (which I assume is Walter) and hopefully I can help a little somehow.
 - Jonathan M Davis
-- /Pierre Rouleau
Jan 06 2013
parent reply Matthew Caron <matt.caron redlion.net> writes:
On 01/06/2013 10:18 PM, Pierre Rouleau wrote:
 On 13-01-06 9:45 PM, Jonathan M Davis wrote:
 On Sunday, January 06, 2013 21:22:18 Pierre Rouleau wrote:
 Is this something that the most influential people in the D project want
 to fix?
What exactly do you want fixed?
Really, I would like to be able to start using D at work. And be in a position to be able to convince people to use it.
I found myself in the same position. My argument was: 1. There is a clear language reference 2. There are multiple implementations (DMD, GDC) 3. D has a lot of really nice features that make it better than C Now, you have to bear in mind, we don't do bytecode compiled languages that run on a VM - it's just not our thing, we use too much real while letting us access real hardware without having to write a C shim to do it. We do not require a fancy cohesive roadmap, because we realize it's a FLOSS project and is therefore subject to the whims of its developers. If we want to influence said development, then we'll jump in or issue a bounty for things to be fixed. In the grand scheme of things, we've found this strategy to produce more time savings and value than it consumes. However, this does take a certain amount of buy in from your company management. Luckily, one of the company founders was an early embracer of Linux. -- Matthew Caron, Software Build Engineer Sixnet, a Red Lion business | www.sixnet.com +1 (518) 877-5173 x138 office
Jan 07 2013
parent reply Pierre Rouleau <prouleau001 gmail.com> writes:
On 13-01-07 7:49 AM, Matthew Caron wrote:
 On 01/06/2013 10:18 PM, Pierre Rouleau wrote:
 On 13-01-06 9:45 PM, Jonathan M Davis wrote:
 On Sunday, January 06, 2013 21:22:18 Pierre Rouleau wrote:
 Is this something that the most influential people in the D project
 want
 to fix?
What exactly do you want fixed?
Really, I would like to be able to start using D at work. And be in a position to be able to convince people to use it.
However, this does take a certain amount of buy in from your company management.
It does, and from other people too.
 Luckily, one of
 the company founders was an early embracer of Linux.
It's not the case for my situation. The worst part I see is that bug fixes and new feature introductions are lumped together inside releases. Combined with the fact that the development is not predictable means that if you develop products with D you have to keep updating it. If you get stuck with a bug and wait for the release that fixes it, when that release comes out it could very well bring new language features that break the code that you have already written. It would be nice to have bug fixes separated from new feature introductions by having major and minor releases and branches for these releases. Contributors of a release could backport bug fix in the release they use if that was required by their project using the now old compiler version. Of course I realize that this means more overall work, more people, someone or a set of people in charge of release management, etc... -- /Pierre Rouleau
Jan 07 2013
next sibling parent reply Matthew Caron <matt.caron redlion.net> writes:
On 01/07/2013 08:09 AM, Pierre Rouleau wrote:
 It would be nice to have bug fixes separated from new feature
 introductions by having major and minor releases and branches for these
 releases.  Contributors of a release could backport bug fix in the
 release they use if that was required by their project using the now old
 compiler version.

 Of course I realize that this means more overall work, more people,
 someone or a set of people in charge of release management, etc...
I also think that you'd be hard-pressed to find anyone who does development like that, proprietary or open source. It's not uncommon to have bugfix only releases, but having a new features release that doesn't fix any bugs is, in my experience, unheard of. Also, I'd be STRONGLY against it, because I have a fix bugs first mentality, and if you find a bug while implementing a new feature, it should be fixed. -- Matthew Caron, Software Build Engineer Sixnet, a Red Lion business | www.sixnet.com +1 (518) 877-5173 x138 office
Jan 07 2013
parent reply Pierre Rouleau <prouleau001 gmail.com> writes:
On 13-01-07 9:12 AM, Matthew Caron wrote:
 On 01/07/2013 08:09 AM, Pierre Rouleau wrote:
 It would be nice to have bug fixes separated from new feature
 introductions by having major and minor releases and branches for these
 releases.  Contributors of a release could backport bug fix in the
 release they use if that was required by their project using the now old
 compiler version.

 Of course I realize that this means more overall work, more people,
 someone or a set of people in charge of release management, etc...
I also think that you'd be hard-pressed to find anyone who does development like that, proprietary or open source. It's not uncommon to have bugfix only releases, but having a new features release that doesn't fix any bugs is, in my experience, unheard of.
I agree that feature releases mostly also contain bug fixes. I should have said, and I was thinking about proposing a process where minor releases that would only include bug fixes, and where major releases would mainly introduce new features but would also include some bug fixes. At work this is exactly what we do. And today, at work, I was just in a meeting evaluating bugs to identify bugs that will be fixed in a release of our product that will only contain bug fixes. The fixes that are selected where selected based on their severity, the impact they have on end-users and the time it takes to fix them. And maybe an alpha process suggested by Jonathan M. Davis is a better idea.
 Also, I'd be STRONGLY against it, because I have a fix bugs first
 mentality, and if you find a bug while implementing a new feature, it
 should be fixed.
In my work I also have a bug-fix first mentality and I push for that everyday. I strongly agree with that. All I was suggesting (or checking if this is the way this group handles it) is whether bug fixes are isolated from feature implementations (and I assume they are since they are separate Bugzilla tickets). And at work, when a new feature is implemented and a bug is found during the process of developing that feature the first thing that is done is to create a _separate_ bug report ticket (separate from the ticket that request the introduction of the new feature or enhancement) to identify the presence of that bug if that bug affects release code. The releases the bug affects are identified and typically within a week, the bug is "scrubbed" in a meeting where people with different roles attend. The priority and severity of the bug is discussed, and the release version for the fix is identified in a forecast. Developer(s) have to estimate the time it will take to fix the bug (as is done for every ticket in our bug tracking system (bug fix, feature implementation, enhancement, etc...). A test case is also created for the bug since it was an escape from the test plan/integration test/unit test side of things. The bug is fixed, regression tested and the new feature is implemented on top of the bug fix. The sequence of events may differ depending on how we want to handle things with the VCS we use and the moment of the event respective to the product release plan. I am not suggesting to not fix a bug found when a new feature is introduced. I was trying to propose something that would help predictability and stability. Now I understand that I am comparing a commercial product development with an open source project here. But I am also comparing what a user *sees* from other projects that are used where I work; the PR part, the marketing material that help sells the product to people. When I look at Python and Erlang for instance, those two projects seem, I say seem (from the user's perspective) to provide more information to the user's base in terms of those two criteria of predictability and stability simply because of the various documents provided and release strategies one can see from the evolution of their projects. It possibly is only a matter of perception and Public Relations but D2 first release was done June 17, 2007 which is over 5 years and six months ago. I see nothing in the release version number that gives any outsider a vision of the stability of D2 or it's evolution milestone-wise. The first release number was D 2.000 and we are 66 months later at version 2.061. That's about a release a month. How can an outside user see the major milestones in those 5 years and a half? I imagine that some of you guys remember what were the significant releases, you have been living with it for those last 66 months. But how can you convince potential new users to use it in projects where manpower is also limited and continuous updates may not be possible? How can they see that its stabilizing? How many more releases may affect the development of products? In June 2007 I was using Python 2.5.1, Python 2.7.3 and 3.3.0 are the two official releases now. All of these versions have had bug fix (and security) releases independently of the other ones. These versions had reached a point of finality. I have not yet switched to Python 3.3 for production code but have upgraded from 2.5 to 2.6 and 2.7. Each time we looked at the major changes prior to the upgrades to identify the amount of work required in order to schedule it in the work flow. I have also upgraded from minor to minor releases much quicker. We do the same for Erlang. To be able to use D at work for product development, I will have to be able to do the same. And now I understand that D1 is no longer officially supported. If I understand properly D1 first release was 6 years ago. Lets assume I would have started a product development with it say 2 years ago because it was deemed relatively stable then. And now I want to support 64-bit Windows and my customers are starting to ask for Windows-8 support. Or some other things gets in the way (a bug somewhere, Windows 9 getting released sooner because Windows 8 is not as popular as Microsoft would have hoped.) What would be my alternatives? Port all the code to D2? Is this what will happen to D2? I'd like to know before I commit people and convince others. At the moment what I see of the current state is that if I am interested, I should join the developers group and use D for fun and expertise. I just hope that I am missing something (beside the fun and expertise) that could help convince myself and others that I could depend on D for product development at work. BTW, the proposal from Andrei to implement a "pre-approved" non-prioritized enhancement request mechanism seems a very good idea and a step in the good direction IMHO (from the outside). -- /Pierre Rouleau
Jan 07 2013
next sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/7/2013 8:17 PM, Pierre Rouleau wrote:
 And now I understand that D1 is no longer officially supported. If I understand
 properly D1 first release was 6 years ago.  Lets assume I would have started a
 product development with it say 2 years ago because it was deemed relatively
 stable then.  And now I want to support 64-bit Windows and my customers are
 starting to ask for Windows-8 support.  Or some other things gets in the way (a
 bug somewhere, Windows 9 getting released sooner because Windows 8 is not as
 popular as Microsoft would have hoped.) What would be my alternatives? Port all
 the code to D2?  Is this what will happen to D2? I'd like to know before I
 commit people and convince others.
The moment D1 was stabilized, work began on D2. It was always understood that D2 was the future, and D1 was the stable version. Supporting it for 6 years is a pretty long time in the software business. At some point, you'll need to make a decision: 1. move to D2 2. merge things from D2 into the D1 you've forked 3. buy a support contract from Digital Mars or from any of the many other competent people in the community to help you with D1 It's pretty much the same with any software product. We were just talking about how Apple pretty much has deprecated OS X 10.6, Microsoft regularly abandons old versions of its operating systems, and I just found out that my Ubuntu is no longer supported.
Jan 08 2013
next sibling parent Jacob Carlborg <doob me.com> writes:
On 2013-01-08 09:57, Walter Bright wrote:

 The moment D1 was stabilized, work began on D2. It was always understood
 that D2 was the future, and D1 was the stable version. Supporting it for
 6 years is a pretty long time in the software business.

 At some point, you'll need to make a decision:

 1. move to D2

 2. merge things from D2 into the D1 you've forked

 3. buy a support contract from Digital Mars or from any of the many
 other competent people in the community to help you with D1
4. There's also Amber now which seems to be basically the same as D1 http://forum.dlang.org/thread/zflwhizhppbdqfioznjv forum.dlang.org -- /Jacob Carlborg
Jan 08 2013
prev sibling next sibling parent Pierre Rouleau <prouleau001 gmail.com> writes:
On 13-01-08 3:57 AM, Walter Bright wrote:

 3. buy a support contract from Digital Mars or from any of the many
 other competent people in the community to help you with D1
Good point. Probably the most important. -- /Pierre Rouleau
Jan 08 2013
prev sibling parent reply Leandro Lucarella <luca llucax.com.ar> writes:
Walter Bright, el  8 de January a las 00:57 me escribiste:
 On 1/7/2013 8:17 PM, Pierre Rouleau wrote:
And now I understand that D1 is no longer officially supported. If I understand
properly D1 first release was 6 years ago.  Lets assume I would have started a
product development with it say 2 years ago because it was deemed relatively
stable then.  And now I want to support 64-bit Windows and my customers are
starting to ask for Windows-8 support.  Or some other things gets in the way (a
bug somewhere, Windows 9 getting released sooner because Windows 8 is not as
popular as Microsoft would have hoped.) What would be my alternatives? Port all
the code to D2?  Is this what will happen to D2? I'd like to know before I
commit people and convince others.
The moment D1 was stabilized, work began on D2. It was always understood that D2 was the future, and D1 was the stable version. Supporting it for 6 years is a pretty long time in the software business. At some point, you'll need to make a decision: 1. move to D2 2. merge things from D2 into the D1 you've forked
What about licensing issues, is it even legal to for D1's backend? I mean, I don't mind doing it personally, because I believe I won't have any problems. But company lawyers don't think so positively :) -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------- Es erróneo pensar que el repollo es una afirmación de personalidad del volátil, es una verdura, es una verdura. -- Ricardo Vaporeso
Jan 08 2013
parent Walter Bright <newshound2 digitalmars.com> writes:
On 1/8/2013 4:34 AM, Leandro Lucarella wrote:
 What about licensing issues, is it even legal to for D1's backend? I mean, I
 don't mind doing it personally, because I believe I won't have any problems.
 But company lawyers don't think so positively :)
If you've got a licensing issue, talk to me and I'll do my best to get it resolved for you to the satisfaction of your lawyers.
Jan 08 2013
prev sibling parent Leandro Lucarella <luca llucax.com.ar> writes:
Pierre Rouleau, el  7 de January a las 23:17 me escribiste:
 I agree that feature releases mostly also contain bug fixes. I
 should have said, and I was thinking about proposing a process where
 minor releases that would only include bug fixes, and where major
 releases would mainly introduce new features but would also include
 some bug fixes.
 
 At work this is exactly what we do. And today, at work, I was just
 in a meeting evaluating bugs to identify bugs that will be fixed in
 a release of our product that will only contain bug fixes.  The
 fixes that are selected where selected based on their severity, the
 impact they have on end-users and the time it takes to fix them.
This is how most software projects works (specially open source projects). Major, minor and patchlevel version numbers, and have been explained and suggested here for ages. At this point I would be happy if we only get minor releases from time to time fixing only regressions and critical/security bugs that can't wait for a next release. -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------- You can try the best you can If you try the best you can The best you can is good enough
Jan 08 2013
prev sibling parent Jonathan M Davis <jmdavisProg gmx.com> writes:
On Monday, January 07, 2013 08:09:01 Pierre Rouleau wrote:
 The worst part I see is that bug fixes and new feature introductions are
 lumped together inside releases. Combined with the fact that the
 development is not predictable means that if you develop products with D
 you have to keep updating it.  If you get stuck with a bug and wait for
 the release that fixes it, when that release comes out it could very
 well bring new language features that break the code that you have
 already written.
 
 It would be nice to have bug fixes separated from new feature
 introductions by having major and minor releases and branches for these
 releases.  Contributors of a release could backport bug fix in the
 release they use if that was required by their project using the now old
 compiler version.
 
 Of course I realize that this means more overall work, more people,
 someone or a set of people in charge of release management, etc...
The reality of the matter is that most code breakage comes from bug fixes. New features rarely break much of anything, especially if you're not using them. Having API changes mixed in with bug fixes _can_ pose a problem, but I think that if you really looked into it, you'd find that stuff like UFCS and UDAs and whatnot have resulted in very little (if any) broken code. They may not have worked as well as they should have and have plenty of bugs in their implementation, but code which isn't using them (as code wouldn't be prior to their release) didn't get broken by its introduction. So, while it may be valuable to move to a major/minor release situation, I think that the reality of the matter is that it will have little effect on stability simply because it's bug fixes which break things - either because they fix previously buggy behavior (breaking any code which relied on that behavior) or because regressions are introduced, and while we try hard to catch those, we don't always manage it. And the only thing that I can think of which would do a better job of catching those would be a bettere beta program where the beta is somehow better vetted so that regressions just don't manage to get through (though how we'd get more people to try the beta, I don't know). Major and minor releases will have little effect on stability from the standpoint of the compiler. They could have an effect from the standpoint of API changes, but since we're trying to stop making breaking API changes entirely (or at least make them very rare), a major/minor release model probably won't help much there either. - Jonathan M Davis
Jan 07 2013
prev sibling parent Brad Roberts <braddr puremagic.com> writes:
On 1/6/2013 5:41 PM, Jonathan M Davis wrote:
 On Sunday, January 06, 2013 17:28:57 Brad Roberts wrote:
 Does anyone know of any mechanism for getting people to do what needs to be
 done vs what they want to do that doesn't involve paying them?  The only
 long term successes I can point to all involve companies.
You'd have to look at major open source projects. They do sometimes come to together and agree on the direction that they should take (KDE and gnome would probably be good examples of that), and a lot of their efforts get focused on what gets decided, but I believe that it's still primarily a case of people working on what they want to work on. But I haven't examined the development processes of other open source projects in depth. If you have enough people, then the holes tend to get filled, but plenty of stuff still falls through the cracks, and unlike projects like KDE or gnome, I don't think that we have a need to create a direction for our project(s) and decide where they're going to be going. That might happen if we were talking about D3, but we're not (and I think that even the KDE and gnome guys only tend to do that when they're talking about where to go with their next major version). It's more of an issue of making sure that all of the little stuff that needs doing gets done. And if there's something that no one wants to work on or if everyone with the time and skill are working on other stuff that needs to be worked on, then some stuff just doesn't get done. And like you, I have no idea how to fix that. - Jonathan M Davis
Both KDE and Gnome have major distributions behind them which almost certainly provide a lot of the labor for the 'not fun' parts. Essentially _every_ popular package has the same. They might be open source, but it's not the volunteers that make them polished, for the most part.
Jan 06 2013
prev sibling parent reply Leandro Lucarella <luca llucax.com.ar> writes:
Walter Bright, el  3 de January a las 19:18 me escribiste:
 On 1/3/2013 12:27 PM, Leandro Lucarella wrote:
BTW, Changelogs looks extremely naked now, I think release notes are
really needed now. Al least for new features. Is far from ideal to make
people go through a bug report to know how they can adapt their code to
new features.
On the other hand, the older way of doing changelogs routinely missed a *lot* of things. Relatively few people doing the pulls would bother to log the changes. I think there were easy double the number of changes showing up in the search than were in the log.
I agree completely. I'm not saying having a well maintained bug tracker is a bad think! Is great, and is great to be able to automatically list all the bugs fixed in a release. Is think is a huge improvement. I'm just saying is not good enough, there is more room for improvement IMHO.
And sometimes bug reports are not updated on how things turned out, for

outdated AFAIK, the title talks about a -di flags which doesn't even
exist, you actually have to go through the pull request[2] to see what
the hell is going on. And even then the behaviour of that pull request
was changed in a subsequent one[3], and there are no visible links
between those 2 pull requests.
Please update that bugzilla issue. As I posted elsewhere in this thread, this method does require upping our game with bugzilla tags, titles, and descriptions. I don't see that it is any *harder* to update the bugzilla issue than it is to provide a brief summary in the changelog.
Is harder for the **user**, not for the developer! I updated all the documentation in the compiler itself and the man page, I just never wrote changelog entries in the documentation. If you really want to make people update all the documentation, you should reject pull requests until they are **complete**. If I missed updating something is because nobody told me I had to. I'll happily update release notes in the future if you tell me where they are.
 As for what's new, the failure here is the failure to document those
 changes. This is not a failure of the changelog - it's a failure of
 the documentation pages. The bugzilla should have a link to the
 relevant documentation.
Please see my other comment. I really think you're getting this wrong. Bugzilla is for internal development, not to inform people about new features. New features might end up being completely different from what the user reported in the first place, and it's very cruel to make users have to read a complete discussion about a feature (or to scroll to the end of a bug report to find a link, or even to click on 2 links for each new/changed feature!). I agree is the same work for a developer to update the documentation, being in bugzilla or in the repository, but having a proper document with at least big changes explained is much more useful to the user (and I think is even easier to edit for the developer). And then, is harder to reject pull request if they don't update some documentation in the same repo the pull request is made than checking some bugzilla report to see if is properly updated.
 I do *not* think that a changelog new feature entry takes the place
 of updating the documentation, and I do not agree with writing the
 documentation twice (changelog and documentation).
We agree on this too. I don't know why are you getting the impression I want something else in this matter.
Anyway, at least for this particular change, the changelog is basically
useless, and I don't think the bug report is the right place to inform
users about compiler changes.
We've been using bugzilla for a long time to organize enhancement requests.
And that's perfect too.
Users don't care about the history and
discussion around a change, they just only want to know how to take
advantage of new features and how to fix their code (possibly with some
exceptions of course, in which case they can still go back to the bug
report and pull requests).
I agree this new system is imperfect - but I argue it is better than what we were doing before.
And I'm not suggesting going back to where we were before, just keep improving. What I'm suggesting is: * Keep handling *all* development (bugfixes and new features) through bugzilla * Keep listing bugfixes and new features lists automatically as bugzilla queries (I think it would be better to automatically generate a nicer document with those lists though, but that's just details) * Keep having the complete documentation for new features where it should be (the website/specs). * Add a release notes documents (that could be also the base to announce releases with more details in the e-mail release) which gives a brief summary of the focus of the current release and any important changes visible to the users. When new features are added, include the link to the proper documentation. * Reject pull requests that don't update either the documentation or the release notes, but TELL people what's missing for the pull request to be merged, so they learn how to do pull requests that are complete. * Review the release notes just before the release to make it coherent. Another good example of release notes is the LLVM project. Please, take a look at Python release notes and LLVM release notes if you haven't before. Just take a look. Examples: http://python.org/download/releases/3.3.0/ http://llvm.org/releases/3.2/docs/ReleaseNotes.html (this link might be wrong because I can't access the llvm website right now to check) -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------- Cómo ser inconmensurablemente atractivo a la mujer del sexo opuesto. -- Libro de autoayuda de Hector Mesina.
Jan 03 2013
next sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 1/3/2013 9:20 PM, Leandro Lucarella wrote:
 Examples:
 http://python.org/download/releases/3.3.0/
I see a list, one line per, with a clickable link. The only real difference is that there's one extra click to get that list in the D changelog, but then it's a list, one line per, with a clickable link for more info.
 http://llvm.org/releases/3.2/docs/ReleaseNotes.html (this link might be wrong
 because I can't access the llvm website right now to check)
At the moment, that site appears to be down.
Jan 03 2013
next sibling parent Jonathan M Davis <jmdavisProg gmx.com> writes:
On Thursday, January 03, 2013 22:34:44 Walter Bright wrote:
 On 1/3/2013 9:20 PM, Leandro Lucarella wrote:
 Examples:
 http://python.org/download/releases/3.3.0/
I see a list, one line per, with a clickable link. The only real difference is that there's one extra click to get that list in the D changelog, but then it's a list, one line per, with a clickable link for more info.
I honestly think that that gives a _far_ better impression than simply giving a link to a bugzilla query, and it's how most open source projects do their changelogs. The basic look of our changelog with 2.060 and earlier was fairly good. It's just that the bug list wasn't automatically generated. What we've done this time offered a reasonably quick way to get an automatic list, but I think that we should shoot for making it look more like it used to but have the list be automatically generated rather than sticking with the bugzilla query. I'd do it, but doing it well will probably take some javascript voodoo that's well beyond my skill level, as my experience with javascript is about zero. The best I can do is write a quick D program that'll generate the list and then paste that into the changelog (which is what I did with 2.060), but that won't auto-update. - Jonathan M Davis
Jan 04 2013
prev sibling parent Leandro Lucarella <luca llucax.com.ar> writes:
Walter Bright, el  3 de January a las 22:34 me escribiste:
 On 1/3/2013 9:20 PM, Leandro Lucarella wrote:
Examples:
http://python.org/download/releases/3.3.0/
I see a list, one line per, with a clickable link. The only real difference is that there's one extra click to get that list in the D changelog, but then it's a list, one line per, with a clickable link for more info.
You are missing this link in that document: http://docs.python.org/3.3/whatsnew/3.3.html That's very detailed because Python releases take longer, I don't think we need that level of detail, but I think is a good example anyway. You probably also missed the link to all the bugfixes in the release, which probably is automatically generated and nobody reads unless you're looking for a specific issue is bothering you to see if it's fixed: http://hg.python.org/cpython/file/v3.3.0/Misc/NEWS
http://llvm.org/releases/3.2/docs/ReleaseNotes.html (this link might be wrong
because I can't access the llvm website right now to check)
At the moment, that site appears to be down.
Yeah :( -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------- Fantasy is as important as wisdom
Jan 04 2013
prev sibling parent "eles" <eles eles.com> writes:
On Friday, 4 January 2013 at 06:08:02 UTC, Leandro Lucarella 
wrote:
 Walter Bright, el  3 de January a las 19:18 me escribiste:
 On 1/3/2013 12:27 PM, Leandro Lucarella wrote:
BTW, Changelogs looks extremely naked now, I think release
Bugzilla is for internal development, not to inform people about new features.
I couldn't agree more. As the documentation is also a *developement task*, Bugzilla could still be used as a tool for improving the documentation development. However, let's not mistake the tool for the outcome. Pushing it to the extreme, one could simply fill to the user the compiler, instead the documentation for the compiled language: "you'll read the source code and you'll be able to figure out what it compiles and what it does not".
Jan 04 2013
prev sibling next sibling parent reply "deadalnix" <deadalnix gmail.com> writes:
On Tuesday, 1 January 2013 at 23:46:32 UTC, Walter Bright wrote:
 The big news is Win64 is now supported (in alpha).

 http://www.digitalmars.com/d/download.html

 D 1.076 changelog: 
 http://www.digitalmars.com/d/1.0/changelog.html

 A couple issues:

 1. the dlang.org isn't updated yet.
 2. the OS X package hasn't been built yet (problems with the 
 package script).

 I hope to get these resolved shortly. In the meantime, enjoy 
 and have a Happy D Year!
Ran into some trouble to make it work, but awesome news : the GC collecting live stuff problem is gone (most likely a closure bug rather than a GC bug). That is awesome !
Jan 03 2013
parent Walter Bright <newshound2 digitalmars.com> writes:
On 1/3/2013 4:22 PM, deadalnix wrote:
 Ran into some trouble to make it work, but awesome news : the GC collecting
live
 stuff problem is gone (most likely a closure bug rather than a GC bug).
There are still a couple of memory-corrupting closure bugs left. Turns out they are rather hard to solve, were found only at the last minute, and have always been there, so I thought it was ok for them to go one more release.
Jan 03 2013
prev sibling next sibling parent reply Jacob Carlborg <doob me.com> writes:
On 2013-01-02 00:46, Walter Bright wrote:
 The big news is Win64 is now supported (in alpha).

 http://www.digitalmars.com/d/download.html

 D 1.076 changelog: http://www.digitalmars.com/d/1.0/changelog.html

 A couple issues:

 1. the dlang.org isn't updated yet.
 2. the OS X package hasn't been built yet (problems with the package
 script).

 I hope to get these resolved shortly. In the meantime, enjoy and have a
 Happy D Year!
I create a pull request with docs for UDA's: https://github.com/D-Programming-Language/d-programming-language.org/pull/231 -- /Jacob Carlborg
Jan 04 2013
next sibling parent reply "deadalnix" <deadalnix gmail.com> writes:
On Friday, 4 January 2013 at 12:40:36 UTC, Jacob Carlborg wrote:
 On 2013-01-02 00:46, Walter Bright wrote:
 The big news is Win64 is now supported (in alpha).

 http://www.digitalmars.com/d/download.html

 D 1.076 changelog: 
 http://www.digitalmars.com/d/1.0/changelog.html

 A couple issues:

 1. the dlang.org isn't updated yet.
 2. the OS X package hasn't been built yet (problems with the 
 package
 script).

 I hope to get these resolved shortly. In the meantime, enjoy 
 and have a
 Happy D Year!
I create a pull request with docs for UDA's: https://github.com/D-Programming-Language/d-programming-language.org/pull/231
Isn't that feature supposed to be here in that form for strategic reasons and should remains kind of hidden ?
Jan 04 2013
next sibling parent reply Jonathan M Davis <jmdavisProg gmx.com> writes:
On Friday, January 04, 2013 15:03:42 deadalnix wrote:
 Isn't that feature supposed to be here in that form for strategic
 reasons and should remains kind of hidden ?
Yeah. I thought that UDAs were supposed to be undocumented for the moment? - Jonathan M Davis
Jan 04 2013
parent Walter Bright <newshound2 digitalmars.com> writes:
On 1/4/2013 8:13 AM, Jonathan M Davis wrote:
 On Friday, January 04, 2013 15:03:42 deadalnix wrote:
 Isn't that feature supposed to be here in that form for strategic
 reasons and should remains kind of hidden ?
Yeah. I thought that UDAs were supposed to be undocumented for the moment?
No, that was just the [attribute] form. The (attribute) form should be documented.
Jan 04 2013
prev sibling parent Philippe Sigaud <philippe.sigaud gmail.com> writes:
On Fri, Jan 4, 2013 at 5:13 PM, Jonathan M Davis <jmdavisProg gmx.com>wrote:

 On Friday, January 04, 2013 15:03:42 deadalnix wrote:
 Isn't that feature supposed to be here in that form for strategic
 reasons and should remains kind of hidden ?
Yeah. I thought that UDAs were supposed to be undocumented for the moment?
????
Jan 04 2013
prev sibling parent reply Philippe Sigaud <philippe.sigaud gmail.com> writes:
 I create a pull request with docs for UDA's:

 https://github.com/D-**Programming-Language/d-**
 programming-language.org/pull/**231<https://github.com/D-Programming-Language/d-programming-language.org/pull/231>
Nice move! Too bad I get a pink unicorn from this one. Github is becoming stranger and stranger :) I guess it should be invisible ( http://en.wikipedia.org/wiki/Invisible_Pink_Unicorn ).
Jan 04 2013
parent reply Jacob Carlborg <doob me.com> writes:
On 2013-01-04 15:27, Philippe Sigaud wrote:

 Nice move!

 Too bad I get a pink unicorn from this one. Github is becoming stranger
 and stranger :)
Works for me. Try this one: https://github.com/jacob-carlborg/d-programming-language.org/commit/bddbdf18353203ba12d8e0e44391e8b6a031b91a -- /Jacob Carlborg
Jan 04 2013
parent reply "Philippe Sigaud" <philippe.sigaud gmail.com> writes:
On Friday, 4 January 2013 at 15:26:35 UTC, Jacob Carlborg wrote:

 Works for me. Try this one:

 https://github.com/jacob-carlborg/d-programming-language.org/commit/bddbdf18353203ba12d8e0e44391e8b6a031b91a
Yeah, that works, thanks! Now for some reading. I'll still start a thread on D.main, because this is hidden inside the 2.061 announcement.
Jan 04 2013
parent reply Jacob Carlborg <doob me.com> writes:
On 2013-01-04 16:32, Philippe Sigaud wrote:

 Yeah, that works, thanks! Now for some reading.
This might be easier to read. I rendered the DDOC to HTML: https://dl.dropbox.com/u/18386187/attribute.html#uda There's also documentation for the Traits section but nothing which isn't available on the Attribute section. -- /Jacob Carlborg
Jan 04 2013
parent Pierre Rouleau <prouleau001 gmail.com> writes:
On 13-01-04 10:49 AM, Jacob Carlborg wrote:
 On 2013-01-04 16:32, Philippe Sigaud wrote:

 Yeah, that works, thanks! Now for some reading.
This might be easier to read. I rendered the DDOC to HTML: https://dl.dropbox.com/u/18386187/attribute.html#uda There's also documentation for the Traits section but nothing which isn't available on the Attribute section.
Thanks to both of you! Is there a location where a user can see what version a feature was introduced? If not, would it not be a good idea to include a "introduced in 2.061" note (or similar) beside features that are new, inside the documentation? /Pierre
Jan 04 2013
prev sibling next sibling parent reply Jonathan M Davis <jmdavisProg gmx.com> writes:
On Friday, January 04, 2013 17:35:32 Philippe Sigaud wrote:
 On Fri, Jan 4, 2013 at 5:13 PM, Jonathan M Davis <jmdavisProg gmx.com>wrote:
 On Friday, January 04, 2013 15:03:42 deadalnix wrote:
 Isn't that feature supposed to be here in that form for strategic
 reasons and should remains kind of hidden ?
Yeah. I thought that UDAs were supposed to be undocumented for the moment?
????
They were shoved out the door without being fully sorted out first instead of being done on a separate branch first and sorted out there prior to being released. I thought that we had decided that they'd be in 2.061 but undocumented for the moment so that people could use them but that they wouldn't be put in the docs until they had been fully sorted out so that they could be properly treated as experimental. - Jonathan M Davis
Jan 04 2013
parent reply Pierre Rouleau <prouleau001 gmail.com> writes:
On 13-01-04 11:50 AM, Jonathan M Davis wrote:
 On Friday, January 04, 2013 17:35:32 Philippe Sigaud wrote:
 On Fri, Jan 4, 2013 at 5:13 PM, Jonathan M Davis <jmdavisProg gmx.com>wrote:
 On Friday, January 04, 2013 15:03:42 deadalnix wrote:
 Isn't that feature supposed to be here in that form for strategic
 reasons and should remains kind of hidden ?
Yeah. I thought that UDAs were supposed to be undocumented for the moment?
????
They were shoved out the door without being fully sorted out first instead of being done on a separate branch first and sorted out there prior to being released. I thought that we had decided that they'd be in 2.061 but undocumented for the moment so that people could use them but that they wouldn't be put in the docs until they had been fully sorted out so that they could be properly treated as experimental. - Jonathan M Davis
If this is the case, why not add the mention "experimental" inside the documentation? Readers (users and developers) would be aware of the new feature and the fact that it might change or go away. /Pierre
Jan 04 2013
parent Philippe Sigaud <philippe.sigaud gmail.com> writes:
On Fri, Jan 4, 2013 at 6:13 PM, Pierre Rouleau <prouleau001 gmail.com>wrote:

  If this is the case, why not add the mention "experimental" inside the
documentation? Readers (users and developers) would be aware of the new feature and the fact that it might change or go away. /Pierre
Ow, ninja'd!
Jan 04 2013
prev sibling parent reply Philippe Sigaud <philippe.sigaud gmail.com> writes:
On Fri, Jan 4, 2013 at 5:50 PM, Jonathan M Davis <jmdavisProg gmx.com>wrote:

 They were shoved out the door without being fully sorted out first instead
 of
 being done on a separate branch first and sorted out there prior to being
 released.
Yeah. OK, water under the bridge.
 I thought that we had decided that they'd be in 2.061 but
 undocumented for the moment so that people could use them
I'm afraid I see a slight contradiction in the previous statement :) but that they wouldn't be put in the docs until they had been fully sorted
 out so that they
 could be properly treated as experimental.
Er... I propose this: - update the changelog to say UDA are implemented, but are potentially subject to change. Use them, people, and report! - merge Jacob's pull request to have a documentation. Proeminently put a warning in the docs saying this is an experimental feature (I know, this should be a parallel branch, that's not the case, give it a rest). - collect impression in 1-2 months. I mean, how can the devs hope for any return on UDA if they are an Easter egg feature?
Jan 04 2013
parent Pierre Rouleau <prouleau001 gmail.com> writes:
On 13-01-04 12:18 PM, Philippe Sigaud wrote:
 I propose this:

 - update the changelog to say UDA are implemented, but are potentially
 subject to change. Use them, people, and report!
 - merge Jacob's pull request to have a documentation. Proeminently put a
 warning in the docs saying this is an experimental feature (I know, this
 should be a parallel branch, that's not the case, give it a rest).
 - collect impression in 1-2 months.
+1
Jan 04 2013