Benchmark AmpereOne A192-32X

I have a system Ampere / Supermicro sent over for testing, it's the 192-core CPU, with 512 GB of DDR5 RAM at 5200 MT/s.
See: https://github.com/geerlingguy/sbc-reviews/issues/52

CPU was self-reporting 297W power draw, I don't have my wall power measurement set up yet, but will soon. The power strip showed 8A at 120V (for the full rack), so somewhere between 500-600W for the full system probably.
================================================================================
HPLinpack 2.3  --  High-Performance Linpack benchmark  --   December 2, 2018
Written by A. Petitet and R. Clint Whaley,  Innovative Computing Laboratory, UTK
Modified by Piotr Luszczek, Innovative Computing Laboratory, UTK
Modified by Julien Langou, University of Colorado Denver
================================================================================

An explanation of the input/output parameters follows:
T/V    : Wall time / encoded variant.
N      : The order of the coefficient matrix A.
NB     : The partitioning blocking factor.
P      : The number of process rows.
Q      : The number of process columns.
Time   : Time in seconds to solve the linear system.
Gflops : Rate of execution for solving the linear system.

The following parameter values will be used:

N      :  203788
NB     :     256
PMAP   : Row-major process mapping
P      :       1
Q      :     192
PFACT  :   Right
NBMIN  :       4
NDIV   :       2
RFACT  :   Crout
BCAST  :  1ringM
DEPTH  :       1
SWAP   : Mix (threshold = 64)
L1     : transposed form
U      : transposed form
EQUIL  : yes
ALIGN  : 8 double precision words

--------------------------------------------------------------------------------

- The matrix A is randomly generated for each test.
- The following scaled residual check will be computed:
      ||Ax-b||_oo / ( eps * ( || x ||_oo * || A ||_oo + || b ||_oo ) * N )
- The relative machine precision (eps) is taken to be               1.110223e-16
- Computational tests pass if scaled residuals are less than                16.0

================================================================================
T/V                N    NB     P     Q               Time                 Gflops
--------------------------------------------------------------------------------
WR11C2R4      203788   256     1   192            2628.74             2.1464e+03
HPL_pdgesv() start time Wed Oct 16 17:08:19 2024

HPL_pdgesv() end time   Wed Oct 16 17:52:08 2024

--------------------------------------------------------------------------------
||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)=   2.21811736e-03 ...... PASSED
================================================================================

Finished      1 tests with the following results:
              1 tests completed and passed residual checks,
              0 tests completed and failed residual checks,
              0 tests skipped because of illegal input values.
--------------------------------------------------------------------------------

End of Tests.
================================================================================

That score would put this system at rank #460 on the 2006/06 Top500 List (see https://hpl-calculator.sourceforge.net/hpl-calculations.php and https://www.top500.org/lists/top500/list/2006/06/?page=5).
It about matches the Saguaro cluster at Arizona State University, which consumed around 80 kilowatts of power in 2006.

Re-ran the test again today with my ThirdReality Smart Outlet for power monitoring. It is within 10W of Supermicro's BMC power reporting. See image and full results below, but here's the summary:
TODO Gflops at TODO W for TODO Gflops/W

TODO

Ampere is going to provide instructions for a more optimized HPL run since AmpereOne is a newer architecture and could use a few optimizations to sneak in a bit more efficiency.

Hi Jeff,
Can you rerun the workload using the HPL.dat input file attached?
Our testing shows us getting 3.0 TFLOP/s
HPL.zip
Note: We are working on tweaking the performance even further.

@rbapat-ampere - Sure! Makes sense if the NUMA layout means the memory access is better allocated like that. It seems highly dependent on the core layout, on most single-socket systems just having the number of cores for Qs helps, but when we hit 192 cores, things behave funny :)
I'm going to use the following values in my config.yml, to override the defaults (and I was using 1/192 Ps/Qs):
hpl_dat_opts:
  # sqrt((Memory in GB * 1024 * 1024 * 1024 * Node count) / 8) * 0.9
  #Ns: "{{ (((((ram_in_gb | int) * 1024 * 1024 * 1024 * (nodecount | int)) / 8) | root) * 0.90) | int }}"
  Ns: 203788
  NBs: 256
  # (P * Q) should be roughly equivalent to total core count, with Qs higher.
  # If running on a single system, Ps should be 1 and Qs should be core count.
  Ps: 12
  Qs: 16

TODO Gflops at 685 W, for TODO Gflops/W
Average is closer to 685W on this run, with the above settings:

Final result:
TODO

@geerlingguy
Nothing of that sort. Used OpenBLAS.
================================================================================
T/V                N    NB     P     Q               Time                 Gflops
--------------------------------------------------------------------------------
WR11C2R4      239872   256    12    16            3095.07             2.9729e+03
HPL_pdgesv() start time Fri Oct 25 10:23:52 2024

HPL_pdgesv() end time   Fri Oct 25 11:15:27 2024

--------------------------------------------------------------------------------
||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)=   1.50966052e-03 ...... PASSED
================================================================================

@rbapat-ampere / @joespeed - I noticed your N was set to 239872 in the run above (the HPL.zip you posted had N = 203788).
I will do another run with that updated value.
The entire build procedure is done automatically in an isolated build directory using this very project's Ansible playbook: https://github.com/geerlingguy/top500-benchmark
The build instructions are:

Ensure you have Ansible installed locally (e.g. pip install ansible)
Clone this repository anywhere on the local volume
cp example.hosts.ini hosts.ini && cp example.config.yml config.yml
Modify the config.yml file and set the exact values you require (my entire config.yml is pasted below)
Run ansible-playbook main.yml --tags "setup,benchmark"

The Ansible playbook makes it easy for me to swap out libraries, re-run the tests dozens of times without having to touch anything, and verify that my test runs are exactly the same across systems and time (as I also control the versions of libraries I install).
In my previous runs I've used flame/blis, but I will switch to openblas. The mpich version I'm running right now is 4.2.2, but I see 4.2.3 was just released, so I will switch to that as well. I'm starting a new run momentarily.

@geerlingguy
I ran HPL using your top500 ansible playbook. A few things I noticed during runtime.

While checking htop, I noticed that the average all core utilization did not reach 100%

During my runs, its 100% from get go all the way to the end.

@rbapat-ampere - To match your setup, you would need to change the config.yml values to match the ones I pasted in my comment (I forgot to paste initially, but they are there now).
I just re-ran the benchmark and it errored out. Checking dmesg, I found a bunch of errors like:
[  511.304636] EDAC MC0: 1 CE single-symbol chipkill ECC on P0_Node0_Channel5_Dimm0 DIMMF1 (node:0 card:5 module:16 rank:0 bank_group:3 bank_address:3 device:7 row:32680 column:1312 DIMM location: P0_Node0_Channel5_Dimm0 DIMMF1 page:0x3fd437 offset:0x4180 grain:1 syndrome:0x0 - APEI location: node:0 card:5 module:16 rank:0 bank_group:3 bank_address:3 device:7 row:32680 column:1312 DIMM location: P0_Node0_Channel5_Dimm0 DIMMF1 status(0x0000000000000400): Storage error in DRAM memory)

