www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Digger can now build D versions from the future

reply "Vladimir Panteleev" <vladimir thecybershadow.net> writes:
Hi everyone,

It is my great pleasure to announce a new feature addition to the 
tool Digger.

Digger's goal is to be able to build D versions from any point in 
D's history. As it has already conquered the present (building D 
from git master) and past (building D from any git commit), only 
one final frontier remained: the future!

Although this might sound like an impossible feat which would 
violate causality, recent advancements in D-wave quantum 
tunnelling have made this possible and safe (mostly), and I've 
put together a simple implementation.

I've tried it out, and it works on my machine. However, due to 
there being an infinite number of possible eventualities, user 
input is required: whereas before only a timestamp or version 
number sufficed, to utilise this feature the user must select the 
desired features that their future D version must have, and 
Digger shall locate a timeline where D has the selected features, 
and tunnel it across, onto the user's hard drive.

Here is what the user interface looks like (fragment):
http://dump.thecybershadow.net/2d5de238000f1f933e9b9011678d7dc2/000000F0.png

Note that due to technical reasons, Digger can only lock on to 
timelines with additions proposed at the moment of tunnelling. 
Nevertheless, these are exciting times! With this prescient 
capability, we can find regressions before they end up in D, or 
predict proposal conflicts before they materialise!

If you'd like to give it a spin, the source repository is here:

http://github.com/CyberShadow/Digger

Pre-built Windows binaries are also available:

http://dump.thecybershadow.net/c40ab2bcb1df22e4a7072cdf00341d18/digger-web.7z

Launch digger-web to access the user interface!

Further improvements can be expected in the near future, and 
feedback is welcome as always. Dig safely!
Apr 01 2014
next sibling parent "ponce" <contact gam3sfrommars.fr> writes:
On Tuesday, 1 April 2014 at 07:01:20 UTC, Vladimir Panteleev 
wrote:
 Hi everyone,

 It is my great pleasure to announce a new feature addition to 
 the tool Digger.

 Digger's goal is to be able to build D versions from any point 
 in D's history. As it has already conquered the present 
 (building D from git master) and past (building D from any git 
 commit), only one final frontier remained: the future!

 Although this might sound like an impossible feat which would 
 violate causality, recent advancements in D-wave quantum 
 tunnelling have made this possible and safe (mostly), and I've 
 put together a simple implementation.

 I've tried it out, and it works on my machine. However, due to 
 there being an infinite number of possible eventualities, user 
 input is required: whereas before only a timestamp or version 
 number sufficed, to utilise this feature the user must select 
 the desired features that their future D version must have, and 
 Digger shall locate a timeline where D has the selected 
 features, and tunnel it across, onto the user's hard drive.

 Here is what the user interface looks like (fragment):
 http://dump.thecybershadow.net/2d5de238000f1f933e9b9011678d7dc2/000000F0.png

 Note that due to technical reasons, Digger can only lock on to 
 timelines with additions proposed at the moment of tunnelling. 
 Nevertheless, these are exciting times! With this prescient 
 capability, we can find regressions before they end up in D, or 
 predict proposal conflicts before they materialise!

 If you'd like to give it a spin, the source repository is here:

 http://github.com/CyberShadow/Digger

 Pre-built Windows binaries are also available:

 http://dump.thecybershadow.net/c40ab2bcb1df22e4a7072cdf00341d18/digger-web.7z

 Launch digger-web to access the user interface!

 Further improvements can be expected in the near future, and 
 feedback is welcome as always. Dig safely!
Interesting! This reminds me a lot of an application of prescient computing I've seen out of a MIT + NSA collaboration. By simply reversing SHA-1 hashes from the future of a git changelog, they were able to guess the content of future commits. Because of hash collisions multiplicity, user guidance was actually needed, but this was alleviated by the use of a longest common sub-string algorithm on all patch candidates (which is were I told them it would be way cleaner to write this with D ranges).
Apr 01 2014
prev sibling next sibling parent reply Andrew Edwards <ridimz yahoo.com> writes:
On 4/1/14, 3:01 AM, Vladimir Panteleev wrote:
 Hi everyone,

 It is my great pleasure to announce a new feature addition to the tool
 Digger.

 Digger's goal is to be able to build D versions from any point in D's
 history. As it has already conquered the present (building D from git
 master) and past (building D from any git commit), only one final
 frontier remained: the future!
