home.social

#csvdiff — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #csvdiff, aggregated by home.social.

  1. RE: floss.social/@janriemer/114760

    New version of #CSVDiff is out! :awesome:

    crates.io/crates/csv-diff

    Thanks to it now using `extract_if` instead of a hacky drain-then-filter impl, you can now e.g. diff your x-mas wishlist against your "actual-gifts-received list" _25% faster_ (and be happy, if no diff is reported)! 🎅 🚀

    ⚠️ The new version has an MSRV of 1.88 (in order to use `extract_if`)!

    See the complete changelog for details:
    gitlab.com/janriemer/csv-diff/

    Happy X-Mas y'all! 🎄 🎁

    #Rust #RustLang #CSV #Crate #Release

  2. RE: floss.social/@janriemer/114760

    New version of #CSVDiff is out! :awesome:

    crates.io/crates/csv-diff

    Thanks to it now using `extract_if` instead of a hacky drain-then-filter impl, you can now e.g. diff your x-mas wishlist against your "actual-gifts-received list" _25% faster_ (and be happy, if no diff is reported)! 🎅 🚀

    ⚠️ The new version has an MSRV of 1.88 (in order to use `extract_if`)!

    See the complete changelog for details:
    gitlab.com/janriemer/csv-diff/

    Happy X-Mas y'all! 🎄 🎁

    #Rust #RustLang #CSV #Crate #Release

  3. RE: floss.social/@janriemer/114760

    New version of #CSVDiff is out! :awesome:

    crates.io/crates/csv-diff

    Thanks to it now using `extract_if` instead of a hacky drain-then-filter impl, you can now e.g. diff your x-mas wishlist against your "actual-gifts-received list" _25% faster_ (and be happy, if no diff is reported)! 🎅 🚀

    ⚠️ The new version has an MSRV of 1.88 (in order to use `extract_if`)!

    See the complete changelog for details:
    gitlab.com/janriemer/csv-diff/

    Happy X-Mas y'all! 🎄 🎁

    #Rust #RustLang #CSV #Crate #Release

  4. RE: floss.social/@janriemer/114760

    New version of #CSVDiff is out! :awesome:

    crates.io/crates/csv-diff

    Thanks to it now using `extract_if` instead of a hacky drain-then-filter impl, you can now e.g. diff your x-mas wishlist against your "actual-gifts-received list" _25% faster_ (and be happy, if no diff is reported)! 🎅 🚀

    ⚠️ The new version has an MSRV of 1.88 (in order to use `extract_if`)!

    See the complete changelog for details:
    gitlab.com/janriemer/csv-diff/

    Happy X-Mas y'all! 🎄 🎁

    #Rust #RustLang #CSV #Crate #Release

  5. RE: floss.social/@janriemer/114760

    New version of #CSVDiff is out! :awesome:

    crates.io/crates/csv-diff

    Thanks to it now using `extract_if` instead of a hacky drain-then-filter impl, you can now e.g. diff your x-mas wishlist against your "actual-gifts-received list" _25% faster_ (and be happy, if no diff is reported)! 🎅 🚀

    ⚠️ The new version has an MSRV of 1.88 (in order to use `extract_if`)!

    See the complete changelog for details:
    gitlab.com/janriemer/csv-diff/

    Happy X-Mas y'all! 🎄 🎁

    #Rust #RustLang #CSV #Crate #Release

  6. I can't wait to use `extract_if` in #CSVDiff! :awesome:

    csv-diff makes use of a "manual" (aka hacky) implementation of it using `drain` (to remove equal csv records) in combination with an "intermediate" HashMap to restore the not-to-be-removed csv records (the ones that are different):

    gitlab.com/janriemer/csv-diff/

    We can _probably_ remove this hacky implementation and replace it with `extract_if`! Very exciting!

    2/2

    #CSVDiff

  7. I can't wait to use `extract_if` in #CSVDiff! :awesome:

    csv-diff makes use of a "manual" (aka hacky) implementation of it using `drain` (to remove equal csv records) in combination with an "intermediate" HashMap to restore the not-to-be-removed csv records (the ones that are different):

    gitlab.com/janriemer/csv-diff/

    We can _probably_ remove this hacky implementation and replace it with `extract_if`! Very exciting!

    2/2

    #CSVDiff

  8. I can't wait to use `extract_if` in #CSVDiff! :awesome:

    csv-diff makes use of a "manual" (aka hacky) implementation of it using `drain` (to remove equal csv records) in combination with an "intermediate" HashMap to restore the not-to-be-removed csv records (the ones that are different):

    gitlab.com/janriemer/csv-diff/

    We can _probably_ remove this hacky implementation and replace it with `extract_if`! Very exciting!

    2/2

    #CSVDiff

  9. I can't wait to use `extract_if` in #CSVDiff! :awesome:

    csv-diff makes use of a "manual" (aka hacky) implementation of it using `drain` (to remove equal csv records) in combination with an "intermediate" HashMap to restore the not-to-be-removed csv records (the ones that are different):

    gitlab.com/janriemer/csv-diff/

    We can _probably_ remove this hacky implementation and replace it with `extract_if`! Very exciting!

    2/2

    #CSVDiff

  10. I can't wait to use `extract_if` in #CSVDiff! :awesome:

    csv-diff makes use of a "manual" (aka hacky) implementation of it using `drain` (to remove equal csv records) in combination with an "intermediate" HashMap to restore the not-to-be-removed csv records (the ones that are different):

    gitlab.com/janriemer/csv-diff/

    We can _probably_ remove this hacky implementation and replace it with `extract_if`! Very exciting!

    2/2

    #CSVDiff

  11. #Fuzzing along in #CSVDiff :awesome:

    In the second screenshot I've highlighted some interesting parts:

    Key field indices are 2 and 3, so when diffing the records, where key fields are highlighted, they'll be compared as `Modify`, because:
    - key fields are equal between left and right record
    - other fields are unequal between left and right record

    The other two records on the right have no corresponding left record - so those are `Add`ed records

    #Rust #FuzzTesting #RustLang #PropertyTesting

  12. #Fuzzing along in #CSVDiff :awesome:

    In the second screenshot I've highlighted some interesting parts:

    Key field indices are 2 and 3, so when diffing the records, where key fields are highlighted, they'll be compared as `Modify`, because:
    - key fields are equal between left and right record
    - other fields are unequal between left and right record

    The other two records on the right have no corresponding left record - so those are `Add`ed records

    #Rust #FuzzTesting #RustLang #PropertyTesting

  13. #Fuzzing along in #CSVDiff :awesome:

    In the second screenshot I've highlighted some interesting parts:

    Key field indices are 2 and 3, so when diffing the records, where key fields are highlighted, they'll be compared as `Modify`, because:
    - key fields are equal between left and right record
    - other fields are unequal between left and right record

    The other two records on the right have no corresponding left record - so those are `Add`ed records

    #Rust #FuzzTesting #RustLang #PropertyTesting

  14. #Fuzzing along in #CSVDiff :awesome:

    In the second screenshot I've highlighted some interesting parts:

    Key field indices are 2 and 3, so when diffing the records, where key fields are highlighted, they'll be compared as `Modify`, because:
    - key fields are equal between left and right record
    - other fields are unequal between left and right record

    The other two records on the right have no corresponding left record - so those are `Add`ed records

    #Rust #FuzzTesting #RustLang #PropertyTesting

  15. #Fuzzing along in #CSVDiff :awesome:

    In the second screenshot I've highlighted some interesting parts:

    Key field indices are 2 and 3, so when diffing the records, where key fields are highlighted, they'll be compared as `Modify`, because:
    - key fields are equal between left and right record
    - other fields are unequal between left and right record

    The other two records on the right have no corresponding left record - so those are `Add`ed records

    #Rust #FuzzTesting #RustLang #PropertyTesting

  16. Huh, seems like I really have been living on the bleeding edge (of #FormalVerification):

    github.com/creusot-rs/creusot/

    The verification in the prev toot is currently not possible in #Creusot due to missing specs for the `Hash` trait and HashMap more broadly. 😔

    Oh well, seems like (at least currently!) I won't be able to fully verify the diffing algorithm of #CSVDiff.🥺

    Options I have now are:
    - Only verify parts of the algorithm (that don't depend on HashMap ops)
    or
    - Use fuzzing/property testing

  17. Huh, seems like I really have been living on the bleeding edge (of #FormalVerification):

    github.com/creusot-rs/creusot/

    The verification in the prev toot is currently not possible in #Creusot due to missing specs for the `Hash` trait and HashMap more broadly. 😔

    Oh well, seems like (at least currently!) I won't be able to fully verify the diffing algorithm of #CSVDiff.🥺

    Options I have now are:
    - Only verify parts of the algorithm (that don't depend on HashMap ops)
    or
    - Use fuzzing/property testing

  18. Huh, seems like I really have been living on the bleeding edge (of #FormalVerification):

    github.com/creusot-rs/creusot/

    The verification in the prev toot is currently not possible in #Creusot due to missing specs for the `Hash` trait and HashMap more broadly. 😔

    Oh well, seems like (at least currently!) I won't be able to fully verify the diffing algorithm of #CSVDiff.🥺

    Options I have now are:
    - Only verify parts of the algorithm (that don't depend on HashMap ops)
    or
    - Use fuzzing/property testing

  19. Huh, seems like I really have been living on the bleeding edge (of #FormalVerification):

    github.com/creusot-rs/creusot/

    The verification in the prev toot is currently not possible in #Creusot due to missing specs for the `Hash` trait and HashMap more broadly. 😔

    Oh well, seems like (at least currently!) I won't be able to fully verify the diffing algorithm of #CSVDiff.🥺

    Options I have now are:
    - Only verify parts of the algorithm (that don't depend on HashMap ops)
    or
    - Use fuzzing/property testing

  20. Huh, seems like I really have been living on the bleeding edge (of #FormalVerification):

    github.com/creusot-rs/creusot/

    The verification in the prev toot is currently not possible in #Creusot due to missing specs for the `Hash` trait and HashMap more broadly. 😔

    Oh well, seems like (at least currently!) I won't be able to fully verify the diffing algorithm of #CSVDiff.🥺

    Options I have now are:
    - Only verify parts of the algorithm (that don't depend on HashMap ops)
    or
    - Use fuzzing/property testing

  21. Just published a new version of csv-diff (v0.1.1) 🚀

    lib.rs/crates/csv-diff

    This fixes a nasty bug regarding sort order of modified csv records. 😖

    Details in the MR/PR:
    gitlab.com/janriemer/csv-diff/

    Also, two new incoming PRs for #qsv, the #CSV toolkit:

    The first updates to the latest csv-diff, fixing aforementioned bug:
    github.com/dathere/qsv/pull/24

    The second fixes a bug regarding conversion from column names to indices:
    github.com/dathere/qsv/pull/24

    #Rust #RustLang #OpenSource #CSVDiff

  22. Just published a new version of csv-diff (v0.1.1) 🚀

    lib.rs/crates/csv-diff

    This fixes a nasty bug regarding sort order of modified csv records. 😖

    Details in the MR/PR:
    gitlab.com/janriemer/csv-diff/

    Also, two new incoming PRs for #qsv, the #CSV toolkit:

    The first updates to the latest csv-diff, fixing aforementioned bug:
    github.com/dathere/qsv/pull/24

    The second fixes a bug regarding conversion from column names to indices:
    github.com/dathere/qsv/pull/24

    #Rust #RustLang #OpenSource #CSVDiff

  23. Just published a new version of csv-diff (v0.1.1) 🚀

    lib.rs/crates/csv-diff

    This fixes a nasty bug regarding sort order of modified csv records. 😖

    Details in the MR/PR:
    gitlab.com/janriemer/csv-diff/

    Also, two new incoming PRs for #qsv, the #CSV toolkit:

    The first updates to the latest csv-diff, fixing aforementioned bug:
    github.com/dathere/qsv/pull/24

    The second fixes a bug regarding conversion from column names to indices:
    github.com/dathere/qsv/pull/24

    #Rust #RustLang #OpenSource #CSVDiff

  24. Just published a new version of csv-diff (v0.1.1) 🚀

    lib.rs/crates/csv-diff

    This fixes a nasty bug regarding sort order of modified csv records. 😖

    Details in the MR/PR:
    gitlab.com/janriemer/csv-diff/

    Also, two new incoming PRs for #qsv, the #CSV toolkit:

    The first updates to the latest csv-diff, fixing aforementioned bug:
    github.com/dathere/qsv/pull/24

    The second fixes a bug regarding conversion from column names to indices:
    github.com/dathere/qsv/pull/24

    #Rust #RustLang #OpenSource #CSVDiff

  25. Just published a new version of csv-diff (v0.1.1) 🚀

    lib.rs/crates/csv-diff

    This fixes a nasty bug regarding sort order of modified csv records. 😖

    Details in the MR/PR:
    gitlab.com/janriemer/csv-diff/

    Also, two new incoming PRs for #qsv, the #CSV toolkit:

    The first updates to the latest csv-diff, fixing aforementioned bug:
    github.com/dathere/qsv/pull/24

    The second fixes a bug regarding conversion from column names to indices:
    github.com/dathere/qsv/pull/24

    #Rust #RustLang #OpenSource #CSVDiff

  26. Ouch, there is another bug and this time it is actually _in #CSVDiff itself_!

    It happens with sorting the results of modified rows (urgh, I'm also not happy with the sorting code).😨

    Thankfully, datatraveller1 already has found a reproducible example - thank you so much! ❤️

    Bug:
    github.com/dathere/qsv/issues/

    I think I already found a solution, but needs rigorous testing first!

    Potential solution:
    github.com/dathere/qsv/issues/

    #qsv #Bug #csv

  27. Ouch, there is another bug and this time it is actually _in #CSVDiff itself_!

    It happens with sorting the results of modified rows (urgh, I'm also not happy with the sorting code).😨

    Thankfully, datatraveller1 already has found a reproducible example - thank you so much! ❤️

    Bug:
    github.com/dathere/qsv/issues/

    I think I already found a solution, but needs rigorous testing first!

    Potential solution:
    github.com/dathere/qsv/issues/

    #qsv #Bug #csv

  28. Ouch, there is another bug and this time it is actually _in #CSVDiff itself_!

    It happens with sorting the results of modified rows (urgh, I'm also not happy with the sorting code).😨

    Thankfully, datatraveller1 already has found a reproducible example - thank you so much! ❤️

    Bug:
    github.com/dathere/qsv/issues/

    I think I already found a solution, but needs rigorous testing first!

    Potential solution:
    github.com/dathere/qsv/issues/

    #qsv #Bug #csv

  29. Ouch, there is another bug and this time it is actually _in #CSVDiff itself_!

    It happens with sorting the results of modified rows (urgh, I'm also not happy with the sorting code).😨

    Thankfully, datatraveller1 already has found a reproducible example - thank you so much! ❤️

    Bug:
    github.com/dathere/qsv/issues/

    I think I already found a solution, but needs rigorous testing first!

    Potential solution:
    github.com/dathere/qsv/issues/

    #qsv #Bug #csv

  30. Ouch, there is another bug and this time it is actually _in #CSVDiff itself_!

    It happens with sorting the results of modified rows (urgh, I'm also not happy with the sorting code).😨

    Thankfully, datatraveller1 already has found a reproducible example - thank you so much! ❤️

    Bug:
    github.com/dathere/qsv/issues/

    I think I already found a solution, but needs rigorous testing first!

    Potential solution:
    github.com/dathere/qsv/issues/

    #qsv #Bug #csv

  31. Nice, I think I found the bug! 🐛

    See all the explanation and possible solution here:

    => github.com/dathere/qsv/issues/

    Workaround is also present and explained, so should be no blocker for people.

    Will prob provide a fix on the weekend. 🤞

    #CSVDiff #qsv #Bug #Fix #Bugfix

  32. Nice, I think I found the bug! 🐛

    See all the explanation and possible solution here:

    => github.com/dathere/qsv/issues/

    Workaround is also present and explained, so should be no blocker for people.

    Will prob provide a fix on the weekend. 🤞

    #CSVDiff #qsv #Bug #Fix #Bugfix

  33. Nice, I think I found the bug! 🐛

    See all the explanation and possible solution here:

    => github.com/dathere/qsv/issues/

    Workaround is also present and explained, so should be no blocker for people.

    Will prob provide a fix on the weekend. 🤞

    #CSVDiff #qsv #Bug #Fix #Bugfix

  34. Nice, I think I found the bug! 🐛

    See all the explanation and possible solution here:

    => github.com/dathere/qsv/issues/

    Workaround is also present and explained, so should be no blocker for people.

    Will prob provide a fix on the weekend. 🤞

    #CSVDiff #qsv #Bug #Fix #Bugfix

  35. Nice, I think I found the bug! 🐛

    See all the explanation and possible solution here:

    => github.com/dathere/qsv/issues/

    Workaround is also present and explained, so should be no blocker for people.

    Will prob provide a fix on the weekend. 🤞

    #CSVDiff #qsv #Bug #Fix #Bugfix

  36. Uh ohhhh, someone reported a bug in qsv's `diff` command.😮 🙈

    github.com/dathere/qsv/issues/

    Hopefully, we can resolve this soon! 🤞🥺

    I have a strong suspicion, but let's see... I need more info first from the OP.

    #Bug #Issue #CSVDiff #Diff #CLI #qsv

  37. Uh ohhhh, someone reported a bug in qsv's `diff` command.😮 🙈

    github.com/dathere/qsv/issues/

    Hopefully, we can resolve this soon! 🤞🥺

    I have a strong suspicion, but let's see... I need more info first from the OP.

    #Bug #Issue #CSVDiff #Diff #CLI #qsv

  38. Uh ohhhh, someone reported a bug in qsv's `diff` command.😮 🙈

    github.com/dathere/qsv/issues/

    Hopefully, we can resolve this soon! 🤞🥺

    I have a strong suspicion, but let's see... I need more info first from the OP.

    #Bug #Issue #CSVDiff #Diff #CLI #qsv

  39. Uh ohhhh, someone reported a bug in qsv's `diff` command.😮 🙈

    github.com/dathere/qsv/issues/

    Hopefully, we can resolve this soon! 🤞🥺

    I have a strong suspicion, but let's see... I need more info first from the OP.

    #Bug #Issue #CSVDiff #Diff #CLI #qsv

  40. Uh ohhhh, someone reported a bug in qsv's `diff` command.😮 🙈

    github.com/dathere/qsv/issues/

    Hopefully, we can resolve this soon! 🤞🥺

    I have a strong suspicion, but let's see... I need more info first from the OP.

    #Bug #Issue #CSVDiff #Diff #CLI #qsv

  41. @shuttle I consequently use #TDD, where possible.

    Yes, sure, #Rust prevents a lot of bugs at compile time already, but not logic bugs.

    For example in #CSVDiff we have ~70 unit tests and ~12 integration tests. The only "bug report" we have ever gotten was due to a corrupted CSV file (being mistaken with a bug in diff):

    See here (qsv):
    github.com/jqnatividad/qsv/iss

    csv-diff:
    gitlab.com/janriemer/csv-diff

    In the future I'd like to add property and mutation testing as well 🤓

    #RustLang #Testing #UnitTest

  42. @shuttle I consequently use #TDD, where possible.

    Yes, sure, #Rust prevents a lot of bugs at compile time already, but not logic bugs.

    For example in #CSVDiff we have ~70 unit tests and ~12 integration tests. The only "bug report" we have ever gotten was due to a corrupted CSV file (being mistaken with a bug in diff):

    See here (qsv):
    github.com/jqnatividad/qsv/iss

    csv-diff:
    gitlab.com/janriemer/csv-diff

    In the future I'd like to add property and mutation testing as well 🤓

    #RustLang #Testing #UnitTest

  43. @shuttle I consequently use #TDD, where possible.

    Yes, sure, #Rust prevents a lot of bugs at compile time already, but not logic bugs.

    For example in #CSVDiff we have ~70 unit tests and ~12 integration tests. The only "bug report" we have ever gotten was due to a corrupted CSV file (being mistaken with a bug in diff):

    See here (qsv):
    github.com/jqnatividad/qsv/iss

    csv-diff:
    gitlab.com/janriemer/csv-diff

    In the future I'd like to add property and mutation testing as well 🤓

    #RustLang #Testing #UnitTest

  44. @shuttle I consequently use #TDD, where possible.

    Yes, sure, #Rust prevents a lot of bugs at compile time already, but not logic bugs.

    For example in #CSVDiff we have ~70 unit tests and ~12 integration tests. The only "bug report" we have ever gotten was due to a corrupted CSV file (being mistaken with a bug in diff):

    See here (qsv):
    github.com/jqnatividad/qsv/iss

    csv-diff:
    gitlab.com/janriemer/csv-diff

    In the future I'd like to add property and mutation testing as well 🤓

    #RustLang #Testing #UnitTest

  45. @shuttle I consequently use #TDD, where possible.

    Yes, sure, #Rust prevents a lot of bugs at compile time already, but not logic bugs.

    For example in #CSVDiff we have ~70 unit tests and ~12 integration tests. The only "bug report" we have ever gotten was due to a corrupted CSV file (being mistaken with a bug in diff):

    See here (qsv):
    github.com/jqnatividad/qsv/iss

    csv-diff:
    gitlab.com/janriemer/csv-diff

    In the future I'd like to add property and mutation testing as well 🤓

    #RustLang #Testing #UnitTest

  46. #CsvDiff has finally reached v0.1.0, it's first ever non-alpha/-beta release! 🎉

    New features like getting at the headers from the diffresult have been needed for the following PR in qsv (which is in final review):
    github.com/jqnatividad/qsv/pul

    When merged, you'll be able to decide, whether the diffresult should output headers or not (see examples in the PR). :awesome:

    Check out csv-diff's Changelog for the full details:
    gitlab.com/janriemer/csv-diff/

    #CSV #qsv #CLI #DataScience #DataEngineering

  47. #CsvDiff has finally reached v0.1.0, it's first ever non-alpha/-beta release! 🎉

    New features like getting at the headers from the diffresult have been needed for the following PR in qsv (which is in final review):
    github.com/jqnatividad/qsv/pul

    When merged, you'll be able to decide, whether the diffresult should output headers or not (see examples in the PR). :awesome:

    Check out csv-diff's Changelog for the full details:
    gitlab.com/janriemer/csv-diff/

    #CSV #qsv #CLI #DataScience #DataEngineering

  48. #CsvDiff has finally reached v0.1.0, it's first ever non-alpha/-beta release! 🎉

    New features like getting at the headers from the diffresult have been needed for the following PR in qsv (which is in final review):
    github.com/jqnatividad/qsv/pul

    When merged, you'll be able to decide, whether the diffresult should output headers or not (see examples in the PR). :awesome:

    Check out csv-diff's Changelog for the full details:
    gitlab.com/janriemer/csv-diff/

    #CSV #qsv #CLI #DataScience #DataEngineering

  49. #CsvDiff has finally reached v0.1.0, it's first ever non-alpha/-beta release! 🎉

    New features like getting at the headers from the diffresult have been needed for the following PR in qsv (which is in final review):
    github.com/jqnatividad/qsv/pul

    When merged, you'll be able to decide, whether the diffresult should output headers or not (see examples in the PR). :awesome:

    Check out csv-diff's Changelog for the full details:
    gitlab.com/janriemer/csv-diff/

    #CSV #qsv #CLI #DataScience #DataEngineering

  50. #CsvDiff has finally reached v0.1.0, it's first ever non-alpha/-beta release! 🎉

    New features like getting at the headers from the diffresult have been needed for the following PR in qsv (which is in final review):
    github.com/jqnatividad/qsv/pul

    When merged, you'll be able to decide, whether the diffresult should output headers or not (see examples in the PR). :awesome:

    Check out csv-diff's Changelog for the full details:
    gitlab.com/janriemer/csv-diff/

    #CSV #qsv #CLI #DataScience #DataEngineering