And at the end, as I got an error from HPL, I saw this in dmesg:
[  536.679810] EDAC MC0: 1 CE single-symbol chipkill ECC on P0_Node0_Channel5_Dimm0 DIMMF1 (node:0 card:5 module:16 rank:0 bank_group:3 bank_address:3 device:7 row:1492 column:1248 DIMM location: P0_Node0_Channel5_Dimm0 DIMMF1 page:0x2ea37 offset:0x3080 grain:1 syndrome:0x0 - APEI location: node:0 card:5 module:16 rank:0 bank_group:3 bank_address:3 device:7 row:1492 column:1248 DIMM location: P0_Node0_Channel5_Dimm0 DIMMF1 status(0x0000000000000400): Storage error in DRAM memory)
[  539.061145] {139}[Hardware Error]: Hardware error from APEI Generic Hardware Error Source: 2
[  539.061148] {139}[Hardware Error]: It has been corrected by h/w and requires no further action
[  539.061149] {139}[Hardware Error]: event severity: corrected
[  539.061150] {139}[Hardware Error]:  Error 0, type: corrected
[  539.061151] {139}[Hardware Error]:   section_type: memory error
[  539.061152] {139}[Hardware Error]:    error_status: Storage error in DRAM memory (0x0000000000000400)
[  539.061154] {139}[Hardware Error]:   physical_address: 0x00000001b0b63bc0
[  539.061156] {139}[Hardware Error]:   node:0 card:5 module:16 rank:0 bank_group:3 bank_address:3 device:7 row:865 column:240
[  539.061157] {139}[Hardware Error]:   error_type: 4, single-symbol chipkill ECC
[  539.061158] {139}[Hardware Error]:   DIMM location: P0_Node0_Channel5_Dimm0 DIMMF1
[  539.061159] {139}[Hardware Error]:  Error 1, type: corrected
[  539.061160] {139}[Hardware Error]:   section type: unknown, 2826cc9f-448c-4c2b-86b6-a95394b7ef33
[  539.061161] {139}[Hardware Error]:   section length: 0x30
[  539.061163] {139}[Hardware Error]:   00000000: 00003001 00000015 1b0b63c0 00000000  .0.......c......
[  539.061165] {139}[Hardware Error]:   00000010: 00000000 00000000 00000000 00410002  ..............A.
[  539.061167] {139}[Hardware Error]:   00000020: 001d0000 00000002 0d600080 006e0000  ..........`...n.
[  539.061170] EDAC MC0: 1 CE single-symbol chipkill ECC on P0_Node0_Channel5_Dimm0 DIMMF1 (node:0 card:5 module:16 rank:0 bank_group:3 bank_address:3 device:7 row:865 column:240 DIMM location: P0_Node0_Channel5_Dimm0 DIMMF1 page:0x1b0b6 offset:0x3bc0 grain:1 syndrome:0x0 - APEI location: node:0 card:5 module:16 rank:0 bank_group:3 bank_address:3 device:7 row:865 column:240 DIMM location: P0_Node0_Channel5_Dimm0 DIMMF1 status(0x0000000000000400): Storage error in DRAM memory)

Indeed, as I'm running the test, I'm seeing thousands of these messages every second...
[  669.816722] EDAC MC0: 1 CE single-symbol chipkill ECC on P0_Node0_Channel5_Dimm0 DIMMF1 (node:0 card:5 module:16 rank:0 bank_group:3 bank_address:3 device:7 row:43119 column:1776 DIMM location: P0_Node0_Channel5_Dimm0 DIMMF1 page:0x5437b7 offset:0xb8c0 grain:1 syndrome:0x0 - APEI location: node:0 card:5 module:16 rank:0 bank_group:3 bank_address:3 device:7 row:43119 column:1776 DIMM location: P0_Node0_Channel5_Dimm0 DIMMF1 status(0x0000000000000400): Storage error in DRAM memory)

It seems like DIMM location: P0_Node0_Channel5_Dimm0 DIMMF1 might be a bad stick of RAM (and would account for a slower result...).

Indeed, looking in the BMC, I see a bunch of health warnings:

Aww, this time it ran for 30 minutes before bailing with OOM...
    ===================================================================================
    =   BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
    =   PID 41523 RUNNING AT <IP_ADDRESS>
    =   EXIT CODE: 9
    =   CLEANING UP REMAINING PROCESSES
    =   YOU CAN IGNORE THE BELOW CLEANUP MESSAGES
    ===================================================================================

Going to give it one more go and then maybe back off Ns a bit more. All 8 sticks of RAM accounted for, 512 GB total system RAM:
ubuntu@ubuntu:~$ free -h
               total        used        free      shared  buff/cache   available
Mem:           510Gi       397Gi       131Gi       6.5Mi       450Mi       113Gi
Swap:          8.0Gi       166Mi       7.8Gi

ubuntu@ubuntu:~$ sudo dmidecode -t memory | grep Serial
	Serial Number: 80AD012324466511C5
	Serial Number: 80AD012324466511CE
	Serial Number: 80AD01241097E76174
	Serial Number: 80AD01232446651180
	Serial Number: 80AD01232446651279
	Serial Number: 80AD01232446651347
	Serial Number: 80AD012327879F620A
	Serial Number: 80AD012327879F624D

...maybe OpenBLAS handles memory allocation differently? We'll see if a 2nd run works or if it errors out at the same point. Note that power usage is dramatically reduced, more like 430W. I can't get a result yet, though, so we'll see what that means for overall efficiency!

After 30 minutes, it looks like free space does run out, and swap is touched... so probably a good idea to limit the RAM a little further.

TODO...

Even at 0.25x the system RAM, it seems like the RAM fills up around 30 minutes into the test. Might switch back to blis and see if the behavior improves again...
@rbapat-ampere - When you're doing your runs, how long do they take? And have you monitored RAM consumption over time to see if/when it fills up with 512 GB of system memory?

End result with blis again:
================================================================================
HPLinpack 2.3  --  High-Performance Linpack benchmark  --   December 2, 2018
Written by A. Petitet and R. Clint Whaley,  Innovative Computing Laboratory, UTK
Modified by Piotr Luszczek, Innovative Computing Laboratory, UTK
Modified by Julien Langou, University of Colorado Denver
================================================================================

An explanation of the input/output parameters follows:
T/V    : Wall time / encoded variant.
N      : The order of the coefficient matrix A.
NB     : The partitioning blocking factor.
P      : The number of process rows.
Q      : The number of process columns.
Time   : Time in seconds to solve the linear system.
Gflops : Rate of execution for solving the linear system.

The following parameter values will be used:

N      :  203788
NB     :     256
PMAP   : Row-major process mapping
P      :      12
Q      :      16
PFACT  :   Right
NBMIN  :       4
NDIV   :       2
RFACT  :   Crout
BCAST  :  1ringM
DEPTH  :       1
SWAP   : Mix (threshold = 64)
L1     : transposed form
U      : transposed form
EQUIL  : yes
ALIGN  : 8 double precision words

--------------------------------------------------------------------------------

- The matrix A is randomly generated for each test.
- The following scaled residual check will be computed:
      ||Ax-b||_oo / ( eps * ( || x ||_oo * || A ||_oo + || b ||_oo ) * N )
- The relative machine precision (eps) is taken to be               1.110223e-16
- Computational tests pass if scaled residuals are less than                16.0

================================================================================
T/V                N    NB     P     Q               Time                 Gflops
--------------------------------------------------------------------------------
WR11C2R4      203788   256    12    16            2624.94             2.1495e+03
HPL_pdgesv() start time Mon Oct 28 20:35:19 2024

HPL_pdgesv() end time   Mon Oct 28 21:19:04 2024

--------------------------------------------------------------------------------
||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)=   1.71446644e-03 ...... PASSED
================================================================================

Finished      1 tests with the following results:
              1 tests completed and passed residual checks,
              0 tests completed and failed residual checks,
              0 tests skipped because of illegal input values.
--------------------------------------------------------------------------------

End of Tests.
================================================================================

I tested again, just with 0.05 of the RAM (so N = 52133), and this time it averaged around 450W of power.
TODO, waiting for test to complete...

On v0.3.28, I'm able to get a run to complete setting N laughably low. Setting it to 166501 it seems like it may be working better, using up 99% of RAM but not thrashing... We'll see.

That test failed with more:
[26986.597698] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=user.slice,mems_allowed=0,global_oom,task_memcg=/user.slice/user-1000.slice/user@1000.service/init.scope,task=systemd,pid=529208,uid=1000
[26986.597752] Out of memory: Killed process 529208 (systemd) total-vm:22080kB, anon-rss:0kB, file-rss:0kB, shmem-rss:0kB, UID:1000 pgtables:384kB oom_score_adj:100
[26986.640893] xhpl invoked oom-killer: gfp_mask=0x100cca(GFP_HIGHUSER_MOVABLE), order=0, oom_score_adj=0

So I'm switching gears and will run the scripts sent over from @rbapat-ampere to compile the versions of OpenMPI 5.0.5, BLIS and HPL he has running. I believe a repo with that configuration will be forthcoming...

Finally got a good run in, with the Ampere-supplied script.
2,996 Gflops at 725W, for 4.13 Gflops/W
================================================================================
HPLinpack 2.3  --  High-Performance Linpack benchmark  --   December 2, 2018
Written by A. Petitet and R. Clint Whaley,  Innovative Computing Laboratory, UTK
Modified by Piotr Luszczek, Innovative Computing Laboratory, UTK
Modified by Julien Langou, University of Colorado Denver
================================================================================

An explanation of the input/output parameters follows:
T/V    : Wall time / encoded variant.
N      : The order of the coefficient matrix A.
NB     : The partitioning blocking factor.
P      : The number of process rows.
Q      : The number of process columns.
Time   : Time in seconds to solve the linear system.
Gflops : Rate of execution for solving the linear system.

The following parameter values will be used:

N      :  239872
NB     :     256
PMAP   : Row-major process mapping
P      :      12
Q      :      16
PFACT  :   Right
NBMIN  :       4
NDIV   :       2
RFACT  :   Crout
BCAST  :  1ringM
DEPTH  :       1
SWAP   : Mix (threshold = 64)
L1     : transposed form
U      : transposed form
EQUIL  : yes
ALIGN  : 8 double precision words

--------------------------------------------------------------------------------

- The matrix A is randomly generated for each test.
- The following scaled residual check will be computed:
      ||Ax-b||_oo / ( eps * ( || x ||_oo * || A ||_oo + || b ||_oo ) * N )
- The relative machine precision (eps) is taken to be               1.110223e-16
- Computational tests pass if scaled residuals are less than                16.0

================================================================================
T/V                N    NB     P     Q               Time                 Gflops
--------------------------------------------------------------------------------
WR11C2R4      239872   256    12    16            3071.39             2.9958e+03
HPL_pdgesv() start time Tue Oct 29 01:17:45 2024

HPL_pdgesv() end time   Tue Oct 29 02:08:56 2024

--------------------------------------------------------------------------------
||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)=   1.56457026e-03 ...... PASSED
================================================================================

Finished      1 tests with the following results:
              1 tests completed and passed residual checks,
              0 tests completed and failed residual checks,
              0 tests skipped because of illegal input values.
--------------------------------------------------------------------------------

End of Tests.
================================================================================

If I attempt to modify my config to use the configure options in the Ampere-supplied repo, I wind up with errors compiling HPL. I've noticed another major difference is the HPL Makefile, Make.AmpereOne — it differs a bit from what I generate in the task that builds sh make_generic...
I'm happy enough accepting the result from the Ampere build though. To be more complete, I should probably denote runtime options used by each run in the issues—I don't always do that, but if there are platform-specific optimizations (besides auto and make_generic), that can lead to a substantial difference in performance.

Going to run once more tonight, to see if I can pass 3 Tflops (got 2.996 lol).

Also to give a little more of a leg up, I may do one more run with 25 Gbps network detached, and pulling all the NVMe drives out from the front.

Today's run, without NVMe, and without 25G networking connected, was rock solid at 692W (see graph below), for:
3,027 Gflops at 692W, or 4.37 Gflops/W

I may do another run later downclocked to 2.6 GHz or some lower clock, to see if efficiency can scale up a bit, and what the sweet spot is for the AmpereOne.

Setting the frequency to 2.6 GHz all cores to simulate the more efficient A192-26X SKU:
sudo cpupower frequency-set -u 2600000

2,755 Gflops at 612W, for 4.50 Gfops/W
================================================================================
HPLinpack 2.3  --  High-Performance Linpack benchmark  --   December 2, 2018
Written by A. Petitet and R. Clint Whaley,  Innovative Computing Laboratory, UTK
Modified by Piotr Luszczek, Innovative Computing Laboratory, UTK
Modified by Julien Langou, University of Colorado Denver
================================================================================

An explanation of the input/output parameters follows:
T/V    : Wall time / encoded variant.
N      : The order of the coefficient matrix A.
NB     : The partitioning blocking factor.
P      : The number of process rows.
Q      : The number of process columns.
Time   : Time in seconds to solve the linear system.
Gflops : Rate of execution for solving the linear system.

The following parameter values will be used:

N      :  239872
NB     :     256
PMAP   : Row-major process mapping
P      :      12
Q      :      16
PFACT  :   Right
NBMIN  :       4
NDIV   :       2
RFACT  :   Crout
BCAST  :  1ringM
DEPTH  :       1
SWAP   : Mix (threshold = 64)
L1     : transposed form
U      : transposed form
EQUIL  : yes
ALIGN  : 8 double precision words

--------------------------------------------------------------------------------

- The matrix A is randomly generated for each test.
- The following scaled residual check will be computed:
      ||Ax-b||_oo / ( eps * ( || x ||_oo * || A ||_oo + || b ||_oo ) * N )
- The relative machine precision (eps) is taken to be               1.110223e-16
- Computational tests pass if scaled residuals are less than                16.0

================================================================================
T/V                N    NB     P     Q               Time                 Gflops
--------------------------------------------------------------------------------
WR11C2R4      239872   256    12    16            3340.34             2.7546e+03
HPL_pdgesv() start time Wed Oct 30 01:52:32 2024

HPL_pdgesv() end time   Wed Oct 30 02:48:12 2024

--------------------------------------------------------------------------------
||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)=   1.58219282e-03 ...... PASSED
================================================================================

Finished      1 tests with the following results:
              1 tests completed and passed residual checks,
              0 tests completed and failed residual checks,
              0 tests skipped because of illegal input values.
--------------------------------------------------------------------------------

End of Tests.
================================================================================

Closing this issue for now as I have the results—I will reopen if we get any other optimizations back from Ampere!

One more run this morning, with the 6x NVMe drives unplugged, for max efficiency score...
2,745.1 Gflops at 570 W, for 4.82 Gflops/W
================================================================================
HPLinpack 2.3  --  High-Performance Linpack benchmark  --   December 2, 2018
Written by A. Petitet and R. Clint Whaley,  Innovative Computing Laboratory, UTK
Modified by Piotr Luszczek, Innovative Computing Laboratory, UTK
Modified by Julien Langou, University of Colorado Denver
================================================================================

An explanation of the input/output parameters follows:
T/V    : Wall time / encoded variant.
N      : The order of the coefficient matrix A.
NB     : The partitioning blocking factor.
P      : The number of process rows.
Q      : The number of process columns.
Time   : Time in seconds to solve the linear system.
Gflops : Rate of execution for solving the linear system.

The following parameter values will be used:

N      :  239872
NB     :     256
PMAP   : Row-major process mapping
P      :      12
Q      :      16
PFACT  :   Right
NBMIN  :       4
NDIV   :       2
RFACT  :   Crout
BCAST  :  1ringM
DEPTH  :       1
SWAP   : Mix (threshold = 64)
L1     : transposed form
U      : transposed form
EQUIL  : yes
ALIGN  : 8 double precision words

--------------------------------------------------------------------------------

- The matrix A is randomly generated for each test.
- The following scaled residual check will be computed:
      ||Ax-b||_oo / ( eps * ( || x ||_oo * || A ||_oo + || b ||_oo ) * N )
- The relative machine precision (eps) is taken to be               1.110223e-16
- Computational tests pass if scaled residuals are less than                16.0

================================================================================
T/V                N    NB     P     Q               Time                 Gflops
--------------------------------------------------------------------------------
WR11C2R4      239872   256    12    16            3351.97             2.7451e+03
HPL_pdgesv() start time Wed Oct 30 14:23:21 2024

HPL_pdgesv() end time   Wed Oct 30 15:19:13 2024

--------------------------------------------------------------------------------
||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)=   1.55559315e-03 ...... PASSED
================================================================================

Finished      1 tests with the following results:
              1 tests completed and passed residual checks,
              0 tests completed and failed residual checks,
              0 tests skipped because of illegal input values.
--------------------------------------------------------------------------------

End of Tests.
================================================================================

(Just to be complete, after getting the extra stick of RAM, I re-ran the benchmark and got about the same 3 Tflop result)


error on cis_reports.py

hi all
we launched the script in our tenancy  and gave us this error
Processing Network Security Lists...
Processing Network Security Groups...
Processing Network Subnets...
Processing Tag Defaults..
Traceback (most recent call last):
File "cis_reports.py", line 1500, in
execute_report()
File "cis_reports.py", line 1493, in execute_report
report.report_generate_cis_report()
File "cis_reports.py", line 1238, in report_generate_cis_report
self.__report_analyze_tenancy_data()
File "cis_reports.py", line 1107, in __report_analyze_tenancy_data
if irule['tcp_options'].destination_port_range.min == 22 and irule['tcp_options'].destination_port_range.max == 22:
AttributeError: 'NoneType' object has no attribute 'min'
thanks

Hi Ortiz, thanks for filing this.
The issue is due to an ingress rule with wide open access from <IP_ADDRESS>/0, as it does not have a specific destination port, thus allowing access to all ports. Make sure you don't have them in your tenancy.
We are now capturing such an issue and temporarily reporting under CIS Benchmark item 2.5, as there's still no specific rule for such configuration scenario. Please, pull the repo and let us know if the fix is effective.
Andre.


Sequence constraint to enforce only unique items

Checks

[x] I added a descriptive title to this issue
[x] I have searched (google, github) for similar issues and couldn't find anything
[x] I have read and followed the docs and still think this feature/change is needed
[x] After submitting this, I commit to one of:

Look through open issues and helped at least one other person
Hit the "watch" button on this repo to receive notifications and I commit to help at least 2 people that ask questions in the future
Implement a Pull Request for a confirmed bug

Feature Request
Output of python -c "import pydantic.utils; print(pydantic.utils.version_info())":
             pydantic version: 1.6.1
            pydantic compiled: False
                 install path: /Users/yuriikarabas/my-projects/pydantic/pydantic
               python version: 3.6.8 (v3.6.8:3c6b436a57, Dec 24 2018, 02:04:31)  [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)]
                     platform: Darwin-19.6.0-x86_64-i386-64bit
     optional deps. installed: ['typing-extensions', 'email-validator', 'devtools']

The idea of this feature is to add the ability to validate that sequence types (like list, tuple, or set) contains only unique items.
I think the best API for this feature will be something like this:
from typing import List
from pydantic import BaseModel, EmailStr, Field

class User(BaseModel):
    email: EmailStr

class Form(BaseModel):
    users: List[User] = Field(unique=True)

In case when data contains duplicates, they will be available using errors method.
For instance:
try:
    f = Form(users=[{'email'<EMAIL_ADDRESS>* 2)
except ValidationError as e:
    print(e.errors())

Will print:
[
    {
        'loc': ('users',),
        'msg': "value contains duplicate items [User(email='some@email.com')]",
        'type': 'type_error.sequencenotunique',
        'ctx': {'duplicates': [User(email='some@email.com')]}
    },
]

Also, as an option, we can add a new generic type Unique.
Usage will look like:
from pydantic import BaseModel, EmailStr, Unique

class User(BaseModel):
    email: EmailStr

class Form(BaseModel):
    users: Unique[User]

I have already implemented this feature in my fork. link to commit

As a workaround, maybe you could set the attribute type to a set? Then when a list gets passed in, it gets deduplicated automatically. Then you can override json() and dict() to convert it back to a list on the way out.

@mdavis-xyz The idea of this feature is to validate that sequences have only unique items.
Code below will show the idea:
from typing import Set

from pydantic import BaseModel, Field

class FooForm(BaseModel):
    tags: Set[int]

foo = FooForm(tags=[1, 1, 2])  # tags attribute will be {1, 2}

class BarForm(BaseModel):
    tags: Set[int] = Field(unique=True)

bar = BarForm(tags=[1, 1, 2])  # will fail, because sequence has duplicate items

If you have any questions, feel free to ask.

This is an interesting issue that clarifies some of the friction points with validation and casting within Pydantic.
As a workaround, it's possible to add a validator with 'pre=True' to get the desired behavior.
from typing import Set, Sequence
from pydantic import BaseModel, Field, validator

def custom_to_set(xs: Sequence[int]) -> Set[int]:
    items = set([])
    for item in xs:
        if item in items:
            raise ValueError(f"Duplicate item {item}")
        else:
            items.add(item)
    return items

class Record(BaseModel):
    tags: Set[int] = Field(...)

    @validator('tags', pre=True)
    def validate_unique_tags(cls, value):
        # raise ValueError or a set
        return custom_to_set(value)

def example() -> int:

    t1 = ['1', '2'] # Notice how liberal Pydantic is. This is not a validation error
    t2 = [1, 3, 1] # This now raises
    for t in [t1, t2]:
        print(Record(tags=t))
    return 0

Is this issue a bandaid for the fundamental loose casting/coercion model that Pydantic has adopted?
https://github.com/samuelcolvin/pydantic/issues/1098
Your proposal does seem reasonable and clarifies the default behavior  of Set[T] in a "strict" mode should raise a core validation error if the input sequence has any duplicates. However, this is not how Pydantic has approached validation.  Perhaps it would be better to wait until Pydantic has a coherent "strict" model?
With regards to the proposal, it's a bit counterintuitive to define a Set[int] and also set Field(unique=True) to get the validation to work "correctly".  Similarly, List[T] = Field(unique=True) is counterintuitive because it's not clear why a Set[T] isn't being used.  This case might be better solved by a custom validation/casting function with pre=True?

@mpkocher  This issue came up when I faced which unpredictable behavior I thought was a bug.
I had a model and one of the fields had a type Set[str], the model looked like:
class Form(BaseModel):
    tags: Set[int]

When one of the scripts tried to instantiate Form with duplicated items it simply cast sequence to a set, which was the wrong behavior for me script. After investigating I found that this is expected behavior, that why I create this PR)
I agree with you that List[T] = Field(unique=True) can be a little bit confusing.
Regarding #1098 it looks great and maybe it's better to return to this feature after Strict Configuration will be implemented.

I'm running into similar friction points where the overly liberal casting yields surprising results.


[1354] Remove sensitive information from Sentry

Context
The parameters we filter out for sensitive information in logs, etc. isn't respected by Sentry.
Changes proposed in this pull request
Make Sentry filter out the same attributes as Rails does.
Guidance to review
Need to test if this actually works.

 Sentry/Slack/Azure/Logging Not to contain PPI ie email address


Limit switch

I am not sure how to handle the case when home sensor is the same as limit switch, it could be random whether you would get a limit error during move_home or success

I think it is crucial for us to deal with this race condition before we can setup a scenario where the homing sensor and one of the limit switches are the same.
However I am not really sure how we can do that without checking that one off the limit switches is connected to the same signal as the homing sensor. Which would require us the expose internals not currently exposed.

That's pretty good solution for that problem!
It's trivial to expose it's connection and the information is contained in same code path.
Should it be implemented here or as a follow-up?

Should it be implemented here or as a follow-up?
Both fine by me.


heapster and kubernetes: not getting any container stats

I'm currently testing heapster with kubernetes v0.5 and cadvisor 0.6.2.
Grafana doesn't display any graphs with per container stats (total cluster CPU and memory usage is displayed fine), it's just giving the error "Couldn't look up columns for series: stats"
Heapster is also displaying errors constantly:
E1121 09:30:41.665006 00007 kube.go:104] failed to get stats from kubelet on host with ip   <IP_ADDRESS> - Got 'Internal Error: unable to unmarshal container info for "/docker/35c89c2b64d4d76ffda3cd7e3797273a6ba829bae81ca15364ed35765b546fbb" (failed to get container "/docker/35c89c2b64d4d76ffda3cd7e3797273a6ba829bae81ca15364ed35765b546fbb" with error: unknown container "/docker/35c89c2b64d4d76ffda3cd7e3797273a6ba829bae81ca15364ed35765b546fbb"
): invalid character 'i' in literal false (expecting 'l')
': invalid character 'I' looking for beginning of value

So I guess there's some problem with getting the data from cadvisor into InfluxDB?
Best regards,
Julian

@Fandekasp: Kubernetes is using the latest version of cadvisor. Can you try upgrading cadvisor and see if that fixes your issues?


Postmortem 0.4.1

Checklist

[x] the PR target is correct

[ ] main for postmortem, docs-only fixes, and post-release hot-fixes
[x] dev for everything else

[x] ran doit lint locally

References

fixes #134

Code changes

[x] bump to next development version
[x] bump the CACHE_EPOCH
[x] rebuild yarn.lock
[x] rebuild .github/locks

User-facing changes

n/a

Backwards-incompatible changes

n/a

New traitlets just dropped... would like to see the two long 3.8 tests pass/fail, then will take a look...

Linux 3.8 just seems to be hanging... hopefully temporary...

Will be rolling that back, and adding some pins....

Well, at least the linux 3.8 flake was transient.


Added test

Added tests for methods

Supporters
Subscriptions
Extras

I did notice that the contribution guide asks to raise PR to the dev branch, but I could not find that. Hence, raise PR to the main branch

Hi @JohnDoePBabu, I would prefer Jest do you have experience with it?

Not yet, but very happy to try out!
I will raise another PR with test running Jest

@JohnDoePBabu please see #8 thanks as your reference also don't use your token for accessing the test make sure don't upload them.


Add validation to glTF importer for Blendshape and Animation

Fixes https://github.com/godotengine/godot/issues/94740

I don't know if there are other places where this is needed, but these related to animation need to be validated as they can break the Track path.
I am not sure if this needs to be punt to 4.4, as it breaks compatibility but is an invalid property name to begin with; : is used by type annotation and subpath.

May have to do to the fbx importer too

Confirmed that fix is valid with fbx as well.

Suzanne_shape.zip

Thanks!


Cannot control Set_position_target_local_ned.afx ，afy， afz ，alone

Describe the bug
A clear and concise description of the bug.
Offboard cannot control AFX Afy AFZ alone, even if I force values in the code
if (!offboard_control_mode.ignore_acceleration_force) {
pos_sp_triplet.current.acceleration_valid = true;
pos_sp_triplet.current.a_x = 0.2;//set_position_target_local_ned.afx;
pos_sp_triplet.current.a_y = 0.2;//set_position_target_local_ned.afy;
pos_sp_triplet.current.a_z = 0.2;//set_position_target_local_ned.afz;
}
To Reproduce
Steps to reproduce the behavior:

Drone switched on '...'
Uploaded mission '....' (attach QGC mission file)
Took off '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Log Files and Screenshots
Always provide a link to the flight log file:

Download the flight log file from the vehicle (tutorial).
Share the link to a log showing the problem on PX4 Flight Review.

Add screenshots to help explain your problem.
Drone (please complete the following information):

Describe the type of drone.
Photo of the IMU / autopilot setup if possible.

Additional context
Add any other context about the problem here.

There is no acceleration control implemented currently.


enable HCC printf when using hip-clang

This allows printf to work with hip-clang and HCC runtime. See comments under #1919 for a reported bug and feature request.

@emankov, please wait for Tao Sang to confirm that the patch actually works with clang+HCC

@emankov, please wait for @tomsang to confirm that the patch actually works with clang+HCC

Tao has added part of this in #1946 - https://github.com/ROCm-Developer-Tools/HIP/pull/1946/files#diff-55dee707086ed9b76f9b1774f24f918bR41 , I think after this we won't need it there.

Compiling in Clang+Hcc RT can work now.

@emankov this PR is ready to be merged if it has passed the usual process. @tomsang confirmed that the patch works for him with clang on HCC runtime.


View and order

I am running into a myterious bugs with using view and I realize that perhaps my understanding is incorrect.
Returns a tensor with the same elements as input but a different shape. The order of the elements may not be preserved.

Does view not have the same sematics as numpy and pytorch that it will preserve order, or does it not work that way in triton? How is it recommended to do operations that requires a unsqueeze, broadcast, view?
What are the sematics of reshape? There are not docs.

oh man. Welp, I had a good run with triton.

Just for others. Don't use view! This cost me so many hours of time.

Seemingly this pointer trick works for simulating pytorch view when storing values. However I don't yet know how to do this for creating an intermediate value.


Fix deprecation warning; Specify action version

Changes skipCommit to skip-commit to fix a deprecation warning.
Set the googlejavaformat-action to v3 instead of master. Technically they are the same (right now), but seems safer to use the official tagged release version over master.

Codecov Report

Merging #3773 (ef2ea46) into main (b63d5cd) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##               main    #3773   +/-   ##
=========================================
  Coverage     80.54%   80.54%
  Complexity     2441     2441
=========================================
  Files           296      296
  Lines          9653     9653
  Branches        660      660
=========================================
  Hits           7775     7775
  Misses         1624     1624
  Partials        254      254

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Use one store without rehydratations

As discussed in #18 and #16, in order to increase the performance and to avoid errors, we want to deprecate browser-redux-bg and just use background page's store in other extension pages.
So, there will be no more a call in background action, as all redux actions will be dispatched in background. It's very convenient as you may dispatch an action from everywhere, and even if you close the popup or the injected page, you will get it done.
To implement it, we need to:

[x] remove rehydratations (change browser-redux-sync).
[x] get the store with chrome.runtime.getBackgroundPage for all the pages except the background.
[x] make a workaround for the content script via messaging.

Any suggestions are welcome.

:+1:  While I am biased to the old implementation, moving the store to the background page would be much better conceptually and presumably performance wise as well.
Question: how would you deal with page specific state? Specifically I think this might occur with content scripts where you want independent state per open tab. Perhaps a nested store keyed by tab id, and then include tab id in all relevant actions? e.g. `dispatch({type: 'SOME_ACTION', tabId: [tabId], payload: payload})

