Re: D 1.076 and 2.061 release

2013-01-03 Thread 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.

[…]
 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.

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

-- 
Russel.
=
Dr Russel Winder  t: +44 20 7585 2200   voip: sip:russel.win...@ekiga.net
41 Buckmaster Roadm: +44 7770 465 077   xmpp: rus...@winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder


signature.asc
Description: This is a digitally signed message part


Re: D 1.076 and 2.061 release

2013-01-03 Thread Russel Winder
On Wed, 2013-01-02 at 20:31 +0100, Jordi Sayol wrote:
[…]
 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.

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?

-- 
Russel.
=
Dr Russel Winder  t: +44 20 7585 2200   voip: sip:russel.win...@ekiga.net
41 Buckmaster Roadm: +44 7770 465 077   xmpp: rus...@winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder


signature.asc
Description: This is a digitally signed message part


Re: D 1.076 and 2.061 release

2013-01-03 Thread Dmitry Olshansky

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


Re: D 1.076 and 2.061 release

2013-01-03 Thread Walter Bright

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.


Re: D 1.076 and 2.061 release

2013-01-03 Thread Walter Bright

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.



C++11 - using const and mutable for thread safety [Video]

2013-01-03 Thread Michal Minich
Newly discovered changes in C++11 on using const and mutable for 
thread safety


http://channel9.msdn.com/posts/C-and-Beyond-2012-Herb-Sutter-You-dont-know-blank-and-blank


Re: D 1.076 and 2.061 release

2013-01-03 Thread Walter Bright

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.


vibe.d 0.7.10 released

2013-01-03 Thread Sönke Ludwig
Changes:

 - Compiles on DMD 2.061 (and Win64)

 - The Win32 back end supports TCP sockets

 - Form and REST interface generators have been improved and can handle more 
types

 - Diet templates support arbitrary D expressions instead of just static 
strings for HTML
   attributes now. Boolean values are also supported and do the right thing 
(i.e. omitting
   the attribute in the output if it evaluates to false).


Full change log: http://vibed.org/blog/posts/vibe-release-0.7.10

Download*: http://vibed.org/download?file=vibed-0.7.10.zip

GitHub: https://github.com/rejectedsoftware/vibe.d


* Due to the removal of GitHub's download feature, the zip file is now 
unfortunately hosted on the
same slow virtual server as the site.


Re: D 1.076 and 2.061 release

2013-01-03 Thread Russel Winder
On Thu, 2013-01-03 at 00:55 -0800, Walter Bright wrote:
[…]
 Googling it reveals the usual wishy-washy answers in Ubuntu support forums, 
 even 
 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.

-- 
Russel.
=
Dr Russel Winder  t: +44 20 7585 2200   voip: sip:russel.win...@ekiga.net
41 Buckmaster Roadm: +44 7770 465 077   xmpp: rus...@winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder


signature.asc
Description: This is a digitally signed message part


Re: UIs for Linux [ was Re: D 1.076 and 2.061 release ]

2013-01-03 Thread Russel Winder
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 пишет:
  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
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.

-- 
Russel.
=
Dr Russel Winder  t: +44 20 7585 2200   voip: sip:russel.win...@ekiga.net
41 Buckmaster Roadm: +44 7770 465 077   xmpp: rus...@winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder


signature.asc
Description: This is a digitally signed message part


Re: D 1.076 and 2.061 release

2013-01-03 Thread Walter Bright

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.


Re: D 1.076 and 2.061 release

2013-01-03 Thread Russel Winder
On Thu, 2013-01-03 at 01:26 -0800, Walter Bright wrote:
[…]
 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.

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 – which is what we were doing in 2004 very successfully with
embedded systems. The very existence of TRIM indicates a systemic
problem.

-- 
Russel.
=
Dr Russel Winder  t: +44 20 7585 2200   voip: sip:russel.win...@ekiga.net
41 Buckmaster Roadm: +44 7770 465 077   xmpp: rus...@winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder


signature.asc
Description: This is a digitally signed message part


Re: D 1.076 and 2.061 release

2013-01-03 Thread deadalnix

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.


Re TRIM Support [was Re: D 1.076 and 2.061 release]

2013-01-03 Thread Russel Winder
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.

