Jump to page: 1 2
Thread overview
Digger can now build D versions from the future
Apr 01, 2014
Vladimir Panteleev
Apr 01, 2014
ponce
Apr 01, 2014
Andrew Edwards
Apr 02, 2014
Vladimir Panteleev
Apr 01, 2014
eles
Apr 01, 2014
Ali Çehreli
Apr 01, 2014
Rory McGuire
Apr 01, 2014
Ali Çehreli
Apr 01, 2014
Meta
Apr 02, 2014
Vladimir Panteleev
April 01, 2014
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!
April 01, 2014
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).



April 01, 2014
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
April 01, 2014
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.
April 01, 2014
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
April 01, 2014
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

April 01, 2014
On Tue, 01 Apr 2014 08:34:24 -0400, Ali Çehreli <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 tool
>> Digger.
>
> Impressive but have you tried DustMite:
>
>    https://github.com/CyberShadow/DustMite/wiki

pssst: I think Vladimir personally knows that CyberShadow guy.

-Steve
April 01, 2014
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.


April 01, 2014
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

April 01, 2014
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

« First   ‹ Prev
1 2