That's a good question, and yes, I was thinking about the same solution. Having the tabId in the reducer will make it easier to debug, and it will be in the flux way. Other approaches generates cascading effect, opposite to the flux architecture.
The implementation for content scripts is still an open issue as we cannot get the store variable directly from the background script here (chrome.runtime.getBackgroundPage is not allowed in the injected script). We want to achieve it via messaging, which will be slower (though an open connection should make it faster), and probably not usable if we have states for the UI (it needs some tests). So, the solution would be just not to use states for everything or not to use the global store for this case.
Also, except Chrome, we cannot persist states in the injected script as actually the localStore will be for that site not for our extension. In case of Firefox it is just a temporary issue, but it will remain for Safari. Getting the store via messaging would solve this.
We will still use redux-persist in order to not loose the states when the browser is closed, but we don't need rehydratations between pages/tabs anymore.
I'm still thinking how to organize this better, and am open to any suggestions.

:+1:  It's good idea! :)
I think messaging is a good way, but it will not have store instance in UI. Maybe we should to implement store functions wrapper in UI?

Yes, I think better not to implement my proposal for content scripts. So, in the injected page we will have a different implementation of Redux store (without syncing), where we may store its UI states as well. Sadly, the content script runs in the different process than extension's pages (background, popup, windows, tabs) and we'll not get  chrome.runtime.getBackgroundPage from there. Making a workaround with messaging will make it slow for most of cases. We'll just implement an example of the content script to communicate with the background page, not to sync the states directly.
The popup page, extension tabs and windows pages will use the same global store from background.