-- 
Russel.
=
Dr Russel Winder  t: +44 20 7585 2200   voip: sip:russel.win...@ekiga.net
41 Buckmaster Roadm: +44 7770 465 077   xmpp: rus...@winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder


signature.asc
Description: This is a digitally signed message part


Re: vibe.d 0.7.10 released

2013-01-03 Thread Chris

On Thursday, 3 January 2013 at 09:19:57 UTC, Sönke Ludwig wrote:

Changes:

 - Compiles on DMD 2.061 (and Win64)

 - The Win32 back end supports TCP sockets

 - Form and REST interface generators have been improved and 
can handle more types


 - Diet templates support arbitrary D expressions instead of 
just static strings for HTML
   attributes now. Boolean values are also supported and do the 
right thing (i.e. omitting

   the attribute in the output if it evaluates to false).


Full change log: http://vibed.org/blog/posts/vibe-release-0.7.10

Download*: http://vibed.org/download?file=vibed-0.7.10.zip

GitHub: https://github.com/rejectedsoftware/vibe.d


* Due to the removal of GitHub's download feature, the zip file 
is now unfortunately hosted on the

same slow virtual server as the site.


Pretty cool stuff, congratulations. I've had a look at it and as 
I am always looking for alternatives to generally (and 
sheepishly) accepted will do technologies like PHP, JS etc. I 
would like to test and possibly use it for my own web projects. 
Only, it's not 100% clear to me how vibe.d can be integrated into 
existing frameworks / technologies, as when you rent server space 
somewhere. Can vibe.d exist as a standalone framework (i.e. as a 
replacement for PHP) within my own rented space or does it need 
to be installed as a system wide service, in which case it is up 
to the host whether or not to make it available?


Re: vibe.d 0.7.10 released

2013-01-03 Thread Russel Winder
May I suggest you need to do some marketing against:

node.js
vert.x
goweb
revel
Play!
Django
Grails
Ruby on Rails
Flask
Sinatra
Ratpack 

Why would anyone want to use vibe.d in preference to any of the above?
Is there a lightning talk I can do at ACCU, PyCon UK, Gr8Conf, GGX,
EuroPython, etc. to show that the pet Web framework/Web toolkit of the
language of the conference is rubbish in comparison to that of D?

-- 
Russel.
=
Dr Russel Winder  t: +44 20 7585 2200   voip: sip:russel.win...@ekiga.net
41 Buckmaster Roadm: +44 7770 465 077   xmpp: rus...@winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder


signature.asc
Description: This is a digitally signed message part


Re: vibe.d 0.7.10 released

2013-01-03 Thread simendsjo

On Thursday, 3 January 2013 at 10:40:40 UTC, Chris wrote:
Pretty cool stuff, congratulations. I've had a look at it and 
as I am always looking for alternatives to generally (and 
sheepishly) accepted will do technologies like PHP, JS etc. I 
would like to test and possibly use it for my own web projects. 
Only, it's not 100% clear to me how vibe.d can be integrated 
into existing frameworks / technologies, as when you rent 
server space somewhere. Can vibe.d exist as a standalone 
framework (i.e. as a replacement for PHP) within my own rented 
space or does it need to be installed as a system wide service, 
in which case it is up to the host whether or not to make it 
available?


I'm using dmd and vibe on a Linode server without installing them.
Haven't had a single problem with it.


Re: vibe.d 0.7.10 released

2013-01-03 Thread mist
Last time I was performance testing vibe it was almost 4x faster 
than node.js and 1.5 faster than similar Erlang framework (can't 
remember its name now). Plus all static typing and sane async 
syntax goodies as a cherry on top. Was enough to convince me, but 
other language lovers will probably need more arguments :)


On Thursday, 3 January 2013 at 10:55:06 UTC, Russel Winder wrote:

May I suggest you need to do some marketing against:

node.js
vert.x
goweb
revel
Play!
Django
Grails
Ruby on Rails
Flask
Sinatra
Ratpack

Why would anyone want to use vibe.d in preference to any of the 
above?
Is there a lightning talk I can do at ACCU, PyCon UK, Gr8Conf, 
GGX,
EuroPython, etc. to show that the pet Web framework/Web toolkit 
of the
language of the conference is rubbish in comparison to that of 
D?