This is fantastic news. I'm eager to give it a whirl so I cloned and attempted to build but encountered the following issues: huekomundo:Digger andrewedwards$ rdmd --build-only digger ae/sys/signals.d(55): Error: undefined identifier SIG_BLOCK ae/sys/signals.d(65): Error: undefined identifier sigtimedwait ae/sys/signals.d(60): Error: undefined identifier SIG_SETMASK ae/sys/data.d(521): Error: undefined identifier pageSize I'm using DMD v2.065.0 on Mac OSX 10.9 (Mavericks). Thanks, Andrew
Apr 01 2014
parent "Vladimir Panteleev" <vladimir thecybershadow.net> writes:
On Tuesday, 1 April 2014 at 07:27:03 UTC, Andrew Edwards wrote:
 On 4/1/14, 3:01 AM, Vladimir Panteleev wrote:
 Hi everyone,

 It is my great pleasure to announce a new feature addition to 
 the tool
 Digger.

 Digger's goal is to be able to build D versions from any point 
 in D's
 history. As it has already conquered the present (building D 
 from git
 master) and past (building D from any git commit), only one 
 final
 frontier remained: the future!
This is fantastic news. I'm eager to give it a whirl so I cloned and attempted to build but encountered the following issues: huekomundo:Digger andrewedwards$ rdmd --build-only digger ae/sys/signals.d(55): Error: undefined identifier SIG_BLOCK ae/sys/signals.d(65): Error: undefined identifier sigtimedwait ae/sys/signals.d(60): Error: undefined identifier SIG_SETMASK ae/sys/data.d(521): Error: undefined identifier pageSize I'm using DMD v2.065.0 on Mac OSX 10.9 (Mavericks).
I've pushed some OS X fixes, please give it another go.
Apr 02 2014
prev sibling next sibling parent "eles" <eles eles.com> writes:
On Tuesday, 1 April 2014 at 07:01:20 UTC, Vladimir Panteleev 
wrote:

 Although this might sound like an impossible feat which would 
 violate causality, recent advancements in D-wave quantum 
 tunnelling have made this possible and safe (mostly), and I've 
 put together a simple implementation.
I would like to confirm the feature, it works on my machine, too. May I suggest a name change in order to mark such breakthrough? I suggest "Shovel", which is far more romantic than "Digger". BTW, does it support the soon-to-come git SHA-512 hashes? This would guarantee compatibility with future version of git, too.
Apr 01 2014
prev sibling next sibling parent "Steven Schveighoffer" <schveiguy yahoo.com> writes:
On Tue, 01 Apr 2014 03:01:18 -0400, Vladimir Panteleev  
<vladimir thecybershadow.net> wrote:

 Hi everyone,

 It is my great pleasure to announce a new feature addition to the tool  
 Digger.

 Digger's goal is to be able to build D versions from any point in D's  
 history. As it has already conquered the present (building D from git  
 master) and past (building D from any git commit), only one final  
 frontier remained: the future!

 Although this might sound like an impossible feat which would violate  
 causality, recent advancements in D-wave quantum tunnelling have made  
 this possible and safe (mostly), and I've put together a simple  
 implementation.

 I've tried it out, and it works on my machine. However, due to there  
 being an infinite number of possible eventualities, user input is  
 required: whereas before only a timestamp or version number sufficed, to  
 utilise this feature the user must select the desired features that  
 their future D version must have, and Digger shall locate a timeline  
 where D has the selected features, and tunnel it across, onto the user's  
 hard drive.

 Here is what the user interface looks like (fragment):
 http://dump.thecybershadow.net/2d5de238000f1f933e9b9011678d7dc2/000000F0.png

 Note that due to technical reasons, Digger can only lock on to timelines  
 with additions proposed at the moment of tunnelling. Nevertheless, these  
 are exciting times! With this prescient capability, we can find  
 regressions before they end up in D, or predict proposal conflicts  
 before they materialise!

 If you'd like to give it a spin, the source repository is here:

 http://github.com/CyberShadow/Digger

 Pre-built Windows binaries are also available:

 http://dump.thecybershadow.net/c40ab2bcb1df22e4a7072cdf00341d18/digger-web.7z

 Launch digger-web to access the user interface!

 Further improvements can be expected in the near future, and feedback is  
 welcome as always. Dig safely!