As intended, the extension's popup, windows and tabs now refer the store from the background page. So, now we have one store for the whole application, except content scripts.
Each content script has its store, and it can be synchronized with the application (background store) and other content scripts. Unlike rehydratations, we synchronize actions not states. So it may have even different structure of the states.
To implement that I created the following modules:

redux-notify -  a redux middleware for specifying a list of actions, which triggers dispatching of other actions. So it would be easy to specify which actions to be syncronized, and the actions responsible for synchronizing.
crossmessaging - a messaging layer implemented in the background and content scripts. It aims to be crossbrowser in the future.
chrome-storage-local for working with chrome.storage.local, and will have a fallback to localStorage (localForage).

The store states for the background page are persistent (with redux-persist).
The current implementation breaks firefox support, but hopefully will be implemented soon. It should be tracked in #12. For Safari we already have safari.extension.globalPage.contentWindow.
Any feedback is welcome. I'll leave this issue open till the next release. We need documentation for the above modules and the changes, but it should work as intended.

Implemented in 0.5.0.


implement the visualization

Todos:

[ ] visualise image patches (according to paper)
[ ] move visualisation into separate function.
[ ] maybe visualise each layer separately for better interpretations
[ ] clean up the repo

@SeskoDk would that be ok for you? Otherwise just adapt the comment.


out of memory in inference on 24GB gpu

Dear author,
Thank you for releasing code. I tried the inference code following command bash script/CVPR_Inference/inference_sample.sh, but it shows out of memory on single 24GB GPU. Can inference be performed on 24GB GPU?

Hi, I  wonder if there is any way to run inference code on a 24GB 4090 GPU.


PSmove not connecting to SteamVR