Re: D 1.076 and 2.061 release

2013-01-03 Thread Jacob Carlborg

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


Re: vibe.d 0.7.10 released

2013-01-03 Thread Jacob Carlborg

On 2013-01-03 11:54, Russel Winder wrote:

May I suggest you need to do some marketing against:

node.js
vert.x
goweb
revel
Play!
Django
Grails
Ruby on Rails
Flask
Sinatra
Ratpack

Why would anyone want to use vibe.d in preference to any of the above?
Is there a lightning talk I can do at ACCU, PyCon UK, Gr8Conf, GGX,
EuroPython, etc. to show that the pet Web framework/Web toolkit of the
language of the conference is rubbish in comparison to that of D?


One of the great things about Ruby on Rails is that it's got a plugin 
for everything (and a bit more).


Oh, and I really like the assets pipeline. It compiles SASS, 
CoffeeScript and similar languages to CSS and JavaScript. It's also 
possible to pipe it through Ruby first. In production environment it 
merges all separate CSS/JavaScript files into one and minifies it. It 
also adds a unique hash to the end of the filename to avoid conflicts 
with cached files.


--
/Jacob Carlborg


Re: D 1.076 and 2.061 release

2013-01-03 Thread Jacob Carlborg

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


Re: vibe.d 0.7.10 released

2013-01-03 Thread Chris

On Thursday, 3 January 2013 at 10:55:06 UTC, Russel Winder wrote:

May I suggest you need to do some marketing against:

node.js
vert.x
goweb
revel
Play!
Django
Grails
Ruby on Rails
Flask
Sinatra
Ratpack

Why would anyone want to use vibe.d in preference to any of the 
above?
Is there a lightning talk I can do at ACCU, PyCon UK, Gr8Conf, 
GGX,
EuroPython, etc. to show that the pet Web framework/Web toolkit 
of the
language of the conference is rubbish in comparison to that of 
D?


I would have to test vibe.d first and I do like to try new 
things, especially because I have had bad experiences with JS, 
PHP, Pyhton and Java based stuff (workwise I have to deal with 
PHP/JS a lot which can be pretty annoying). Every few years 
there's a new definite framework based on one popular language 
or another, a new CMS and what not. But popular does not 
necessarily mean good or flexible. In fact, the bigger a system 
or framework gets, the less flexible it becomes, IMO.


Re: D 1.076 and 2.061 release

2013-01-03 Thread deadalnix

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


Re: D 1.076 and 2.061 release

2013-01-03 Thread Iain Buclaw
On 2 January 2013 18:07, Walter Bright newshou...@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/rubyhttp://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';


Re: D 1.076 and 2.061 release

2013-01-03 Thread Iain Buclaw
On 3 January 2013 11:45, Iain Buclaw ibuc...@ubuntu.com wrote:

 On 2 January 2013 18:07, Walter Bright newshou...@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/rubyhttp://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';


Re: vibe.d 0.7.10 released

2013-01-03 Thread Chris

On Thursday, 3 January 2013 at 10:57:06 UTC, simendsjo wrote:

On Thursday, 3 January 2013 at 10:40:40 UTC, Chris wrote:

I'm using dmd and vibe on a Linode server without installing 
them.

Haven't had a single problem with it.


Good news, but in this case there may be restrictions depending 
on the provider (i.e. restrictions as to installing your own 
software). What are your experiences with vibe.d?


Re: vibe.d 0.7.10 released

2013-01-03 Thread simendsjo

On Thursday, 3 January 2013 at 11:53:01 UTC, Chris wrote:

On Thursday, 3 January 2013 at 10:57:06 UTC, simendsjo wrote:

On Thursday, 3 January 2013 at 10:40:40 UTC, Chris wrote:

I'm using dmd and vibe on a Linode server without installing 
them.

Haven't had a single problem with it.


Good news, but in this case there may be restrictions depending 
on the provider (i.e. restrictions as to installing your own 
software). What are your experiences with vibe.d?


You only have to download the vibe and dmd zips. As long as you 
can run executables you download you should be fine. I haven't 
installed them myself, just added some symlinks to the 
executables.


