div_mod_knuth added

Added div_mod_knuth division for two large >128bit numbers. Resolves #16.

Sure,
bench before:
U256::add               time:   [1.6429 ns 1.6462 ns 1.6499 ns]
Found 15 outliers among 100 measurements (15.00%)
7 (7.00%) low mild
7 (7.00%) high mild
1 (1.00%) high severe
U256::div (lo/lo)       time:   [8.1225 ns 8.1331 ns 8.1452 ns]
Found 15 outliers among 100 measurements (15.00%)
5 (5.00%) high mild
10 (10.00%) high severe
U256::div (hi/lo)       time:   [19.067 ns 19.083 ns 19.100 ns]
Found 6 outliers among 100 measurements (6.00%)
2 (2.00%) low mild
4 (4.00%) high mild
U256::div (hi/hi)       time:   [171.46 ns 172.14 ns 172.87 ns]
U256::mul               time:   [2.6050 ns 2.6064 ns 2.6078 ns]
Found 9 outliers among 100 measurements (9.00%)
1 (1.00%) low severe
1 (1.00%) low mild
5 (5.00%) high mild
2 (2.00%) high severe
U256::sub               time:   [1.6185 ns 1.6207 ns 1.6232 ns]
Found 5 outliers among 100 measurements (5.00%)
4 (4.00%) high mild
1 (1.00%) high severe
U256::shl               time:   [1.9257 ns 1.9313 ns 1.9371 ns]
Found 6 outliers among 100 measurements (6.00%)
4 (4.00%) high mild
2 (2.00%) high severe
U256::shr               time:   [1.7386 ns 1.7402 ns 1.7424 ns]
Found 17 outliers among 100 measurements (17.00%)
4 (4.00%) high mild
13 (13.00%) high severe
U256::ctlz              time:   [798.04 ps 798.59 ps 799.28 ps]
Found 13 outliers among 100 measurements (13.00%)
2 (2.00%) low mild
3 (3.00%) high mild
8 (8.00%) high severe
U256::cttz              time:   [881.57 ps 882.25 ps 883.15 ps]
Found 8 outliers among 100 measurements (8.00%)
4 (4.00%) high mild
4 (4.00%) high severe
U256::rotate_left       time:   [2.9088 ns 2.9195 ns 2.9321 ns]
Found 16 outliers among 100 measurements (16.00%)
2 (2.00%) high mild
14 (14.00%) high severe
U256::rotate_right      time:   [2.7154 ns 2.7197 ns 2.7249 ns]
Found 14 outliers among 100 measurements (14.00%)
2 (2.00%) low mild
2 (2.00%) high mild
10 (10.00%) high severe
and after:
U256::add               time:   [1.6201 ns 1.6232 ns 1.6267 ns]
change: [-1.5315% -1.1987% -0.8861%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 4 outliers among 100 measurements (4.00%)
4 (4.00%) high mild
U256::div (lo/lo)       time:   [8.1195 ns 8.1333 ns 8.1489 ns]
change: [-0.2028% -0.0507% +0.1022%] (p = 0.52 > 0.05)
No change in performance detected.
Found 12 outliers among 100 measurements (12.00%)
5 (5.00%) high mild
7 (7.00%) high severe
U256::div (hi/lo)       time:   [19.281 ns 19.295 ns 19.309 ns]
change: [+1.0802% +1.2256% +1.3774%] (p = 0.00 < 0.05)
Performance has regressed.
Found 8 outliers among 100 measurements (8.00%)
4 (4.00%) high mild
4 (4.00%) high severe
U256::div (hi/hi)       time:   [24.055 ns 24.095 ns 24.141 ns]
change: [-86.074% -86.006% -85.935%] (p = 0.00 < 0.05)
Performance has improved.
Found 4 outliers among 100 measurements (4.00%)
1 (1.00%) low mild
1 (1.00%) high mild
2 (2.00%) high severe
U256::mul               time:   [2.6083 ns 2.6114 ns 2.6154 ns]
change: [+0.3169% +0.7328% +1.2796%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 6 outliers among 100 measurements (6.00%)
4 (4.00%) high mild
2 (2.00%) high severe
U256::sub               time:   [1.6206 ns 1.6233 ns 1.6262 ns]
change: [-0.0591% +0.1864% +0.4386%] (p = 0.15 > 0.05)
No change in performance detected.
Found 2 outliers among 100 measurements (2.00%)
1 (1.00%) high mild
1 (1.00%) high severe
U256::shl               time:   [1.9175 ns 1.9225 ns 1.9283 ns]
change: [-0.6044% -0.1814% +0.2108%] (p = 0.39 > 0.05)
No change in performance detected.
Found 6 outliers among 100 measurements (6.00%)
2 (2.00%) high mild
4 (4.00%) high severe
U256::shr               time:   [1.7385 ns 1.7405 ns 1.7439 ns]
change: [-0.4575% -0.1798% +0.0966%] (p = 0.21 > 0.05)
No change in performance detected.
Found 11 outliers among 100 measurements (11.00%)
3 (3.00%) high mild
8 (8.00%) high severe
U256::ctlz              time:   [799.83 ps 801.46 ps 803.33 ps]
change: [+0.8143% +1.2245% +1.6966%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 4 outliers among 100 measurements (4.00%)
1 (1.00%) high mild
3 (3.00%) high severe
U256::cttz              time:   [884.29 ps 885.95 ps 887.80 ps]
change: [+0.1541% +0.3471% +0.5903%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 7 outliers among 100 measurements (7.00%)
6 (6.00%) high mild
1 (1.00%) high severe
U256::rotate_left       time:   [2.9030 ns 2.9095 ns 2.9165 ns]
change: [-0.4245% -0.1878% +0.0451%] (p = 0.13 > 0.05)
No change in performance detected.
Found 9 outliers among 100 measurements (9.00%)
9 (9.00%) high severe
U256::rotate_right      time:   [2.7006 ns 2.7032 ns 2.7068 ns]
change: [-0.6416% -0.4652% -0.3043%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 12 outliers among 100 measurements (12.00%)
5 (5.00%) high mild
7 (7.00%) high severe

Previous post was on my desktop PC Intel i12900K. Below is the Graviton 3 (c7g amazon aws instance) bench:
Before:
U256::add               time:   [5.4664 ns 5.4688 ns 5.4718 ns]
Found 4 outliers among 100 measurements (4.00%)
1 (1.00%) low severe
2 (2.00%) low mild
1 (1.00%) high severe
U256::div (lo/lo)       time:   [20.475 ns 20.477 ns 20.479 ns]
Found 19 outliers among 100 measurements (19.00%)
1 (1.00%) low severe
10 (10.00%) low mild
7 (7.00%) high mild
1 (1.00%) high severe
U256::div (hi/lo)       time:   [94.612 ns 94.762 ns 94.916 ns]
U256::div (hi/hi)       time:   [336.59 ns 336.61 ns 336.63 ns]
Found 7 outliers among 100 measurements (7.00%)
1 (1.00%) low severe
5 (5.00%) high mild
1 (1.00%) high severe
U256::mul               time:   [5.5886 ns 5.5908 ns 5.5931 ns]
Found 4 outliers among 100 measurements (4.00%)
1 (1.00%) low severe
1 (1.00%) low mild
2 (2.00%) high mild
U256::sub               time:   [5.4582 ns 5.4601 ns 5.4619 ns]
Found 8 outliers among 100 measurements (8.00%)
1 (1.00%) low severe
3 (3.00%) low mild
4 (4.00%) high mild
U256::shl               time:   [4.2159 ns 4.2164 ns 4.2169 ns]
Found 5 outliers among 100 measurements (5.00%)
1 (1.00%) low mild
4 (4.00%) high severe
U256::shr               time:   [4.1342 ns 4.1354 ns 4.1369 ns]
Found 13 outliers among 100 measurements (13.00%)
7 (7.00%) high mild
6 (6.00%) high severe
U256::ctlz              time:   [2.4419 ns 2.4420 ns 2.4420 ns]
Found 4 outliers among 100 measurements (4.00%)
2 (2.00%) high mild
2 (2.00%) high severe
U256::cttz              time:   [2.4857 ns 2.4858 ns 2.4858 ns]
Found 2 outliers among 100 measurements (2.00%)
1 (1.00%) high mild
1 (1.00%) high severe
U256::rotate_left       time:   [5.7390 ns 5.7577 ns 5.7763 ns]
Found 4 outliers among 100 measurements (4.00%)
1 (1.00%) low mild
2 (2.00%) high mild
1 (1.00%) high severe
U256::rotate_right      time:   [5.5316 ns 5.5386 ns 5.5461 ns]
Found 3 outliers among 100 measurements (3.00%)
1 (1.00%) high mild
2 (2.00%) high severe
After:
U256::add               time:   [5.4514 ns 5.4521 ns 5.4529 ns]
change: [-0.3786% -0.3263% -0.2762%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 9 outliers among 100 measurements (9.00%)
4 (4.00%) low severe
4 (4.00%) low mild
1 (1.00%) high severe
U256::div (lo/lo)       time:   [20.474 ns 20.480 ns 20.485 ns]
change: [-0.0804% -0.0553% -0.0291%] (p = 0.00 < 0.05)
Change within noise threshold.
U256::div (hi/lo)       time:   [94.189 ns 94.202 ns 94.215 ns]
change: [-0.7320% -0.6301% -0.5264%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 3 outliers among 100 measurements (3.00%)
1 (1.00%) low mild
2 (2.00%) high mild
U256::div (hi/hi)       time:   [68.181 ns 68.192 ns 68.204 ns]
change: [-79.746% -79.742% -79.738%] (p = 0.00 < 0.05)
Performance has improved.
Found 5 outliers among 100 measurements (5.00%)
3 (3.00%) low mild
1 (1.00%) high mild
1 (1.00%) high severe
U256::mul               time:   [5.5856 ns 5.5879 ns 5.5902 ns]
change: [-0.1402% -0.0720% -0.0009%] (p = 0.05 < 0.05)
Change within noise threshold.
Found 6 outliers among 100 measurements (6.00%)
5 (5.00%) low mild
1 (1.00%) high mild
U256::sub               time:   [5.4708 ns 5.4722 ns 5.4736 ns]
change: [+0.2187% +0.2696% +0.3182%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 4 outliers among 100 measurements (4.00%)
2 (2.00%) low severe
2 (2.00%) low mild
U256::shl               time:   [4.2157 ns 4.2162 ns 4.2167 ns]
change: [-0.0453% -0.0197% +0.0044%] (p = 0.11 > 0.05)
No change in performance detected.
Found 6 outliers among 100 measurements (6.00%)
1 (1.00%) low severe
2 (2.00%) low mild
3 (3.00%) high mild
U256::shr               time:   [4.1333 ns 4.1340 ns 4.1348 ns]
change: [-0.0832% -0.0447% -0.0078%] (p = 0.02 < 0.05)
Change within noise threshold.
Found 6 outliers among 100 measurements (6.00%)
3 (3.00%) low mild
3 (3.00%) high severe
U256::ctlz              time:   [2.4419 ns 2.4420 ns 2.4421 ns]
change: [-0.0089% -0.0009% +0.0079%] (p = 0.84 > 0.05)
No change in performance detected.
Found 8 outliers among 100 measurements (8.00%)
1 (1.00%) low severe
1 (1.00%) low mild
5 (5.00%) high mild
1 (1.00%) high severe
U256::cttz              time:   [2.4824 ns 2.4834 ns 2.4842 ns]
change: [-0.2846% -0.2477% -0.2093%] (p = 0.00 < 0.05)
Change within noise threshold.
U256::rotate_left       time:   [5.7638 ns 5.7770 ns 5.7908 ns]
change: [+0.3731% +0.9748% +1.6579%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 11 outliers among 100 measurements (11.00%)
4 (4.00%) low mild
3 (3.00%) high mild
4 (4.00%) high severe
U256::rotate_right      time:   [5.5470 ns 5.5548 ns 5.5626 ns]
change: [-0.1547% +0.0932% +0.3309%] (p = 0.46 > 0.05)
No change in performance detected.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high mild

Graviton 2 (c6g* amazon aws):
Before:
U256::add               time:   [8.3676 ns 8.3697 ns 8.3718 ns]
Found 7 outliers among 100 measurements (7.00%)
4 (4.00%) high mild
3 (3.00%) high severe
U256::div (lo/lo)       time:   [31.313 ns 31.330 ns 31.345 ns]
Found 3 outliers among 100 measurements (3.00%)
1 (1.00%) low mild
1 (1.00%) high mild
1 (1.00%) high severe
U256::div (hi/lo)       time:   [142.58 ns 142.62 ns 142.66 ns]
Found 6 outliers among 100 measurements (6.00%)
2 (2.00%) low mild
3 (3.00%) high mild
1 (1.00%) high severe
U256::div (hi/hi)       time:   [432.31 ns 432.42 ns 432.55 ns]
Found 8 outliers among 100 measurements (8.00%)
5 (5.00%) high mild
3 (3.00%) high severe
U256::mul               time:   [21.649 ns 21.654 ns 21.661 ns]
Found 6 outliers among 100 measurements (6.00%)
5 (5.00%) high mild
1 (1.00%) high severe
U256::sub               time:   [8.3902 ns 8.3923 ns 8.3945 ns]
Found 3 outliers among 100 measurements (3.00%)
3 (3.00%) high mild
U256::shl               time:   [5.9219 ns 5.9233 ns 5.9248 ns]
Found 9 outliers among 100 measurements (9.00%)
7 (7.00%) high mild
2 (2.00%) high severe
U256::shr               time:   [5.8867 ns 5.8869 ns 5.8871 ns]
Found 4 outliers among 100 measurements (4.00%)
2 (2.00%) low mild
2 (2.00%) high severe
U256::ctlz              time:   [3.2917 ns 3.2931 ns 3.2947 ns]
Found 12 outliers among 100 measurements (12.00%)
10 (10.00%) high mild
2 (2.00%) high severe
U256::cttz              time:   [3.2852 ns 3.2862 ns 3.2872 ns]
Found 8 outliers among 100 measurements (8.00%)
2 (2.00%) low severe
1 (1.00%) low mild
4 (4.00%) high mild
1 (1.00%) high severe
U256::rotate_left       time:   [8.6338 ns 8.6409 ns 8.6480 ns]
Found 3 outliers among 100 measurements (3.00%)
3 (3.00%) high mild
U256::rotate_right      time:   [8.5947 ns 8.5984 ns 8.6023 ns]
Found 4 outliers among 100 measurements (4.00%)
4 (4.00%) high mild
After:
U256::add               time:   [8.3776 ns 8.3796 ns 8.3818 ns]
change: [+0.0877% +0.1233% +0.1592%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 8 outliers among 100 measurements (8.00%)
1 (1.00%) low mild
6 (6.00%) high mild
1 (1.00%) high severe
U256::div (lo/lo)       time:   [31.350 ns 31.386 ns 31.423 ns]
change: [+0.2172% +0.3445% +0.4766%] (p = 0.00 < 0.05)
Change within noise threshold.
U256::div (hi/lo)       time:   [143.55 ns 143.63 ns 143.72 ns]
change: [+0.5793% +0.6375% +0.7054%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 8 outliers among 100 measurements (8.00%)
2 (2.00%) low mild
6 (6.00%) high mild
U256::div (hi/hi)       time:   [132.81 ns 132.88 ns 132.96 ns]
change: [-69.311% -69.290% -69.270%] (p = 0.00 < 0.05)
Performance has improved.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high mild
U256::mul               time:   [21.653 ns 21.658 ns 21.664 ns]
change: [-0.0171% +0.0175% +0.0521%] (p = 0.32 > 0.05)
No change in performance detected.
Found 5 outliers among 100 measurements (5.00%)
4 (4.00%) high mild
1 (1.00%) high severe
U256::sub               time:   [8.3743 ns 8.3750 ns 8.3757 ns]
change: [-0.1994% -0.1761% -0.1541%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 3 outliers among 100 measurements (3.00%)
3 (3.00%) high mild
U256::shl               time:   [5.9165 ns 5.9166 ns 5.9168 ns]
change: [-0.1599% -0.1259% -0.0897%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 8 outliers among 100 measurements (8.00%)
1 (1.00%) low severe
2 (2.00%) low mild
1 (1.00%) high mild
4 (4.00%) high severe
U256::shr               time:   [5.8862 ns 5.8863 ns 5.8865 ns]
change: [-0.0270% -0.0121% +0.0038%] (p = 0.13 > 0.05)
No change in performance detected.
Found 5 outliers among 100 measurements (5.00%)
1 (1.00%) low severe
2 (2.00%) low mild
1 (1.00%) high mild
1 (1.00%) high severe
U256::ctlz              time:   [3.2861 ns 3.2862 ns 3.2863 ns]
change: [-0.2516% -0.2076% -0.1648%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 9 outliers among 100 measurements (9.00%)
1 (1.00%) low severe
1 (1.00%) low mild
4 (4.00%) high mild
3 (3.00%) high severe
U256::cttz              time:   [3.2849 ns 3.2857 ns 3.2865 ns]
change: [-0.0756% -0.0139% +0.0411%] (p = 0.65 > 0.05)
No change in performance detected.
Found 3 outliers among 100 measurements (3.00%)
1 (1.00%) low severe
2 (2.00%) high mild
U256::rotate_left       time:   [8.6495 ns 8.6562 ns 8.6631 ns]
change: [+0.0940% +0.2308% +0.3666%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 4 outliers among 100 measurements (4.00%)
3 (3.00%) high mild
1 (1.00%) high severe

Intel(R) Xeon(R) CPU E3-1270 v6 @ 3.80GHz
Before:
U256::add               time:   [3.7044 ns 3.7158 ns 3.7301 ns]
Found 6 outliers among 100 measurements (6.00%)
1 (1.00%) low severe
1 (1.00%) low mild
3 (3.00%) high mild
1 (1.00%) high severe
U256::div (lo/lo)       time:   [34.656 ns 34.746 ns 34.849 ns]
Found 11 outliers among 100 measurements (11.00%)
5 (5.00%) high mild
6 (6.00%) high severe
U256::div (hi/lo)       time:   [101.12 ns 101.34 ns 101.57 ns]
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high mild
U256::div (hi/hi)       time:   [260.59 ns 261.64 ns 263.05 ns]
Found 4 outliers among 100 measurements (4.00%)
2 (2.00%) high mild
2 (2.00%) high severe
U256::mul               time:   [7.2249 ns 7.2486 ns 7.2787 ns]
Found 5 outliers among 100 measurements (5.00%)
2 (2.00%) high mild
3 (3.00%) high severe
U256::sub               time:   [3.6266 ns 3.6375 ns 3.6507 ns]
Found 8 outliers among 100 measurements (8.00%)
1 (1.00%) low mild
2 (2.00%) high mild
5 (5.00%) high severe
U256::shl               time:   [4.6821 ns 4.7187 ns 4.7582 ns]
Found 8 outliers among 100 measurements (8.00%)
7 (7.00%) high mild
1 (1.00%) high severe
U256::shr               time:   [5.4234 ns 5.6343 ns 5.8779 ns]
Found 16 outliers among 100 measurements (16.00%)
2 (2.00%) high mild
14 (14.00%) high severe
U256::ctlz              time:   [1.7979 ns 1.8071 ns 1.8172 ns]
Found 2 outliers among 100 measurements (2.00%)
1 (1.00%) high mild
1 (1.00%) high severe
U256::cttz              time:   [1.6234 ns 1.6275 ns 1.6317 ns]
Found 11 outliers among 100 measurements (11.00%)
4 (4.00%) high mild
7 (7.00%) high severe
U256::rotate_left       time:   [7.6074 ns 7.6350 ns 7.6708 ns]
Found 7 outliers among 100 measurements (7.00%)
3 (3.00%) high mild
4 (4.00%) high severe
U256::rotate_right      time:   [6.9703 ns 6.9921 ns 7.0137 ns]
Found 2 outliers among 100 measurements (2.00%)
2 (2.00%) high mild
After:
U256::add               time:   [3.8436 ns 4.0444 ns 4.2842 ns]
change: [+0.9428% +3.2698% +6.2352%] (p = 0.01 < 0.05)
Change within noise threshold.
Found 14 outliers among 100 measurements (14.00%)
1 (1.00%) low mild
13 (13.00%) high severe
U256::div (lo/lo)       time:   [34.616 ns 34.722 ns 34.836 ns]
change: [-1.8507% -1.2031% -0.6344%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 7 outliers among 100 measurements (7.00%)
6 (6.00%) high mild
1 (1.00%) high severe
U256::div (hi/lo)       time:   [102.35 ns 102.50 ns 102.67 ns]
change: [+0.9068% +1.1183% +1.3322%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 3 outliers among 100 measurements (3.00%)
2 (2.00%) high mild
1 (1.00%) high severe
U256::div (hi/hi)       time:   [76.856 ns 80.566 ns 84.570 ns]
change: [-71.760% -71.055% -70.233%] (p = 0.00 < 0.05)
Performance has improved.
Found 13 outliers among 100 measurements (13.00%)
13 (13.00%) high severe
U256::mul               time:   [7.2813 ns 7.3206 ns 7.3653 ns]
change: [-0.3070% +0.5551% +1.2446%] (p = 0.16 > 0.05)
No change in performance detected.
Found 9 outliers among 100 measurements (9.00%)
5 (5.00%) high mild
4 (4.00%) high severe
U256::sub               time:   [3.6143 ns 3.6161 ns 3.6180 ns]
change: [-0.8392% -0.5666% -0.3273%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 4 outliers among 100 measurements (4.00%)
1 (1.00%) low severe
3 (3.00%) high mild
U256::shl               time:   [4.9900 ns 5.2624 ns 5.5863 ns]
change: [+4.5167% +8.7856% +13.977%] (p = 0.00 < 0.05)
Performance has regressed.
Found 15 outliers among 100 measurements (15.00%)
1 (1.00%) high mild
14 (14.00%) high severe
U256::shr               time:   [5.2371 ns 5.3298 ns 5.4537 ns]
change: [-7.4553% -4.3827% -1.3965%] (p = 0.01 < 0.05)
Performance has improved.
Found 12 outliers among 100 measurements (12.00%)
4 (4.00%) high mild
8 (8.00%) high severe
U256::ctlz              time:   [1.9459 ns 2.0639 ns 2.2043 ns]
change: [+6.6873% +11.117% +15.950%] (p = 0.00 < 0.05)
Performance has regressed.
Found 14 outliers among 100 measurements (14.00%)
1 (1.00%) high mild
13 (13.00%) high severe
U256::cttz              time:   [1.6350 ns 1.6419 ns 1.6494 ns]
change: [-1.1075% -0.4105% +0.3172%] (p = 0.27 > 0.05)
No change in performance detected.
Found 6 outliers among 100 measurements (6.00%)
3 (3.00%) high mild
3 (3.00%) high severe
U256::rotate_left       time:   [7.7551 ns 7.7892 ns 7.8216 ns]
change: [+0.7183% +1.2633% +1.7584%] (p = 0.00 < 0.05)
Change within noise threshold.
U256::rotate_right      time:   [6.8823 ns 6.8993 ns 6.9163 ns]
change: [-1.9033% -1.4820% -1.0720%] (p = 0.00 < 0.05)
Performance has improved.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high severe

Please note that I did not test big endian arch. I don't know how to test it to be honest. I'm reasonably sure that div_mod_knuth is architecture-agnostic, but it is better to test.

Sorry, just getting back to this now. The changes look great. I also ran the more comprehensive benchmarks from the intx-division branch and there are some very noticeable improvements, noticeably:
U256::div/####/####     time:   [36.128 ns 36.137 ns 36.148 ns]
                        change: [-68.388% -68.374% -68.360%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 7 outliers among 100 measurements (7.00%)
  1 (1.00%) low mild
  6 (6.00%) high severe

U256::div/####/###      time:   [57.154 ns 57.161 ns 57.168 ns]
                        change: [-86.374% -86.366% -86.359%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 13 outliers among 100 measurements (13.00%)
  2 (2.00%) low mild
  3 (3.00%) high mild
  8 (8.00%) high severe

U256::div/###/###       time:   [36.128 ns 36.132 ns 36.136 ns]
                        change: [-77.010% -76.966% -76.867%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 11 outliers among 100 measurements (11.00%)
  5 (5.00%) high mild
  6 (6.00%) high severe

I'm just going to run the fuzzer for a bit to see if there are any regressions with division, then this should be good to merge.


Update connection-details.md

Updated SNI description to account for SSL Modes with Custom Origins due to the SNI header not matching the Custom Hostname.

This change is not accurate and should be declined.

Basing this of Max's comment.


https://scratch.mit.edu/projects/261440780/ — out of bounds

https://scratch.mit.edu/projects/261440780/
https://phosphorus.github.io/#261440780
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.89 Safari/537.36
the red selection rectangle can go out of bounds, which isn't supposed  to happen

https://i.imgur.com/KU9vZ9h.png


platform browser - firefox - error "TypeError: Illegal constructor."

The plugin does not work in firefox (platform browser)
In line 116 of code https://github.com/alongubkin/phonertc/blob/master/src/browser/PhoneRTCProxy.js >>> this.localStream = new MediaStream (); there is an error "TypeError: Illegal constructor."
In Chrome, and Opera all ok
Sorry for my bad English

I am facing same in firefox 39, how did you resolve this?


Support for dynamically loaded vue app instances

What problem does this feature solve?
This feature solves a "mutiple vue instances" compatibility problem.
Our current project is using a dynamic loading architecture, which is loading vue apps at runtime inside a "main vue app".
the Vuejs DevTools is currently only "seeing" the "main vue app", but not letting us access to any "dynamically loaded" vue apps.
Would it be possible to check if there are other "vue app instances"' and allow to select which one to work with within the debugger ?
I imagine having a button "scan for vue apps" , and allow selection of the app we want to use debugger with.
What does the proposed API look like?
I think there may be at first no api for this , since it's kind of "local execution context" inspection feature , which can be triggered at runtime.

I have a similar issue. I'm pulling content via pjax and initializing the Vue app when I get the content. However, my apps are not available. I'd love a way to add them to the scope. Maybe using something like window.__VUE_DEVTOOLS_GLOBAL_APPS__.push(newVueApp). Just a thought.

I've got the same situation as @anlek and would really to see something like a registration hook for dynamically loaded Vue instances. In my case there isn't even a global Vue instance.

Any update to this? Currently facing an issue where devtools detects that there's a Vue app (icon lights up) but the Vue tab does not show up. Only happens when we dynamically load the app after the initial page load.


Strange behavior with the mean() function

Below is a simple example function which uses np.mean()
@numba.njit
def frame_mean(frame):
return frame.mean()
When I input float32 ndarray with a shape of (6000,8000), it always returns 44.739243 which is exactly<PHONE_NUMBER>.0/6000/8000
The problem persists even with the proper type signature and I cannot fathom how this happens when everything is designated as floating point. Is there some hard coded integer summation? This function works correctly with float64.

Whenever I see<PHONE_NUMBER>.. I think of the max value for an unsigned int32:
In [5]: 2**31 -1
Out[5]:<PHONE_NUMBER>

Could it be, that you are hitting some kind of 32 bit floating point limit?

@FakiZun what is the value input to this function? Also, what OS are you using and on what hardware?

From what I have found, sum() mean() std() all hits the integer limit. Numpy functions return the correct numbers.
@numba.njit
def frame_sum(frame):
    return frame.sum()
@numba.njit
def frame_mean(frame):
    return frame.mean()

img=np.random.randint(60,68,(6000,8000)).astype(np.float32)
print(img.dtype)
> dtype('float32')
print(frame_sum(img), frame_mean(img)) #wrong
><PHONE_NUMBER>.0, 44.73924255371094
print(img.sum(), img.mean()) #correct
><PHONE_NUMBER>.0, 63.49984

CPU is Xeon W-2145 with Windows10 OS, running from jupyter notebook


Align mock post data to contract model

From 2.20.23 slack feedback:
the model in the contract is url, author (wallet address), and published (utc time) so try to align the mock post data as closely to that as possible. title can be moved to frontmatter.

This has been updated since Contra hooked up the contract


tensorflow does not detect 2nd GPU

Hi,
I am trying to use 2 GPUs, tensorflow does not recognise the 2nd one. the 2nd GPU is working fine (in widows environment).
using tensorflow example: tf.keras.utils.multi_gpu_model, https://www.tensorflow.org/api_docs/python/tf/keras/utils/multi_gpu_model
I see the follwing error
ValueError: To call multi_gpu_model with gpus=2, we expect the following devices to be available: ['/cpu:0', '/gpu:0', '/gpu:1']. However this machine only has: ['/cpu:0', '/gpu:0']. Try reducing gpus.
I can switch between the two graphic cards, with CUDA VISIBLE DEVICE , which sets one of the GPUs to GPU 0. however both can not be used. device 0 and device 1 are recognised however one GPU is only recognised.
The main GPU is RTX2070 (8GB) and 2nd GPU is GTX1050 (2GB). Before i submit i spent sometime searching for solution and did whatever I could find on the internet. drivers are up to date, 64bit version and latest versions of the software are installed. I dont see any issue, beside not appearing the 2nd GPU. The codes are working fine on first GPU, both have > 3.5 computational capacity.

@cyrus2018 ,
Can you please mention the TF version being used and also provide a simple standalone code to replicate the issue.Thanks!

TF GPU version is 1.13.1 , I had downgraded from  1.14 (due to seeing another error running the same code).
below is the exact code I use. Regradless of number of GPUs, you see the same error (I have actually 2 installed).
import tensorflow as tf
from keras.applications import Xception
from keras.utils import multi_gpu_model
import numpy as np
num_samples = 1000
height = 224
width = 224
num_classes = 1000
with tf.device('/cpu:0'):
model = Xception(weights=None,
input_shape=(height, width, 3),
classes=num_classes)
parallel_model = multi_gpu_model(model, gpus=2)
parallel_model.compile(loss='categorical_crossentropy',
optimizer='rmsprop')
x = np.random.random((num_samples, height, width, 3))
y = np.random.random((num_samples, num_classes))
parallel_model.fit(x, y, epochs=20, batch_size=256)
model.save('my_model.h5')
ValueError: To call multi_gpu_model with gpus=2, we expect the following devices to be available: ['/cpu:0', '/gpu:0', '/gpu:1']. However this machine only has: ['/cpu:0', '/gpu:0']. Try reducing gpus.

@cyrus2018 I don't think this is a bug in Tensorflow.
Can you try to run the following lines to see how many gpus are visible to TF.
import tensorflow as tf
tf.test.gpu_device_name()

Please check this resource.
TL/DR: this resource mentions that you need SLI bridge for cooperation between GPUs. Also, expects your graphics cards are the same model and mentions Older boards often did not allow the presence of a second graphic card.. Please go through that resource.
Thanks!

Thanks for the info, please see below:
I checked the link you shared. I dont think to use TF, the GPUs should be the same exact model/brand. Is that the case? I have Gigabyte Z390M gaming motherboard, with two PCIs. the thing is, I can run my models right now on any of the GPUs below, with TF, no issues at all. both GPUs are pretty good..
but when it comes to using two GPUs the system does not identify the 2nd one...which is weird.. can not get GPU:1 recognised.
In [1]: import tensorflow as tf
...: tf.test.gpu_device_name()
Out[1]: '/device:GPU:0'
Also when i set:
os.environ["CUDA_VISIBLE_DEVICES"]='0'
physical_device_desc: "device: 0, name: GeForce RTX 2070, pci bus id: 0000:01:00.0, compute capability: 7.5
os.environ["CUDA_VISIBLE_DEVICES"]='1'
physical_device_desc: "device: 0, name: GeForce GTX 1050, pci bus id: 0000:04:00.0, compute capability: 6.1"

Please see the attachments.
now using TF 1.9, setting os.environ["CUDA_VISIBLE_DEVICES"]='1' casues no reaction from Tpython/TF.. i changed os.environ["CUDA_VISIBLE_DEVICES"]to different digits and combination, any attempt to input 1, causes the Tf stop responding.

Qyarry.docx

@cyrus2018 could you share the printed log messages when you run tf.test.gpu_device_name()?

Also could you try with TF 1.15.0rc1?

@cyrus2018 could you share the printed log messages when you run tf.test.gpu_device_name()?

The thing is my TF works and recognises with 1 GPU (GPU 0) it can either be the RTX1070 or GTX1050 (both workwith no issue). so single GPU no problem, GPU 1 never recognised.

TF 1.15.0rc1

@cyrus2018 did you disable TF logging? Normally it should print something like:
2019-09-20 06:59:20.328108: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1304] Created TensorFlow device (/device:GPU:0 with 11161 MB memory) -> physical GPU ...

Added below to top of the codes, issue is resolved
NOTE:: TF_MIN_GPU_MULTIPROCESSOR_COUNT defauls value is 8
import os
os.environ["TF_MIN_GPU_MULTIPROCESSOR_COUNT"]="2"
os.environ["CUDA_VISIBLE_DEVICES"]="0,1"

@cyrus2018 I am currently facing the same issue where tensorflow is actually running with the GPU:0 that is an Intel Graphic one, while it is not recognizing the NVIDIA one which is the GPU:1. Could you please share the code?

@cyrus2018  still facing the same issue

same issue,  tensorflow is actually running with the GPU:0 that is an Intel Graphic one, while it is not recognizing the NVIDIA one which is the GPU:2


Documentation on Managing Volumes talks about a missing option

https://docs.docker.com/kitematic/userguide/#managing-volumes mentions an "Enable all volumes to edit files in Finder" option that I was unable to find in the current version of Kitematic.  If I create from the official Django image which does not EXPOSE any volumes, then I can not edit files in the Finder.

The 'Enable all volumes' shows up when you click the folder  - If no volume was defined in the dockerfile/image then Kitematic can't assume any mounting point.
There's a current discussion on custom volume mapping:
https://github.com/kitematic/kitematic/pull/722
Once that PR has been updated with the latest changes you'll be able to map your custom volumes

Docs will completely change.
Thanks for the update !


Suggestions reference genomes

May I suggest the following genomes which often are used as outgroups or as supplemental information in various biological analyses:
Genomes are available either at GenomeArk or ensembl.org
Model species:
Drosophila melanogaster
Mouse	Mus musculus
Human Homo sapiens
Rat Rattus norvegicus
S. cerevisiae Saccharomyces cerevisiae
Zebrafish Danio rerio
Chicken Gallus gallus
Tropical clawed frog Xenopus tropicalis
C. elegans Caenorhabditis elegans
Evolutionary outgroups:
Coelacanth Latimeria chalumnae
Elephant shark Callorhinchus milii
Hagfish Eptatretus burgeri
Spotted gar Lepisosteus oculatus
Northern pike Esox lucius
Lamprey Petromyzon marinus
Atlantic cod Gadus morhua
Possible representatives for each of the major vertebrate lineages:
Lineage	Species name	Common name	Order
Amphibian	Bufo bufo	common toad	Anura
Amphibian	Geotrypetes seraphini	Gaboon caecilian	Gymnophiona
Birds	Aquila chrysaetos chrysaetos	european golden eagle	Accipitriformes
Birds	Sterna hirundo	common tern	Charadriiformes
Cartilaginous	Scyliorhinus canicula	lesser-spotted catshark	Carcharhiniformes
Cartilaginous	Pristis pectinata	smalltooth sawfish	Pristiformes
Cartilaginous	Amblyraja radiata	Thorny skate	Rajiformes
Fish	Pygocentrus nattereri	Red-bellied piranha	Characiformes
Fish	Antennarius maculatus	warty frogfish	Lophiiformes
Mammal	Pipistrellus pipistrellus	common popistrelle	Chiroptera
Mammal	Tachyglossus aculeatus	short-beaked ehidna	Monotremata
Mammal	Sciurus carolinensis	grey squirrel	Rodentia
Reptile	Thamnophis elegans	Western terrestrial garter snake	Squamata
Reptile	Gopherus evgoodei	Goode's thornscrub tortoise	Testudines
All the best,
Monica Solbakken

Thank you for the information. This project is not just to mirror the genomes but to set it up in an a consistent way (with indices etc).  We shall include those but I need some more details. I understand this will be too much work, but try to provide as much information you can if not all (you may ask your colleagues to contribute to this issue as well).
If you have access to saga can you please go to the following location (where we have started including references):
/cluster/shared/databases/references/
Then check if the genome you suggest is present. If yes, please check we have setup what you need.
If not, please check the example for Human:
/cluster/shared/databases/references/Homo_sapiens
For example
/cluster/shared/databases/references/Homo_sapiens/Ensembl
is what we have from Ensemble for human.
Then check the format and suggest what to include.
For example "Chicken Gallus gallus" find out how the genome is versioned and where the data can be downloaded and give the info here.


Too many blocking calls make typing slow when signature help is up

Need to reduce number of blocking calls to AST.Ready()

#1285


Change Rust WebAssembly compilation target

TL;DR: we changed our compilation target from wasm32-unknown-unknown to wasm32-wasi to ensure Rust policies do not panic at runtime.
The problem
Rebuilding existing Rust policies using a freshly updated Cargo.lock or building a new Rust policy from scratch leads to a WebAssembly module that cannot be loaded neither by Policy Server nor by kwctl.
Loading the policy leads to an immediate panic because the WebAssembly runtime provided by Kubewarden does not provide some functions that are imported by the module.
Background information
Prior to this commit, all our Rust policies were built using the wasm32-unknown-unknown target.
The wasm32-unknown-unknown target is the only one supported by the wasm-bindgen crate (see https://rustwasm.github.io/docs/wasm-bindgen/reference/rust-targets.html).
When being used, the wasm-bindgen crate causes the final WebAssembly module to import extra functions at runtime.
These extra functions are provided by the runtime (a web browser) by using some JavaScript code offered by the wasm-bindgen developers.
We actually don't need wasm-bindgen crate. We chose the wasm32-unknown-unknown target because, when wasm-bindgen is not required, no function is imported from the runtime. We appreciated this minimal approach, because the WebAssembly modules of our policies depend only on importing the waPC host functions.
The root cause
The majority of our Kubewarden Rust policies depend on the k8s-openapi crate, which requires the chrono crate.
Starting from the chrono 0.4.20 release, the crate is requiring the wasm-bindgen crate when the build target is wasm32-unknown-unknown.
The change has been introduced with this commit https://github.com/chronotope/chrono/commit/27c05589ac269596fe4b047552bc735ebe9ee44c
We cannot force older versions of chrono to be used, because they are affected by security issues that have been fixed with the 0.4.20 release.
Because of this change, rebuilding our policies with a chrono release major or equal to 0.4.20, leads to a WebAssembly module that imports the following functions:

__wbindgen_placeholder__.__wbindgen_describe
__wbindgen_placeholder__.__wbindgen_throw
__wbindgen_externref_xform__.__wbindgen_externref_table_grow

Our WebAssembly runtime cannot provide implementations of these functions, hence a Rust panic will happen.
The solution
Looking at the chrono commit that introduced the change, it's clear that this was a deliberate action done to improve the user experience of the developers using the wasm32-unknown-unknown target.
More libraries could be using the same approach, we simply haven't run into that yet.
The easiest solution is to use the wasm32-wasi target, which is something closer to what we are doing: running WebAssembly on the server side.
No change is needed to our WebAssembly runtime, since this is already running with the WASI snapshot enabled. As a matter of fact, the WebAssembly modules we are producing with TinyGo, Swift and C# are already targeting the WASI target. It's time for our Rust policies to join their ranks.


assume 'Content-Type: application/json' for POST to layergroup

is there a reason to not do this?

Not part of Windshaft anymore, see https://github.com/CartoDB/Windshaft-cartodb/issues/99


[OAP-Cache] Decouple DAGScheduler.scala

@lidinghao Please port this patch from baidu branch to Oap, thx ~


Removed @Ignore

@larubbio or @koshalt wanna review this?

Why do I feel like I've already reviewed this?

If you did, maybe you forgot to merge or comment?
Or maybe you're living in an alternate universe where the feeling of
deja-vu is a positive biofeedback mechanism that reinforces the review
early and often principle?
On Wed, Jul 8, 2015 at 8:12 AM, Rob LaRubbio<EMAIL_ADDRESS>wrote:

Why do I feel like I've already reviewed this?
—
Reply to this email directly or view it on GitHub
https://github.com/motech-implementations/mim/pull/456#issuecomment-119619301
.

--
Frank Huster
Mobile Health Innovations
Grameen Foundation
+1.206.325.6690 x201


Importing a 1.3GB CSV file into sqlite via EF Core

@borisdj,
This is not an issue or complaint. Just wanted to say thank you!
I had an issue importing 1.3 GB of data as described here:
https://stackoverflow.com/questions/70207939/importing-a-1-3gb-csv-file-into-sqlite-via-ef-core/70211019#70211019
Your library made the import go from 48 minutes to 5.7:
https://stackoverflow.com/a/70211019/268581
Thank you!
PS: I sent you $20 via paypal (in two $10 transactions). 🥳

One issue without issue, thx.
Glad it's useful...


Docker Hub repository name
benjaming/hey-moby-extension
Terms of services

[X] I accept the term of services

/validate


Create command to create new resources

Blocked by #1
This should only be runnable by users with the moderator_role.
This might call for a completely separate file to store resources, other than config.yaml, because this file will be mutable.

This might be a good use for an sqlite database


Bug: destination file loses input file permissions

We need files to keep their permission bits as they are copied.
For example, if a file is marked executable it should remain so.

Probably best to only set the executable bit.

fixed in 1.4


Tools for MRI diffusion in human and non-human primates

Title
Tools for MRI diffusion in human and non-human primates
Leaders
Julien Sein (@julfou81)
David Meunier
Arnaud Le Troter
Hugo Dary
Collaborators
No response
Brainhack Global 2021 Event
Brainhack Marseille
Project Description
There are many pipelines for processing diffusion MRI data (diffuse, qsiprep, mrtrix pipelines, FSL pipelines, dipy, Designer, etc.). For newcomers in the field of Diffusion MRI, it may be overwhelming to pick the tools that best fits the needs, as well as to define the needs themselves.
(NHP specific) : NHP image processing has specific challenges such as image reorientation, which can be more tricky when the Diffusion Vectors as to follow the transformation applied to the diffusion images.
We aim at sharing expertise, identify specific problems encountered by users, and define quality metrics (quality of orientation vectors, qualitative and quantitative quality check of processing stages)
(NHP specific) : We also aim at integrating segmentations computed externally to mrtrix and FSL pipelines, that are non-specific pipelines (i.e. also available for human images)
Skills:
MRI diffusion (general knowledge) 50%
MRI processing 50%
pipelining (30-70%)
Striking Image

Communication channels :
https://github.com/Centre-IRM-INT/MRI_Diffusion
https://mattermost.brainhack.org/brainhack/channels/mri_diffusion
https://univ-amu-fr.zoom.us/j/92141093977?pwd=cEorbHI3bzVFZlVwSE9FRVZiaUNGZz09
Programed schedule
Tuesday 7th December, 2pm CET : discussion on tools and pipelines for MRI diffusion processing
Link to project repository/sources
https://github.com/Centre-IRM-INT/MRI_Diffusion
Goals for Brainhack Global
We aim at sharing expertise, identify specific problems encountered by users, and define quality metrics (quality of orientation vectors, qualitative and quantitative quality check of processing stages)
(NHP specific) : We also aim at integrating segmentations computed externally to mrtrix and FSL pipelines, that are non-specific pipelines (i.e. also available for human images)
Good first issues

issue one:
Share your experience with Diffusion MRI
issue two:
Share the difficulties you encountered with Diffusion MRI processing

Communication channels
https://github.com/Centre-IRM-INT/MRI_Diffusion
https://mattermost.brainhack.org/brainhack/channels/mri_diffusion
https://univ-amu-fr.zoom.us/j/92141093977?pwd=cEorbHI3bzVFZlVwSE9FRVZiaUNGZz09
Skills

MRI diffusion (general knowledge) 50%
MRI processing 50%
pipelining (30-70%)

Onboarding documentation
No response
What will participants learn?
Participant will learn about all the wonderful tools are already present out there and hopefully they will find the ones that best fit their needs.
They may also find new solutions to process diffusion in NHP (non-human primate) images.
Data to use
No response
Number of collaborators
more
Credit to collaborators
Project contributor are liste on the README file of the project GitHub page
Image

Type
coding_methods, documentation, pipeline_development
Development status
0_concept_no_content
Topic
connectome, data_visualisation, diffusion, MR_methodologies, reproducible_scientific_methods, tractography
Tools
DIPY, Freesurfer, FSL, Jupyter, MRtrix, Nipype
Programming language
containerization, documentation, Python, shell_scripting, unix_command_line
Modalities
DWI, MRI
Git skills
0_no_git_skills, 1_commit_push
Anything else?
No response
Things to do after the project is submitted and ready to review.

[X] Add a comment below the main post of your issue saying: Hi @brainhackorg/project-monitors my project is ready!
[X] Twitter-sized summary of your project pitch.

Hi @brainhackorg/project-monitors my project is ready!

Twitter summary: BrainHack Marseille: Tools for MRI Diffusion in human and non-human primates.
We aim at sharing expertise, identify specific problems encountered by users, and to define quality metrics along different processing steps.

I assume this has been cross checked by the Organizers in Marseille: will proceed to publishing accordingly.

Hi @Remi-Gau, thanks! Yes it is an official project from BrainHack Marseille: project number 8:
https://brainhack-marseille.github.io


Volumetric analysis

Is there a way to get the volumes (physical) of the rois?

Hey,
with volumes (physical) are you referring to the volume segmentation statistics (aka mm^3 volume measures)? This is possible in two ways:

You can run FastSurfer with the --vol_segstats flag: "Additionally return volume-based aparc.DKTatlas+aseg statistics for DL-based segmentation (does not require surfaces). Can be used in combination with --seg_only in which case recon-surf only runs till CC is added (akin to --seg_with_cc_only). " In this case, the segstats are closer to the FreeSurfer provided values, as it includes partial volume correction via the norm.mgz (https://surfer.nmr.mgh.harvard.edu/fswiki/mri_segstats)
You can run the mri_segstats command from FreeSurfer on the segmentations directly (see https://github.com/Deep-MI/FastSurfer/issues/26). No further processing is needed, but partial volume correction will not be included.

Best,
Leonie

Hi  Leonie
  I followed your 1st suggestion and added --seg_only --vol_segstats  to get volumetric values for 95 classes. However, your code finished analysis but didn't output aparc.DKTatlas+aseg.deep.volume.stats file. Even though Fastsurfer indicated that the output statistics were in "$SUBJECTS_DIR/$SID/stats/aparc.DKTatlas+aseg.deep.volume.stats", I could not find it. Moreover, there was no folder named stats. Could you please let me know how to solve such an issue? I highly appreciate your help.

The code that I used to run:

FastSurfer/run_fastsurfer.sh --t1 xx_mprage.mgz --sid xx --sd $fastsurferdir --parallel --threads 4 --seg_only --vol_segstats

Hi liqingbioinfo ,
for --vol_segstats to work you need to have FreeSurfer 7.2 installed and sourced (and the license file from them). What does  recon-all --version  give you ?
Also are you using stable or dev version? And can you send the last lines of the /stats/recon-surf.log file ?

Oh and I think that you cannot use --seg_only at the same time. If you do, it stops after the segmentation and will not run the first part of recon-surf. So first try to drop that.

Hi Martin
 I really appreciate your help. I removed --seg_only, and I got statistics in stats/ folder. Wonderful! Although I have such statistics, I am still a bit confused about when to use --seg_only. In https://github.com/Deep-MI/FastSurfer/issues/51, Leonie suggested using --seg_only --vol_segstats --fsaparc for volume stats. Can you please elaborate a bit more?
  Besides, I listed all results below. Should I focus on the 4th column with the header Volume_mm3, right? The 6th to 10th describe image intensity and are not related to volume, right?

TableCol  1 ColHeader Index
TableCol  1 FieldName Index
TableCol  1 Units     NA
TableCol  2 ColHeader SegId
TableCol  2 FieldName Segmentation Id
TableCol  2 Units     NA
TableCol  3 ColHeader NVoxels
TableCol  3 FieldName Number of Voxels
TableCol  3 Units     unitless
TableCol  4 ColHeader Volume_mm3
TableCol  4 FieldName Volume
TableCol  4 Units     mm^3
TableCol  5 ColHeader StructName
TableCol  5 FieldName Structure Name
TableCol  5 Units     NA
TableCol  6 ColHeader normMean
TableCol  6 FieldName Intensity normMean
TableCol  6 Units     MR
TableCol  7 ColHeader normStdDev
TableCol  7 FieldName Itensity normStdDev
TableCol  7 Units     MR
TableCol  8 ColHeader normMin
TableCol  8 FieldName Intensity normMin
TableCol  8 Units     MR
TableCol  9 ColHeader normMax
TableCol  9 FieldName Intensity normMax
TableCol  9 Units     MR
TableCol 10 ColHeader normRange
TableCol 10 FieldName Intensity normRange
TableCol 10 Units     MR
NRows 100
NTableCols 10
ColHeaders  Index SegId NVoxels Volume_mm3 StructName normMean normStdDev normMin normMax normRange
1   2    244441   247425.8  Left-Cerebral-White-Matter       100.0155    11.4409    18.0000   155.0000   137.0000
2   4      5190     5460.8  Left-Lateral-Ventricle            17.5247    15.7788     0.0000    67.0000    67.0000
3   5       281      326.1  Left-Inf-Lat-Vent                 35.7758    16.0271     0.0000    76.0000    76.0000
4   7     15470    16295.0  Left-Cerebellum-White-Matter      93.4568    11.4313    44.0000   163.0000   119.0000
5   8     65770    65457.3  Left-Cerebellum-Cortex            49.9575    15.2294     0.0000   131.0000   131.0000

Hey,
--seg_only and --mri_vol_segstats should run the initial part of the surface pipeline. The following message should be displayed in this case and the segstats should be saved in the indicated file (based on your initial post, I assume you got the message):

You requested segstats without running the surface pipeline. In this case, recon-surf will run until the corpus callsoum is added to the segmentation and the norm.mgz is generated (needed for partial volume correction). The stats will be stored as ($SUBJECTS_DIR/$SID/stats/aparc.DKTatlas+aseg.deep.volume.stats).

Could you share the output of your log-files? Did the surface pipeline not start at all or was there an error message?
Best,
Leonie

@LeHenschel  at least in stable seg only prevents recon-surf to be started, so it should not be combined. Haven't checked behavior in dev.
@liqingbioinfo  yes 4th column , these are standard free surfer stats files. You can extract information across multiple subjects wir asegstats2tabke (or similar, a free surfer python script)

In general yes, but not when it is combined with --vol_segstats (see here: https://github.com/Deep-MI/FastSurfer/blob/stable/run_fastsurfer.sh#L332)

I think there is a bug in line https://github.com/Deep-MI/FastSurfer/blob/f314b2baa2748f1f1ba751855e853fc1b882d67b/run_fastsurfer.sh#L335 it should be set to "0" and not 0. That is why recon-surf is not called.

Jup, you are right. Should be changed to string. I can create a pull request for stable and dev to fix it.

Potentially fixed with #184 and #185

Hi Leonie and Martin
Thanks a million for your help! Does it mean we are good to run fastsurfer with --seg_only and --vol_segstats to get the volumetric values now?

Yes, if you check out the new version it should not matter and more if you pass seg_only or not. In both cases it will do the segmentation and then run the recon_surf script up to the point after corpus callosum is added and stats files are created.


Passing Arguments to the Constructor of an Extractor

Hi,
I would like to pass an argument to the constructor of a class, which implements the Extractor interface. From where and how can I do so?
Best,
Ribin
PS: If it is better to discuss this topic in the vitrivr google group, I would like to do so, but my messages are getting deleted there.

Unless your argument is of the type Map<String, String> to encode some configuration parameters, arguments are not supported by the extraction runtime. What would you need this for?

For communicating with my machine learning algorithm, I would create a class MLCommunicator in cineast, which would receive the current image path from an extractor class, send the image path to my ML-Predictor and receive a json object back, containing all predicted features for one image. My idea is to create a class implementing the extractor interface for each predicted feature in the json file. So I need a way for the extractor classes to communicate with the MLCommunicator class. I thought about using the singleton pattern, but thought that dependency injection through the constructor would be a cleaner way to solve the problem.

There is currently no dependency injection mechanism for the extraction pipeline. What is the reason why the extraction logic itself cannot be implemented in the extractor class?

Since I have planned to create multiple classes for extraction(one for each feature, such as aesthetic score, emotion, etc.), the communication with the ML Predictor would be duplicated in each class. So I wanted to have a central class for communicating with the ML-Predictor(python code) and share the results with each of the extractors. Do know of a better way/have a suggestion on how I could solve this problem?

I guess the ideal solution would be if you could export your prediction models in such a way which would enable you to call them directly via a java class. In case this is not possible, the next best thing would be to use a remote procedure call framework to expose your (python) logic to the java classes. We use gRPC for the communication between cottontail db and cineast for example. If this is also not feasible, it would probably be easier to implement an exporter in cineast, which exports your media items together with the relevant metadata in a format you can use in your python code. Then you can run the predictors independently and subsequently import the your results back into cineast.

I think using gRPC for communication could be an option. Thanks for the suggestions, I will try it out.


Sort derives

I always try to keep derives in a certain order, so they are uniform with the rest of the crate. It would be nice if rustfmt could automatically sort them :)
I could imagine sorting them:

alphabetically:
#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]

after some sort of priority
I like the order in which the traits are listed in the rust-api-guidelines
#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Debug, Display, Default)]

I think they simply grouped similar traits together:

Copy + Clone
Eq + PartialEq
Ord + PartialOrd
Debug + Display

This was previously requested back in #1867 but rejected given the potential for unintentional and undesirable impacts.

As I mentioned, I think it should generally be considered a bad practice to have derive order sensitive.

I kinda agree with this statement. I never heard of order specific derives.

We can't do this because the order of derives can be semantically important (a derive only sees following derives, so in your example, Debug only sees Clone) and re-ordering could thus break some custom derives.

Is the aforementioned behavior documented somewhere?
#[derive(Eq, PartialEq)]
struct Example;

For example shouldn't this fail to compile, because Eq requires PartialEq, which can not be seen by the Eq derive?
btw the above compiles as expected.
Are there any real world proc-macros, where this characteristic is abused?

For example shouldn't this fail to compile

AIUI, it's more that a change of the ordering when custom derives are used could fail to preserve semantics/impact the resulting generated items, not that the ordering of built in derives could cause compilation failures.
If you still feel strongly that there should be a standard ordering of derives that could be enforced by rustfmt then I'd suggest making the request in https://github.com/rust-dev-tools/fmt-rfcs to get that ordering codified in the Style guide. If the Style guide were to be updated to prescribe an ordering for derives then we would update rustfmt accordingly.

IIRC reordering derives led to a compilation error against some, including ones from the standard library. That does not seem to be the case anymore, though, so I think having an option to sort derives sounds ok.

I just wanted to give a +1 to this feature request, and to make a couple of suggestions.
First, Instead of sorting by the derive used directly, sort by the complete path.  That is, sort the following:
#[derive(
    Debug,
    Clone,
    PartialEq,
    Eq,
    PartialOrd,
    Ord,
    Hash,
    Serialize,
    Deserialize,
    TypeGenerator,
    CopyGetters,
    Getters,
    Builder,
)]
pub struct Foo{
    ..
}

as if it were actually defined as follows:
#[derive(
    std::fmt::Debug,
    std::clone::Clone,
    std::cmp::PartialEq,
    std::cmp::Eq,
    std::cmp::PartialOrd,
    std::cmp::Ord,
    std::hash::Hash,
    serde::ser::Serialize,
    serde::de::Deserialize,
    bolero::generator::TypeGenerator,
    getset::CopyGetters,
    getset::Getters,
    derive_builder::Builder,
)]
pub struct Foo{
    ..
}

The main advantage of this is that traits that are defined in the same crate will be sorted close to one another.
Second, considering what @calebcartwright said:

This was previously requested back in #1867 but rejected given the potential for unintentional and undesirable impacts.

This sort could be made an option (--sort_derives) that defaults to being false.  That way the end user opts into this behavior, and (if they were smart and did a commit before doing a potentially dangerous command) they can always roll back to the prior commit if it doesn't work.

This sort could be made an option (--sort_derives) that defaults to being false. That way the end user opts into this behavior, and (if they were smart and did a commit before doing a potentially dangerous command) they can always roll back to the prior commit if it doesn't work

It would definitely require a config option (not a command line flag) like the other reorder_* options.
However, a config option itself wouldn't have been sufficient to address the original reordering issues because we couldn't have a config option that could knowingly break code.
Fortunately it seems like the problem that blocked the original request may have subsequently been resolved and is no longer an issue.
In order to proceed though, someone would need to submit a request in the style guide/rfc repo (https://github.com/rust-dev-tools/fmt-rfcs) with the proposal.
Going through the style guide rfc process to get the available ordering options (and default ordering) added to the style guide (that rustfmt would then be able to benefit implement) should also help provide definitive clarity on whether the original problems with reordering still exist.

Opened RFC: https://github.com/rust-dev-tools/fmt-rfcs/issues/154

Closing as per https://github.com/rust-dev-tools/fmt-rfcs/issues/154

@calebcartwright I understand why you want to close this and rust-dev-tools/fmt-rfcs#154, but I disagree that it should be closed.  Even with the ordering dependent issues, this would still be useful.

I realize it's not the answer some were hoping for, but our position has been conveyed and should be considered final barring net-new evidence surfacing. This has too high a risk of becoming a footgun and we're not going to do it.
If there's enough desire for the feature despite those risks, then I suspect the community could rally around building a new tool and distributing via crates.

Thank you fmt team for considering, investigation, making an informed decision and conveying it. You are consistently great.
In Rust (incl. fmt) We Trust.


Autocomplete is overlapping my app bar

This is simple example for showcasing problem. I'm making mobile app with form and scrollable view. I have made similar autocomplete using OverlayEntry, CompositedTransformFollower and CompositedTransformTarget. The problem lies when suggestion list is shown and user scrolls application downward, the OverlayEntry covers AppBar which results in really ugly UI/UX experience.
Image is provided here: https://ibb.co/qsys2fd.
Does AppBar have option to prevent overlapping? Maybe there is some widget like OverlayWidget to insert OverlayEntries in this specific region (which is after AppBar) for more local approach not as global as MaterialApp or Navigator? I tried using OverlayState but it always uses Navigator or MaterialApp when I would like to set OverlayState between AppBar and Scaffold body.
Also by using Stack it becomes really dirty easily, because I want to separate Autocomplete widget from Form in different files.
/// Flutter code sample for Autocomplete

// This example shows how to create a very basic Autocomplete widget using the
// default UI.

import 'package:flutter/material.dart';

void main() => runApp(const AutocompleteExampleApp());

class AutocompleteExampleApp extends StatelessWidget {
  const AutocompleteExampleApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          toolbarHeight: 200,
          title: const Text('Autocomplete Basic'),
        ),
        body: SingleChildScrollView(
          child: Column(
            children: [
              const AutocompleteBasicExample(),
              Container(height: 2000, width: 200, color: Colors.red),
            ],
          ),
        ),
      ),
    );
  }
}

class AutocompleteBasicExample extends StatelessWidget {
  const AutocompleteBasicExample({Key? key}) : super(key: key);

  static const List<String> _kOptions = <String>[
    'aardvark',
    'bobcat',
    'chameleon',
  ];

  @override
  Widget build(BuildContext context) {
    return Autocomplete<String>(
      optionsBuilder: (TextEditingValue textEditingValue) {
        if (textEditingValue.text == '') {
          return const Iterable<String>.empty();
        }
        return _kOptions.where((String option) {
          return option.contains(textEditingValue.text.toLowerCase());
        });
      },
      onSelected: (String selection) {
        print('You just selected $selection');
      },
    );
  }
}

Okay, I have just checked how did Navigator did this and solution to this problem was adding Stack in Scaffold body parameter. Inside Stack I have Form and Overlay widget. And then I pass GlobalKey() as key to Overlay and widget that inserts OverlayEntries. While it's not perfect, it does the job.
Still I suggest to put option in AppBar to allow this behaviour in much easier way, because description for Overlay like "Rather than creating an overlay, consider using the overlay that is created by the [Navigator] in a [WidgetsApp] or a [MaterialApp] for the application" was really misleading for my case.

Hi @ebelevics Thanks for filing the issue, I am able to reproduce this behavior, the overlay is floating above the AppBar and the rest of the widgets are being scrolled below the AppBar, But I believe this is intended since AutoComplete suggestions is basically an overlay which is stacked on top of the current widget tree, And it is supposed to follow the input field as we scroll.
https://user-images.githubusercontent.com/31410839/133417314-d4d1674b-5352-4f5b-8ae1-f1dbabbccc07.mov
I am not sure if there is any way to show an overlay below the AppBar at the moment. Labelling this issue for further investigation.
cc: @justinmc

I just noticed in my app that even TextField pointer is overlaying AppBar. I my opinion this even more serious problem than I initially thought.

There is another issue for the handles: https://github.com/flutter/flutter/issues/59229


Validation on Relationships

Version information

Laravel: v6
Voyager: v1.4
PHP: 7.4
Database: maria

Description
I have a Bread with a couple of Relationships, everything works fine.
These relationships needs to be validated as required as the fields they refer are "not null", so i have added a validation to "Relationship details":
{     "validation": {         "rule": "required"     } }
This way if i don't select anything in the Relationship dropdown in the new/edit entry of that table, it gives error, however, if i do select something from the dropdown it doesnt remove the error. Aka i can't submit the form if i keep the validation json.
If i remove the validation json, i can submit the form with no errors and without selecting anything from the dropdowns, that cause an error laravel wise because that fields is saved as not null in the database.
Any way to figure this out?
Thanks
Steps To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

You are probably setting validation in the wrong field, check this:
https://github.com/the-control-group/voyager/pull/4729/files

Thanks figured out, had to validate the field in bread and not the relationship.
Thanks!


Mode governance Plugin for Staking , Unstaking and Quering Balances

Relates to:
New plugin development for Mode Governance integration
Background
What does this PR do?
Adds a new plugin for Mode Governance that enables agents to:

Stake MODE and BPT tokens
Get staking information including warmup/cooldown periods
Query balances for MODE, BPT, veMode, and veBPT tokens

The plugin integrates with Mode's governance contracts to enable participation in their governance system.
What kind of change is this?

[x] New feature (non-breaking change which adds functionality)
[x] New plugin

Documentation changes needed?
My changes require a change to the project documentation:

Add Mode Governance plugin to the plugins list
Add documentation for Mode Governance plugin usage and features

Testing
Detailed testing steps

Install dependencies and build the plugin:
bash```
pnpm install
pnpm build

2. Test MODE token staking:
typescript
const plugin = modeGovernance();
const result = await plugin.getTools(wallet);
await result.stake_tokens({
amount: "100",
tokenType: "MODE"
});

3. Test getting stake info:
typescript
const stakeInfo = await result.get_stake_info({
tokenType: "MODE"
});
// Verify warmup/cooldown periods

4. Test balance queries:
typescript
const balance = await result.get_balance({
tokenType: "veMode"
});
// Verify balance format

## For plugins
- [x] I have tested this change locally with key pair wallets
- [x] I have tested this change locally with hosted wallets (e.g. Crossmint Smart Wallets, etc.)

## Discord username
0xkamal7

Additional Notes:

1. The plugin has been structured following the standard GOAT plugin architecture
2. All contract addresses are from Mode's official documentation
3. The plugin includes proper type safety and error handling
4. The plugin is restricted to Mode's mainnet (chain ID 34443)
5. Documentation includes installation and usage instructions

This is awesome, so quick! 🔥
FYI we are doing a relatively large update to the repo and the plugin types changed a bit. After we marge I'm happy to update this PR to comply with the new way, but will need to wait to merge this until tomorrow!

Thank you for the appreciation @0xaguspunk , I saw the merge 🚀 , is there anything more to update the plugin type ?

@kamalbuilds if you could update it to the new Plugin structure it would be amazign! Updated the docs here: https://ohmygoat.dev/plugins

Hey @0xaguspunk , now this implements the new Plugin structure. Please check.

Thanks for reviewing @0xaguspunk , taking a look at them.

@0xaguspunk wrote a test file and below is the Result and the Txn hash for staking MODE Tokens.

https://thesuperscan.io/tx/0xaa796fd57c0d1928bb1c4aea8202dfde25d6cf3174ef63723c99c036cc3e687c?chainid=34443

Thank you @0xaguspunk , Resolved all the comments.
Below is a screenshot for the working for the read task.

Love it!! Awesome work!!
Only thing missing is pipeline in green. You might need to delete the pnpm-lock file and run pnpm install again. Also make sure you run pnpm lint:fix before pushing.

Ok @0xaguspunk , Thanks lemme push that change


Slightly better screenshot

I've updated the example screenshot so that it fills the readme/documentation better.

Yes, it also represents the current version. Thanks!


[backport] Support device specifiers in MNIST data parallel example

Backport of #6857

[automatic post] Jenkins, test this please.

Jenkins CI test (for commit 919cd65faaa07bf69e602745903d45a4fdc4a2b7, target branch v6) failed with status FAILURE.

LGTM


Make LineEdit IME position hook ignore placeholder text

The LineEdit control has a hook built into to reposition where the IME text input window should appear when starting an IME composition, in this case at the end of the LineEdit's string. This fixes it so that placeholder text will be ignored when starting a new composition.

@akien-mga Okay, changed ;)


read_csv behavior with large floats

I have a data file in text which has 4 columns
$head sample.txt
SourceID Photons AvgX AvgY
6144039378640938.000000 71 1457.802817 2692.802817
6144053114071082.000000 8 1498.125000 2696.375000
6145000614093866.000000 0 nan nan
6145000614092842.000000 0 nan nan
6144137763642410.000000 0 nan nan

The 0th column really ought to have been int, but this is how the data file looks.
On trying to read it into a pandas, the [0, 0] element is read in as<PHONE_NUMBER>640936.0.
The behavior is correct is numpy, and might be related to the floating point representation of this huge
float. However, checking the dtypes both numpy and pandas seem to be using the same type.
 So, thanks!
But it would have seemed that (a) when I provide dtype, that should have taken care of this (b) If this is really np.float64 as indicated by printing out dtype, should this not have had the same behavior as numpy.

why would providing a dtype have anything do with this? this is all about parsing precision, where for virtually all cases the speed/precision tradeoff is good. otherwise you should use high_precision as indicated.
numpy's parser is different (and in python), while this is a c-parser. (you could get python semantics by using engine='python' but parsing speed is dramatically slower.


Add component id for Python falcon plugin

add python plugin falcon

[x] If this pull request closes/resolves/fixes an existing issue, replace the issue number. Closes #.
[x] Update the CHANGES log.

Please update the changes.md. In every upstream PR, you should take the title and comments very seriously. Clearly, this PR doesn't add any plugin.

@probeyang please adjust the commit message and update CHANGELOG.md according to the PR title I updated

@probeyang please adjust the commit message and update CHANGELOG.md according to the PR title I updated

OK

@probeyang let's update the skywalking-ui submodule in this PR


Try and use permanent tables throughout

For most packages we're trying to use permanent tables thoughout as temp tables can be a bit inconsistent across dbms. For intermediate tables we need to make sure to drop them when no longer needed (and you should be able to test than none of these are left over)

i think generateCohortSequenceSet() is more or less okay for this issue. summariseSequenceRatio() is probably the only one left to consider.


Issue with LDAPS

I'm able to simple bind and search using LDAP but LDAPS fails. I tried both nativetls and rustls which fail. I don't have the errors in front of me currently but can get those if needed. But from what I recall I was seeing an error referencing protocol. I also tested by using the openldap crate and LDAPS works as expected using that. The openldap crate examples show passing options for the protocol version so I'm wondering if there's a way to pass the protocol version using this LDAP3 crate?

I can't say much without detailed error messages. If the problem is with the TLS negotiation, packet traces would also help. What are the platform and version of the LDAP server? What does the connection code look like?
LDAP protocol version is hardcoded to 3 in this crate and can't be changed.

I'll try to get some packet traces shortly but here's some of the info you requested. Thanks in advance for your help.
Here's the LDAP server info:
vendorVersion: LDAP Agent for NetIQ eDirectory 8.8 SP8 (20801.42)
supporedLDAPVersion: 2/3
supporedSASLMechanisms: NMAS_LOGIN
supporedSASLMechanisms: SAML
Connection code is minimal:
Cargo.toml:
[dependencies.ldap3]
version= "0.9.3"
main.rs:
let (conn, mut ldap) = LdapConnAsync::with_settings(
LdapConnSettings::new()
.set_no_tls_verify(true)
.set_conn_timeout(conn_duration),
"ldaps://ldapserver.somedomain.com",
).await?;
The error I receive is:
Error: NativeTLS { source: Ssl(Error { code: ErrorCode(1), cause: Some(Ssl(ErrorStack([Error { code: 338030850, library: "SSL routines", function: "ssl_choose_client_version", reason: "unsupported protocol", file: "../ssl/statem/statem_lib.c", line: 1941 }]))) }, X509VerifyResult { code: 0, error: "ok" }) }
Second test.
Cargo.toml:
[dependencies.ldap3]
version= "0.9.3"
default-features = false
features = [ "tls-rustls" ]
main.rs same as above.
Error I receive:
Error: Io { source: Custom { kind: InvalidData, error: AlertReceived(HandshakeFailure) } }
Basic connectivity testing:
nc -vz ldapserver.somedomain.com 636
Connection to ldapserver.somedomain.com 636 port [tcp/ldaps] succeeded!
echo | openssl s_client -showcerts -connect ldapserver.somedomain.com:636
CONNECTED(00000003)
140622757295424:error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol:../ssl/statem/statem_lib.c:1941:
no peer certificate available
No client certificate CA names sent
SSL handshake has read 79 bytes and written 326 bytes
Verification: OK
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)

The s_connect output (thanks for supplying that, it's quite illuminating) contains exactly the same error as the native-tls attempt, down to line number, but it appears that s_connect ignores the error and the connection proceeds in the clear, whereas native-tls bails out.
I suppose that the reason for the TLS negotiation failure could be inferred from the ServerHello packet in the protocol exchange. Whatever it is, I'd consider it the result of server misconfiguration; the server shouldn't disallow connections from an up-to-date TLS library, which both native-tls and rustls are.
If changing the server is impractical, you could try connecting with a custom TlsConnector in LdapConnSettings, set up to ignore TLS negotiation failures. This can only work with native-tls.

Thanks for your reply. I was afraid of a server misconfiguration as it's not uncommon in my company. :( But unfortunately I don't think I'll be able to do much about the server config myself. I'm not much of a LDAP guy so could you let me know what I could suggest to our LDAP admin to look at on his side? Does he just need to upgrade the LDAP server itself?
Regarding the TlsConnector, I saw that but wasn't sure how to configure or use it in Rust. Do you have any suggestions or sample code you could give me? I really appreciate your help with all this.

what I could suggest to our LDAP admin to look at on his side?

Let's se the packet trace first.

Regarding the TlsConnector, I saw that but wasn't sure how to configure or use it in Rust. Do you have any suggestions or sample code you could give me?

I did have some old code which turned off cert verification, but it doesn't work with the present version of native-tls. Generally, you can use TlsConnector::builder() to create a TlsConnectorBuilder, then play with its options and call build() when you're done. Place the resulting TlsConnector in LdapConnSettings and create the LDAP connection using with_settings().

I was able to make a LDAPS connection using the TlsConnector per your suggestion. Thank you for that. Unfortunately I can only connect successfully using the "danger_accept_invalid_certs(true)" setting which of course is not ideal. I'm awaiting a response from our LDAP admin and confirmation that we are using the correct certificate but other then that, is there anything else you would suggest looking at? Thanks again for your help.

is there anything else you would suggest looking at?

I'm still curious to see the packet trace of an unsuccessful connection attempt, if you have it at hand. Otherwise, I'd suggest closing this issue since it doesn't appear that the problem is with the library itself, and a workaround is available.

As noted in the previous message, this is a usage issue. Also, without further feedback, I can't speculate about the causes of connection errors. I'm closing this; if there are further developments, the issue can be reopened.

@inejge Yeah sorry I didn't get back to you. I haven't been able to get the packet trace and since I got it working it got pushed to the back. Thanks again for your support and great work on this crate.


Cargo.lock support, option changes & path prefix fix

As an alternative and compliment to vendoring I've implented support for Cargo.lock crate downloading. https://github.com/panamax-rs/panamax/pull/71
This commit includes several changes:

Cargo.lock crate download support with --cargo-lock
Fix for crates path prefixes due to crates starting with uppercase (i.e. "Inflector" crate caused index directories to be created with upper case as in In/fl/..., while cargo tried to download from in/fl/... resulting in 404. (reverted for now)
Option to skip rustup update with --skip-rustup
Vendor path is now a long option instead with --vendor_path

It is also no longer needed to clear cargo index for vendor and Cargo.lock crate downloads. They are forced to always download for now.
Example usage
# To skip rustup step which might take a long time
cargo run sync --skip-rustup ./mirror

# Download crates listed in Cargo.lock
cargo run sync --cargo-lock ./Cargo.lock ./mirror

# Sync with vendor
cargo run  sync --vendor_path vendor

LGTM - Clippy's complaining a bit but I can handle that. Thanks!


issue

Does this occur consistently?
Repro steps:

Action: appService.Deploy
Error type: 409
Error Message: There is a deployment currently in progress. Please try again when it completes.
Version: 0.24.8
OS: darwin
OS Release: 22.1.0
Product: Visual Studio Code
Product Version: 1.78.2
Language: en

Call Stack
new RestError extension.bundle.js:2:1709073
extension.bundle.js:2:1696547

Please add detailed steps to reproduce the issue.

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


Fix for #1726 - using boolProperty.Equals(true) in filter produces invalid sql

Problem was that we have special treatment for boolean to support queries like Where(c => c.MyBoolProperty). However this breaks for Where(c => c.MyBoolProperty.Equals(true/my_variable/other_bool_property).
Fix is to revert the previous change and instead compensate in the sql generation phase - adding " = 1" terms for 'naked' column expressions as well as column expressions inside logical expression, inside WHERE predicate.
things like: products.Where(p => p.Discontinued == (p.ProductID > 100)) are still broken but the main scenarios works fine.

@anpete

:shipit:

Merged - 2c4b376aef3d1faf5fa1963fe5253a2c18e31f4b


Move server and scheduler start code.

Shuffles some server and scheduler code around to clean things up.
Tries to simplify the cmd/server.go code needed to start a funnel server. Partially succeeds.
Renames Scheduler to Backend, then creates Scheduler to represent high-level Scheduler server/controller
Server/Scheduler create code is more easily reused by tests which create a mock server.
Better use of context by scheduler
Adds "Cache-Control: no-store" HTTP response header to prevent responses from being cached. This is configurable with config.DisableHTTPCaching (default true)
Adds "make go-test" command for running the go tests only. The need for this command is another reason I'd like to move the code out of src/funnel.

This also takes one small step towards being able to create a pluggable database backend by relying on a separate Database interface for both Scheduler and Server, and requiring that database be passed in to NewServer and NewScheduler.

This also prunes the gorilla dependency, since all path mapping is now handled by core Go http library.

The latest commits:

update the travis build to go 1.8
Rename Factory to Plugin and add plugins directly to Scheduler instance via Scheduler.AddBackend instead of having a global plugin registry
Clean up mock server tests. There were two mock servers, not there is one and the helper functions simplified some of the test code.

:+1:


fix: Gas limit for uniswap

:books: Linear Ticket :books:

Part of wallet core, no more needed here


Admin UI display of federation meta fields

We need a section of the admin UI that shows you all of the meta configurations for your federation. These are key value pairs, and they can be extremely large values (giant JSON objects etc) so we have to account for their size. It might be wise to put it in a modal or make it expandable, and to render long values differently than short ones (scrollable code block?)
Blocked by #183, we should add the form fields first.
Docs on meta fields: https://github.com/fedimint/fedimint/blob/master/docs/meta_fields/README.md

#363 and #362

https://github.com/fedimint/ui/pull/363


Modeltranslation + inheriting from Mezzanine Page model breaks on deploy

Not sure if this is an issue with Django or Mezzanine or more of problem with how I build my projects (most likely the third possibility.) Regardless, I wanted to post this in case it saves someone else some time.
If I'm recalling this correctly, when using modeltranslation Django/Mezzanine will create new migrations in some Mezzanine apps (i.e. Pages). If creating new models which inherit from mezzanine.pages.models.Page, then the migration file for the new model will refer to a migration file for Page which only exists locally. So, deployment will always break in this scenario.
Workaround: copy the Page migration file directly from local server's virtual environment to remote server.
(Others can probably find a much better solution, but that was the best I could come up with.)

Mezzanine 4.2.3 -> 1d976e5ebae37fd718f60c938164c2a532aad0da
Django==1.10.7
django-modeltranslation==0.12.1

Thanks! For others looking for answers, this is also discussed in the docs: http://mezzanine.jupo.org/docs/multi-lingual-sites.html#translation-fields-and-migrations


Artifactory .NET Core NuGet Push Selector Error

Describe the bug
When utilizing the  Artifactory .NET Core task and using the NuGet Push command, the Deployment repository field dropdown list is not populated.
I see the error displayed in the Azure Devops UI as follows:
Selector could not parse response.. Exception Message: Unexpected character while parsing path query: (

To Reproduce
Azure DevOps Server Version Dev17.M153.5
JFrog Artifactory Extension Version 1.10.0
JFrog Artifactory Service Connection established
Expected behavior
I expect the list field to populate with target artifactory repositories.
Screenshots
https://user-images.githubusercontent.com/1889865/89679765-bed1e000-d8bf-11ea-80d5-73b7c5184383.png
Versions

Artifactory Azure DevOps extension version: 1.10
Agent operating system: Ubuntu 18
JFrog Artifactory version: 7.6.3

Additional context
The correct behavior is observed when using the Artifactory NuGet task. I have used this task to successfully push .nupkg to Artifactory.
Cursory research shows a possibly interesting difference in the bindings between the functioning NuGet task and the non functioning .NET task.
NuGet Push:
        {
            "endpointId": "$(artifactoryService)",
            "endpointURL": "{{endpoint.url}}/api/repositories",
            "target": "targetDeployRepo",
            "resultSelector"<EMAIL_ADDRESS>|| @.type=='VIRTUAL')]",
            "resultTemplate": "{ \"Value\" : \"{{{key}}}\", \"DisplayValue\" : \"{{{key}}}\" }"
        }

.NET NuGet Push
            "endpointId": "$(artifactoryService)",
            "endpointURL": "{{endpoint.url}}/api/repositories",
            "target": "targetDeployRepo",
            "resultSelector"<EMAIL_ADDRESS>&& (@.type=='LOCAL' || @.type=='VIRTUAL'))]",
            "resultTemplate": "{ \"Value\" : \"{{{key}}}\", \"DisplayValue\" : \"{{{key}}}\" }"

A manually constructed YAML task based on the task.json functions as expected.
- task: ArtifactoryDotnetCore@1
  name: ExperimentalPush
  inputs:
    command: 'push'
    artifactoryService: 'artifactory'
    targetDeployRepo: 'nuget'
    pathtoNupkg: '$(Build.ArtifactStagingDirectory)/*.nupkg'

Changing the resultSelector to the following works (I have tested with a local patch release). I have not identified what the problem is with the current one. I suspect it comes down to what implementation of JsonPath is being used, which I assume may be NewtonSoft in this case?
"resultSelector"<EMAIL_ADDRESS>|| @.type=='VIRTUAL')]",

reproduced issue

Hi @jorymorrison , @sophietait ,
Thanks for reporting this issue and investing time in finding it's root.
We just released 1.10.2 that includes a fix, and we'd appreciate your feedback for it.

@jorymorrison and @sophietait,
I'm closing this issue for now, but please let us know if you need further assistance with this.


manual-repo: bump SBT to 0.13.15

SBT 0.13.15 is the default version in the current NixOS package set and
the latest stable release

NixOS' bundled SBT version doesn't really matter (or really, the bundled SBT launcher version), since pretty much all projects pin (or should pin) the version that they want in project/build.properties (https://github.com/teozkr/Sbtix/blob/master/plugin/project/build.properties). This is especially important since SBT is generally not very good at backwards compatibility.
That said, I agree that we should upgrade to SBT 0.13.15, but this means that you also have to update build.properties, otherwise this will just break the build.

good point, I'll fix the build.properties...

@teozkr I updated all manual-repo.nix expressions and build.properties files. Tests passing locally btw...

Thanks! :D

currently regenerating the repo.nix files, but I should be done after that :-)

Oh, oops. Got a bit overexcited, it seems. :P
Feel free to open a second PR for that, once it's done.

ok, already working on it :-)


[integration tests] Pre issues access token action with password grant type

Description
This adds integration tests for the pre issue access token action execution flow with the password grant type.
This covers the test cases for the following scenarios.

Add, replace, remove custom scopes
Add, replace, remove aud claim
Add custom claims - (data types supported: string, number, boolean, string array)
Replace expires_in claim

A mock server has been set up using Wiremock to simulate the external service. The mock server runs locally on the port 8587.
Related Issue

https://github.com/wso2/product-is/issues/20842

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/10571484246

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/10571484246
Status: failure

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/10591399467

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/10591399467
Status: failure

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/10596719407

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/10596719407
Status: success


Bug: db doesnt work in memory

Describe the bug
Both examples not working for mem:/ (win 10, python 3.11)

Steps to reproduce
just try to use it as in readme
Expected behaviour
it should work
SurrealDB version
surreal 2.1.2
surrealdb.py version
surrealdv.py 0.4.1
Contact Details
No response
Is there an existing issue for this?

[X] I have searched the existing issues

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Thanks for raising this. Fix in https://github.com/surrealdb/surrealdb.py/pull/129.
The idea is to create some flexibility for embedded urls. So memory and mem would be valid


Lambdas are rendering weird

The handler parameter should be |_,_| () but it is rendering as |_,_/ () see:

I think it's the underscore that's causing the problem. I now see a similar issue too after the grammar update.

The goal was to give comment scope to ignored params, but it's catching a lot of other cases. I'll have to either scope only word characters or just remove that scope completely.

I don't think comment scope is the right choice in either case.

Ignored params probably shouldn't have comment scope.
On Fri, Oct 23, 2020, 8:19 PM aloucks<EMAIL_ADDRESS>wrote:

I don't think comment scope is the right choice in either case.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/rust-analyzer/rust-analyzer/issues/6340#issuecomment-715641142,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABBACRGI4TMUYVABADCRSNTSMIMQ7ANCNFSM4S5BIJBQ
.

I'm also seeing this bug in a match pattern (I've only noticed it today)

#6330 will fix, @cdmistman.


Implemented the list class in C#

Added extra methods(InsertRange, Count, AddRange)

Alright. Noted. I'll add a main method to test it. Should I add print
statements to print the results of each tests case, or I should only
include the code for the tests?
On Fri, 23 Sep 2022, 09:14 Ayomide Oyekanmi, @.***>
wrote:

@.**** commented on this pull request.
In list/java/List.java
https://github.com/oyekanmiayo/data-structures-all-langs/pull/52#discussion_r978378465
:

@@ -1,6 +1,7 @@
/**

@author: Ayomide Oyekanmi
*/

Please remove this new line.
—
Reply to this email directly, view it on GitHub
https://github.com/oyekanmiayo/data-structures-all-langs/pull/52#pullrequestreview-1118074259,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMNKYMBCSWQSHQR3WJXQLFTV7VRG3ANCNFSM6AAAAAAQTNQP2Q
.
You are receiving this because you authored the thread.Message ID:
@.***
com>

I'm not sure what you mean by "I should only include the code for the tests". Ideally, you'll do something like
List<Integer> list = new List();
list.add(2) // {2}
list.add(0, 50) // {50, 2}

... and so on

I should also be able to copy out your code, paste it into Replit and run it immediately (please ensure that is so :)).
Nit: Please use a linter to format this file.
NB: I haven't looked at your actual implementation yet; I'll do that later :). So, expects comments around that when I do.

Alright. I'll do that. What I was trying to ask was whether I should add
print statements that display the items in the list to show that the
methods perform as expected. For example, after List.Add(2) and
List.Add(5), should I print the items in the resulting list to indeeed show
that the items were added at the right indexes? Or should I just stop at
calling the implementation of the methods, without printing to see what the
items in the list are. Please let me know if my question is still unclear.
On Fri, 23 Sep 2022, 12:32 Ayomide Oyekanmi, @.***>
wrote:

I'm not sure what you mean by "I should only include the code for the
tests". Ideally, you'll do something like
List list = new List();list.add(2) // {2}list.add(0, 50) // {50, 2}
... and so on
I should also be able to copy out your code, paste it into Replit and run
it immediately (please ensure that is so :)).
Nit: Please use a linter to format this file.
NB: I haven't looked at your actual implementation yet; I'll do that later
:). So, expects comments around that when I do.
—
Reply to this email directly, view it on GitHub
https://github.com/oyekanmiayo/data-structures-all-langs/pull/52#issuecomment-1256097975,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMNKYMASVLCPLH42DHC7GB3V7WILNANCNFSM6AAAAAAQTNQP2Q
.
You are receiving this because you authored the thread.Message ID:
@.***>

As I showed in my previous comment, you only need to show in the comments beside the call what the state of the list is after the call.

I have added the test cases. Kindly review. I have also removed the new line from the java file.

Pls remove the LinkedList implementations from this PR.
It'll make the PR too big and a PR should focus on just one thing. Open another PR for them

Oh and it looks like there's another PR for C#, so that'll take precedence.

I (or Abdulazeez) will review the other PR and you can add to that if you want (for the LLs).
Although, on slack what I meant was that you should create a PR to update the README for LL with the possible optimizations you proposed. We can talk about it on slack before you do that, if you're interested.

Alright. Should I send you a message on Slack  then?
On Sat, 1 Oct 2022, 15:28 Ayomide Oyekanmi, @.***>
wrote:

I (or Abdulazeez) will review the other PR and you can add to that if you
want (for the LLs).
Although, on slack what I meant was that you should create a PR to update
the README for LL with the possible optimizations you proposed. We can talk
about it on slack before you do that, if you're interested.
—
Reply to this email directly, view it on GitHub
https://github.com/oyekanmiayo/data-structures-all-langs/pull/52#issuecomment-1264381907,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMNKYMEQMJ5UFCTZXNMFTXTWBBDB5ANCNFSM6AAAAAAQTNQP2Q
.
You are receiving this because you authored the thread.Message ID:
@.***>

I (or Abdulazeez) will review the other PR and you can add to that if you want (for the LLs).
Although, on slack what I meant was that you should create a PR to update the README for LL with the possible optimizations you proposed. We can talk about it on slack before you do that, if you're interested.

Alright. Should I send you a message on slack then?

Okay
On Sat, 1 Oct 2022, 12:40 Ayomide Oyekanmi, @.***>
wrote:

Pls remove the LinkedList implementations from this PR.
It'll make the PR too big and a PR should focus on just one thing. Open
another PR for them
—
Reply to this email directly, view it on GitHub
https://github.com/oyekanmiayo/data-structures-all-langs/pull/52#issuecomment-1264337905,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMNKYMG5XL6CBD53LVQ3VN3WBAPMFANCNFSM6AAAAAAQTNQP2Q
.
You are receiving this because you authored the thread.Message ID:
@.***>


isinf and isnan functions cannot be recognized on OS X when installing CARLsim4

This problem should be related to the difference of compilers since the code runs well on linux and windows. I write functions called isinf_xplat and isnan_xplat to replace them and it could be compiled on OS X now. The code will be tested on linux, windows and projects on OS X later.

Solved with commit 9ae61960619fbb310c49187bdbb1ad42a4e44eda


Deterministic hosts order in hostgroup

Tested by me. The behavior is now expected order of hosts in host group. The order is sorted by hostname as string sort and does not change in multiple re runs.

/azp run

@mkyc @seriva @to-bar
I performed some testing on this PR. It works fine for applying and re-applying cluster configuration.
Additionally it solves the issue #1702 on Azure. However, there may still be issues on AWS scaling components up, depending on which position the new host goes to.
I would introduce a change for Azure provider, and not necessarily for AWS.

We are closing it since its implemented in #2733


⚠ Bofrost.at has degraded performance

In 5b46d99, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2222 ms

Resolved: Bofrost.at performance has improved in a845c6a after 13 minutes.


Add macro downcast_temporal_array

Is your feature request related to a problem or challenge? Please describe what you are trying to do.

While I'm working on replacing temporal _generic with _dyn kernel, it needs to match temporal types. A macro downcast_temporal_array will be useful.
Describe the solution you'd like

Describe alternatives you've considered

Additional context

label_issue.py automatically added labels {'arrow'} from #3007


Problem with Rukuli::App#window ?

Hi,
I'm trying to use Rukuli on Windows and I'm getting the following error when I call Rukuli::App#window
$ jruby main.rb

C:/jruby-<IP_ADDRESS>.pre1/lib/ruby/gems/shared/gems/rukuli-1.0.3/lib/rukuli/region.rb:30: warning: ambiguous Java methods found, using org.sikuli.script.Region(java.awt.Rectangle)
org/sikuli/script/Region.java:254:in `<init>': java.lang.NullPointerException
        from C:/jruby-<IP_ADDRESS>.pre1/lib/ruby/gems/shared/gems/rukuli-1.0.3/lib/rukuli/region.rb:30:in `initialize'
        from C:/jruby-<IP_ADDRESS>.pre1/lib/ruby/gems/shared/gems/rukuli-1.0.3/lib/rukuli/app.rb:30:in `window'
        from main.rb:10:in `__script__'
        from main.rb:10:in `__script__'

Here's whats in main.rb:
# main.rb
CURRENT_DIR = File.expand_path(File.dirname(__FILE__))
ENV['SIKULIX_HOME'] = "#{CURRENT_DIR}/sikuli-java.jar"

require 'java'
require 'rukuli'

app = Rukuli::App.new 'Notepad'
app.focus

app.window.click 10, 10

In this example, everything seems to work (I see notepad open) except for the last line. Am I doing something wrong? Or could it be that Rukuli::Region#initialize and/or Rukuli::App#window should be different. I'm not familiar with how Sikuli works.
Thanks!

Hi @jrab89,
First I need the Log, testing on my machine I got this messages
$ ruby test.rb
[log] App.focus TextEdit(0) #0
[log] openApp: "TextEdit"
/usr/local/rvm/gems/jruby-1.7.19/gems/rukuli-1.0.3/lib/rukuli/clickable.rb:287 warning: ambiguous Java methods found, using org.sikuli.script.Location(int,int)
[log] CLICK on L(294,106)@S(0)[0,0 1280x800]

And a I need more information about your OS, what version of windows you're running?

Same here. Did anyone find out?

@Ricardonacif Do you can send me the log?

Not sure what I did, but I could fix it :dancers:

@Ricardonacif @jrab89 ping


[1Password] ...

Extension
https://www.raycast.com/khasbilegt/1password
Description
Allow multiple 1Password accounts.
Currently when you login for the first time you are asked to select a 1Password account. I'd like to be able to search all my passwords across all my accounts.
Who will benefit from this feature?
Anyone with multiple 1Password accounts - given you get a free personal account with business accounts this would be a lot of users.
Anything else?
No response

cosign, i need this as well!

No takers? It's a shame as I can't use the 1Password extension without it.

We might be able to give this a test more: https://github.com/raycast/extensions/pull/7571 - but it was actually implemented @craigharman


certificate not trusted

Hello,
I can run cordova create hello, cd hello, but I can't run cordova platform add android. I get "Unable to fetch platform android: Error: certificate not trusted". Can you help me? Thank you!

I have the same error.

Setting NODE_TLS_REJECT_UNAUTHORIZED=0 helped in my case

which then again, results in Unable to fetch platform android: Error: SSL Error: CERT_UNTRUSTED. This can be solved by adding RUN npm config set strict-ssl false to the Dockerfile (and rebuilding). Only to fail again at
Unzipping /src/gradle/wrapper/dists/gradle-2.2.1-all/2m8005s69iu8v0oiejfej094b/gradle-2.2.1-all.zip to /src/gradle/wrapper/dists/gradle-2.2.1-all/2m8005s69iu8v0oiejfej094b
Exception in thread "main" java.lang.RuntimeException: java.util.zip.ZipException: zip file is empty

so it seems this repository is pretty much unusable today. not really sure what the underlying issue is

I have experienced the same error today. I love the idea behind this repo, but need some help to get it working please.

Unfortunately I don't work with Cordova any longer and I don't think there is much work in general in this space by other contributors.

Thanks. I've given up on Cordova as it's too hard to make it work.

Had the same problem. To solve it i first went into a shell in the container
docker run -it  -v $PWD:/src cordova bash
from within i run:
npm config set registry http://registry.npmjs.org/
npm config set strict-ssl false
cordova platform add android

(which is a non recomended answer from https://stackoverflow.com/questions/13913941/how-to-fix-ssl-certificate-error-when-running-npm-on-windows)
But later doing cordova build i got a 403 FORBIDDEN from http://services.gradle.org/distributions/gradle-2.2.1-all.zip which i could verify it was not working doing wget http://services.gradle.org/distributions/gradle-2.2.1-all.zip
There is definetly something broken with the SSL client libs in the container.
I could solve it changing that URL to HTTPS by executing the command:
sed -i 's/distributionUrl=http/distributionUrl=https/' platforms/android/cordova/lib/build.js
And voila, BUILD SUCCESSFUL

I don't use the tool anymore, closing it.


[Docs] Filepicker documentation is missing a gif

Documentation Link
https://docs.appsmith.com/widget-reference/filepicker

Can I take up this issue?

I have created a pr for this https://github.com/appsmithorg/appsmith-docs/pull/16
Please review this.

@SamriddhiMishra Thank you for creating the PR. In future, please claim an issue before you start working on it. This ensures that other folks also know that this issue has already been worked on.

Sure, @mohanarpit I will keep that in mind. Thanks!