Downloaded it now. I love the to-be-announced D-go compatibility layer. It makes my hybrid projects so much easier to write! I've already found 2 progressions, I'll file those today. -Steve
Apr 01 2014
prev sibling next sibling parent reply =?UTF-8?B?QWxpIMOHZWhyZWxp?= <acehreli yahoo.com> writes:
On 04/01/2014 12:01 AM, Vladimir Panteleev wrote:

 It is my great pleasure to announce a new feature addition to the tool
 Digger.
Impressive but have you tried DustMite: https://github.com/CyberShadow/DustMite/wiki I had great results with DustMite on dmd source code, running it backwards (e.g. dustMite.retro). It is working on implementing first-class tuples as we speak. Ali
Apr 01 2014
parent reply "Steven Schveighoffer" <schveiguy yahoo.com> writes:
On Tue, 01 Apr 2014 08:34:24 -0400, Ali =C3=87ehreli <acehreli yahoo.com=
 wrote:
 On 04/01/2014 12:01 AM, Vladimir Panteleev wrote:

 It is my great pleasure to announce a new feature addition to the too=
l
 Digger.
Impressive but have you tried DustMite: https://github.com/CyberShadow/DustMite/wiki
pssst: I think Vladimir personally knows that CyberShadow guy. -Steve
Apr 01 2014
parent reply Rory McGuire <rjmcguire gmail.com> writes:
On Tue, Apr 1, 2014 at 2:40 PM, Steven Schveighoffer <schveiguy yahoo.com>wrote:

 pssst: I think Vladimir personally knows that CyberShadow guy.

 -Steve
!! :D lol, that is classic.
Apr 01 2014
parent reply =?UTF-8?B?QWxpIMOHZWhyZWxp?= <acehreli yahoo.com> writes:
On 04/01/2014 07:55 AM, Rory McGuire wrote:
 On Tue, Apr 1, 2014 at 2:40 PM, Steven Schveighoffer
<schveiguy yahoo.com>wrote:

 pssst: I think Vladimir personally knows that CyberShadow guy.

 -Steve
!! :D lol, that is classic.
Even funnier: I've met both Vladimir and CyberShadow in person. ;) Ali
Apr 01 2014
parent "Meta" <jared771 gmail.com> writes:
On Tuesday, 1 April 2014 at 16:01:18 UTC, Ali Çehreli wrote:
 On 04/01/2014 07:55 AM, Rory McGuire wrote:
 On Tue, Apr 1, 2014 at 2:40 PM, Steven Schveighoffer 
 <schveiguy yahoo.com>wrote:

 pssst: I think Vladimir personally knows that CyberShadow guy.

 -Steve
!! :D lol, that is classic.
Even funnier: I've met both Vladimir and CyberShadow in person. ;) Ali
But have you ever seen them in the same room together? O.o
Apr 01 2014
prev sibling next sibling parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 4/1/14, 12:01 AM, Vladimir Panteleev wrote:
 Hi everyone,

 It is my great pleasure to announce a new feature addition to the tool
 Digger.
Very interesting. I think this can quite easily generalize not only to the D compiler but to arbitrary programs. -- Andrei
Apr 01 2014
prev sibling parent "Vladimir Panteleev" <vladimir thecybershadow.net> writes:
On Tuesday, 1 April 2014 at 07:01:20 UTC, Vladimir Panteleev 
wrote:
 Pre-built Windows binaries are also available:

 http://dump.thecybershadow.net/c40ab2bcb1df22e4a7072cdf00341d18/digger-web.7z
Apologies, this archive is busted thanks to a DMD wrong-code bug: https://d.puremagic.com/issues/show_bug.cgi?id=12503 Here is a working archive: http://dump.thecybershadow.net/ac04351c34fbd5417c8abf452053a3f0/digger-web.7z
Apr 02 2014