I've only created a small vibe site, so I don't have a lot of 
experience with it, but it seems very fast and nice. Doesn't 
force you into a particular way of structuring your site.


Re: vibe.d 0.7.10 released

2013-01-03 Thread Chris

On Thursday, 3 January 2013 at 12:22:33 UTC, simendsjo


You only have to download the vibe and dmd zips. As long as you 
can run executables you download you should be fine. I haven't 
installed them myself, just added some symlinks to the 
executables.


I've only created a small vibe site, so I don't have a lot of 
experience with it, but it seems very fast and nice. Doesn't 
force you into a particular way of structuring your site.


That's good news. From what I have seen on the vibe.d homepage I 
think it comes pretty close to what I want, a skeleton I can 
flesh out myself and - as you pointed out - without being forced 
to adhere to a certain way of arranging things, plus it is 
written in D and thus all the language's features can be used for 
web development.




Re: D 1.076 and 2.061 release

2013-01-03 Thread Matthew Caron

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


Re: Visual D 0.3.35 released - semantic analysis considered stable

2013-01-03 Thread Rainer Schuetze



On 01.01.2013 18:45, Zhenya wrote:

On Tuesday, 1 January 2013 at 17:11:31 UTC, thedeemon wrote:

After switching to this version it started to build my windows app as
a console one. It seems to ignore the subsystem choice, I don't see
any mention of -L/SUBSYSTEM: in generated build scripts anymore.

Previously I had 0.3.33, I guess, which compiled and linked in one go,
not in separate steps, it worked fine.


+1
I have the same problem.But it was alright when I used 0.3.34.


Fixed here: 
http://www.dsource.org/projects/visuald/browser/downloads/VisualD-v0.3.36rc2.exe


Re: D 1.076 and 2.061 release

2013-01-03 Thread Jordi Sayol
Al 03/01/13 09:26, En/na Russel Winder ha escrit:
 On Wed, 2013-01-02 at 20:31 +0100, Jordi Sayol wrote:
 […]
 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.
 
 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?
 

1. LMDE is not Debian Testing, it's based on Debian Testing (not shared 
repositories).