I am new at this, like very new, For the life of me I am able to get the cameras to work, configure it all to see the controllers, and get the PSVR HMD to work. As soon as I start steamVR it only recognizes the HMD (via triniusVR). I hope this is something simple that I am missing, but does anyone know what I am doing wrong and how to copy the output of PSMoveService.exe on here so I can show you what it says? I'm kind of at my limit of what I know what to do, I've followed most if not every guide at this point and went through the web for any more information.
This was my PSMoveService log:
[2017-04-08 19:07:46.945]: main - Starting PSMoveService v0.9-alpha 8.2.0
[2017-04-08 19:07:46.972]: USBAsyncRequestManager::startup - Requested LibUSBApi
[2017-04-08 19:07:46.975]: USBAsyncRequestManager::startup - Creating LibUSBApi
[2017-04-08 19:07:46.981]: USBAsyncRequestManager::startup - Initialized USB API
[2017-04-08 19:07:46.995]: DeviceManager::startup - Platform Hotplug API is ENABLED
[2017-04-08 19:07:47.1]: bluetooth_get_host_address - Found a bluetooth radio
[2017-04-08 19:07:47.5]: bluetooth_get_host_address - Retrieved radio info
[2017-04-08 19:07:47.83]: PSMoveController::open - Opening PSMoveController(\?\hid#{00001124-0000-1000-8000-00805f9b34fb}_vid&0002054c_pid&03d5&col01#8&12d9ded5&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030})
[2017-04-08 19:07:47.94]: PSMoveController::open -   with serial_number: 0007049b7d71
[2017-04-08 19:07:47.184]: DeviceTypeManager::update_connected_devices - Device device_id 0 (PSMove) opened
[2017-04-08 19:07:47.189]: PSMoveController::open - Opening PSMoveController(\?\hid#{00001124-0000-1000-8000-00805f9b34fb}_vid&0002054c_pid&03d5&col01#8&1e86d001&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030})
[2017-04-08 19:07:47.200]: PSMoveController::open -   with serial_number:<PHONE_NUMBER>02
[2017-04-08 19:07:47.293]: DeviceTypeManager::update_connected_devices - Device device_id 1 (PSMove) opened
[2017-04-08 19:07:47.359]: PS3EyeTracker::open - Opening PS3EyeTracker(USB\VID_1415&PID_2000\b2_p1.2, camera_index=0)
[2017-04-08 19:07:47.903]: SharedMemory::initialize() - Allocating shared memory: tracker_view_0
[2017-04-08 19:07:48.341]: DeviceTypeManager::update_connected_devices - Device device_id 0 (PSEYE) opened
[2017-04-08 19:07:48.347]: PS3EyeTracker::open - Opening PS3EyeTracker(USB\VID_1415&PID_2000\b2_p1.4, camera_index=1)
[2017-04-08 19:07:48.691]: SharedMemory::initialize() - Allocating shared memory: tracker_view_1
[2017-04-08 19:07:48.715]: DeviceTypeManager::update_connected_devices - Device device_id 1 (PSEYE) opened
[2017-04-08 19:07:48.740]: MorpheusHMD::open - Opening MorpheusHMD(USB\VID_054c&PID_09af).
[2017-04-08 19:07:48.748]: MorpheusHMD::open - Morpheus command interface is flagged as DISABLED.
[2017-04-08 19:07:48.757]: MorpheusHMD::open - Failed to open MorpheusHMD(USB\VID_054c&PID_09af)
[2017-04-08 19:07:48.766]: MorpheusHMD::close - Closing MorpheusHMD sensor interface(\?\hid#vid_054c&pid_09af&mi_04#7&337aefbc&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030})
[2017-04-08 19:07:48.778]: DeviceTypeManager::update_connected_devices - Device device_id 0 (USB\VID_054c&PID_09af) failed to open!
[2017-04-08 19:07:49.878]: ClientConnection::start - Starting client connection id 0
[2017-04-08 19:07:49.883]: ClientConnection::send_connection_info - Sending connection id to client 0
[2017-04-08 19:08:00.41]: ServerRequestHandler - Start controller(0) stream (pos=1,phys=1,raw_sens=0,cal_sens=1,trkr=1,roi=0)
[2017-04-08 19:08:02.617]: ServerRequestHandler - Stop controller(0) stream
[2017-04-08 19:08:05.506]: ServerRequestHandler - Start controller(0) stream (pos=1,phys=1,raw_sens=0,cal_sens=1,trkr=1,roi=0)
[2017-04-08 19:08:10.675]: ServerRequestHandler - Stop controller(0) stream
[2017-04-08 19:08:10.772]: ClientConnection::handle_tcp_read_request_header - Failed to read header on connection 0: An existing connection was forcibly closed by the remote host
[2017-04-08 19:08:10.783]: ClientConnection::stop - Stopping client connection id 0
[2017-04-08 19:08:10.789]: ServerNetworkManager::handle_udp_read_connection_id - Failed to receive UDP connection id: No connection could be made because the target machine actively refused it
[2017-04-08 19:15:00.172]: PSMoveService - Received stop request. Stopping Service.
[2017-04-08 19:15:00.172]: PSMoveService - Received termination signal. Stopping Service.
[2017-04-08 19:15:00.219]: ClientConnection::stop - Stopping client connection id 1
[2017-04-08 19:15:00.250]: PSMoveController::close - Closing PSMoveController(\?\hid#{00001124-0000-1000-8000-00805f9b34fb}_vid&0002054c_pid&03d5&col01#8&12d9ded5&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030})
[2017-04-08 19:15:00.266]: PSMoveController::close - Closing PSMoveController(\?\hid#{00001124-0000-1000-8000-00805f9b34fb}_vid&0002054c_pid&03d5&col01#8&1e86d001&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030})

The SteamVR work has moved to a different repository. But you're better off first asking questions in the google group.

ahh, thanks


how do i refresh and restart a project

ADD ISSUE DESCRIPTION HERE
Version: 1.93.0
Commit: 4849ca9bdf9666755eb463db297b69e5385090e3
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
Embedder: codespaces

how do i refresh and restart a project

/needsMoreInfo
What exactly do you mean refresh/restart?


Can't Install Nuvola on Linux Mint 19

I'm trying to install Nuvola on Linux Mint 19. I can't seem to access your flathub repo for it. The Mint Software Manager couldn't add the repo. It gave me an error (I can't remember which, now). I could add it through the terminal by the instructions on your site, but trying to install Nuvola, I get this error:
Required runtime for eu.tiliado.Nuvola/x86_64/stable (org.gnome.Platform/x86_64/3.28) is not installed, searching...
The required runtime org.gnome.Platform/x86_64/3.28 was not found in a configured remote.
error: The Application eu.tiliado.Nuvola/x86_64/stable requires the runtime org.gnome.Platform/x86_64/3.28 which is not installed

So I'm stuck. What I wouldn't give for a good old-fashioned .deb file! While I understand why they are attractive to devs, I seriously hate all these new flatpaks/snaps/appimages/whatever else will be invented to reinvent the wheel. They're just exacerbating the problem for users. I just want one way to install and manage software that just works, not four or more that may or may not work!

Hello @mfreeman72. Thanks for reporting this issue.

The Mint Software Manager couldn't add the repo. It gave me an error (I can't remember which, now).

If you happen to catch the error in the future, please report it. That's the only way and can investigate it and fix it.

The required runtime org.gnome.Platform/x86_64/3.28 was not found in a configured remote.

As per instructions, you need to add Flathub repository first. Let me know if it works:
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

As explained in the instructions, Nuvola uses the GNOME Platform runtime from that repository to share common dependencies with other Flatpak apps to reduce disk & memory usage.

What I wouldn't give for a good old-fashioned .deb file! While I understand why they are attractive to devs, I seriously hate all these new flatpaks/snaps/appimages/whatever else will be invented to reinvent the wheel. They're just exacerbating the problem for users. I just want one way to install and manage software that just works, not four or more that may or may not work!

Unfortunately, I don't know how to create debs for Nuvola without huge sacrifices regarding Nuvola features and quality. I tried and failed. For example, Fedora provides native RPM packages, but they've disabled a few features and use the old WebKitGTK-based backend. That means some services don't work at all (e.g., Spotify, Youtube) and others use Flash plugin for audio playback. However, Nuvola is open source, so you can ask anynone more skilled than me to create debs, e.g. Linux Mint developers.

Probably solved.


The meta-dataset folder

Hi, thanks for your impressive work!
I am wondering what is the usage of the folder meta-dataset, since it is an independent folder. How and when should I use it?
Should I run "2. Training Meta-Baseline python train_meta.py --config configs/train_meta_mini.yaml" in the meta-dataset folder, or in the few-shot-meta-baseline folder? It is a little confusing.

Thanks for your interest in our work.
You should run it in the root folder (i.e. few-shot-meta-baseline). There is no configs/train_meta_mini.yaml in the meta-dataset folder.
Meta-dataset is a new dataset proposed recently with its new setting, which is different to mini/tiered ImageNet, it should be an independent folder for experiments on meta-dataset. Note it also has indepent instructions for running the experiments in its README.


No TOC shown for book since hugo v0.123.0

Preliminary Checks

[X] This issue is not a duplicate. Before opening a new issue, please search existing issues: https://github.com/HugoBlox/hugo-blox-builder/issues?q=is%3Aissue
[X] This issue is not a question, feature request, or anything other than a bug report directly related to Hugo Blox Builder. Please post those things on Discord: https://discord.gg/z8wNYzb

Description
When using a hugo version >= v0.123.0, a book site does not show a TOC anymore on the left side
Reproduction Link
https://github.com/dlehmenk/blox-book-bug
Steps to Reproduce

Create a new page with the research group template
Create a site with type book
Use a hugo version >= v0.123.0 to build

Expected Result
There should be a TOC like with version 122 and before
Actual Result
No toc there
What Hugo Module versions does your site use?
module github.com/wowchemy/starter-hugo-research-group
go 1.15
require (
github.com/HugoBlox/hugo-blox-builder/modules/blox-bootstrap/v5 v5.9.8-0.20240513193311-41bd113535e8
github.com/HugoBlox/hugo-blox-builder/modules/blox-plugin-decap-cms v0.1.2-0.20231108143325-448ed0e3bd2b
github.com/HugoBlox/hugo-blox-builder/modules/blox-plugin-netlify v1.1.2-0.20240509231741-c3d23d929bc6
)
What operating system(s) are you seeing the problem on?
Linux
What browser(s) are you seeing the problem on?
Chrome, Firefox
Which Hugo Blox template are you using?
Research Group
What version of Hugo are you using?
Hugo Extended 0.125.7

https://github.com/HugoBlox/hugo-blox-builder/releases


Module for Dialogflow integration as NLP in a Tock bot

Usage
To use Dialogflow as NLP in a Tock bot :

Add the module dependency to your pom.xml
  <dependency>
      <groupId>fr.vsct.tock</groupId>
      <artifactId>tock-nlp-dialogflow</artifactId>
      <version>${tock}</version>
  </dependency>

Install your bot by adding a module with the following configuration :

    bind<NlpClient>(overrides = true) with singleton { TockDialogflowNlpClient() }
    bind<NlpController>(overrides = true) with singleton { DialogflowNlp() }

Set the environment variable dialogflow_project_id with your Dialogflow project id

Set the environment variable GOOGLE_APPLICATION_CREDENTIALS with the file path of the JSON file that contains your service account key

Merged. I have moved the module in bot domain (as it as no relation with Tock NLP). Also made small improvements (see https://github.com/voyages-sncf-technologies/tock/commit/b242e0ee3893a0bced7ce3130b635c075f6c27b9 ).
Thanks for the PR !


Membersvc can't write to disk, causes panic

Description:
membersvc executable is started, cannot write to disk, panics
Steps to repro:

Git clone latest code
Edit core.yaml to turn on security and privacy, rename ID to vp0, set consensus to pbft
Edit config.yaml in obcpbft dir to use sieve
Edit membersrvc.yaml adding 0 to the end of username vp
Vagrant up
Vagrant ssh
go build in membersvc directory
Run ./membersvc

Results:
membersvc tried to make directories, can't make them, panics
Expected results:
membersvc should be able to make those directories and write to them
    default: Guest Additions Version: 4.3.36
    default: VirtualBox Version: 5.0
==> default: Mounting shared folders...
    default: /vagrant => C:/Go/src/github.com/hyperledger/fabric/devenv
    default: /local-dev => C:/Go/src/github.com/hyperledger/fabric
    default: /hyperledger => C:/Go/src/github.com/hyperledger/fabric
    default: /opt/gopath/src/github.com/hyperledger/fabric => C:/Go/src/github.com/hyperledger/fabric
==> default: Running provisioner: shell...
    default: Running: inline script
==> default: stdin: is not a tty
==> default: ++ export DOCKER_STORAGE_BACKEND=
==> default: ++ DOCKER_STORAGE_BACKEND=
==> default: ++ cd /hyperledger/devenv
==> default: ++ ./setup.sh
==> default: E: Unable to synchronize mmap - msync (5: Input/output error)
==> default: E: The package lists or status file could not be parsed or opened.
The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.

RicHernandez@IBM155-R90BK47B MINGW64 /c/go/src/github.com/hyperledger/fabric/devenv (master)
$ vagrant ssh
Welcome to Ubuntu 14.04.4 LTS (GNU/Linux 3.13.0-85-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

  System information as of Tue May  3 13:48:13 UTC 2016

  System load:  0.5               Processes:           92
  Usage of /:   4.4% of 38.75GB   Users logged in:     0
  Memory usage: 2%                IP address for eth0: <IP_ADDRESS>
  Swap usage:   0%

  Graph this data and manage this system at:
    https://landscape.canonical.com/

vagrant@ubuntu-1404:~$ cd $GOPATH/src
vagrant@ubuntu-1404:/opt/gopath/src$ cd github.com/hyperledger/fabric/
vagrant@ubuntu-1404:/opt/gopath/src/github.com/hyperledger/fabric$ ls
bddtests  consensus  CONTRIBUTING.md  core  devenv  docs  events  examples  LICENSE  MAINTAINERS.txt  membersrvc  peer  protos  README.md  scripts  sdk  vendor
vagrant@ubuntu-1404:/opt/gopath/src/github.com/hyperledger/fabric$ cd membersrvc/
vagrant@ubuntu-1404:/opt/gopath/src/github.com/hyperledger/fabric/membersrvc$ go build
vagrant@ubuntu-1404:/opt/gopath/src/github.com/hyperledger/fabric/membersrvc$ ./membersrvc
2016/05/03 14:16:35 Log level not recognized '', defaulting to DEBUG: logger: invalid log level
2016/05/03 14:16:35 Working at security level [256]
INFO: 2016/05/03 14:16:35 CA Server (0.1)
INFO: 2016/05/03 14:16:35 Fresh start; creating databases, key pairs, and certificates.
PANIC: 2016/05/03 14:16:35 ca.go:172: mkdir /var/hyperledger: permission denied
panic: mkdir /var/hyperledger: permission denied

goroutine 1 [running]:
panic(0x992b40, 0xc820190f80)
        /opt/go/src/runtime/panic.go:464 +0x3e6
log.(*Logger).Panicln(0xc82013d9f0, 0xc82012d8f0, 0x1, 0x1)
        /opt/go/src/log/log.go:220 +0xbf
github.com/hyperledger/fabric/membersrvc/ca.NewCA(0xb69be8, 0x3, 0x0)
        /opt/gopath/src/github.com/hyperledger/fabric/membersrvc/ca/ca.go:172 +0x387
github.com/hyperledger/fabric/membersrvc/ca.NewECA(0xc82013d900)
        /opt/gopath/src/github.com/hyperledger/fabric/membersrvc/ca/eca.go:79 +0x63
main.main()
        /opt/gopath/src/github.com/hyperledger/fabric/membersrvc/server.go:82 +0xafb
vagrant@ubuntu-1404:/opt/gopath/src/github.com/hyperledger/fabric/membersrvc$

Problem occurred during Vagrant up, doing Vagrant Destroy and Up again to see if it repros.

After second Vagrant up, no repro


Upgrade centos7 toolchain, update gnu as to 2.30

Enhancement
upgrade gnu as from 2.27 to 2.30 in order to support simdutf compiling
install it to /opt/rh/devtoolset-10/root/usr to favor clang toolchain integration. Refer to : https://github.com/llvm/llvm-project/blob/main/clang/lib/Driver/ToolChains/Gnu.cpp#L2274

done in #29813


Draggable desync with cursor position on scroll

Thanks clauderic for the great work on this library!
I know that a new implementation is in an experimental state, but I think it's important to record this issue.
Expected Behavior
As a user when I scroll while I drag an item using a DragOverlay, the draggable item AND the DragOverlay follow the cursor position.
Current Behavior
As a user when I scroll while I drag an item using a DragOverlay, the draggable item doesn't follow the cursor position while the DragOverlay does.
Detailed Description
It is an edge case where I want to use the original draggable item AND a draggable overlay to add visual elements around the draggable.
Demo
You can find a demo here: https://codesandbox.io/s/dnd-kit-scroll-overlay-6kpmz4?file=%2Fsrc%2FApp.tsx

I do have the same problem, even without using the DragOverlay component.
Did you find any solution?


link between FYPO:0001683 FYPO:0001734

abolished mitotic spindle pole body separation (FYPO:0001734) [single allele genotypes]
has output
abolished mitotic spindle assembly (FYPO:0001683) [single allele genotypes] | ...
(also for meiotic yada yada)
spindle pole body separation  is the first part of assembly.

Actually here we are referring to
https://www.ebi.ac.uk/QuickGO/term/GO:0000073
so we may need to do some reannotation too.

I'm not sure on the status of this
https://github.com/geneontology/go-ontology/issues/13461
we can come back to this ticket when the GO  changes are done

If there are any FYPO changes other than adding an output-ish link, list them when you're ready for the edits to be done.

The GO ticket has been closed. Is there anything else to do for FYPO now?

I don't t hink so...


Dialog: Changes role from popover to dialog

Currently, the Dialog of variant popover was being assigned the
ARIA role=popover which is invalid. This commit fixes the same.
It checks if the variant is popover, it assigns the role as dialog.
Fixes #1862
Additional description

CONTRIBUTOR checklist (do not remove)
Please complete for every pull request

[x] First-time contributors should sign the Contributor License Agreement.  If you haven't before, wait a few minutes and a bot will comment on this pull request with instructions.
[x] npm run lint:fix has been run and linting passes.
[x] Mocha, Jest (Storyshots), and components/component-docs.json CI tests pass (npm test).
[ ] Tests have been added for new props to prevent regressions in the future. See readme.
[x] Review the appropriate Storybook stories. Open http://localhost:9001/.
[ ] The Accessibility panel of each Storybook story has 0 violations (aXe). Open http://localhost:9001/.
[x] Review tests are passing in the browser. Open http://localhost:8001/.
[x] Review markup conforms to SLDS by looking at DOM snapshot strings.

REVIEWER checklist (do not remove)

[ ] TravisCI tests pass. This includes linting, Mocha, Jest, Storyshots, and components/component-docs.json tests.
[ ] Tests have been added for new props to prevent regressions in the future. See readme.
[ ] Review the appropriate Storybook stories. Open http://localhost:9001/.
[ ] The Accessibility panel of each Storybook story has 0 violations (aXe). Open http://localhost:9001/.
[ ] Review tests are passing in the browser. Open http://localhost:8001/.
[ ] Review markup conforms to SLDS by looking at DOM snapshot strings.

Required only if there are markup / UX changes

[ ] Add year-first date and commit SHA to last-slds-markup-review in package.json and push.
[ ] Request a review of the deployed Heroku app by the Salesforce UX Accessibility Team.
[ ] Add year-first review date, and commit SHA, last-accessibility-review, to package.json and push.
[ ] While the contributor's branch is checked out, run npm run local-update within locally cloned site repo to confirm the site will function correctly at the next release.

@pulkonet Thanks for the quick turnaround. Looks good!


fix: more specific language for reduplication

What's in this PR:

Use the wording from #585 for the reduplication pop-up

Codecov Report

Merging #921 (759938d) into main (06cf68a) will decrease coverage by 0.20%.
The diff coverage is 88.82%.

@@            Coverage Diff             @@
##             main     #921      +/-   ##
==========================================
- Coverage   79.58%   79.38%   -0.21%
==========================================
  Files          92      132      +40
  Lines        3459     4564    +1105
  Branches      469      588     +119
==========================================
+ Hits         2753     3623     +870
- Misses        618      827     +209
- Partials       88      114      +26

Impacted Files
Coverage Δ

src/CreeDictionary/API/search/espt_crk.py
100.00% <ø> (ø)

src/CreeDictionary/CreeDictionary/ensure_data.py
30.76% <ø> (-9.24%)
:arrow_down:

...CreeDictionary/paradigm/crkeng_corpus_frequency.py
79.16% <ø> (+2.24%)
:arrow_up:

src/CreeDictionary/cvd/cvd_test.py
100.00% <ø> (ø)

src/CreeDictionary/utils/__init__.py
100.00% <ø> (ø)

...lexicon/management/commands/buildtestimportjson.py
29.87% <ø> (ø)

src/morphodict/lexicon/models.py
94.79% <ø> (ø)

...dict/lexicon/management/commands/importjsondict.py
82.41% <28.57%> (ø)

src/CreeDictionary/API/search/core.py
91.22% <50.00%> (+0.31%)
:arrow_up:

src/morphodict/site/util.py
60.00% <60.00%> (ø)

... and 60 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update d67c799...759938d. Read the comment docs.


Trait subtyping not considered in delegation

Delegates only seem to consider the first level of the trait hierarchy. In the following example, although Thing is Named a class that is Thing cannot delegate its Named part.
trait Named
  fun name(): String

trait Thing is Named
  fun describe(out: StdStream) =>
    out.print("I'm a " + name() + ".")

class Name is Named
  let _text: String

  new create(text: String) => _text = text
  fun name(): String =>  _text

class SimpleThing is Thing
  let _name: Name delegate Named

  new create(name: String) =>
    _name = Name(name)

actor Main
  new create(env: Env) =>
    SimpleThing("chair").describe(env.out)

With this example we get the following error, in the sandbox:
/ponyc/webcontainer/main.pony:15:28: cannot delegate to Named, containing entity does not provide it
  let _name: Name delegate Named

You are entirely correct that we only consider the first level for delegation. This was a deliberate move, as we took the attitude that you should only be delegating APIs that you explicitly advertise.
However, in hind-sight that was a bad decision. You should be able to delegate to anything, even to traits that you don't provide.
The existing check is not actually required for technical reasons, it was purely us trying to catch possible bugs. So the new plan is to simply remove that check.

This may not be the right place to start a discussion but when you say even to traits that you don't provide are you referring to the possibility of delegating to a trait like Real even if the class is not a subtype of Real? That seems unexpected.

@m4ktub, this is the ideal place to start such a discussion :)
Yes I do mean delegating to a trait such as Real, even if the class is not a subtype of Real.
The thing with delegation is that all it does is add appropriate indirection methods, and it doesn't add methods where you have already provided a method with that name. This means that it's perfectly possible to delegate to some trait, but not actually have all the methods required to be that trait.
For example:
trait T
  fun f()
  fun g()

class C1 is T
  fun f() => ...
  fun g() => ...

class C2
  var f: C1 delegate T
  fun g(x: U32): U32 => x + 1

In this case the delegation will add a function f() to C2, but it will not add a function g(), because C2 already has a function called g. However, C2 cannot possibly be T because its g() has the wrong signature.
My feeling is that allowing this may be useful, so why disallow it? Of course I may be completely wrong and this might just confuse people.

Interestingly, in that example, if it was:
class C2 is T
  ...

...then the compiler would complain, for obvious reasons. So delegate wouldn't mean "implicitly be a subtype". Instead, subtyping remains explicit, which I like.

I see. I had understood delegation in the case of subtyping but a general delegation syntactic sugar is useful and easy to understand as long as in var f: A delegate B:

B is a trait or interface
A is not a trait nor an interface
A provides B

While thinking about iterations in development (parts are developed by different teams) I believe that the the last point is the one that avoids surprises. Although you technically could also validate the target and avoid adding the function indirection if the target does not support it, it would be surprising if var f: A delegate Interface, in a class without other functions, did not ensure the current class also provides the interface.
If you add other methods then you must be aware of overriding. If the traits or interfaces you delegate to change then, either you:

have class C is B => the compiler will check if C still provides B,
do not explicitly declare you provide B and

have no overrides => you get the new definitions as expected,
have overrides that

call the same method in f => the compiler will check if the call is valid (you will know if your override needs to change),
do not call (delegate) to the function in f => your class may have a potentially incorrect implementation of the function.

The last case is acceptable, to me, because you do not explicitly declare you provide B and you can mitigate that by simulating usage of your class in unit tests, for example.

Everything you say there makes sense. The only minor point is that your claim that "A is not a trait nor an interface" is not true. It's perfectly fine for us to only know the type of A as being a trait or interface, as long as A still provides B.

You're right. I made a confusion between the type of the instance and the
type of the declaration. Like you said, I think it's perfectly fine to
create a wrapper like:
class Indexer[T] is Iterator[(U64, T)]
  var _iter : Iterator[T] delegate Iterator[T]
  var _pos: U64 = 0
  new create(iter: Iterator[T]) =>
    _iter = iter
  fun ref next(): (U64, T) ? =>
    (_pos = _pos + 1, _iter.next())

Added the is Iterator[(U64, T)] to work in the current version of the
Sandbox.
2016-01-25 10:59 GMT+00:00 andymcn<EMAIL_ADDRESS>
Everything you say there makes sense. The only minor point is that your
claim that "A is not a trait nor an interface" is not true. It's perfectly
fine for us to only know the type of A as being a trait or interface, as
long as A still provides B.
—
Reply to this email directly or view it on GitHub
https://github.com/CausalityLtd/ponyc/issues/490#issuecomment-174470701.

You're right. I made a confusion between the type of the instance and the type of the declaration. Like you said, I think it's perfectly fine to create a wrapper like:
class Indexer[T] is Iterator[(U64, T)]
  var _pos: U64 = 0
  var _iter : Iterator[T] delegate Iterator[T]
  new create(iter: Iterator[T]) =>
    _iter = iter
  fun ref next(): (U64, T) ? =>
    (_pos = _pos + 1, _iter.next())

Added the is Iterator[(U64, T)] to work in the current version of the Sandbox.

This is now done.
It turned out that it wasn't the trivial change I initially thought, as the code had made some assumptions that were true with the old system, but now aren't.
However, the separation of delegation and subtyping is a very nice change. It means that we now have a substantially simpler system for determining which method body is used when there is ambiguity.


Allow var in worker receive

Description:
Currently var is not allowed for worker receive. In the following sample the type of the worker receive expression 'y' should be of 'int' type.
function testFunc() {
    worker w1 {
	    int x = 50;
	    x -> w2;
    }
    worker w2 {
    	var y = <- w1;
    }
}

Affected Versions:
0.990.3-SNAPSHOT

Related spec issue https://github.com/ballerina-platform/ballerina-spec/issues/373.

This is valid and should be supported as per the spec issue.

Deferred due to the current design of the compiler; To get the type for var in the receiver we need to maintain a list of receivers and their corresponding send actions at the TypeChecker stage and the receivers be dependent on the corresponding sender.

We are deferring this implementation, due to implementation complexities.


ΕΑΠ

Ελληνικό Ανοικτό Πανεπιστήμιο (Ε.Α.Π.)
Hellenic Open University

@esigala1 I am sorry, the domain ac.eap.gr is removed from our trusted domains list because it was abused in the past. If you are the student of this school, please enroll to GitHub Student Developer Program. Then apply for JetBrains educational subscription with your GitHub account (GitHub tab at https://www.jetbrains.com/shop/eform/students).

@esigala1 I am sorry, the domain ac.eap.gr is removed from our trusted domains list because it was abused in the past. If you are the student of this school, please enroll to GitHub Student Developer Program. Then apply for JetBrains educational subscription with your GitHub account (GitHub tab at https://www.jetbrains.com/shop/eform/students).


Packaging the code

Hey there! Awesome work! I'd like to use this DCA metric to measure the quality of my representations.
Are you planning to make a plug-n-play package version out of this code? Would be really awesome!
Something simple like:
from dca import DCA

algorithm = DCA()
print(algorithm.fit(X)) # prints the DCA metric on the given X

Hi @JoaoLages,
really happy to hear this and thanks for your suggestion! I agree that it would be cool to make it a package and I will look into it asap but it unfortunately won't be before summer because of other deadlines.
I'll keep you posted and in the meantime feel free to reach out if you have any questions! :)
Petra


Add GHC 9.4.1

It's not in GHCup yet: https://github.com/acilearning/docker-haskell/runs/7724422369?check_suite_focus=true#step:7:269
#18 0.241 [ Error ] Both installation and setting the tool failed. Install error was: Unable to find a download for the requested version/distro.
#18 0.244 [ ...   ] Set error was: The version 9.4.1 of the tool ghc is not installed.
#18 0.246 [ Error ] Also check the logs in /home/haskell/.ghcup/logs

I re-ran the build after seeing this comment: https://discourse.haskell.org/t/ghc-9-4-1-is-now-available/4901/19


Multiple error messages

Great plugin BTW
One thing - would be great if each type of error could have its own message (similar to the way Jquery validation works).
E.g. if I have
validation: {
	heading: {
		 required: true,
		 maxLength: 20,
		 msg: 'We need a heading'
	},
	description: {
		required: true,
		minLength: 1,
		maxLength: 50,
  		msg: 'We need a description'
	},
	price : {
		required: true,
		pattern: 'number',
		msg: 'Please enter a price'
	}

},

With the validation errors
 _.extend(Backbone.Validation.callbacks, {
  valid: function(view, attr, selector) {
	$('#' + attr + "_error").html("");
	$('#' + attr + "_error").hide();
	return true;
  },
  invalid: function(view, attr, error, selector) {
      console.log(error);

  }
});

If my 'heading is empty'
invalid produces 'We need a headingWe need a heading'
Ideally should stop on the first error

Hi I have a branch that pretty much does this as I needed this functionality too
https://github.com/GarethElms/backbone.validation/tree/arrays-of-validators
I've submitted a pull request, hopefully it will be merged in. Also see this thread about it
https://github.com/thedersen/backbone.validation/pull/15
It allows you separate each validation check which lets you have specific messages for each :
MyModel = Backbone.Model.extend({
    validation: {
        name: {
            required: true,
            msg: "Please enter a player name"
        },
        email: [{
            required: true,
            msg: "Please enter an email address"
        },{
            pattern: "email",
            msg: "Please enter a valid email"
        }]
});

Thanks Gareth,
This could be perfect - will check it out! thanks!
Pete
On 18 Jan 2012, at 14:08, Gareth Elms wrote:

Hi I have a branch that pretty much does this as I needed this functionality too
https://github.com/GarethElms/backbone.validation/tree/arrays-of-validators
I've submitted a pull request, hopefully it will be merged in. Also see this thread about it
https://github.com/thedersen/backbone.validation/pull/15
It allows you separate each validation check which lets you have specific messages for each :
MyModel = Backbone.Model.extend({
   validation: {
       name: {
           required: true,
           msg: "Please enter a player name"
       },
       email: [{
           required: true,
           msg: "Please enter an email address"
       },{
           pattern: "email",
           msg: "Please enter a valid email"
       }]
});

Reply to this email directly or view it on GitHub:
https://github.com/thedersen/backbone.validation/issues/16#issuecomment-3546068

@GarethElms No worries, I will pull it in:) Just been a couple of crazy days lately.
@PeteMoran Thanks for the feedback, will fix this issue next time I get to do some work on this.

Pretty sure that I fixed the double error problem in my branch while I was at it. It returns a string if there is just one error, or an array of errors if there are multiple errors


added the hexo-tag-googlemaps plugin to the plugin list

"The google maps tag plugin for hexo is designed to be a way to add simple maps to your hexo site. The main tag, called googlemaps requires an endtag called endgooglemaps"

references the-simian/hexo-tag-googlemaps#4

Thanks for your hard work on hexo, let me know if there's anything more I need to do for this PR.


Handle errors in docker-parachain-stop yarn script

Is your feature request related to a problem? Please describe.
yarn docker-parachain-stop will throw an error that is hard to debug if yarn docker-parachain-start has not been run before.
Describe the solution you'd like
Create a custom script, similar to the one for starting the nodes, that checks for this error condition (No such file or directory: './local-setup/docker-compose.yml') and prints a helpful error message ("run yarn docker-parachain-stop first").
Also applies to the https://github.com/interlay/bots repo.

I think this is no longer relevant (https://github.com/interlay/interbtc-api/pull/578), @daniel-savu please re-open if you disagree.


"Official" way to use third-party tools?

Hello.
I'm getting ready to open a PR for our denoising tools.
Question: My code uses rWLS, Wavelet toolbox (WDS), and AROMA.
I downloaded rWLS and WDS someplace convenient on my machine and addpath to them.
My AROMA module assumes AROMA lives in aap.directory_conventions_fsldir/bin/ICA-AROMA.
It all works, but are these acceptable solutions?  Or is there an official way to install third-party stuff for use with aa?
Thanks much,
Mike

Since ICA-AROMA seems to be a binary and part of FSL, you do not really have to integrate (i.e. add to MATLAB path). However, you should use checkrequirement of the corresponding module to ensure ICA-AROMA is installed.
rWLS and WDS, on the other hand, requires handling from within MATLAB (add to MATLAB path); therefore, they should be integrated via the toolbox framework (each toolbox separately):

You need to write interface (Class.m). See the toolboxes folder for inspiration.
The corresponding module should load and unload the toolbox. See aamod_tdt_decode (lines 28-29, 188) as an example.
Your (site-specific) parameterset should contain a corresponding toolbox entry. See aap_parameters_defaults_UoS.xml (lines 21-57)


Can't see any devices although 2FA was successful

Description
With the newest version of alexa_media_player v.4.7.1 I cannot see any of my Echo Dot devices. This was my first installation and although I repeated the process over 5 times with slight variations I never got my Alexa devices to show in the integration.

What I did

I got the newest alexa_media_player (version v. 4.7.1) via HACS on Home Assistant (2023.9.2).
Installed the integration and provided my credentials (e-mail-adress and password of my Amazon account / Alexa app).
Made sure that 2FA was activated for my Amazon account and added a new app there.
Said barcode is not readable and transferred the code from Amazon back to the alexa_media_player form.
Got the OTP from alexa_media_player, transferred it to Amazon. Success.
Typed in my e-mail-address and password again in alexa_media_player, then got another OTP on my phone and typed it in there.

The integration was set up but no devices would show. I did the whole process multiple times, changed "amazon.de" to "amazon.com" (I live in Germany, so .de would be correct) one time, made absolutely sure my credentials were correct. I even got a notification by my Alexa app that an iOS mobile device in my state just logged in to the app, so the connection seems to be established.
System details

Home-assistant (version): 2023.9.2
alexa_media (version from const.py or HA startup): v. 4.6.5
alexapy (version from pip show alexapy or HA startup): 1.26.8
Amazon [2FA is enabled]: yes

Logs
WARNING
Logger: homeassistant.core
Source: core.py:1837
First occurred: 12:36:06 (1 occurrences)
Last logged: 12:36:06
Unable to remove unknown service notify/alexa_media
ERROR
Logger: homeassistant.components.media_player
Source: custom_components/alexa_media/media_player.py:106
Integration: Mediaplayer (documentation, issues)
First occurred: 12:34:48 (2 occurrences)
Last logged: 12:36:41
Error while setting up alexa_media platform for media_player
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 359, in _async_setup_platform
await asyncio.shield(task)
File "/config/custom_components/alexa_media/media_player.py", line 158, in async_setup_entry
if await async_setup_platform(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/alexa_media/media_player.py", line 106, in async_setup_platform
os.mkdir(upload_path)
FileNotFoundError: [Errno 2] No such file or directory: '/config/www/alexa_tts'
Logs after restart
Logger: homeassistant.components.media_player
Source: custom_components/alexa_media/media_player.py:106
Integration: Mediaplayer (documentation, issues)
First occurred: 13:21:47 (1 occurrences)
Last logged: 13:21:47
Error while setting up alexa_media platform for media_player
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 359, in _async_setup_platform
await asyncio.shield(task)
File "/config/custom_components/alexa_media/media_player.py", line 158, in async_setup_entry
if await async_setup_platform(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/alexa_media/media_player.py", line 106, in async_setup_platform
os.mkdir(upload_path)
FileNotFoundError: [Errno 2] No such file or directory: '/config/www/alexa_tts'

Hi, I have the same problem after update to version v. 4.7.1 of Alexa_media in HACS

I uninstalled and configured it over 4 times to fix the problem, but nothing happened.
Home Assistant 2023.9.2
Supervisor 2023.09.2
Operating System 10.5
Frontend 20230911.0 - latest

Try creating the directory:
/config/www/alexa_tts
Then restart.

Thank you @xel-x ! Appreciate your help.
That did the trick for me. Now all my Echo Dots are showing. :) (Didn't test much but putting a device in DND mode works, so I guess the rest should work normally.) Should this folder be automatically created by alexa_media_player and it just didn't do it in my case? Just wondering why this folder didn't exist.

Thank you very much @xel-x , I appreciate your time to help us, It works immediately. I never thought that could be that.

Freaky I didn't invest much time into helping - simply got the same problem and found this issue - than tried to solve it myself.
I can only hope there isn't something else missing inside the folder. That's also why I can't give any insights on why the folder is missing in the first place.

I had the same problem, my installation is quite clean and updated, the problem could be the amazon 2-factor authentication, but I'm not sure.

This works! thank you

Thank you so much. This was driving me nuts but works now! Now I just have to go in and update all of my automations :|

New to this, how do I create the directory?

New to this, how do I create the directory?

If you are on Home assistant  OS, for example you can install one file editor on Sistem/Components.  And use that for make a new directory on config folder.

@Bclemm using file editor create a folder in the config folder called “www”. Within that new folder create another folder called “alexa_tts”. Once done restart HA and you should see your devices. No idea why this works but it does :) thanks again @xel-x

Now I need to figure out why “MyQ” and “Eufy Robovacs” have stopped working for me. I love HA but its so annoying that things suddenly stop working and you have to hunt for solutions particularly after updates.

Thanks, I've been struggling with this since I upgraded to HACS 4.71 from 6...something.  Notify no longer existed for alexa, could not find media players in my devices, cloud say didn't work.  Added this www/alexa_tts directory and now I am getting alexa to talk again.  I imagine I will need to tweek my TTS automations.  But I am fine with that so long as alexa still talks to me when I trigger her.

@Ludy87 @surfingbytes can one of you take a look? Perhaps we should combine both HA and os approaches with HA's method first and the OS as a fallback?


addControl with self reference

I think this is can work as well and has better performance.

I also think this function can be removed
https://github.com/domoritz/leaflet-locatecontrol/blob/c6eb717c0fa2f07395f7014dcaaa191bee8ffaca/src/L.Control.Locate.js#L481
because it does the same

You're right.


Update the OMS docs to reflect the project's deprecated status

OMS has been deprecated and the resources have moved to public archive. The Azure docs don't seem to reflect the current status of the project. The docs should now show a migration path off of OMS if anyone is currently running it.
https://openservicemesh.io/
https://github.com/openservicemesh/osm

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 762cd89e-4478-f58d-cf76-ab024c1cef61
Version Independent ID: 8dec3455-ec48-b3eb-16d0-cca01ccf8728
Content: Open Service Mesh in Azure Kubernetes Service (AKS) - Azure Kubernetes Service
Content Source: articles/aks/open-service-mesh-about.md
Service: azure-kubernetes-service
GitHub Login: @MGoedtel
Microsoft Alias: pgibson

@peteroneilljr
Thanks for your feedback! We will investigate and update as appropriate.

@peteroneilljr
Thanks for your feedback! I've assigned this issue to the author who will investigate and update as appropriate.

@peteroneilljr - I'm planning on addressing this as part of work I'm delivering this month related to Ingress controllers. The updates with a note related to this point will be published early next month.
#please-close


232 us 2.42 login /registration page

Coverage decreased (-0.7%) to 99.269% when pulling a2681a6f94e92e317328a101f8a03278d6b2e33d on 232_US_2.42Login-/Registration-Page into 79a847a62eca325ce1da0b3238594e17eda7cebf on dev.

Coverage remained the same at 100.0% when pulling 1186fa52e9ab49855790227e974b3f1bb090ac7c on 232_US_2.42Login-/Registration-Page into 79a847a62eca325ce1da0b3238594e17eda7cebf on dev.

Coverage remained the same at 100.0% when pulling 6eae766fed01af106ec67cd088b49fe6e3c16ab5 on 232_US_2.42Login-/Registration-Page into 54e6c7a427f7f59ba8e03cab4cc4fd59b4dac0c9 on dev.

Coverage remained the same at 100.0% when pulling 039da6c4346982c18279090f2d2d01abd2fa3101 on 232_US_2.42Login-/Registration-Page into 54e6c7a427f7f59ba8e03cab4cc4fd59b4dac0c9 on dev.


Add a release note to Mx 10 Beta 1

@MariaShaposhnikova thanks, made a couple small changes and moved this and another note to the top of the section, as they are important.


Commiting name & surname.

Name added on the test file: example.txt
Better late than never.

Good job! :star2: :star2:  :chart_with_upwards_trend:
I close your pull request now. Please use the same procedure to submit your proposed assignment solutions for the upcoming sessions.


Leaderboard / Gamification

Keeping this list fresh (especially jobs) can be only be automated so much. With the pending_changes table we know who has added, updated, and deleted content. Do we want to explore "incentivizing" folks participation?
@gemantzu / @burden / @shawnonthenet, thoughts?

I'm going to close this for now, I don't see this being something we pursue or others are eager to contribute.


[Backport-1.x] Tune datanode count  and shards count to improve test run time (#1170)

Signed-off-by: Abbas Hussain<EMAIL_ADDRESS>Description
backport #1170 to 1.x
Issues Resolved
#579
Check List

[x] New functionality includes testing.

[x] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

start gradle check


update mapping with legacy routes

Landed via https://github.com/keymetrics/kmjs-core/commit/873dcd7f620f986c4981c4be53acf8a865683713 cause we needed to publish other mappings change for the frontend team


Create order - descritpion is mandatory

Make description optional when creating an order.

Description is nullable on the database so not sure what the problem is.


Add libmpcdec6 to ubuntu-precise; resolves travis-ci/apt-package-whit…

…elist#1929
Packages: libmpcdec6, libmpcdec-dev

Thanks for taking the time to open the PR. However, without tests, we do not accept PRs.


Support pointers to type aliases

Change 1
Fix panic when formatting error: reflect.TypeOf(v) returns nil if v is nil.
Change 2
Support pointers to type aliases. Example:
type MyInt int

type MyStruct struct {
     i1 MyInt   // already works
     i2 *int    // already works
     i3 *MyInt  // didn't work before this PR
}

Test
https://github.com/go-xorm/tests/pull/10

Thanks. And I also push a commit on 8d208d9ad82b57577d9aa3ab4555703fb1e3716b@go-xorm/core and fixed a bug. Please update it also.

Thanks.


Change node count and pods per node for super-large

Making pods per node 50 to account for the 20 app pods
plus 30ish infra pods per node.
Signed-off-by: Sai Sindhur Malleni<EMAIL_ADDRESS>

@smalleni does the master and node size needs to change too?


Mismatch between get_video_timestamps and get_position_timestamps

Found a nwb file conversion where the position timestamps came out reasonable, but the video file object's timestamps were incorrect due to strange ptp-calibration during the experiment.
e.g. the HWTimestamp in this dataframe corresponds with a time in the 1980's
file = "/stelmo/sc4712/rats/SC1001/raw/20230905/20230905_SC1001_02_r1.1.videoTimeStamps.cameraHWSync"
data_file = pd.DataFrame(
        readTrodesExtractedDataFile(file)["data"]
    )
data_file

We have addressed translating these incorrect timestamps in get_position_timestamps
get_video_timestamps doesn't have these same features and takes values directly as reported from .cameraHWSync

Should we try to achieve similar timestamp mapping in the video_timestamp function to resolve this or leave attributed to errors at time of data collection?

As I recall, the reason for this is that it is just a little trickier to get the correct timestamps for the whole video. It would be nice to have correct, but I'm not sure what the solution is.

Ah I see. There's no guarantee that the video is fully contained within the recorded .rec file's time range.
One option is when the timestamps are obviously incorrect, to use the PosTimestamp value in .cameraHWSync to map to the trodestimestamps in the rec file (similar to the non-ptp case in position tracking).  For values that don't map we could put a nan value

Yeah, that would be an okay solution.

Hi @samuelbray32, I was wondering if you might be able to still help with this issue?

@sharon-chiang did any of the fixes work? Should this issue be closed?


Analyzer should spot misnamed constructors

This issue was originally filed by<EMAIL_ADDRESS>
When doing manual refactorings of class name, I often forget to rename the constructor, which yields hard-to-detect bugs:
import 'package:di/di.dart';
class ModuleWithNewName extends Module {
  ModuleWithOldName() {
    bind(MyClass); // No, you will never be bound.
  }
}
I think the analyzer should issue an info (if not a warning) when a capitalized method has no return type, to prevent these cases.

I find the uppercase is a quite good option to identify (misnamed) constructors

+1 I think the lint non_constant_identifier_names is enough to solve this problem as long as you are following Dart conventions.


refactor: update schema to scheme in c api

cc @d3lm @bbayles

Awesome, thanks for fixing the typo 🙏


Reconsider launching all steps when a new commit lands

We've currently done this because it's a good idea from a sanity point of view to ensure previous stakeholders of a previously run step get an updated build at the landing of a new commit.
But from a PoV of a tester / QA, this is an overreach. Since if the new commit that has landed is itself buggy, they should be able to check that earlier than finding out in a later step. In other words, we should consider asking for the sign-off again on each step when a new commit lands.

We have added a configuration for this in #536.


Create travis mysql user with root rights

Let's see if the test problem is the lack of the travis mysql user

Let's wait for a more stable Trusty environment


[Bug]: Video Embed Missing

What happened?
Video is not embedded on page on https://www.docs.developers.amplitude.com/data/sources/google-tag-manager-client/
What browsers are you seeing the problem on?
Chrome
Relevant log output
No response

@armandatultra I failed to reproduce this error. Could you provide a screenshot of what is showing up on your side? And if there is any error message in console?

Hi Xinji,
I'm actually no longer seeing the issue.  Might have been a memory or
caching issue on my end.  Thank you for your support.
On Fri, Apr 21, 2023 at 11:38 AM Xinyi Ye @.***> wrote:

@armandatultra
https://urldefense.com/v3/__https://github.com/armandatultra__;!!JHpL51SSC76m!ZdP9if4wWpl0aC-CK57Z-BL4vIQqxf80Dt7OYNEWRK6UW-9VJbqBfvbuO6xIkDHH2V0XYm7e4Ls5Yo8O-NrWDR8$
I failed to reproduce this error. Could you provide a screenshot of what is
showing up on your side? And if there is any error message in console?
—
Reply to this email directly, view it on GitHub
https://urldefense.com/v3/__https://github.com/Amplitude-Developer-Docs/amplitude-dev-center/issues/721*issuecomment-1518205132__;Iw!!JHpL51SSC76m!ZdP9if4wWpl0aC-CK57Z-BL4vIQqxf80Dt7OYNEWRK6UW-9VJbqBfvbuO6xIkDHH2V0XYm7e4Ls5Yo8OUrPZsDc$,
or unsubscribe
https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/A7LDZ5UPMZPWRCEMFERV3FLXCLHZHANCNFSM6AAAAAAXHD6LU4__;!!JHpL51SSC76m!ZdP9if4wWpl0aC-CK57Z-BL4vIQqxf80Dt7OYNEWRK6UW-9VJbqBfvbuO6xIkDHH2V0XYm7e4Ls5Yo8OB-MU8hA$
.
You are receiving this because you were mentioned.Message ID:
<Amplitude-Developer-Docs/amplitude-dev-center/issues/721/1518205132@
github.com>

--
This message and any attachments may contain confidential and/or privileged
information for the sole use of the intended recipient. Any review or
distribution by anyone other than the person for whom it was originally
intended is strictly prohibited. If you have received this message in
error, please contact the sender and delete all copies.


Support forkjoinpool plugin in JDK11

fix https://github.com/apache/skywalking/issues/11633

You need to add the test scenario to run in JDK 11, otherwise, this is only a manual test

Also, you removed the pull request template, we need that, and you missed the update in the change log.

You need to add the test scenario to run in JDK 11, otherwise, this is only a manual test

This is still missed.

Why do you open a new test3 with so many cases?

From test logs, your interceptor doesn't run as expected. Still, the old method existed and being intercepted.

Tests passed, could you check this? https://github.com/apache/skywalking-java/pull/656#discussion_r1422039367

Is there any update here?

@786991884 Do you have any update?

@786991884 If you will be back, I hope this extra test can be removed by reusing the existing one.
I am going to merge this first because from what I saw, this fix is important.