digitalmars.D.announce - Symmetry Investments and the D Language Foundation are Hiring
- Mike Parker (6/6) Aug 30 2020 Looking for a full-time or part-time gig? Not only is Symmetry
- Bastiaan Veelo (2/3) Aug 30 2020 This is huge! Thank you Symmetry!
- Arjan (2/8) Aug 30 2020 Fantastic! Thanks Symmetry!
- Tove (2/11) Aug 31 2020 Epic, this is a gamechanger!
- bachmeier (6/12) Aug 31 2020 Thanks to Symmetry and the Foundation for this.
- Arun (2/9) Aug 31 2020 Why not SHA-256?
- starcanopy (9/20) Aug 31 2020 I think the majority opinion is that sha1 is fine for
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (5/8) Sep 01 2020 Not a big fan of using hashes, since collisions do arise when you
- Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= (3/5) Sep 01 2020 More like 10-50x...
- Jacob Carlborg (7/13) Sep 01 2020 As an alternative to use SHA-1 hashing. There's the option to
- Stefan Koch (7/22) Sep 01 2020 We think that not recompiling certain modules which have not
- Steven Schveighoffer (4/14) Sep 01 2020 I have to agree with Jacob -- what common situation is changing the
- Stefan Koch (3/18) Sep 01 2020 git update. on CI.
- Stefan Koch (3/23) Sep 01 2020 at least I think that was the problem.
- Patrick Schluter (4/18) Sep 01 2020 git checkout branch
- Steven Schveighoffer (9/27) Sep 02 2020 Is that a part of normal development process? Typically when I want
- Patrick Schluter (5/24) Sep 02 2020 Yes, it happens from time to time and on makefile based it
- Mathias LANG (5/20) Sep 01 2020 Agreed. A server approach would probably scale much better,
- Petar Kirov [ZombineDev] (8/32) Sep 01 2020 We need both a fs-watcher daemon support and "offline"
- drug (7/39) Sep 01 2020 We can easily use the following option:
- Petar Kirov [ZombineDev] (6/32) Sep 02 2020 I understand your idea to make this configurable, but this will
- Andrej Mitrovic (6/12) Sep 02 2020 This is a great initiative!
- Andrej Mitrovic (6/12) Sep 05 2020 One other thing that hashing enables is caching builds. So if you
- drug (11/26) Jan 13 2021 Could you test this feature https://github.com/dlang/dub/pull/2077?
Looking for a full-time or part-time gig? Not only is Symmetry Investments hiring D programmers, they are also generously funding two positions for ecosystem work under the D Language Foundation. And they've put up a bounty for a new DUB feature. Read all about it here: https://dlang.org/blog/2020/08/30/symmetry-investments-and-the-d-language-foundation-are-hiring/
Aug 30 2020
permanent positionThis is huge! Thank you Symmetry! — Bastiaan.
Aug 30 2020
On Sunday, 30 August 2020 at 14:13:36 UTC, Mike Parker wrote:Looking for a full-time or part-time gig? Not only is Symmetry Investments hiring D programmers, they are also generously funding two positions for ecosystem work under the D Language Foundation. And they've put up a bounty for a new DUB feature. Read all about it here: https://dlang.org/blog/2020/08/30/symmetry-investments-and-the-d-language-foundation-are-hiring/Fantastic! Thanks Symmetry!
Aug 30 2020
On Sunday, 30 August 2020 at 20:12:41 UTC, Arjan wrote:On Sunday, 30 August 2020 at 14:13:36 UTC, Mike Parker wrote:Epic, this is a gamechanger!Looking for a full-time or part-time gig? Not only is Symmetry Investments hiring D programmers, they are also generously funding two positions for ecosystem work under the D Language Foundation. And they've put up a bounty for a new DUB feature. Read all about it here: https://dlang.org/blog/2020/08/30/symmetry-investments-and-the-d-language-foundation-are-hiring/Fantastic! Thanks Symmetry!
Aug 31 2020
On Sunday, 30 August 2020 at 14:13:36 UTC, Mike Parker wrote:Looking for a full-time or part-time gig? Not only is Symmetry Investments hiring D programmers, they are also generously funding two positions for ecosystem work under the D Language Foundation. And they've put up a bounty for a new DUB feature. Read all about it here: https://dlang.org/blog/2020/08/30/symmetry-investments-and-the-d-language-foundation-are-hiring/Thanks to Symmetry and the Foundation for this. This is a big deal. I hope there will be announcements posted and promoted after the hires are made. From a marketing perspective, it is initiatives like this that give others the confidence to invest in the language.
Aug 31 2020
On Sunday, 30 August 2020 at 14:13:36 UTC, Mike Parker wrote:Looking for a full-time or part-time gig? Not only is Symmetry Investments hiring D programmers, they are also generously funding two positions for ecosystem work under the D Language Foundation. And they've put up a bounty for a new DUB feature. Read all about it here: https://dlang.org/blog/2020/08/30/symmetry-investments-and-the-d-language-foundation-are-hiring/ SHA-1 hashing throughoutWhy not SHA-256?
Aug 31 2020
On Monday, 31 August 2020 at 19:55:32 UTC, Arun wrote:On Sunday, 30 August 2020 at 14:13:36 UTC, Mike Parker wrote:I think the majority opinion is that sha1 is fine for non-security purposes like monitoring files for changes to obviate superfluous work in a build system; for which DUB seemingly would use the sha1 checksums. I have (had) a script that would backup files, and I'd use sha1 to detect changes instead of sha256 because the latter's storage and computational requirements were not insignificant compared to the former. This is just my perspective, however. I could be talking nonsense.Looking for a full-time or part-time gig? Not only is Symmetry Investments hiring D programmers, they are also generously funding two positions for ecosystem work under the D Language Foundation. And they've put up a bounty for a new DUB feature. Read all about it here: https://dlang.org/blog/2020/08/30/symmetry-investments-and-the-d-language-foundation-are-hiring/ SHA-1 hashing throughoutWhy not SHA-256?
Aug 31 2020
On Monday, 31 August 2020 at 21:24:53 UTC, starcanopy wrote:I think the majority opinion is that sha1 is fine for non-security purposes like monitoring files for changes to obviate superfluous work in a build system;Not a big fan of using hashes, since collisions do arise when you scale things up, but there are fast noncryptographic hashes. Some are like 10-500x faster than SHA1: https://github.com/rurban/smhasher
Sep 01 2020
On Tuesday, 1 September 2020 at 11:53:25 UTC, Ola Fosheim Grøstad wrote:you scale things up, but there are fast noncryptographic hashes. Some are like 10-500x faster than SHA1:More like 10-50x...
Sep 01 2020
On Sunday, 30 August 2020 at 14:13:36 UTC, Mike Parker wrote:Looking for a full-time or part-time gig? Not only is Symmetry Investments hiring D programmers, they are also generously funding two positions for ecosystem work under the D Language Foundation. And they've put up a bounty for a new DUB feature. Read all about it here: https://dlang.org/blog/2020/08/30/symmetry-investments-and-the-d-language-foundation-are-hiring/As an alternative to use SHA-1 hashing. There's the option to have a daemon running the background listing on filesystem events. BTW, is timestamps vs SHA-1 hashing really the most pressing issue with Dub? -- /Jacob Carlborg
Sep 01 2020
On Tuesday, 1 September 2020 at 09:09:36 UTC, Jacob Carlborg wrote:On Sunday, 30 August 2020 at 14:13:36 UTC, Mike Parker wrote:We think that not recompiling certain modules which have not changed will improve our build times. And the task proposed is actually something that can go in without too much struggle. Whereas deeper issues in dub likely take much longer.Looking for a full-time or part-time gig? Not only is Symmetry Investments hiring D programmers, they are also generously funding two positions for ecosystem work under the D Language Foundation. And they've put up a bounty for a new DUB feature. Read all about it here: https://dlang.org/blog/2020/08/30/symmetry-investments-and-the-d-language-foundation-are-hiring/As an alternative to use SHA-1 hashing. There's the option to have a daemon running the background listing on filesystem events. BTW, is timestamps vs SHA-1 hashing really the most pressing issue with Dub? -- /Jacob Carlborg
Sep 01 2020
On 9/1/20 5:38 AM, Stefan Koch wrote:On Tuesday, 1 September 2020 at 09:09:36 UTC, Jacob Carlborg wrote:I have to agree with Jacob -- what common situation is changing the timestamps of your files but not the data? -SteveBTW, is timestamps vs SHA-1 hashing really the most pressing issue with Dub?We think that not recompiling certain modules which have not changed will improve our build times. And the task proposed is actually something that can go in without too much struggle. Whereas deeper issues in dub likely take much longer.
Sep 01 2020
On Tuesday, 1 September 2020 at 13:28:07 UTC, Steven Schveighoffer wrote:On 9/1/20 5:38 AM, Stefan Koch wrote:git update. on CI.On Tuesday, 1 September 2020 at 09:09:36 UTC, Jacob Carlborg wrote:I have to agree with Jacob -- what common situation is changing the timestamps of your files but not the data? -SteveBTW, is timestamps vs SHA-1 hashing really the most pressing issue with Dub?We think that not recompiling certain modules which have not changed will improve our build times. And the task proposed is actually something that can go in without too much struggle. Whereas deeper issues in dub likely take much longer.
Sep 01 2020
On Tuesday, 1 September 2020 at 13:30:33 UTC, Stefan Koch wrote:On Tuesday, 1 September 2020 at 13:28:07 UTC, Steven Schveighoffer wrote:at least I think that was the problem. I have not looked into this personally.On 9/1/20 5:38 AM, Stefan Koch wrote:git update. on CI.On Tuesday, 1 September 2020 at 09:09:36 UTC, Jacob Carlborg wrote:I have to agree with Jacob -- what common situation is changing the timestamps of your files but not the data? -SteveBTW, is timestamps vs SHA-1 hashing really the most pressing issue with Dub?We think that not recompiling certain modules which have not changed will improve our build times. And the task proposed is actually something that can go in without too much struggle. Whereas deeper issues in dub likely take much longer.
Sep 01 2020
On Tuesday, 1 September 2020 at 13:28:07 UTC, Steven Schveighoffer wrote:On 9/1/20 5:38 AM, Stefan Koch wrote:git checkout branch git checkout -On Tuesday, 1 September 2020 at 09:09:36 UTC, Jacob Carlborg wrote:I have to agree with Jacob -- what common situation is changing the timestamps of your files but not the data?BTW, is timestamps vs SHA-1 hashing really the most pressing issue with Dub?We think that not recompiling certain modules which have not changed will improve our build times. And the task proposed is actually something that can go in without too much struggle. Whereas deeper issues in dub likely take much longer.
Sep 01 2020
On 9/1/20 2:38 PM, Patrick Schluter wrote:On Tuesday, 1 September 2020 at 13:28:07 UTC, Steven Schveighoffer wrote:Is that a part of normal development process? Typically when I want incremental building, I'm editing a file, then rebuilding. I mean, you check out a different branch, but you don't want to rebuild everything? I would. And with D, where there are so many templates, almost everything is going to need rebuilding anyway. This update to dub might replace a build-time problem with a build inconsistency problem (hopefully linker error, but possibly code generation differences). -SteveOn 9/1/20 5:38 AM, Stefan Koch wrote:git checkout branch git checkout -On Tuesday, 1 September 2020 at 09:09:36 UTC, Jacob Carlborg wrote:I have to agree with Jacob -- what common situation is changing the timestamps of your files but not the data?BTW, is timestamps vs SHA-1 hashing really the most pressing issue with Dub?We think that not recompiling certain modules which have not changed will improve our build times. And the task proposed is actually something that can go in without too much struggle. Whereas deeper issues in dub likely take much longer.
Sep 02 2020
On Wednesday, 2 September 2020 at 12:50:35 UTC, Steven Schveighoffer wrote:On 9/1/20 2:38 PM, Patrick Schluter wrote:Yes, it happens from time to time and on makefile based it involves recompilations of unchanged files but granted it could be just me.On Tuesday, 1 September 2020 at 13:28:07 UTC, Steven Schveighoffer wrote:Is that a part of normal development process? Typically when I want incremental building, I'm editing a file, then rebuilding. I mean, you check out a different branch, but you don't want to rebuild everything? I would. And with D, where there are so many templates, almost everything is going to need rebuilding anyway. This update to dub might replace a build-time problem with a build inconsistency problem (hopefully linker error, but possibly code generation differences).On 9/1/20 5:38 AM, Stefan Koch wrote:git checkout branch git checkout -[...]I have to agree with Jacob -- what common situation is changing the timestamps of your files but not the data?
Sep 02 2020
On Tuesday, 1 September 2020 at 09:09:36 UTC, Jacob Carlborg wrote:On Sunday, 30 August 2020 at 14:13:36 UTC, Mike Parker wrote:Agreed. A server approach would probably scale much better, if the intent is to speed up the developer's CTR cycle. But in any case, thanks to Symmetry for doing this! This is huge.Looking for a full-time or part-time gig? Not only is Symmetry Investments hiring D programmers, they are also generously funding two positions for ecosystem work under the D Language Foundation. And they've put up a bounty for a new DUB feature. Read all about it here: https://dlang.org/blog/2020/08/30/symmetry-investments-and-the-d-language-foundation-are-hiring/As an alternative to use SHA-1 hashing. There's the option to have a daemon running the background listing on filesystem events. BTW, is timestamps vs SHA-1 hashing really the most pressing issue with Dub? -- /Jacob Carlborg
Sep 01 2020
On Tuesday, 1 September 2020 at 12:59:00 UTC, Mathias LANG wrote:On Tuesday, 1 September 2020 at 09:09:36 UTC, Jacob Carlborg wrote:We need both a fs-watcher daemon support and "offline" incremental build support, based on SHA-256 (note that git is moving away from SHA1 to SHA256 [1]). I'd say SHA-256 is cheap enough these days [2] that I don't see a reason not to use it even for "online" fs-watcher daemon compilation. [1]: https://git-scm.com/docs/hash-function-transition/ [2]: https://bench.cr.yp.to/impl-hash/sha256.htmlOn Sunday, 30 August 2020 at 14:13:36 UTC, Mike Parker wrote:Agreed. A server approach would probably scale much better, if the intent is to speed up the developer's CTR cycle. But in any case, thanks to Symmetry for doing this! This is huge.Looking for a full-time or part-time gig? Not only is Symmetry Investments hiring D programmers, they are also generously funding two positions for ecosystem work under the D Language Foundation. And they've put up a bounty for a new DUB feature. Read all about it here: https://dlang.org/blog/2020/08/30/symmetry-investments-and-the-d-language-foundation-are-hiring/As an alternative to use SHA-1 hashing. There's the option to have a daemon running the background listing on filesystem events. BTW, is timestamps vs SHA-1 hashing really the most pressing issue with Dub? -- /Jacob Carlborg
Sep 01 2020
On 9/1/20 7:34 PM, Petar Kirov [ZombineDev] wrote:On Tuesday, 1 September 2020 at 12:59:00 UTC, Mathias LANG wrote:We can easily use the following option: ``` dub build --hash=sha1 dub build --hash=sha256 ``` and let the user to make the final choiceOn Tuesday, 1 September 2020 at 09:09:36 UTC, Jacob Carlborg wrote:We need both a fs-watcher daemon support and "offline" incremental build support, based on SHA-256 (note that git is moving away from SHA1 to SHA256 [1]). I'd say SHA-256 is cheap enough these days [2] that I don't see a reason not to use it even for "online" fs-watcher daemon compilation. [1]: https://git-scm.com/docs/hash-function-transition/ [2]: https://bench.cr.yp.to/impl-hash/sha256.htmlOn Sunday, 30 August 2020 at 14:13:36 UTC, Mike Parker wrote:Agreed. A server approach would probably scale much better, if the intent is to speed up the developer's CTR cycle. But in any case, thanks to Symmetry for doing this! This is huge.Looking for a full-time or part-time gig? Not only is Symmetry Investments hiring D programmers, they are also generously funding two positions for ecosystem work under the D Language Foundation. And they've put up a bounty for a new DUB feature. Read all about it here: https://dlang.org/blog/2020/08/30/symmetry-investments-and-the-d-language-fo ndation-are-hiring/As an alternative to use SHA-1 hashing. There's the option to have a daemon running the background listing on filesystem events. BTW, is timestamps vs SHA-1 hashing really the most pressing issue with Dub? -- /Jacob Carlborg
Sep 01 2020
On Tuesday, 1 September 2020 at 16:45:55 UTC, drug wrote:On 9/1/20 7:34 PM, Petar Kirov [ZombineDev] wrote:I understand your idea to make this configurable, but this will introduce more complexity than necessary because then $HOME/.dub/packages will have build artifacts based on both SHA1 and SHA256, and so dub will need to support mixed mode file integrity checking.On Tuesday, 1 September 2020 at 12:59:00 UTC, Mathias LANG wrote:We can easily use the following option: ``` dub build --hash=sha1 dub build --hash=sha256 ``` and let the user to make the final choiceOn Tuesday, 1 September 2020 at 09:09:36 UTC, Jacob Carlborg wrote:We need both a fs-watcher daemon support and "offline" incremental build support, based on SHA-256 (note that git is moving away from SHA1 to SHA256 [1]). I'd say SHA-256 is cheap enough these days [2] that I don't see a reason not to use it even for "online" fs-watcher daemon compilation. [1]: https://git-scm.com/docs/hash-function-transition/ [2]: https://bench.cr.yp.to/impl-hash/sha256.html[...]Agreed. A server approach would probably scale much better, if the intent is to speed up the developer's CTR cycle. But in any case, thanks to Symmetry for doing this! This is huge.
Sep 02 2020
On 9/2/20 12:53 PM, Petar Kirov [ZombineDev] wrote:I understand your idea to make this configurable, but this will introduce more complexity than necessary because then $HOME/.dub/packages will have build artifacts based on both SHA1 and SHA256, and so dub will need to support mixed mode file integrity checking.Yesterday I thought about it and now I believe that if you change sha1 to sha256 or vice versa then dub just rebuild all because sha1 and sha256 has different sizes so cached hashes will be different to calculated ones and collisions are impossible. No need to support mixed mode. The drawback is total rebuild on algorithm changing but I suppose it will be seldom operation. Another way is to having several hashes simultaneously and select one of them depending on option value. Implementation of this will be simple.
Sep 02 2020
On 9/2/20 1:18 PM, drug wrote:it will be seldom operation. Another way is to having several hashes simultaneously and select one of them depending on option value.I meant having several hashes in dub cache. Then if the user changes the hash algorithm dub checks calculated hashes against cached ones and avoids total rebuilding.
Sep 02 2020
On 9/2/20 1:21 PM, drug wrote:On 9/2/20 1:18 PM, drug wrote:Hmm, probably I was too confident. I've implemented support for both sha1 and sha256. It takes about 30 lines of additional code but what is worse the code uses classes now and dynamic memory allocation. I would avoid it. But in other it works as I expected: ``` dub build --hash=sha1 dub build --hash=sha256 ``` I do not test it in big projects but building dub does not show any difference in performanceit will be seldom operation. Another way is to having several hashes simultaneously and select one of them depending on option value.I meant having several hashes in dub cache. Then if the user changes the hash algorithm dub checks calculated hashes against cached ones and avoids total rebuilding.
Sep 02 2020
On Sunday, 30 August 2020 at 14:13:36 UTC, Mike Parker wrote:Looking for a full-time or part-time gig? Not only is Symmetry Investments hiring D programmers, they are also generously funding two positions for ecosystem work under the D Language Foundation. And they've put up a bounty for a new DUB feature. Read all about it here: https://dlang.org/blog/2020/08/30/symmetry-investments-and-the-d-language-foundation-are-hiring/This is a great initiative! It's also a great opportunity for up-and-coming D contributors. I know that if I had this chance back many years ago when I was unemployed I would have jumped at the opportunity. So if you're in a similar position don't hesitate to apply!
Sep 02 2020
On Sunday, 30 August 2020 at 14:13:36 UTC, Mike Parker wrote:Looking for a full-time or part-time gig? Not only is Symmetry Investments hiring D programmers, they are also generously funding two positions for ecosystem work under the D Language Foundation. And they've put up a bounty for a new DUB feature. Read all about it here: https://dlang.org/blog/2020/08/30/symmetry-investments-and-the-d-language-foundation-are-hiring/One other thing that hashing enables is caching builds. So if you build, then change a file, then build again, and then revert the file again it would be great if the next build just restored the cached build from the very first build. The less time spent waiting on builds, the better.
Sep 05 2020
On 9/5/20 3:55 PM, Andrej Mitrovic wrote:On Sunday, 30 August 2020 at 14:13:36 UTC, Mike Parker wrote:Could you test this feature https://github.com/dlang/dub/pull/2077? The simple way to do it would be adding this file to the project root directory: ```json { "buildCachePolicy" : "sha1" } ``` This enables hash dependent build based on sha1. Get ready to spent more storage space for your builds, of course.Looking for a full-time or part-time gig? Not only is Symmetry Investments hiring D programmers, they are also generously funding two positions for ecosystem work under the D Language Foundation. And they've put up a bounty for a new DUB feature. Read all about it here: https://dlang.org/blog/2020/08/30/symmetry-investments-and-the-d-language-fo ndation-are-hiring/One other thing that hashing enables is caching builds. So if you build, then change a file, then build again, and then revert the file again it would be great if the next build just restored the cached build from the very first build. The less time spent waiting on builds, the better.
Jan 13 2021