2. They update differently. Debian Testing constantly receive updates. Instead, 
LMDE releases “Update Packs” every few months (tested 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 perfect 
Linux release.

Best regards,
-- 
Jordi Sayol



Re: UIs for Linux [ was Re: D 1.076 and 2.061 release ]

2013-01-03 Thread Iain Buclaw
On 3 January 2013 09:29, Russel Winder rus...@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 пишет:
   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
-- 
Iain Buclaw

*(p  e ? p++ : p) = (c  0x0f) + '0';


Re: D 1.076 and 2.061 release

2013-01-03 Thread Andrei Alexandrescu

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



Re: D 1.076 and 2.061 release

2013-01-03 Thread bearophile

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


Re: D 1.076 and 2.061 release

2013-01-03 Thread deadalnix

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()


Re: vibe.d 0.7.10 released

2013-01-03 Thread Sönke Ludwig
Am 03.01.2013 11:54, schrieb Russel Winder:
 May I suggest you need to do some marketing against:
 
   node.js
   vert.x
   goweb
   revel
   Play!
   Django
   Grails
   Ruby on Rails
   Flask
   Sinatra
   Ratpack 
 
 Why would anyone want to use vibe.d in preference to any of the above?
 Is there a lightning talk I can do at ACCU, PyCon UK, Gr8Conf, GGX,
 EuroPython, etc. to show that the pet Web framework/Web toolkit of the
 language of the conference is rubbish in comparison to that of D?
 

I'd say what mist said earlier is the main list of fundamental goodies. It 
surely can't beat some of
the really popular frameworks in terms of pure feature richness (be it through 
extension libraries
or not), but for me it provides a very appealing combination of the individual 
choices plus the
great advantage of being in D.

...D arguably being an advantage in itself compared to many of the other 
languages, but also because
I'm using vibe.d in a larger context - for example in GUI applications(*) - 
where switching
languages for certain operations would not really be practical.

I think for almost all of the frameworks you mentioned it is possible to find 
some compelling
advantages of vibe.d/D (of course also disadvantages, be it just missing 
features). It also depends
a lot on the language that is used.

Having a nice comparison in terms of architecture/design, performance and 
features would definitely
be nice to have and I'd really /like/ to spend more time trying to convince 
people coming from other
languages and all. But during the last months my workload was (and will stay 
for a while) far too
high to be able to spend adequate time on things like these. Priorities 
unfortunately just don't
permit this right now.


(*) GUI event loop integration is (currently limited to Windows) AFAIK a quite 
unique property of
the framework.


Re: D 1.076 and 2.061 release

2013-01-03 Thread Ali Çehreli

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



Re: Visual D 0.3.35 released - semantic analysis considered stable

2013-01-03 Thread thedeemon
Fixed here: 
http://www.dsource.org/projects/visuald/browser/downloads/VisualD-v0.3.36rc2.exe


Fixed indeed. Thanks a lot!


Re: Managing email [ was Re: D 1.076 and 2.061 release ]

2013-01-03 Thread Walter Bright

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



Re: D 1.076 and 2.061 release

2013-01-03 Thread Walter Bright

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.




Re: D 1.076 and 2.061 release

2013-01-03 Thread Walter Bright

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.




Re: D 1.076 and 2.061 release

2013-01-03 Thread Jonathan M Davis
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


Re: D 1.076 and 2.061 release

2013-01-03 Thread Walter Bright

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.




Re: vibe.d 0.7.10 released

2013-01-03 Thread thedeemon

Great news, keep up the good work!

Last month I used previous version to make a simple online app 
for one contest. I developed in Windows and deployed in Linux (a 
small VPS, installed dmd from some package and vibe.d from the 
zip archive). I had only a few hours to make that app and 
everything worked very smoothly. The app is still running and 
after a few weeks of work its memory usage is still just a few 
MBs, and CPU load was always close to 0% (I don't have much 
traffic there though). Thank you for a great product!


My only nuisance was a clash of some DLLs in the path between 
vibe.d and Visual-D. After adding vibe.d dir to system path 
Visual-D started to crash. Have to keep them separated.


Re: D 1.076 and 2.061 release

2013-01-03 Thread Johannes Pfau
Am Thu, 03 Jan 2013 17:43:03 +0100
schrieb bearophile bearophileh...@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.


Re: D 1.076 and 2.061 release

2013-01-03 Thread Walter Bright

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.


Re: Managing email [ was Re: D 1.076 and 2.061 release ]

2013-01-03 Thread Jonathan M Davis
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


Re: Re TRIM Support [was Re: D 1.076 and 2.061 release]

2013-01-03 Thread Walter Bright

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.



Re: Managing email [ was Re: D 1.076 and 2.061 release ]

2013-01-03 Thread Russel Winder
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.

-- 
Russel.
=
Dr Russel Winder  t: +44 20 7585 2200   voip: sip:russel.win...@ekiga.net
41 Buckmaster Roadm: +44 7770 465 077   xmpp: rus...@winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder


signature.asc
Description: This is a digitally signed message part


Re: Managing email [ was Re: D 1.076 and 2.061 release ]

2013-01-03 Thread Matthew Caron

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


Re: D 1.076 and 2.061 release

2013-01-03 Thread Matthew Caron

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


Re: Managing email [ was Re: D 1.076 and 2.061 release ]

2013-01-03 Thread Walter Bright

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.



Re: Managing email [ was Re: D 1.076 and 2.061 release ]

2013-01-03 Thread Walter Bright

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.



Re: Managing email [ was Re: D 1.076 and 2.061 release ]

2013-01-03 Thread Andrei Alexandrescu

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


Re: D 1.076 and 2.061 release

2013-01-03 Thread Jonathan M Davis
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


Re: D 1.076 and 2.061 release

2013-01-03 Thread David Nadlinger
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


Re: D 1.076 and 2.061 release

2013-01-03 Thread Leandro Lucarella
Johannes Pfau, el  3 de January a las 19:37 me escribiste:
 Am Thu, 03 Jan 2013 17:43:03 +0100
 schrieb bearophile bearophileh...@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


Re: Managing email [ was Re: D 1.076 and 2.061 release ]

2013-01-03 Thread Jacob Carlborg

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


Re: vibe.d 0.7.10 released

2013-01-03 Thread Sönke Ludwig
Am 03.01.2013 19:37, schrieb thedeemon:
 Great news, keep up the good work!
 
 Last month I used previous version to make a simple online app for one 
 contest. I developed in
 Windows and deployed in Linux (a small VPS, installed dmd from some package 
 and vibe.d from the zip
 archive). I had only a few hours to make that app and everything worked very 
 smoothly. The app is
 still running and after a few weeks of work its memory usage is still just a 
 few MBs, and CPU load
 was always close to 0% (I don't have much traffic there though). Thank you 
 for a great product!

Sounds great! My experience is also quite trouble-free by now (except for one 
project that has some
kind of memory leak, but I'm not sure who is at fault there). It needs some 
serious stress testing
though, before I'd declare it actually stable (version 0.8.0 an on will be 
the first stable branch).

 
 My only nuisance was a clash of some DLLs in the path between vibe.d and 
 Visual-D. After adding
 vibe.d dir to system path Visual-D started to crash. Have to keep them 
 separated.

That's interesting. I do have occasional crashes in VisualD, but never 
attributed it to that
combination. Do you know any specifics about which DLL might be in conflict? I 
checked with
dependency walker and couldn't see anything suspicious.


Re: Managing email [ was Re: D 1.076 and 2.061 release ]

2013-01-03 Thread Russel Winder
On Thu, 2013-01-03 at 14:17 -0500, Andrei Alexandrescu wrote:
[…]
 Whoa. Four instances I run my own SMTP and IMAP server in about as 
 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.

-- 
Russel.
=
Dr Russel Winder  t: +44 20 7585 2200   voip: sip:russel.win...@ekiga.net
41 Buckmaster Roadm: +44 7770 465 077   xmpp: rus...@winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder


signature.asc
Description: This is a digitally signed message part


Re: D 1.076 and 2.061 release

2013-01-03 Thread Philippe Sigaud
On Thu, Jan 3, 2013 at 9:00 PM, David Nadlinger s...@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

That's a bit short... How can someone coming to D today know this language
has user-defined attributes?


Re: Managing email [ was Re: D 1.076 and 2.061 release ]

2013-01-03 Thread Russel Winder
On Thu, 2013-01-03 at 21:08 +0100, Jacob Carlborg wrote:
[…]
 Next step: becoming your own ISP ?

Define ISP ;-)

-- 
Russel.
=
Dr Russel Winder  t: +44 20 7585 2200   voip: sip:russel.win...@ekiga.net
41 Buckmaster Roadm: +44 7770 465 077   xmpp: rus...@winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder


signature.asc
Description: This is a digitally signed message part


Re: XING Gruppe D Programming Language - XING group D Programming Language

2013-01-03 Thread alex

On Wednesday, 2 January 2013 at 18:38:08 UTC, notna wrote:

On 02.01.2013 19:24, Chris wrote:

A D-ating site? :-)


:D Hopefully on the way to something like that... then mainly 
for business dating ;)


Ha, cool, thanks for creating this group!


Re: Managing email [ was Re: D 1.076 and 2.061 release ]

2013-01-03 Thread Dmitry Olshansky

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


Re: D 1.076 and 2.061 release

2013-01-03 Thread Leandro Lucarella
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
example #7041[1], a feature I implemented myself. The bug report is
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


Re: D 1.076 and 2.061 release

2013-01-03 Thread Pierre Rouleau

On 13-01-03 3:11 PM, Philippe Sigaud wrote:



On Thu, Jan 3, 2013 at 9:00 PM, David Nadlinger s...@klickverbot.at
mailto:s...@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



Re: D 1.076 and 2.061 release

2013-01-03 Thread Iain Buclaw
On 3 January 2013 20:27, Leandro Lucarella l...@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';


Re: D 1.076 and 2.061 release

2013-01-03 Thread Ali Çehreli

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



Re: vibe.d 0.7.10 released

2013-01-03 Thread Michael


Pretty cool stuff, congratulations.


+1)


Re: vibe.d 0.7.10 released

2013-01-03 Thread Nick Sabalausky
On Thu, 03 Jan 2013 12:11:23 +0100
mist n...@none.none wrote:

 Last time I was performance testing vibe it was almost 4x faster 
 than node.js and 1.5 faster than similar Erlang framework (can't 
 remember its name now). Plus all static typing and sane async 
 syntax goodies as a cherry on top. Was enough to convince me, but 
 other language lovers will probably need more arguments :)
 

Another big advantage of Vibe.d (aside from being able to use a sane
language: D.) is the way that the event-loop/fibers/async-IO works.
Doing IO in Vibe.d (or at least just network IO at the moment, AIUI)
looks like synchronous code, and is written just like synchronous code,
but *behind the scenes* it will do it asynchronously and yield to
another fiber (ie another request) while it waits. (In other words, it's
like Node.js, except it's actually fast and easy, instead of awkward and
slow-by-default.) Sooo fucking awesome!!!

That and being able to write everything in D are Vibe.d's two killer
features for me.



Re: D 1.076 and 2.061 release

2013-01-03 Thread deadalnix
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 ?


Re: XING Gruppe D Programming Language - XING group D Programming Language

2013-01-03 Thread notna

Well, come ;)

Btw, many of us have to thank you... for the fantastic Mono-D!!!

On 03.01.2013 21:18, alex wrote:

Ha, cool, thanks for creating this group!




Re: D 1.076 and 2.061 release

2013-01-03 Thread Leandro Lucarella
Iain Buclaw, el  3 de January a las 21:48 me escribiste:
 On 3 January 2013 20:27, Leandro Lucarella l...@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.


Re: D 1.076 and 2.061 release

2013-01-03 Thread deadalnix

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 !


Re: Managing email [ was Re: D 1.076 and 2.061 release ]

2013-01-03 Thread Walter Bright

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?


Re: D 1.076 and 2.061 release

2013-01-03 Thread 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.




Re: D 1.076 and 2.061 release

2013-01-03 Thread Walter Bright

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
example #7041[1], a feature I implemented myself. The bug report is
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.




Re: D 1.076 and 2.061 release

2013-01-03 Thread Walter Bright

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!)


Re: D 1.076 and 2.061 release

2013-01-03 Thread Walter Bright

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.




Re: D 1.076 and 2.061 release

2013-01-03 Thread Bernard Helyer

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


Re: Managing email [ was Re: D 1.076 and 2.061 release ]

2013-01-03 Thread Andrei Alexandrescu

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


Re: D 1.076 and 2.061 release

2013-01-03 Thread Leandro Lucarella
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


Re: D 1.076 and 2.061 release

2013-01-03 Thread Jonathan M Davis
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


Re: D 1.076 and 2.061 release

2013-01-03 Thread Pierre Rouleau

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
example #7041[1], a feature I implemented myself. The bug report is
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




Re: D 1.076 and 2.061 release

2013-01-03 Thread Jonathan M Davis
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


Re: D 1.076 and 2.061 release

2013-01-03 Thread Leandro Lucarella
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
 example #7041[1], a feature I implemented myself. The bug report is
 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
  

Re: D 1.076 and 2.061 release

2013-01-03 Thread Walter Bright

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.




Re: D 1.076 and 2.061 release

2013-01-03 Thread Walter Bright

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-31query_format=advancedchfield=resolutionchfieldfrom=2012-08-02chfieldvalue=FIXEDbug_severity=enhancementbug_status=RESOLVEDversion=D2version=D1%20%26%20D2resolution=FIXEDproduct=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.


Re: D 1.076 and 2.061 release

2013-01-03 Thread Walter Bright

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.


Re: D 1.076 and 2.061 release

2013-01-03 Thread Walter Bright

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.




Re: D 1.076 and 2.061 release

2013-01-03 Thread 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.


Re: D 1.076 and 2.061 release

2013-01-03 Thread Walter Bright

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.




Re: Managing email [ was Re: D 1.076 and 2.061 release ]

2013-01-03 Thread Walter Bright

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.


Re: D 1.076 and 2.061 release

2013-01-03 Thread Walter Bright

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 :-)


Re: D 1.076 and 2.061 release

2013-01-03 Thread Jonathan M Davis
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


Re: D 1.076 and 2.061 release

2013-01-03 Thread Walter Bright

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.


Re: D 1.076 and 2.061 release

2013-01-03 Thread Walter Bright

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.