JAX build on CentOS 7 (RHEL variant)

Hi,
I have been having trouble getting JAX to work on CentOS 7 and was wondering if I could have some help. If I manage to get it working I'll document how I did it here.
First, some build system stats:
Currently Loaded Modulefiles:
 1) cuda/10.1.105_418.39     3) gcc/8.3.0                     5) slurm/18.08.8
 2) cudnn/v7.6.2-cuda-10.1   4) lib/openblas/0.2.19-haswell   6) openmpi/1.10.7-hfi

conda: 4.8.1
python: 3.7.6

Following @shoyer's advice in #1948, I switched to a self-built bazel. This eliminated some issues but now I have others.
The advice in #1659 of setting the correct cuda path was not applicable to me.
For the record I have TensorFlow working with GPUs from a wheel. I also have JAX working for CPU-only from the conda-forge version.
Here is my current command and problem:
Command:
 python build/build.py --enable_march_native --enable_cuda --cuda_path /cm/shared/sw/pkg/devel/cuda/10.1.105_418.39 --cudnn_path /cm/shared/sw/pkg/devel/cudnn/v7.6.2-cuda-10.1 --bazel_path /mnt/home/mcranmer/Downloads/bazel/output/bazel 2>&1 > bazel_build_log.txt

Output:
WARNING: Output base '/mnt/home/mcranmer/.cache/bazel/_bazel_mcranmer/aa4ae3007acde055b5e4c61fdbbf8dbd' is on NFS. This may lead to surprising failures and undetermined behavior.
Starting local Bazel server and connecting to it...
WARNING: Output base '/mnt/home/mcranmer/.cache/bazel/_bazel_mcranmer/aa4ae3007acde055b5e4c61fdbbf8dbd' is on NFS. This may lead to surprising failures and undetermined behavior.
INFO: Options provided by the client:
  Inherited 'common' options: --isatty=0 --terminal_columns=80
INFO: Reading rc options for 'run' from /mnt/home/mcranmer/Downloads/jax/.bazelrc:
  Inherited 'build' options: --repo_env PYTHON_BIN_PATH=/mnt/home/mcranmer/miniconda3/envs/main2/bin/python --python_path=/mnt/home/mcranmer/miniconda3/envs/main2/bin/python --repo_env TF_NEED_CUDA=1 --distinct_host_configuration=false --copt=-Wno-sign-compare -c opt --apple_platform_type=macos --macos_minimum_os=10.9 --announce_rc --define=no_aws_support=true --define=no_gcp_support=true --define=no_hdfs_support=true --define=no_kafka_support=true --define=no_ignite_support=true --define=grpc_no_ares=true --spawn_strategy=standalone --strategy=Genrule=standalone --cxxopt=-std=c++14 --host_cxxopt=-std=c++14 --action_env CUDA_TOOLKIT_PATH=/cm/shared/sw/pkg/devel/cuda/10.1.105_418.39 --action_env CUDNN_INSTALL_PATH=/cm/shared/sw/pkg/devel/cudnn/v7.6.2-cuda-10.1
INFO: Found applicable config definition build:opt in file /mnt/home/mcranmer/Downloads/jax/.bazelrc: --copt=-march=native --host_copt=-march=native
INFO: Found applicable config definition build:mkl_open_source_only in file /mnt/home/mcranmer/Downloads/jax/.bazelrc: --define=tensorflow_mkldnn_contraction_kernel=1
INFO: Found applicable config definition build:cuda in file /mnt/home/mcranmer/Downloads/jax/.bazelrc: --crosstool_top=@local_config_cuda//crosstool:toolchain --define=using_cuda=true --define=using_cuda_nvcc=true
Loading:
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
    currently loading: build
INFO: Call stack for the definition of repository 'local_config_cuda' which is a cuda_configure (rule definition at /mnt/home/mcranmer/.cache/bazel/_bazel_mcranmer/aa4ae3007acde055b5e4c61fdbbf8dbd/external/org_tensorflow/third_party/gpus/cuda_configure.bzl:1306:18):
 - /mnt/home/mcranmer/.cache/bazel/_bazel_mcranmer/aa4ae3007acde055b5e4c61fdbbf8dbd/external/org_tensorflow/tensorflow/workspace.bzl:87:5
 - /mnt/home/mcranmer/.cache/bazel/_bazel_mcranmer/aa4ae3007acde055b5e4c61fdbbf8dbd/external/org_tensorflow/tensorflow/workspace.bzl:77:5
 - /mnt/home/mcranmer/Downloads/jax/WORKSPACE:46:1
ERROR: An error occurred during the fetch of repository 'local_config_cuda':
   Traceback (most recent call last):
	File "/mnt/home/mcranmer/.cache/bazel/_bazel_mcranmer/aa4ae3007acde055b5e4c61fdbbf8dbd/external/org_tensorflow/third_party/gpus/cuda_configure.bzl", line 1304
		_create_local_cuda_repository(<1 more arguments>)
	File "/mnt/home/mcranmer/.cache/bazel/_bazel_mcranmer/aa4ae3007acde055b5e4c61fdbbf8dbd/external/org_tensorflow/third_party/gpus/cuda_configure.bzl", line 1006, in _create_local_cuda_repository
		_get_cuda_config(repository_ctx)
	File "/mnt/home/mcranmer/.cache/bazel/_bazel_mcranmer/aa4ae3007acde055b5e4c61fdbbf8dbd/external/org_tensorflow/third_party/gpus/cuda_configure.bzl", line 729, in _get_cuda_config
		find_cuda_config(repository_ctx, <1 more arguments>)
	File "/mnt/home/mcranmer/.cache/bazel/_bazel_mcranmer/aa4ae3007acde055b5e4c61fdbbf8dbd/external/org_tensorflow/third_party/gpus/cuda_configure.bzl", line 709, in find_cuda_config
		auto_configure_fail(<1 more arguments>)
	File "/mnt/home/mcranmer/.cache/bazel/_bazel_mcranmer/aa4ae3007acde055b5e4c61fdbbf8dbd/external/org_tensorflow/third_party/gpus/cuda_configure.bzl", line 340, in auto_configure_fail
		fail(<1 more arguments>)

Cuda Configuration Error: Failed to run find_cuda_config.py: Could not find any cublas_api.h matching version '' in any subdirectory:
        ''
        'include'
        'include/cuda'
        'include/*-linux-gnu'
        'extras/CUPTI/include'
        'include/cuda/CUPTI'
of:
        '/cm/local/apps/cmd/lib'
        '/cm/local/apps/mysql++/current/lib'
        '/lib'
        '/lib64'
        '/opt/dell/srvadmin/lib64'
        '/opt/dell/srvadmin/lib64/openmanage'
        '/opt/dell/srvadmin/lib64/openmanage/smpop'
        '/opt/dell/toolkit/bin'
        '/usr'
        '/usr/lib64//bind9-export'
        '/usr/lib64/R/lib'
        '/usr/lib64/atlas'
        '/usr/lib64/dyninst'
        '/usr/lib64/mysql'
        '/usr/lib64/octave/3.8.2'
        '/usr/lib64/tcl8.5'
        '/usr/lib64/vtk'

ERROR: Skipping ':install_xla_in_source_tree': no such package '@local_config_cuda//cuda': Traceback (most recent call last):
	File "/mnt/home/mcranmer/.cache/bazel/_bazel_mcranmer/aa4ae3007acde055b5e4c61fdbbf8dbd/external/org_tensorflow/third_party/gpus/cuda_configure.bzl", line 1304
		_create_local_cuda_repository(<1 more arguments>)
	File "/mnt/home/mcranmer/.cache/bazel/_bazel_mcranmer/aa4ae3007acde055b5e4c61fdbbf8dbd/external/org_tensorflow/third_party/gpus/cuda_configure.bzl", line 1006, in _create_local_cuda_repository
		_get_cuda_config(repository_ctx)
	File "/mnt/home/mcranmer/.cache/bazel/_bazel_mcranmer/aa4ae3007acde055b5e4c61fdbbf8dbd/external/org_tensorflow/third_party/gpus/cuda_configure.bzl", line 729, in _get_cuda_config
		find_cuda_config(repository_ctx, <1 more arguments>)
	File "/mnt/home/mcranmer/.cache/bazel/_bazel_mcranmer/aa4ae3007acde055b5e4c61fdbbf8dbd/external/org_tensorflow/third_party/gpus/cuda_configure.bzl", line 709, in find_cuda_config
		auto_configure_fail(<1 more arguments>)
	File "/mnt/home/mcranmer/.cache/bazel/_bazel_mcranmer/aa4ae3007acde055b5e4c61fdbbf8dbd/external/org_tensorflow/third_party/gpus/cuda_configure.bzl", line 340, in auto_configure_fail
		fail(<1 more arguments>)

Cuda Configuration Error: Failed to run find_cuda_config.py: Could not find any cublas_api.h matching version '' in any subdirectory:
        ''
        'include'
        'include/cuda'
        'include/*-linux-gnu'
        'extras/CUPTI/include'
        'include/cuda/CUPTI'
of:
        '/cm/local/apps/cmd/lib'
        '/cm/local/apps/mysql++/current/lib'
        '/lib'
        '/lib64'
        '/opt/dell/srvadmin/lib64'
        '/opt/dell/srvadmin/lib64/openmanage'
        '/opt/dell/srvadmin/lib64/openmanage/smpop'
        '/opt/dell/toolkit/bin'
        '/usr'
        '/usr/lib64//bind9-export'
        '/usr/lib64/R/lib'
        '/usr/lib64/atlas'
        '/usr/lib64/dyninst'
        '/usr/lib64/mysql'
        '/usr/lib64/octave/3.8.2'
        '/usr/lib64/tcl8.5'
        '/usr/lib64/vtk'

WARNING: Target pattern parsing failed.
ERROR: no such package '@local_config_cuda//cuda': Traceback (most recent call last):
	File "/mnt/home/mcranmer/.cache/bazel/_bazel_mcranmer/aa4ae3007acde055b5e4c61fdbbf8dbd/external/org_tensorflow/third_party/gpus/cuda_configure.bzl", line 1304
		_create_local_cuda_repository(<1 more arguments>)
	File "/mnt/home/mcranmer/.cache/bazel/_bazel_mcranmer/aa4ae3007acde055b5e4c61fdbbf8dbd/external/org_tensorflow/third_party/gpus/cuda_configure.bzl", line 1006, in _create_local_cuda_repository
		_get_cuda_config(repository_ctx)
	File "/mnt/home/mcranmer/.cache/bazel/_bazel_mcranmer/aa4ae3007acde055b5e4c61fdbbf8dbd/external/org_tensorflow/third_party/gpus/cuda_configure.bzl", line 729, in _get_cuda_config
		find_cuda_config(repository_ctx, <1 more arguments>)
	File "/mnt/home/mcranmer/.cache/bazel/_bazel_mcranmer/aa4ae3007acde055b5e4c61fdbbf8dbd/external/org_tensorflow/third_party/gpus/cuda_configure.bzl", line 709, in find_cuda_config
		auto_configure_fail(<1 more arguments>)
	File "/mnt/home/mcranmer/.cache/bazel/_bazel_mcranmer/aa4ae3007acde055b5e4c61fdbbf8dbd/external/org_tensorflow/third_party/gpus/cuda_configure.bzl", line 340, in auto_configure_fail
		fail(<1 more arguments>)

Cuda Configuration Error: Failed to run find_cuda_config.py: Could not find any cublas_api.h matching version '' in any subdirectory:
        ''
        'include'
        'include/cuda'
        'include/*-linux-gnu'
        'extras/CUPTI/include'
        'include/cuda/CUPTI'
of:
        '/cm/local/apps/cmd/lib'
        '/cm/local/apps/mysql++/current/lib'
        '/lib'
        '/lib64'
        '/opt/dell/srvadmin/lib64'
        '/opt/dell/srvadmin/lib64/openmanage'
        '/opt/dell/srvadmin/lib64/openmanage/smpop'
        '/opt/dell/toolkit/bin'
        '/usr'
        '/usr/lib64//bind9-export'
        '/usr/lib64/R/lib'
        '/usr/lib64/atlas'
        '/usr/lib64/dyninst'
        '/usr/lib64/mysql'
        '/usr/lib64/octave/3.8.2'
        '/usr/lib64/tcl8.5'
        '/usr/lib64/vtk'

INFO: Elapsed time: 618.998s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (0 packages loaded)
ERROR: Build failed.

I've also seen some other build issues - they seem to come and go. I'll document them if I save the log next time.
Please let me know if you have any tips.
Thanks!
Miles

This didn't work for me on Centos 7, looks like a Bazel issue. Did you build Bazel from source or just using yum? And which version of Bazel was used?

I think the JAX installer will build its own Bazel. I ended up just using that one.

Ah I see, thanks for clarifying - got confused by your comment in the original post that you tried an externally built one.

Oops, sorry, let me make it clear in the instructions for future users!

Hi,
Thank you for sharing.
I couldn't get it work.
Could you explain what you mean by "Make sure the relevant folders are on your LIBRARY_PATH/LD_LIBRARY_PATH/CPATH/PATH environment variables."?
Also I don't have a cudnn directory. The cudnn.h file is in usr/include and I'm using that
Here is what's happening:
`Downloading bazel from: https://github.com/bazelbuild/bazel/releases/download/2.0.0/bazel-2.0.0-linux-x86_64
bazel-2.0.0-linux-x86_64 [########################################] 100%
Starting local Bazel server and connecting to it...
Bazel binary path: ./bazel-2.0.0-linux-x86_64
Python binary path: /bin/python3
Python version: 3.6
MKL-DNN enabled: yes
-march=native: yes
CUDA enabled: yes
CUDA toolkit path: /usr/local/cuda/
CUDNN library path: /usr/include
CUDA compute capabilities: 3.5,5.2,6.0,6.1,7.0
Building XLA and installing it in the jaxlib source tree...
./bazel-2.0.0-linux-x86_64 run --verbose_failures=true --config=short_logs --config=opt --config=mkl_open_source_only --config=cuda --define=xla_python_enable_gpu=true :install_xla_in_source_tree /home/mibcat01/jax/build
INFO: Options provided by the client:
Inherited 'common' options: --isatty=0 --terminal_columns=80
INFO: Reading rc options for 'run' from /home/mibcat01/jax/.bazelrc:
Inherited 'common' options: --experimental_repo_remote_exec
INFO: Reading rc options for 'run' from /home/mibcat01/jax/.bazelrc:
Inherited 'build' options: --repo_env PYTHON_BIN_PATH=/bin/python3 --python_path=/bin/python3 --repo_env TF_NEED_CUDA=1 --action_env TF_CUDA_COMPUTE_CAPABILITIES=3.5,5.2,6.0,6.1,7.0 --distinct_host_configuration=false --copt=-Wno-sign-compare -c opt --apple_platform_type=macos --macos_minimum_os=10.9 --announce_rc --define=no_aws_support=true --define=no_gcp_support=true --define=no_hdfs_support=true --define=no_kafka_support=true --define=no_ignite_support=true --define=grpc_no_ares=true --spawn_strategy=standalone --strategy=Genrule=standalone --cxxopt=-std=c++14 --host_cxxopt=-std=c++14 --action_env CUDA_TOOLKIT_PATH=/usr/local/cuda/ --action_env CUDNN_INSTALL_PATH=/usr/include
INFO: Found applicable config definition build:short_logs in file /home/mibcat01/jax/.bazelrc: --output_filter=DONT_MATCH_ANYTHING
INFO: Found applicable config definition build:opt in file /home/mibcat01/jax/.bazelrc: --copt=-march=native --host_copt=-march=native
INFO: Found applicable config definition build:mkl_open_source_only in file /home/mibcat01/jax/.bazelrc: --define=tensorflow_mkldnn_contraction_kernel=1
INFO: Found applicable config definition build:cuda in file /home/mibcat01/jax/.bazelrc: --crosstool_top=@local_config_cuda//crosstool:toolchain --define=using_cuda=true --define=using_cuda_nvcc=true
Loading:
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
currently loading: build
INFO: Call stack for the definition of repository 'local_config_cuda' which is a cuda_configure (rule definition at /root/.cache/bazel/_bazel_root/04bfdf80446bd4e22248b33517085cec/external/org_tensorflow/third_party/gpus/cuda_configure.bzl:1347:18):

/root/.cache/bazel/_bazel_root/04bfdf80446bd4e22248b33517085cec/external/org_tensorflow/tensorflow/workspace.bzl:98:5
/root/.cache/bazel/_bazel_root/04bfdf80446bd4e22248b33517085cec/external/org_tensorflow/tensorflow/workspace.bzl:77:5
/home/mibcat01/jax/WORKSPACE:46:1
ERROR: An error occurred during the fetch of repository 'local_config_cuda':
Traceback (most recent call last):
File "/root/.cache/bazel/_bazel_root/04bfdf80446bd4e22248b33517085cec/external/org_tensorflow/third_party/gpus/cuda_configure.bzl", line 1317
_create_local_cuda_repository(<1 more arguments>)
File "/root/.cache/bazel/_bazel_root/04bfdf80446bd4e22248b33517085cec/external/org_tensorflow/third_party/gpus/cuda_configure.bzl", line 945, in _create_local_cuda_repository
_get_cuda_config(repository_ctx, <1 more arguments>)
File "/root/.cache/bazel/_bazel_root/04bfdf80446bd4e22248b33517085cec/external/org_tensorflow/third_party/gpus/cuda_configure.bzl", line 657, in _get_cuda_config
find_cuda_config(repository_ctx, <2 more arguments>)
File "/root/.cache/bazel/_bazel_root/04bfdf80446bd4e22248b33517085cec/external/org_tensorflow/third_party/gpus/cuda_configure.bzl", line 635, in find_cuda_config
_exec_find_cuda_config(<3 more arguments>)
File "/root/.cache/bazel/_bazel_root/04bfdf80446bd4e22248b33517085cec/external/org_tensorflow/third_party/gpus/cuda_configure.bzl", line 629, in _exec_find_cuda_config
execute(repository_ctx, <1 more arguments>)
File "/root/.cache/bazel/_bazel_root/04bfdf80446bd4e22248b33517085cec/external/org_tensorflow/third_party/remote_config/common.bzl", line 208, in execute
fail(<1 more arguments>)
Repository command failed
Could not find any libcudnn.so.* in any subdirectory:
''
'lib64'
'lib'
'lib/-linux-gnu'
'lib/x64'
'extras/CUPTI/'
of:
'/usr/include'
ERROR: Skipping ':install_xla_in_source_tree': no such package '@local_config_cuda//cuda': Traceback (most recent call last):
File "/root/.cache/bazel/_bazel_root/04bfdf80446bd4e22248b33517085cec/external/org_tensorflow/third_party/gpus/cuda_configure.bzl", line 1317
_create_local_cuda_repository(<1 more arguments>)
File "/root/.cache/bazel/_bazel_root/04bfdf80446bd4e22248b33517085cec/external/org_tensorflow/third_party/gpus/cuda_configure.bzl", line 945, in _create_local_cuda_repository
_get_cuda_config(repository_ctx, <1 more arguments>)
File "/root/.cache/bazel/_bazel_root/04bfdf80446bd4e22248b33517085cec/external/org_tensorflow/third_party/gpus/cuda_configure.bzl", line 657, in _get_cuda_config
find_cuda_config(repository_ctx, <2 more arguments>)
File "/root/.cache/bazel/_bazel_root/04bfdf80446bd4e22248b33517085cec/external/org_tensorflow/third_party/gpus/cuda_configure.bzl", line 635, in find_cuda_config
_exec_find_cuda_config(<3 more arguments>)
File "/root/.cache/bazel/_bazel_root/04bfdf80446bd4e22248b33517085cec/external/org_tensorflow/third_party/gpus/cuda_configure.bzl", line 629, in _exec_find_cuda_config
execute(repository_ctx, <1 more arguments>)
File "/root/.cache/bazel/_bazel_root/04bfdf80446bd4e22248b33517085cec/external/org_tensorflow/third_party/remote_config/common.bzl", line 208, in execute
fail(<1 more arguments>)
Repository command failed
Could not find any libcudnn.so.* in any subdirectory:
''
'lib64'
'lib'
'lib/-linux-gnu'
'lib/x64'
'extras/CUPTI/'
of:
'/usr/include'
WARNING: Target pattern parsing failed.
ERROR: no such package '@local_config_cuda//cuda': Traceback (most recent call last):
File "/root/.cache/bazel/_bazel_root/04bfdf80446bd4e22248b33517085cec/external/org_tensorflow/third_party/gpus/cuda_configure.bzl", line 1317
_create_local_cuda_repository(<1 more arguments>)
File "/root/.cache/bazel/_bazel_root/04bfdf80446bd4e22248b33517085cec/external/org_tensorflow/third_party/gpus/cuda_configure.bzl", line 945, in _create_local_cuda_repository
_get_cuda_config(repository_ctx, <1 more arguments>)
File "/root/.cache/bazel/_bazel_root/04bfdf80446bd4e22248b33517085cec/external/org_tensorflow/third_party/gpus/cuda_configure.bzl", line 657, in _get_cuda_config
find_cuda_config(repository_ctx, <2 more arguments>)
File "/root/.cache/bazel/_bazel_root/04bfdf80446bd4e22248b33517085cec/external/org_tensorflow/third_party/gpus/cuda_configure.bzl", line 635, in find_cuda_config
_exec_find_cuda_config(<3 more arguments>)
File "/root/.cache/bazel/_bazel_root/04bfdf80446bd4e22248b33517085cec/external/org_tensorflow/third_party/gpus/cuda_configure.bzl", line 629, in _exec_find_cuda_config
execute(repository_ctx, <1 more arguments>)
File "/root/.cache/bazel/_bazel_root/04bfdf80446bd4e22248b33517085cec/external/org_tensorflow/third_party/remote_config/common.bzl", line 208, in execute
fail(<1 more arguments>)
Repository command failed
Could not find any libcudnn.so.* in any subdirectory:
''
'lib64'
'lib'
'lib/-linux-gnu'
'lib/x64'
'extras/CUPTI/'
of:
'/usr/include'
INFO: Elapsed time: 11.077s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (0 packages loaded)
ERROR: Build failed.
He means that the folders for all the requirements from the step above ("CUDA, cuDNN, gcc, openMPI installed.") should be on those environment variables. For your case if you do e.g. echo $LD_LIBRARY_PATH, then you should get all the folders on that path and for instance cuDNN should be there. E.g. on my server:
Currently Loaded Modules:
  1) CUDA/10.0.130                  3) GCCcore/8.3.0               5) binutils/2.32-GCCcore-8.3.0   7) numactl/2.0.12-GCCcore-8.3.0   9) libxml2/2.9.9-GCCcore-8.3.0      11) hwloc/2.0.3-GCCcore-8.3.0
  2) cuDNN/<IP_ADDRESS>-CUDA-10.0.130   4) zlib/1.2.11-GCCcore-8.3.0   6) GCC/8.3.0-2.32                8) XZ/5.2.4-GCCcore-8.3.0        10) libpciaccess/0.14-GCCcore-8.3.0  12) OpenMPI/4.0.1-GCC-8.3.0-2.32

And:
echo $LD_LIBRARY_PATH
/blablab/el7/OpenMPI/4.0.1-GCC-8.3.0-2.32/lib:/blbalba/el7/hwloc/2.0.3-GCCcore-8.3.0/lib:/appl/opt/libpciaccess/0.14-GCCcore-8.3.0/lib:/blbalba/libxml2/2.9.9-GCCcore-8.3.0/lib:/blbalba/XZ/5.2.4-GCCcore-8.3.0/lib:/blbalba/numactl/2.0.12-GCCcore-8.3.0/lib:/blbalba/binutils/2.32-GCCcore-8.3.0/lib:/blbalba/zlib/1.2.11-GCCcore-8.3.0/lib:/blbalba/GCCcore/8.3.0/lib64:/blbalba/GCCcore/8.3.0/lib:/blbalba/cuDNN/<IP_ADDRESS>-CUDA-10.0.130/lib64:/blbalba/CUDA/10.0.130/nvvm/lib64:/blbalba/CUDA/10.0.130/extras/CUPTI/lib64:/blbalba/CUDA/10.0.130/lib64:/blbalba/centos/usr/lib/jvm/jre-1.8.0-openjdk-<IP_ADDRESS>.b09-2.el7_8.x86_64/lib:/blbalba/centos/usr/lib/jvm/java-1.8.0-openjdk-<IP_ADDRESS>.b09-2.el7_8.x86_64/lib:/blbalba/centos/usr/lib/jvm/java-1.8.0-openjdk-<IP_ADDRESS>.b09-2.el7_8.x86_64/jre/lib:

So you can see the cuDNN path here is: /blbalba/cuDNN/<IP_ADDRESS>-CUDA-10.0.130

Thank you for the detailed explanation!
While trying to compile the library with bazel on a HPC cluster, I got the following error after 10+ min compilation.
For compatibility reasons, I am trying to compile an older JAX version (https://github.com/google/jax/commit/de645c5b8bba6c8d3e0c82d7f8f62cdde137bbcb):
/home-084/username/jax_0_76/jax/jaxlib/BUILD:92:1: Linking of rule '//jaxlib:pytree.so' failed (Exit 1)
....
....
/opt/software/GCCcore/8.3.0/lib/gcc/x86_64-pc-linux-gnu/8.3.0/libgcc.a: error adding symbols: File format not recognized
These are the modules I loaded:
GCCcore/8.3.0    GCC/8.3.0
CUDA/10.1.243    cuDNN/<IP_ADDRESS>
OpenMPI/3.1.4  imkl/2019.5.281
I am aware this is not exactly JAX related but I want to try my chance here

Thank you for the detailed explanation!
While trying to compile the library with bazel on a HPC cluster, I got the following error after 10+ min compilation.
For compatibility reasons, I am trying to compile an older JAX version (https://github.com/google/jax/commit/de645c5b8bba6c8d3e0c82d7f8f62cdde137bbcb):
/home-084/username/jax_0_76/jax/jaxlib/BUILD:92:1: Linking of rule '//jaxlib:pytree.so' failed (Exit 1)
....
....
/opt/software/GCCcore/8.3.0/lib/gcc/x86_64-pc-linux-gnu/8.3.0/libgcc.a: error adding symbols: File format not recognized
These are the modules I loaded:
GCCcore/8.3.0    GCC/8.3.0
CUDA/10.1.243    cuDNN/<IP_ADDRESS>
OpenMPI/3.1.4  imkl/2019.5.281
I am aware this is not exactly JAX related but I want to try my chance here


[FEA] Scala UDF:Support for null Value operands

@seanprime7
UDF Support for Expressions that can process null value operands
isNaN, NaNvl, IfNull, IsNull, isNotNull, NullIf, Nvl, Nvl2

@krajendrannv On a separate discussion, you said we can remove NaNvl, IfNull, IsNull, isNotNull, NullIf, Nvl and Nvl2 from the request.  Would you please modify the ticket to reflect that?


replace babel-polyfill with runtime transform

babel-polyfill pollutes global and should really only be used for an app build; using it in a library is problematic since it can clash with other libraries. replace with this:
http://babeljs.io/docs/plugins/transform-runtime/

implemented in v0.3.0


How to use omni.anim.people in omnigibson?

Hi,
thanks for great work!
Is there any way to use extensions such as omni.anim.people before integrated in omnigibson?

Hi,
We don't have any built-in support for this currently, but it looks like a really nice use case. You could try to do it yourself:

Launch OmniGibson with one of the scenes pre-loaded
Insert into your code, right before what you want to do with the environment, a loop like this to let the UI run:

try:
   while True: og.sim.step()
except InterruptError:
   pass

Set up the omni.anim.people extension using the instructions in this doc: https://docs.omniverse.nvidia.com/isaacsim/latest/ext_omni_anim_people.html
When done, CTRL+C to stop the loop, and your code should continue to w/e you have in the loop, and hopefully now the people are still in the scene.

Note that we have not tried this out (although we'd like to, at some point) so this may or may not work. Please let us know here if you find that it works or feel free to make PRs to integrate this as a feature!
Thanks,
Cem

Thanks a lot for your suggestion!
Seems like 'og.sim.render()' can't make anim.people move when I add a Tiago robot with two people into a empty scene
However, those people could move when I add them into a empty scene without a robot
I feel hopeful about it
Is there any low-level code that render anim.people one step?
Can I call the environment to render anim.people one step and then render omnigibson another step, alternating between two steps?
Looking forward to your reply!

og.sim.render() just renders the UI, it doesn't actually step the simulation. It's the env.step that steps the simulation (this should also move your humans) but I'm not sure why it doesn't work. Can you try to find out, outside the context of OmniGibson, how to make the humans move via code? Did you do all the stuff recommended here: https://docs.omniverse.nvidia.com/isaacsim/latest/ext_omni_anim_people.html ? Did you try the approach in 3.5 and seeing what's in that python script?

Sorry for not replying you for 3 days.
It seems like the reason that "anim.people" can't move is because I have to "Load" and "Set" character through menu manually Only when Omniverse is "stopped". But I was trying to "Load" and "Set" character when Omniverse is "Paused" 2 days before, so it doesn't work.
But when I click "Stop" button, after the program has set up Omnigibson, the robot will cause the program to crash and exit Omniverse.
The first way to solve this is to manually start load character before the environment is set up and start to run, but I found insert "time.sleep()" before "env = og.Environment(cfg)" doesn't work, because I can't click the Omniverse environment when the program is sleeping. Is there any way to let me load the character before the environment start to run?
The second way might be when I click "stop", the robot will go back to its initial position instead of the program crashed and exit Omniverse. Do you have any suggestions?
I believe it will run very soon!

Can you try the following?
env = og.Environment(...)
assert og.sim.is_playing()  # sim should be playing now
og.sim.stop()
assert og.sim.is_stopped()  # sim should be stopped now
for _ in range(1000):  # This will allow you to access the omniverse UI. If you need more time, re-run the for loop.
    og.sim.render()
[While the for loops is running, on omniverse's UI, load the people and do whatever setup you need]
og.sim.play()
assert og.sim.is_playing()  # sim should be playing now
og.sim.scene.reset()  # this should reset the scene to its initial state.

for _ in range(1000):
    og.sim.step()    # Now everything should run smoothly, hopefully, with the people moving around

Let me know if this works!
If this works properly, you should properly add the people and set their motions using python interface rather than the omniverse UI of course. And we would be thrilled if you can file a PR to augment OG with this very nice feature!

Thanks a lot!
your advice works really well!
Now the robot and the human could move altogether.
But currently the human doesn't has collision size and is transparent to the robot

And omniverse doesn't provide delicate Python API to control anim.people besides from simple txt file added in the control panel
It's still hard to control those character doing behavior what I asked now.


Workaround for a secondary fixed IP for ENI

Purpose or Intent
AWS can have secondary private IP address assigned to the ENI,
our current model does not allow that. Probably the best fix is,
to expand unique index of the cloud_subnet_network_ports to
include address. But as a backportable fix, we need to display
only the first one, since we can't backport a migration.
Steps for Testing/QA
Clean apply of the upstream patch:
https://github.com/ManageIQ/manageiq-providers-amazon/pull/33
Fixes Darga BZ:
https://bugzilla.redhat.com/show_bug.cgi?id=1370310

@dajohnso could you link up the Darga BZ, please?

For those that don't know what ENI is (like me): http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html

@Ladas, can you add a test for this one?

@blomquisg I would rather not backport the spec, it will need VCR rerecorded. I will do that for master. This is a Darga PR

@Ladas, https://bugzilla.redhat.com/show_bug.cgi?id=1370310


TypeError: b.on is not a function

I'm including minified Raphael 2.1.4 in my Meteor <IP_ADDRESS> app by placing it in the client/ subdirectory.
In the browser web console, I see this error:
TypeError: b.on is not a function  raphael.2.1.4.min.js:10:18173

My motivation for including Raphael 2.1.4 is to use the JustGage library, which depends on it. JustGage bundles Raphael 2.1.0, which had more issues, but 2.1.4 is down to just the error message above.
Meteor bundles jQuery 1.11.2.
How can I get past this error message?

I'm not familiar to Meteor nor JustGage, but I would start using the non-minified version of Raphael to know what's causing the error. Then check what it could be.

When I swap in the full Raphael, I get this error:
TypeError: eve.on is not a function raphael.js:5216:4

This is the code on line 5216:
eve.on("raphael.remove", stopAnimation);

I do see the function declared on line 185 of raphael.js

I have the same problem. I am loading Raphael as an npm module via import Raphael from 'raphael'.
Had to swap with 2.1.0 to get rid if this error.

I encountered the same problem while trying to load Raphael in an Electron app's renderer process. I was able to fix the problem by following this tip from here:
http://grokbase.com/t/gg/raphaeljs/125a06s2y7/eve-is-not-defined
Add the following line in raphael.js after the eve function declaration:
        eve = function (name, scope) {
        // ...
        };

    // added to put eve into global scope
    // cf:
    window.eve = eve;

Now with v2.2.0? With webpack I think some distribution issues should've been solved.

Dead thread, reopen if it can be reproduced.


Outdated/Conflicting Documentation

The link for the api reference documentation directs one to: here
This is however inconsistent with the examples listed in the README.md

Closing after merging PR #58


Fix double-click events in Table

Make double-click events on cells, head cells, and rows work in the Table component.
Rename dbclick to dblclick according to W3C’s UI Events Standard and WHATWG’s HTML Standard.
Unify terminology about clicking: double-click and right-click.

Thanks for your contribution.
Well, I would like to add one more feedback for cells double clicked in the mouse-events demo, like following:
<template>

Double clicked cell: {{ dblclickedCell }}

<template>

Would you do this?
PS: You can remove the comment in line 26.

Hi @qmhc , I have updated the two mouse-event demos as requested, please review. :)


Consider latexdiff (and an approach for perl executables)

Approach for perl - for now rely on system interpreter for macOS/Linux, and build Windows binaries using pp.


StackNavigator push transition pausing 80% through & then finishing

Current Behavior
I'm doing a redux call in my componentDidMount method for one of my components that is being pushed onto the screen via the StackNavigator. The transition stops about 80% through and then finishes. However, when I remove the redux call from the componentDidMount method, the transition is completely smooth.
Here is some sample code:
function mapStateToProps(state) {
  return {
    currentPosition: state.fetchedUserLocation,
    locationData: state.fetchedLocation,
  }
};

function mapDispatchToProps(dispatch) {
  return bindActionCreators(ActionCreators, dispatch);
};

class Place extends Component {
  constructor(props) {
    super(props);

    const commentActionDetails = {
      options: ['Cancel'],
      cancelIndex: CANCEL_COMMENT_INDEX,
    }

    this.state = {
      commentActionDetails,
      currentPosition: props.navigation.state.currentPosition,
      locationData: props.locationData,
    };
  }

  componentDidMount() {
    const { locationId } = this.props.navigation.state.params;
    this.props.fetchLocation(locationId);
  }

Is there somewhere else I should be placing my redux calls than in the componentDidMount? Or am I doing my redux operation wrong? I thought they should be asynchronous.
Thanks for the help!
Your Environment

software
version

react-navigation
1.0.0-beta.11

react-native
0.44.0

node
8.1.2

npm or yarn
5.2.0

If I modify the componentDidMount function to look like this, I have smooth transitions too:
componentDidMount() {
  const { locationId } = this.props.navigation.state.params;

  setTimeout(() => {
    this.props.fetchLocation(locationId);
  }, 1000);
}

So this issue is actually with a component i'm rendering which is a MapView from react-native-maps. Is there anyway to tell when the push transition for the StackNavigator is completed so I know when to start rendering & loading the map?

Hey @thomasbaldwin! InteractionManager might be what you're after here. Basically replace the setTimeout with
componentDidMount() {
  InteractionManager.runAfterInteractions(() => {
   const { locationId } = this.props.navigation.state.params;
   this.props.fetchLocation(locationId);
});
}

Closing for lack of followup.


TypeError: '>' not supported between instances of 'Nonetype' and 'float'

Please make sure that this is a bug. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:bug_template
System information

OS Platform and Distribution: Windows 10 1909

TensorFlow version: 2.1.0

Python version: 3.6.10

CUDA/cuDNN version: 10.1/7.6.5

GPU model and memory: GTX 1660Ti 6GB/32GB
  import tensorflow as tf
  ACCURACY_THRESHOLD = 0.95

  class myCallback(tf.keras.callbacks.Callback):
  def on_epoch_end(self, epoch, logs={}):
      if(logs.get('acc') > ACCURACY_THRESHOLD):
      print("\nReached %2.2f%% accuracy, so stopping training!!" %(ACCURACY_THRESHOLD*100))
      self.model.stop_training = True

  callbacks = myCallback()

  mnist = tf.keras.datasets.fashion_mnist
  (x_train, y_train),(x_test, y_test) = mnist.load_data()
  # Scale data
  x_train, x_test = x_train / 255.0, x_test / 255.0

  model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(512, activation=tf.nn.relu),
  tf.keras.layers.Dense(10, activation=tf.nn.softmax)
  ])

  model.compile(optimizer='adam', \
  		loss='sparse_categorical_crossentropy', \
  		metrics=['accuracy'])

  model.fit(x_train, y_train, epochs=20, callbacks=[callbacks])

when I ran this algorithm I got error saying this:

Briefly it says that logs.get('acc') is Nonetype and 0.99 is float so, '>' this cannot compare. How to solve it?

@amahendrakar
Thank You. That Worked.

I am still getting this error "TypeError: '>' not supported between instances of 'NoneType' and 'float'"

@amahendrakar
Thank You. That Worked.

I am still getting this error "TypeError: '>' not supported between instances of 'NoneType' and 'float'"

Never mind, using 'acc' worked for me. Maybe I am using an older version

Make sure you are using acc instead of accuracy. And otherwise, at least be consistent. Check your version of the tensorflow and use the corresponding term accordingly. It worked for me in that way.

if(logs.get('acc') > ACCURACY_THRESHOLD) worked for me

Weird if(log.get('acc') > ACCURACY_THRESHOLD) worked for me too

if(logs.get('accuracy') > ACCURACY_THRESHOLD) work for me

if(logs.get('acc') > ACCURACY_THRESHOLD) worked for me. very weird though

if(logs.get('acc') > ACCURACY_THRESHOLD) didn't work for me. What should i do?

if(logs.get('acc') > ACCURACY_THRESHOLD) didn't work for me. What should i do?

mine was giving error for log.get('accuracy') but when I changes it to logs.get('acc'), it worked

This depends on what name you use to store your accuracy variable. IF its stored as 'acc' use log.get('acc') else if you stored accuracy to "accuracy" use log.get('accuracy').  If you stored on some other variable, use it so.
Cheers m8

mine was giving error for log.get('accuracy') but when I changes it to logs.get('acc'), it worked

if(logs.get('acc') or if(logs.get('accuracy')
depend on what you stored     return history.epoch, history.history['acc'][-1]

Below worked for tf 2.2.0
    class endCallback(tf.keras.callbacks.Callback):
        def on_epoch_end(self, epoch, logs={}):
            if(logs.get('acc')>0.998):
                print("\nReached 99.8% accuracy so cancelling training!")
                self.model.stop_training = True

I had the same problem... Just tried here: both 'acc' and 'accuracy' works... I depends on what metrics have you specified on the compile():
model.compile(loss='binary_crossentropy',                optimizer='adam',                metrics=['acc'])
or
model.compile(loss='binary_crossentropy',                optimizer='adam',                metrics=['accuracy'])

For Tensorflow version equal to 1.14, if(logs.get('acc') > ACCURACY_THRESHOLD) is working. replacing accuracy with acc in version 1.14 was successful.

I had the same problem... Just tried here: both 'acc' and 'accuracy' works... I depends on what metrics have you specified on the compile():
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['acc'])
or
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

I dont think that depends on metrics,
I defined metrics['accuracy'] but logs.get('acc') worked for me.
I guess it has to be tried and tested for which one works

Yeah this seems to be a bug in google's Computer Visiion example at Computer vision example → https://colab.research.google.com/github/lmoroney/mlday-tokyo/blob/master/Lab2-Computer-Vision.ipynb

I had the same problem... Just tried here: both 'acc' and 'accuracy' works... I depends on what metrics have you specified on the compile():
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['acc'])
or
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

I dont think that depends on metrics,
I defined metrics['accuracy'] but logs.get('acc') worked for me.
I guess it has to be tried and tested for which one works

Even I thought like that and I tried many times and the only time I succeeded was putting acc. May be for higher versions, this might not occur!

Yeah this seems to be a bug in google's Computer Vision example → https://colab.research.google.com/github/lmoroney/mlday-tokyo/blob/master/Lab2-Computer-Vision.ipynb

I haven't tried in colab, I used jupyter notebook!

Hi,
The call back should be coded in a line with model setting up with metrics. they should be the same, both 'acc' or both 'accuracy'.
model.compile(optimizer = RMSprop(lr=0.0001),
loss = 'binary_crossentropy',
metrics = ['acc'])
class myCallback(tf.keras.callbacks.Callback):
def on_epoch_end(self, epoch, logs={}):
if(logs.get('acc')>0.97):
print("\nReached 97.0% accuracy so cancelling training!")
self.model.stop_training = True

Try using try-except:-
class myCallback(tf.keras.callbacks.Callback):
def on_epoch_end(self, epoch, logs = {}):
try:
if(logs.get('acc')>ACCURACY_THRESHOLD):
print("\nReached")
self.model.stop_training = True
except:
if(logs.get('accuracy')>ACCURACY_THRESHOLD):
print("Reached!!!")
self.model.stop_training = True

I'm doing the coursera TensorFlow course. And one of it's Exercise this problem occurred. In my local machine I ran with 'accuracy' and it worked but in coursera jupyter notebook 'acc' worked.

Please make sure that this is a bug. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:bug_template
System information

OS Platform and Distribution: Windows 10 1909
TensorFlow version: 2.1.0
Python version: 3.6.10
CUDA/cuDNN version: 10.1/7.6.5
GPU model and memory: GTX 1660Ti 6GB/32GB  import tensorflow as tf
  ACCURACY_THRESHOLD = 0.95

  class myCallback(tf.keras.callbacks.Callback):
  def on_epoch_end(self, epoch, logs={}):
      if(logs.get('acc') > ACCURACY_THRESHOLD):
      print("\nReached %2.2f%% accuracy, so stopping training!!" %(ACCURACY_THRESHOLD*100))
      self.model.stop_training = True

  callbacks = myCallback()

  mnist = tf.keras.datasets.fashion_mnist
  (x_train, y_train),(x_test, y_test) = mnist.load_data()
  # Scale data
  x_train, x_test = x_train / 255.0, x_test / 255.0

  model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(512, activation=tf.nn.relu),
  tf.keras.layers.Dense(10, activation=tf.nn.softmax)
  ])

  model.compile(optimizer='adam', \
  		loss='sparse_categorical_crossentropy', \
  		metrics=['accuracy'])

  model.fit(x_train, y_train, epochs=20, callbacks=[callbacks])

when I ran this algorithm I got error saying this:

Briefly it says that logs.get('acc') is Nonetype and 0.99 is float so, '>' this cannot compare. How to solve it?

Just print logs by using:   print(logs) inside on_epoch_end() method and see whether accuracy is stored as "accuracy" or "acc". Then evaluate accuracy accordingly.

This is due to versioning. Just print(logs) inside on_epoch_end() method, you will get to know which one to choose.

In Coursera "Introduction to TensorFlow for Artificial Intelligence, Machine Learning, and Deep Learning" course, use logs.get('acc') instead of logs.get('accuracy'), otherwise you'll get the error Can't compile the student's code. '>' not supported between instances of 'NoneType' and 'float'
Also, replace 'accuracy' by 'acc' in other parts of the code.

mine was giving error for log.get('accuracy') but when I changes it to logs.get('acc'), it worked

Me too! Amazing...

Yes it worked thank you

If we print -> print(logs) we get an array showing the exact keys for my case it was as :
{'loss': 0.25769969047009944, 'acc': 0.92646664} ,
Both options worked for me as below:

logs.get('acc')
float(logs.get('acc'))

for me changing to 'acc' worked : if(logs.get('acc')>0.99)

def mysig(x):
if x.MA20 < x.MA30 < x.MA60:
return -1
elif x.MA20 > x.MA30 > x.MA60:
return +1
else:
return 0

if x.MA20 < x.MA30 < x.MA60:
   ^^^^^^^^^^^^^^^^^^^^^^^^

TypeError: '<' not supported between instances of 'float' and 'NoneType'


unused code?

is this line 14 "use App\Entity\Comment;" from CommentNotificationSubscriber.php is mandatory?
it works in my side if I comment it

That's used for IDE's autocompletion, see:
https://github.com/symfony/demo/blob/436306118bf202af7ea015d8dcfb3676ebbe2b14/src/EventSubscriber/CommentNotificationSubscriber.php#L50

@lxregistry as Yonel said, that's needed so people using smart IDEs (like PhpStorm) get full autocomplete for all the methods of this variable. IDEs are super smart these days, but sometimes they can't infer the type of some variable, so we must help them with these annotations. But it's OK if you remove them because the app doesn't need them; only your IDE.


Copy/Paste sample app should have a restart button

Will make it more useful, and also avoid having to go to the extension and click reload (thus speeding up develop time)
@matthild would you be able to have a look at this?

Status update:  I am currently tied up with an urgent problem, but have not forgotten about this change and intend to do it soon.  Sorry for the delay.

no problem; good luck!
There's also an open pull request for copy/paste that maybe you could look
at if you have a little time:
https://github.com/uProxy/uproxy-networking/pull/179
It adds some key-management to the copy-paste sample app.
On Sat, Jan 24, 2015 at 12:48 AM, Matt Hildebrand<EMAIL_ADDRESS>wrote:

Status update: I am currently tied up with an urgent problem, but have not
forgotten about this change and intend to do it soon. Sorry for the delay.
—
Reply to this email directly or view it on GitHub
https://github.com/uProxy/uproxy/issues/744#issuecomment-71301755.

--
Lucas Dixon | Google Ideas


lem doesn't work without clipboard.

lem C-w and C-y works with trivial-clipboard now. trivial-clipboard uses clipboard provided by the desktop environments which isn't operation system. it's means that we cannot uses these functions in the system which doesn't have it. I propose you that lem has two clipboards. One is trivial-clipboard and another is global variables of editor.

on xyzzy(https://github.com/xyzzy-022/xyzzy/commits/develop)
there are two term for the concept. selection which are way to refer system's clipboard.
and region refer almost same as emacs's region which are used to kill some part of buffer.
User can select algorithm how those two to sync (or not).
Japanese further explanation here http://hie.s64.xrea.com/xyzzy/note/region-selection.html#2

clipboard functions are separated from kill-ring now. I'll close this issue. later.


Caps free console

Making ConsoleUI similar to Unix console as Case Insensitive for completion on hitting 'TAB' key

Very nice, thanks


how to forward message with previous history

Hi,
I want to forward a message to others with chained conversation.
I am able to forward message but previous conversation not appearing with message.
Is there any way to forward message as reply does??

hey
I found the solution from below link
https://github.com/mailboxer/mailboxer/issues/108
Thanks


Add rt1180 tpm support

add tpm instances for RT1180
enable pwm cases

Only rebase PR and resolve the conflicts.


MINOR: Update Streams Scala API for addition of Grouped

While working on the documentation updates I realized the Streams Scala API needs
to get updated for the addition of Grouped
Added a test for Grouped.scala ran all streams-scala tests and streams tests
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@guozhangwang, @mjsax, @vvcephei  for reviews

updated this

ping @vvcephei to take another look before merging.

updated this

I've updated the PR with a new approach.
I've decided on a hybrid approach by only adding the Grouped methods accepting a name parameter and leaving the old methods using Serialized in place (but they have been marked as deprecated).
What this means is calls to

KStream.groupBy(selector)
KStream.groupByKey()
KTable.groupBy(selector)

still use the Serialized implicit conversion function.
For users wanting to name repartition topics they can use

KStream.groupBy(selector, "name")
KStream.groupByKey("name")
KTable.groupBy(selector, "name")

and these methods will use Grouped implicit conversion function.
By only adding the Grouped methods taking a name parameter, there is enough context for the compiler to pick up the correct implicit conversion function to supply the Serdes
IMHO this approach is our best option as it does not break existing user code and allows for the naming of the repartiton topics if desired.
When we decide to remove Serialized we can update the KStream.groupBy(selector), KStream.groupByKey(), and  KTable.groupBy(selector) to work with the Grouped implicits and the other methods taking a name parameter can remain.
Let me now what you think

@bbejeck I think this a good way to make the move without breakage.
It's a little unfortunate that it's a two-phase deprecation, in that we're deprecating Serialized now by introducing methods we plan to deprecate later in favor of the ones we ultimately want.
With this in mind, I wonder if we can iterate on your solution to come up with a one-phase move...
What if we keep both methods without the name parameter (deprecating the Serialized ones) and change the return type of the implicit conversion from Serialized to Grouped instead of adding a new implicit conversion?
People using implicits would seamlessly switch to the new methods whether they're using wildcards or not. The only blemish is that the name of the implicit conversion would still say "serialized" but it would now return Grouped. I think this is pretty minor.
People directly passing Serialized to the deprecated methods would still be fine, and they would get deprecation warnings as desired.

What if we keep both methods without the name parameter (deprecating the Serialized ones) and change the return type of the implicit conversion from Serialized to Grouped instead of adding a new implicit conversion?

We tried this approach, but it doesn't work as well due to compiler ambiguity and multiple parameter lists.
So we are left with three options

Remove Serialized now and add Grouped methods
Modify the current PR to implicitly add the key and value Serdes with the name
Hold off on adding Grouped to the 2.1 release

My personal vote is for option 2
Thoughts?
\cc @guozhangwang  @mjsax  @vvcephei

updated this replacing Serialized with Grouped
ping @guozhangwang @vvcephei

@guozhangwang added comments to upgrade guide


Python - How to use post processing APIs provided in python wrapper

Before opening a new issue, we wanted to provide you with some useful suggestions (Click "Preview" above for a better view):

Consider checking out SDK examples.
Have you looked in our documentations?
Is you question a frequently asked one?
Try searching our GitHub Issues (open and closed) for a similar issue.

All users are welcomed to report bugs, ask questions, suggest or request enhancements and generally feel free to open new issue, even if they haven't followed any of the suggestions above :)

Required Info

Camera Model
D415 / 435

Firmware Version
<IP_ADDRESS>

Operating System & Version
Win 10

Platform
PC

SDK Version
2.11.0

Issue Description
I'm using python wrapper for D415, I noticed in this 2.11.0 version you provide post processing APIs in python wrapper. Could you provide an example on how to use them?

The below code was not tested, and might contain some error, but this could help you get started
import pyrealsense2 as rs
pipe = rs.pipeline()
cfg = rs.config()
cfg.enable_stream(rs.stream.Depth, 640, 480, rs.format.Z16, 30);
pipe.start(cfg)
# Declare filters
dec_filter = rs.decimation_filter ()   # Decimation - reduces depth frame density
spat_filter = rs.spatial_filter()          # Spatial    - edge-preserving spatial smoothing
temp_filter = rs.temporal_filter()    # Temporal   - reduces temporal noise
frames = pipe.wait_for_frames()
depth_frame = frames.get_depth_frame()
filtered = dec_filter.process(depth_frame)
filtered = spat_filter.process(filtered)
filtered = temp_filter.process(filtered)
# do something with 'filtered' which is a rs.frame

hey, i get the following error when i am trying to declare those filters
"AttributeError: module 'pyrealsense2' has no attribute 'decimation_filter'
i tried to upgrade pyrealsense2 but it didn't solve the problem

@lramati thank you

@lramati  Is it possible to set persistency index for temporal filter using Python?

It should be possible.
The options API should suffice, although we've had reports of it not
working correctly with filters. If that's the case, you can use the
extended constructor which takes smoothing alpha/delta parameters and also
the persistence control.

@lramati  Thanks your reply first!

@lramati Thanks for your timely reply!
I could find rs.option.filter_smooth_alpha / filter_smooth_delta which configures the alpha/delta parameter, but it seems that there isn't a "persistence control" attribute... Could you point out the exact attribute if it exists?

I just figure it out.


API_BASE over "rest/" and style.{left,top} assignments as strings

Does this work for the settings/status pages as well?

The settings and status pages use API_BASE already, so they shouldn't be affected by this change. My API_BASE commit was broken, though, but I've just added a commit to fix it.


Add thatmlopsguy.github.io

https://thatmlopsguy.github.io/
https://yellowlab.tools/result/gxmxx5u76t

Welcome to the 250kB Club! Nice article about your journey to simplicity, btw. Your objective is hereby achieved! :tada:


Correction for raw affiliation INRA, UMR-AMAP Montpellier, France.

Correction needed for raw affiliation INRA, UMR-AMAP Montpellier, France.
raw_affiliation_name: INRA, UMR-AMAP Montpellier, France.
new_rors: 05y503v71;020nks034
previous_rors: 05y503v71
works_examples: W1964970696
contact: f9d534acfa0cf83f8a9334ffa42f9d47:4e2687a0f4cfa3dea0aeb389b2fd6554fcee @ inrae.fr

This issue was accepted and ingested by the OpenAlex team on 2024-11-18. The new affiliations should be visible within the next 7 days.


leave our fork of ark-circom

Blocked by this: https://github.com/gakonst/ark-circom/pull/45

@tyshko-rostyslav can you compile the rln-wasm crate and share the size of the pkg generated?

@tyshko-rostyslav can you compile the rln-wasm crate and share the size of the pkg generated?

sure, I'll add them today

@rymnc pkg directory is 668 KB


feat(codec-jackson): add more than one parameters feature.

Motivation:
codec-jackson extension don't support more than one parameter.
I contribute to support this feature.
Modification:
For example
User getUser2(UserRequest request)
User getUser1(UserRequest request, String message)

class UserRequest {
   private String loginId
   private String password
}

For compatibility, getUser2 request json format like this :
{"loginId":"tom","password":"123"}
If this is more than one parameter, json format is a jsonarray like this : [{"loginId":"tom","password":"123"},"123"]
Result:
Fixes #870

http://cla.sofastack.tech/ 麻烦签一下这个。

@ujjboy @JervyShi 麻烦check一下。


bugfix: control validation handling and related state / queries

Fixes a series of unexpected, really bad behaviors around control validation:

when a chart opens in a state where a control is invalid, it still
runs the query, and sometimes gets stuck in what appears to be a 'running'
state. After this change, no query is run, and a warning is displayed
in the chart panel body, just like any other error would
validation used to be done in the  component and alter the
redux store as it went. Clearly this is not the right approach, now
validation occurs on loading the initial redux state, as well as in
the reducer when controls are changed
currently, when going from a invalid control state to a valid one
(user addresses what is needed), it auto-triggers a query which can be
unexpected. After this change, the error message disappears, and the
"Run Query" overlay gets displayed
when changing viz type, it's common to get new validation
errors, and currently when that occurs it will still go ahead and run
a query with invalid inputs, which often results in errors
that are not well handled, since much of the logic
assumes control-validated input.
prettier control validation messages

Codecov Report

Merging #7231 into lyftga will increase coverage by 8.12%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           lyftga    #7231      +/-   ##
==========================================
+ Coverage   64.49%   72.61%   +8.12%
==========================================
  Files         425       78     -347
  Lines       20879    10652   -10227
  Branches     2280        0    -2280
==========================================
- Hits        13466     7735    -5731
+ Misses       7287     2917    -4370
+ Partials      126        0     -126

Impacted Files
Coverage Δ

superset/tasks/__init__.py
100% <0%> (ø)
:arrow_up:

...sets/src/explore/components/ExploreChartHeader.jsx

superset/assets/src/components/Checkbox.jsx

...ations/deckgl/layers/Polygon/PolygonChartPlugin.js

...perset/assets/src/dashboard/util/getEmptyLayout.js

superset/assets/src/query/index.ts

...ts/src/dashboard/util/getComponentWidthFromDrop.js

...erset/assets/src/SqlLab/components/QuerySearch.jsx

...rc/explore/components/controls/AnnotationLayer.jsx

...assets/src/dashboard/util/getChartIdsFromLayout.js

... and 334 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 e39b169...84cc7b4. Read the comment docs.

@vylc you can reference this in the related internal Jira

@betodealmeida @vylc @xtinec this fixes pretty important usability issues

Moved the feature to target master instead of lyftga, added more reviewers.


Unable to resolve relative paths in bootstrap-stylus

I'm trying to import bootstrap-stylus and am surprised that the relative font paths aren't working.
I've added the bootstrap-stylus folder to the loader's path via stylus-relative-loader?paths=node_modules/bootstrap-styl/ and am able import bootstrap's index.styl as well as all but one dependency successfully with @import 'bootstrap'. But loading the font files through the relative path ../fonts/ in glyphicons.styl then fails.
There is a quick fix for this, as the path can be set before importing bootstrap, but I'm sure I'll run into similar issues again. Do you have any idea why this particular relative path doesn't resolve correctly?

@renehamburger As far as I know, url(...) uses a slightly different code path to resolve files, and by default stylus-loader (and also stylus-relative-loader) will not resolve them at compile time, but rather leave them alone for the browser to resolve at runtime. I think you can change this with the resolve url option to the loader, although I've never tried it. Try setting ?resolve url=true (or if you're using a query object, { "resolve url": true }.

That makes sense, but it seems that resolve-url is only available through the Stylus cli (see here). I didn't manage to find an equivalent for the stylus lib called by stylus-loader. I'll open an issue at Stylus' repo instead. Thanks!

@renehamburger were you using Webpack 1 or 2? I can get Bootstrap-Stylus to work with Webpack 1 (as you described), but not in Webpack 2.


feat(notifications): require users and groups to be of the form namespace/name

FLPATH-1087
https://issues.redhat.com/browse/FLPATH-1087

/lgtm


question about native zone token

what would be the different between staking with the LP token vs the native zone token by itself?  Could this same configuration be for the hub itself?

You can think of the liquidity pool essentially acting as a 'staking token designer'. The tokens included in the pool and the ratio of the tokens is a way to customize the LP token (and by extension, the staking token) to have specific characteristics that the zone creator desires.
In the current system of proof-of-stake, it only focuses on a zone's sovereignty as only the native tokens are used as measure of voting power. While this isn't necessarily a bad thing, it does mean that the price fluctuation of the zone's staking token means volatility on the safety of the zone itself.
Whereas, in the LP token used as the staking token system, I can essentially peg some/all of the value of my staking token to other tokens.
For example, I can create a zone token with the following characteristics:

Shares an upside to Cosmos ATOMs price moving up (and the downside as well) --> I can include some ATOMs
Reduce cost-of-attack exposure to overall cryptoasset volatility --> I can include some DAI
Have some sovereignty over my zone's voting power --> I can include my zone's utility tokens (not staking tokens as they do not exist. Think photons, rather than ATOMs)

That being said, this also carries significant risk. As the security assumption of proof-of-stake relies on the fact that the cost to acquire a significant portion of the staking token exponentially increases as the attacker attempts to purchase the limited amount of tokens, the multi-token approach of LP staking token means the cost to purchase voting power won't increase exponentially as the LP token is fundamentally diversified. While the 'LP token' staking idea isn't the ultimate solution, it does provide options and customizability where it didn't exist in the 'only native staking token' system.

the multi-token approach of LP staking token means the cost to purchase voting power won't increase exponentially as the LP token is fundamentally diversified.
Interesting - it sounds like it means that bootstrapping a new network would be difficult, because preexisting holders of Dai, Atom and Utility token could have larger proportions of ownership.

What about testing this idea on Cosmos hubs or zones that are already in existence.  Would this be a heavy lift?


Functions and methods should not be empty

Breaking change

Proposed change

Type of change

[ ] Dependency upgrade
[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New integration (thank you!)
[ ] New feature (which adds functionality to an existing integration)
[ ] Deprecation (breaking change to happen in the future)
[ ] Breaking change (fix/feature causing existing functionality to break)
[ ] Code quality improvements to existing code or addition of tests

Additional information

This PR fixes or closes issue: fixes #
This PR is related to issue:
Link to documentation pull request:

Checklist

[ ] The code change is tested and works locally.
[ ] Local tests pass. Your PR cannot be merged unless tests pass
[ ] There is no commented out code in this PR.
[ ] I have followed the development checklist
[ ] I have followed the perfect PR recommendations
[ ] The code has been formatted using Black (black --fast homeassistant tests)
[ ] Tests have been added to verify that the new code works.

If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated for www.home-assistant.io

If the code communicates with devices, web services, or third-party tools:

[ ] The manifest file has all fields filled out correctly.
Updated and included derived files by running: python3 -m script.hassfest.
[ ] New or updated dependencies have been added to requirements_all.txt.
Updated by running python3 -m script.gen_requirements_all.
[ ] For the updated dependencies - a link to the changelog, or at minimum a diff between library versions is added to the PR description.
[ ] Untested files have been added to .coveragerc.

To help with the load of incoming pull requests:

[ ] I have reviewed two other open pull requests in this repository.

Motivation: Having empty functions or methods is not considered good practice since it leads to lack of clarity, misleading intent, and maintenance issues. So, I tried to provide an explanation in a empty function to avoide these probable difficulties. A provided note works as a reminder about the implementation for future developers and users.

PR contains changes unrelated to the motivation


Split files are having are named as filename-blessed1.css, etc.

hi,
Is there anyway to target the suffixed name for split file, from being 'blessed' to something from options?
may be options.splitname
I just updated the plugin to do this...
blessedFiles.forEach(function (blessedFile) {
// overwrite the name of the file...
blessedFile.filename = blessedFile.filename.replace('blessed', options.splitname);
stream.push(new File({ ...
....
});
Would you consider this functionality for your next release.
Thanks,
J

Hey Joseph,
I was just replying to your email now but then I saw this.
I'd suggest using gulp-rename. So you'd have something like:
//...
var rename = require('gulp-rename');

gulp.task('default', function(){
    gulp.src('*.css')
        .pipe(rename('blessed', 'whatever'))
        .pipe(gulp.dest('./destinationDirectory'));
});

hi Adam,
Thanks for the reply.
I have given it a try. Rename has to happen after the .css file physically
becomes available and therefore has to follow as a sequential task after
bless. In my project I am looping tasks for multiple projects on single
function. It would be ideal if gulp-bless could support it.
*Check my code below. *
Config is a build json file with style sheets combinations etc...
for(var i=0; i<config.styles.length; i++ ) {
$.sass( config.styles[i].src, {
compass: true,
style: 'expanded',
imports: false,
container : config.styles[i].src.replace(/[^/]*$/,
''),
loadPath : '.'
})
.on('error', function (err) {
console.error('Error!', err.message);
})
.pipe($.autoprefixer("last 3 version", "safari 5", "ie
8", "ie 9"))
.pipe($.bless({
compress : true,
imports: false,
log: true,
splitname: 'part'
}))
.pipe(taskName != "watch" ? $.minifyCss() :
$.util.noop())
.pipe(gulp.dest(config.styles[i].dist))
.on('end', function() {
$.log( projectName + ' sass files compliled',
'completed');
});
}
Cheers,
J
On 8 June 2015 at 12:14, Adam Lynch<EMAIL_ADDRESS>wrote:

Hey Joseph,
I was just replying to your email now but then I saw this.
I'd suggest using gulp-rename. So you'd have something like:
//...var rename = require('gulp-rename');
gulp.task('default', function(){
gulp.src('*.css')
.pipe(rename('blessed', 'whatever'))
.pipe(gulp.dest('./destinationDirectory'));
});
—
Reply to this email directly or view it on GitHub
https://github.com/adam-lynch/gulp-bless/issues/16#issuecomment-109953895
.

--
With Regards,
Joseph Peeka
Flex/Flash/Web Designer/developer
www.optikos-interactivity.co.uk

I don't see the problem with using gulp-rename there. What happens which isn't correct?
If you use gulp-debug and put .pipe($.debug()) after the gulp-bless pipe, is the number of files correct?

Thanks Adam...
WORKS now!
rename usage was a bit different ...
                .pipe($.rename(function (path) {
                    path.basename = path.basename.replace('blessed', 'part');
                }))

Ah ok, sorry my bad.


Raw exists check for iptables is broken

From https://github.com/docker/libnetwork/pull/1096#discussion_r59558201:
(compute)root@haha:~# iptables -t nat -A PREROUTING -p tcp -d <IP_ADDRESS> --dport 1234 -j DNAT --to-destination <IP_ADDRESS>:4321 ! -i lo
(compute)root@haha:~# iptables -t nat -S
-P PREROUTING ACCEPT
-P INPUT ACCEPT
-P OUTPUT ACCEPT
-P POSTROUTING ACCEPT
-A PREROUTING -d <IP_ADDRESS>/32 ! -i lo -p tcp -m tcp --dport 1234 -j DNAT --to-destination <IP_ADDRESS>:4321

Note that arguments are reordered and raw check won't catch that.

iptables 1.4.11 came out in 2011 (5 years ago), I wonder if anyone uses it with docker:

https://github.com/kubernetes/kubernetes/blob/master/pkg/util/iptables/iptables.go#L398-L440
Any reason to keep this broken code that is probably never called?
cc @aboch, @chenchun

Sorry, I don't mean to block you. But I'm really one of the guys who is still using iptables 1.4.7 which does not support -C check. Lots of the servers are also have the same environment in our company.
I'd like to upgrade iptable versions on these machines. But I think we'd better make a notice about this incompatible change on docker release.

@chenchun what distro and kernel are you running?

We are using a self maintained kernel version based on centos7.

I see iptables 1.4.22 here: http://mirror.centos.org/centos/7/os/x86_64/Packages/

@bobrik It has been detected that this issue has not received any activity in over 6 months. Can you please let us know if it is still relevant:

For a bug: do you still experience the issue with the latest version?
For a feature request: was your request appropriately answered in a later version?

Thank you!
This issue will be automatically closed in 1 week unless it is commented on.
For more information please refer to https://github.com/docker/libnetwork/issues/1926

https://github.com/docker/libnetwork/pull/1096#issuecomment-329130108


Error: Couldn't find source directory for target images/ at .//app/images/. Check app configuration.

Hi,
I've got the above issue while running the app, any idea?

It is searching for images folder in app folder.Create a folder by images in app
Command : mkdir ./app/images (in your root of directory )
It will work Kylephp :)


Fix CORS Documentation

Description of Problem
There are typos, casing problems and quoting consistency issues in the CORS documentation.
Proposed Solution
This PR;

fixes minor typos,
fixes casing issues (CORS instead of cors, Leaf instead of leaf, Composer instead of composer),
uses single quotes instead of double quotes for consistency.

Thanks for the pull


Added support for FT_PIXEL_MODE_MONO in FreeType

The code previously incorrectly assumed the loaded pixel format in FreeType would always be 8-bit greyscale (FT_PIXEL_MODE_GRAY). This is not always the case. Reference
In particular, non-anti-aliased bitmap-only fonts created in FontForge are rendered in FT_PIXEL_MODE_MONO. With this change it should now be possible to use BDF and PCF fonts by opening them in FontForge and exporting them as TTF. Perfect for your retro pixel-art goodness.
For reference using MPlus Bitmap font that I converted using FontForge:

I haven't really encountered any fonts in the wild using FT_PIXEL_MODE_LCD, or FT_PIXEL_MODE_BGRA so I can't test for them.

Thanks, will merge once Travis is happy.

There's a slight style issue because clang-format is a bit silly with comments: https://travis-ci.org/godotengine/godot/jobs/277163642


find more binutils -- CMakeFindBinUtils.cmake

Hmmm... my current pullrequest only includes the size tool.
But I guess the real question is: which other binutils are there?
Here's a table I've now compiled:

GNU binutils website
CMake
Debian (sid) binutils

ld - the GNU linker.
CMAKE_LINKER
ld

ld.bfd

ld.gold

as - the GNU assembler.
cmake finds asm
as

addr2line - Converts addresses into filenames and line numbers.

addr2line

ar - A utility for creating, modifying and extracting from archives.
CMAKE_AR
ar

 c++filt - Filter to demangle encoded C++ symbols.

c++filt

dlltool - Creates files for building and using DLLs.

gold - A new, faster, ELF only linker, still in beta test.

gold

gprof - Displays profiling information.

gprof

nlmconv - Converts object code into an NLM.

nm

nm - Lists symbols from object files.
CMAKE_NM

objcopy - Copies and translates object files.
CMAKE_OBJCOPY
objcopy

objdump - Displays information from object files.
CMAKE_OBJDUMP
objdump

ranlib - Generates an index to the contents of an archive.
CMAKE_RANLIB
ranlib

readelf - Displays information from any ELF format object file.

readelf

size - Lists the section sizes of an object or archive file.

size

strings - Lists printable strings from files.

strings

strip - Discards symbols.
CMAKE_STRIP
strip

windmc - A Windows compatible message compiler.

windres - A compiler for Windows resource files.

dwp

elfedit

I guess it would be good if CMake would support more of these tools.
Comments? Suggestions?
Thanks.

OK, so I've done a 2nd commit in this pull-request, which searches for more binutils.
I'm no expert on cmake, so question: would every binutil need ${_CMAKE_TOOLCHAIN_SUFFIX} ??
In the released cmake version, only ar (ref) and strip (ref)
had ${_CMAKE_TOOLCHAIN_SUFFIX}.
Thanks.

The main rationale of this commit, is for cross-compilers, by the way.
Here are examples of relavant programs from various packages:
Debian

Atmel AVR Microcontroller:
binutils-avr
gcc-avr (gcc, g++, ar, nm, ranlib, gcov)
gcc-arm-none-eabi
binutils-arm-none-eabi
gcc-arm-none-eabi  (gcc, g++, ar, nm, ranlib, gcov)

Currently the module is intended only to find binutils that CMake needs to reference while generating a build system.  A general-purpose user-facing FindGNUBinutils module could provide more, but should be explicitly requested by a find_package(GNUBinutils) call.  OTOH if cross-compiling toolchain files need some of the other tools then it makes sense to provide them through the default module.


[VirtualBox] Kill + Start = Hang + Crash

Sounds like a "killed" machine can't reliably start afterwards.
@dgageot reports that if you CTRL-C during the hang while trying to start and launch the start command again it may succeed to start
> docker-machine create -d virtualbox tobekilled
../...

> docker-machine kill tobekilled

> docker-machine start tobekilled
(tobekilled) Starting VM...
Too many retries waiting for SSH to be available.  Last error: Maximum number of retries (60) exceeded

> docker-machine ls
error getting URL for host tobekilled: Something went wrong running an SSH command!
command : ip addr show dev eth1
err     : exit status 255
output  :

NAME         ACTIVE   DRIVER       STATE     URL                         SWARM
default      *        virtualbox   Running   tcp://<IP_ADDRESS>:2376
fromhome     -        virtualbox   Running   tcp://<IP_ADDRESS>:2376
tobekilled   -        virtualbox   Running

I've run more tests and in fact no I couldn't find a way to make it work.

This scenario seems to be working very well with VirtualBox 4.3.34...

It is hanging on VirtualBox 5.0.8 and VirtualBox 5.0.10

Sounds like we may want to file or +1 a bug upstream with Oracle on this sequence of commands.

While trying to gather some data on this issue we found out that we couldn't reproduce error again with the new codebase on VirtualBox 5.0.8 as well with 5.0.10
Closing for now. Feel free to re-open if you can reproduce it.


fix connection cast that always produces nil

Fixed the type casting of connection stored with WeakWrapper in the connections dictionary so we can receive the true connection state with subscription.

Thanks! Could you, please, also fix it in the deactivateConnection function

Yep, done


Equestripedia redirects don't go to the article, they only go to the main page

Tried with multiple articles, all of which do exist on Equestripedia, but while indie wiki buddy performs the redirect from mlp.fandom.com, it only ever goes to the Equestripedia homepage.

Good catch, thanks. This is similar to issue https://github.com/KevinPayravi/indie-wiki-buddy/issues/432 for Miraheze wikis (their index.php entrypoint requires a &title=Special%3ASearch query param for the search to work, unlike most other MediaWiki wikis).
I've pushed up a fix, which will be available in the next update.

Specifically, it seems to be because Equestripedia is a Miraheze wiki (they just happen to have a custom URL).

Fixed in v3.5.0, now available on both Chrome and Firefox.


Warning: toplevel constant DateTime referenced by Virtus::Attribute::DateTime

Seems that recent pull request #916 introduces the warning:
.rvm/gems/ruby-2.1.2/bundler/gems/grape-5e48701fbbdb/lib/grape/validations/validators/coerce.rb:35: warning: toplevel constant DateTime referenced by Virtus::Attribute::DateTime

This is right. We have virtus >= 1.0.0 dependency.
There is no more Virtus::Attribute::DateTime in virtus, see -https://github.com/solnic/virtus/blob/v1.0.0/Changelog.md

[BREAKING CHANGE] Integrated with axiom-types, most of the attribute sub-classes are gone (solnic)

so Ruby constant lookup, thank for the working code :smile:

@u2 could you take a look?

#925
Thank you.It's my mistake.


[[FIX]] Do not enable newcap within strict mode

@rwaldron You're gonna love this.
Since the first public release of JSLint (ca120a7), this codebase has
automatically enabled the newcap option for all strict mode code:
function use_strict() {
    if (nexttoken.value === 'use strict') {
        advance();
        advance(';');
        strict_mode = true;
        option.newcap = true;
        option.undef = true;
        return true;
    } else {
        return false;
    }
}

Commit 8de8247 unified the way JSHint detects and enforces strict mode
across contexts. Among other modifications, it included the following
change:
- if (state.tokens.curr.value === "use strict") {
+ if (state.isStrict()) {
    if (!state.option["(explicitNewcap)"]) {
      state.option.newcap = true;
    }
    state.option.undef = true;
  }

This change introduced a regression: it enables the newcap option for
class bodies and ES2015 module code as well.
Because ES5's strict mode and the warnings enabled by the newcap
option are orthogonal (and because as a stylistic concern, the newcap
is deprecated) correct the regression by relaxing the behavior for all
cases--do not automatically enable newcap when entering strict mode,
for whatever reason.

My name is Rick Waldron and I approve this change. Nice work @jugglinmike !


x/vuln/cmd/govulncheck: add quiet output or a cli flag

What version of Go are you using (go version)?
$ go version
go version go1.20.7 freebsd/amd64

Does this issue reproduce at the latest version of golang.org/x/vuln?
Yes<EMAIL_ADDRESS>as of this time).
What did you do?
$ govulncheck ./..
Scanning your code and 175 packages across 11 dependent modules for known vulnerabilities...

No vulnerabilities found.

Share feedback at https://go.dev/s/govulncheck-feedback.

What did you expect to see?
No output upon "success", like the other go commands.
Proposal
I would like to have silent output by default (kind of like the other go commands) or at least a CLI flag to silence this verbose "success" message.

There is a -json flag, which causes the tool to emit all its results and errors in a structured form that is easy to parse. But I agree that there ought to be an easier way (e.g. -q) to disable progress messages.

Out of curiosity, what problems is this causing?

For me personally it's causing unnecessary output when it's not needed/wanted, for example by spamming logs for automatic runners (wasting space and time needed to shift through the logs or applying work arounds, cutting away the all clear message).
That feedback link at the end? I saw it the first time and would now like to stop seeing it for ever (would be better to place that link in the docs instead).
Sorry for the negative tone but it's kinda annoying having a tool nagging at you every time.

In fairness to govulncheck, it is not yet a go command yet nor is it not as mature as the tools you listed. But I think you have a solid point about the output being a bit chatty now that it has matured a bit more.
My disorganized thoughts:

It is valuable to let users know that something was scanned. Users give a sequence of package patterns and it may help to let them know that their patterns matched packages. (go vet obviously takes a different apporach.) I'm not really sure about what the right level of detail here is.
So I think there is often value in the line: "Scanning your code and 175 packages across 11 dependent modules for known vulnerabilities...". At CLI, this is a decent warning if the tool may take a while. Once this is printed, "No vulnerabilities found" also seems okay to print. It is possible to make printing this conditional, or only if things are taking a long time?
Adding a -q to suppress also seems okay, but not being chatty by default also seems reasonable. Maybe chatty dialog should just be hidden behind a --verbose or a -v flag?
Another comparison we can make is to go test which can take a long time and prints progress by package.

So I think there is often value in the line: "Scanning your code and 175 packages across 11 dependent modules for known vulnerabilities...".

The go build system doesn't tell you how many packages it looked at to do its job, and it can sometimes sit there for tens of seconds for a large build from cold. Why is vulncheck different? Is it much slower? I would still prefer that it remain silent by default, and that progress messages be an option.
Most of our tools follow the UNIX philosophy and stay silent until there is either a problem or a result. We want our users to routinely assume that Go tools do what they're told, so that if you ask it to scan a given set of packages, it will either do it, or tell you why it was impossible (and exit nonzero). Optional progress messages can be enabled by a -v flag. If it's not too late, I suggest we take that approach.

I appreciate you guys for taking the time to discuss this, thanks!
@timothy-king I think you have some good points, first that it's not a mature tool yet (I keep forgetting it's in /x/), that's fair.
Secondly, I hadn't thought about it taking a long time to run. Now I'm wondering how other tools handle that, besides just printing progress.
About go test, I think it's part of the more active dev tooling where you want it to be chatty? Of course this is highly opinionated, but my reasoning is that it feels like govulncheck belongs to the linter gang instead, where you want it to be silent until an issue was found (most other linters seems to behave this way at least).

Now that I have had a bit more time to organize my thoughts, how about the following:

Switch govulncheck to being quiet by default.
Print a warning [and stop?] if a pattern in the list matches nothing. IMO an empty pattern means a user is expecting something to be scanned and govulncheck cannot scan it. I am not sure how feasible this is for go/packages without a minor performance penalty. (But if so, that seems fixable.) govulncheck is more about no false negatives than vet or linters.
Add a -v flag. This can print chatty messages as it goes. It can probably be moderately chattier than today.

Package docs https://pkg.go.dev/golang.org/x/vuln/cmd/govulncheck already has a (slightly different) feedback url. I think it would be reasonable to include "https://go.dev/s/govulncheck-feedback" in the usage string for now. So the feedback url can be discovered from the package docs. But I think the tool is still not that mature, and I think it is okay to lean towards making feedback easy.

As mentioned, govulncheck is still in x and for larger programs it can take quite some time to finish so some progress is likely useful. We'll consider adding the -q flag in the future (we are currently trying to keep the flag set as small as possible).

Thank you for your time.

Reopening; I think Tim's plan three notes above is a good one.

A concrete problem caused by govulncheck's chatty output is that I can't easily run govulncheck from cron because it will email me even if it doesn't find any vulnerabilities.  I will have to hack around it with some script that buffers the output and discards it if govulncheck's exit code is 0.
It assume running govulncheck from cron will be a common use case so govulncheck should work well with cron by default.

I don't think that cron or any other integration should rely on the textual output. This is why -format json is here.
We've discussed the quiet option once again and we stay with our decision to not go forward with it at this time for the reasons outlined earlier. We have also recently revamped the textual output to be less chatty. The changes are available in v1.0.4.

v1.0.4 still outputs text when no vulnerabilities are found:
$ govulncheck -mode=binary test
Scanning your binary for known vulnerabilities...

No vulnerabilities found.
$ govulncheck -version
Go: go1.22.1
Scanner<EMAIL_ADDRESS>DB: https://vuln.go.dev
DB updated: 2024-03-18 17:35:36 +0000 UTC

No vulnerabilities found.

Integrations with govulncheck need not be complex.  I would like to simply get an email once a day if any of my Go modules have vulnerabilities. If I were to use -json, I would have to write a bunch of code to format it in a way similar to what govulncheck already does.  If govulncheck were silent when successful (in line with other Go commands and the UNIX philosophy), then accomplishing my goal would be as simple as adding a one line cron job that runs govulncheck.


Solution to FEVER problem added.

Hey @aritrabanerjee11  thanks for your contribution ❗. Keep up the good job and leave a star if you liked the repo .
Happy hacking 😉


How to change color when in application switcher on iOS?

On iOS whenever I open my app (with secured state), and open task switcher, the task switcher hides the content of the app with a white color. Can I change this color (my use case is that I want to support dark mode)?
Thanks.

This should not be difficult and is a good idea. The white color is set here:
https://github.com/neckaros/secure_application/blob/c87dddd4f69aa3f9fe279cf88b0c9303e7bd9d56/ios/Classes/SwiftSecureApplicationPlugin.swift#L39
            colorView.backgroundColor = UIColor(**white: 1**, alpha: opacity)

It could be set as opacity as an optional argument.
I don’t have a Mac to test. Would you be willing to test or do a PR?

I'm not familiar with Swift so I'm not sure how to do a PR for that :sweat_smile:
But I'm willing to test a PR :+1:

It could be set as opacity as an optional argument.
Can you tell how to link that optional argument between Flutter (dart) and Switft? I mean, how to pass one argument from Flutter too Swift?

This is implemented in https://github.com/neckaros/secure_application/pull/29
I hope it will be merged. Closing this for now.


Parse CSS blocks to objects in attrs

based on #371
cc/ @geelen

I'll close this because this wont work with the new v2 parser. I'll try to make it work with a rebased attrs branch

Ah yep sorry about that @ramitos you'll need to work off v2. Sadly, that makes this task a bit more difficult, since I don't know that you have access to the parse tree like you do with postcss. Good luck!

@geelen yeah, but I'm hopeful that this is still achievable 😉 hopefully I don't run into some weird edge case!

@geelen I have a branch with attrs with rebased v2:  https://github.com/styled-components/styled-components/compare/v2...ramitos:attrs-with-style
As you can see it is a clean merge to v2, but it can't be automatically merged with attrs or css-in-attrs. I don't want to submit a new PR to  v2 so that #365 is not lost.
Feel free to either suggest the best approach, or just use the commits in your #365 😉

Awesome, I'll take a look tonight hopefully!

@geelen any update on the validity of the solution?

Not yet but I have merged #365 into v2 so can you submit a PR against that?

@geelen thanks, just did 😉


Guard against missing action attr.

We encountered this in practice.

Thanks for the useful tool!

Thanks! When might there be a release with this fix?

It's been released :)

Woohoo! Thanks.


Handing status/context in the upstream CLI

Approach 1
Special error types would be perhaps be needed which are scoped to the data plane CLI.
From data plane CLI, keep it simple with no reference to what command you should use:
var NoRegistrySelectedError = errors.New("no service registry selected")

return NoRegistrySelectedError

When interpreting the error, add additional info:
if rerr, ok := err.(*NoRegistrySelectedError); ok {
  return fmt.Errorf("%w: use 'rhoas service-registry use' to select a registry or pass the `--registry-id` flag")
}

That is a simplistic approach which does not scale very well, but perhaps some kind of abstraction would be helpful to match errors.
Originally posted by @craicoverflow in https://github.com/redhat-developer/app-services-cli/pull/859#discussion_r689332462

@wtrocki I have set this as "important-longterm", please change it if this is inaccurate.

done quick investigation for splitting this context. I is not that trivial.
We have 2-3 goals mixed here:

Making it easy to contribute to rhoas CLI
Making RHOAS CLI SDK (aka charmil)
Enabling upstream CLI's to exist as separate entities.

Relativistically we can think of 1 and maybe doing some of 2. 3 seems to be doable only once we nail SDK part and have some success stories with integration. Upstream CLI will have many extra implications and it is too early to get that without having proper SDK in the rhoas repo


Future Semester Ideas

Cool future ideas

Add laser sounds when shooting
Add main menu
Add bullet counter
Add asteroids
Uses up bullet when wrong is answer
Once out of bullets, lose game, reset score
Have a score saved in a database with a scoreboard available??????
Higher the score, harder the questions
Different starting in main menu difficulties MAYBE??

all these have been made


iOS emulator crashes

When i use the plugin on iOS, the emulator crashes with the following error :
Thread 5: Fatal error: Not enough bits to represent the passed value
It happens in UtilsSQLite.swift, line 100
sqlite3_bind_int(handle,Int32(idx), Int32(value))
OS X 10.14.6
XCode 11.3.1

I am seeing the same thing!

@govertbuijs @erikkemperman First thanks for using the plugin Which value are you passing ?

@govertbuijs @erikkemperman Is it when you try storing a boolean value ?

@govertbuijs @erikkemperman Can you. give me in few lines what you were trying to do, it will help to test and close the issue Thanks

HI @jepiqueau
I'm storing a milliseconds timestamp (e.g.<PHONE_NUMBER>502) into an INTEGER column.
As it doesn't fit in 32 bits, it should have been picked up by the third if (Int64).
But its type is recognized as an Int, which could also be 64 bits (seems to be iOS version dependent).
I'm not a Swift developer, but this seems to work for my case :
class func bind( handle: OpaquePointer, value: Any?, idx:Int) throws {
    switch value {
          case .none:
                sqlite3_bind_null(handle, Int32(idx))
          case let value as Double:
                sqlite3_bind_double(handle, Int32(idx), value)
          case let value as String:
                if (value.contains("base64")) {
                    sqlite3_bind_text(handle, Int32(idx), value, -1, SQLITE_TRANSIENT)
                } else if (value.uppercased() == "NULL") {
                    sqlite3_bind_null(handle, Int32(idx))
                } else {
                    sqlite3_bind_text(handle, Int32(idx), value, -1, SQLITE_TRANSIENT)
                }
          case let value as Int32:
                sqlite3_bind_int(handle, Int32(idx), Int32(value))
          case let value as Int64:
                sqlite3_bind_int64(handle, Int32(idx), sqlite3_int64(value))
          case let value as Int:
                sqlite3_bind_int64(handle, Int32(idx), sqlite3_int64(value))
          case let value as Bool:
                var bInt: Int32 = 0
                if (value) {bInt = 1}
                sqlite3_bind_int(handle, Int32(idx), Int32(bInt))
          default:
                throw UtilsSQLiteError.bindFailed
      }
}

hi @govertbuijs  Thanks for your answer, i think i will use convert any Int in Int64 as for sqlite it is always the type INTEGER. i will do this in the next release. For your example, you should divide by 1000 your timestamp to get it in second this is what i did and it is the reason why i did not see the problem thanks anyhow, you help to make the plugin more reliable

@govertbuijs @erikkemperman this should be fixed now on release<EMAIL_ADDRESS>Can you test it and close the issue after this

Hi @jepiqueau
This seems fixed, thanks for the quick response and the nice plugin!

hi @govertbuijs You are welcome so i close the issue


show one-time option on monthly form, fix styles

This allows the user to switch to a "one-time" donation from the monthly donation URL — just as they can for the yearly donation. While we don't want to encourage one-time donations, it's better to have a user give one-time than drop off entirely because they don't want to set up a recurring charge and can't figure out how to get to a one-time donation place, which they can't find at all from this URL right now.
I also fixed the dollar sign and input field, so that it expands to fill the available width and doesn't go to two lines when the screen shrinks.
To test:
Go to a monthly donation url /memberform?installmentPeriod=monthly&amount=15 and make sure you can process a one-time donation
Resize and make sure that the amount input looks good on all sizes

Everything WFM. I'd like to check w/ @x110dc to ensure this won't break anything from a Salesforce standpoint.

LGTM.


Infinite loading when deploy initial apps on apache server

I'm submitting a ...
[ ] bug report
[ * ] feature request
[ ] question about the decisions made in the repository

Do you want to request a feature or report a bug?
It is a question

What is the current behavior?
App runs perfect in localhost with npm start , but when I build it with npm run build:prod and copy the dist folder in my local apahce web server, the Apps still on loading page. Anything is appear. Please why can't i correct it.

If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via
https://plnkr.co or similar (you can use this template as a starting point: http://plnkr.co/edit/tpl:AvJOMERrnz94ekVua0u5).

What is the expected behavior?

Apps show me the dasboard

What is the motivation / use case for changing the behavior?
I don't know. I change anything in the code.

Please tell us about your environment:

Angular version: 2.0.0-rc.X
Browser: [all | Chrome 58 | Firefox 40 | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web ]

Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, gitter, etc)

Hi @noyessie, please make sure you have correct  set in your index html.

I think, i found the problem: The app need to be at the root of my apache server.

is it possible to change assets references to some folder? What I want to achieve is to distribute output files not to server root but to specified folder (even "dist" would be great). With this change I would have order in backend/presentation layers


Metric alert rule creation on dtu_consumption_percent throwing BadRequest

Hi everyone ,
I am trying to create metric alert using template below but it's throwing badRequest error.
{
"apiVersion": "2018-03-01",
"name": "DTU Threshold Reached",
"type": "Microsoft.Insights/metricAlerts",
"location": "global",
"tags": {
"[concat('hidden-link:', resourceId('Microsoft.Sql/servers/', variables('sqlAzureServerNameLower')) ,'/elasticpools/', variables('elasticPoolName'))]": "Resource"
},
"dependsOn": [
"[concat(resourceId('Microsoft.Sql/servers/', variables('sqlAzureServerNameLower')) ,'/elasticpools/', variables('elasticPoolName'))]"
],
"properties": {
    "description": "Pool has exceeded 90% DTUs for last 5 mins",
	"severity":3 ,
    "enabled": true,
    "scopes": ["[parameters('resourceIdForAlert')]"],
    "evaluationFrequency":"PT5M",
	"windowSize": "PT5M",
    "criteria": {
      "odata.type": "Microsoft.Azure.Management.Insights.Models.SingleResourceMultipleMetricCriteria",
      "allOf": [{

	  "criterionType" : "StaticThresholdCriterion",
        "name": "DTU Threshold Reached",
        "metricName": "dtu_consumption_percent",
		"operator": "GreaterThan",
		 "threshold": 90,
		 "timeAggregation": "Average",
		 "dimensions":[]
      }]
    },
    "actions": [
      {
         "actionGroupId": "[parameters('actionGroupIdForAlerts')]"
		 }
        ]

    }

}

Error I am getting back is :
New-AzureRmResourceGroupDeployment : 09:29:37 - Resource Microsoft.Insights/metricAlerts 'DTU Threshold Reached' failed with message '{
"Code": "BadRequest",
"Message": "No object created. Activity ID: 5901db28-be0d-469c-acb3-918e503217bd."
}'
I have used same template to create an alert on storgae which is working fine ,only difference id metric name .
This one below works fine:
{
"apiVersion": "2018-03-01",
"name": "Storage Threshold Reached",
"type": "Microsoft.Insights/metricAlerts",
"location": "global",
"tags": {
"[concat('hidden-link:', resourceId('Microsoft.Sql/servers/', variables('sqlAzureServerNameLower')) ,'/elasticpools/', variables('elasticPoolName'))]": "Resource"
},
"dependsOn": [
"[concat(resourceId('Microsoft.Sql/servers/', variables('sqlAzureServerNameLower')) ,'/elasticpools/', variables('elasticPoolName'))]"
],
"properties": {
    "description": "Pool has exceeded 90% storage for last 5 mins",
	"severity":3 ,
    "enabled": true,
    "scopes": ["[parameters('resourceIdForAlert')]"],
    "evaluationFrequency":"PT5M",
	"windowSize": "PT5M",
    "criteria": {
      "odata.type": "Microsoft.Azure.Monitor.SingleResourceMultipleMetricCriteria",
      "allOf": [{

	   "criterionType" : "StaticThresholdCriterion",
        "name": "Storage Threshold Reached",
        "metricName": "storage_percent",
		"operator": "GreaterThan",
		 "threshold": 90,
		 "timeAggregation": "Maximum",
		 "dimensions":[]
      }]
    },
    "actions": [
      {
         "actionGroupId": "[parameters('actionGroupIdForAlerts')]"
		 }
        ]

    }

}

Any ideas?

@akhalid111 Could you confirm if there is a specific doc that you are following here?
Please do note that this repository is primarily for addressing feedback on azure documentation. For other queries, Microsoft Q&A is the best place to reach out to the wider community.

Thanks for your reply .
I am following this :
https://docs.microsoft.com/en-us/rest/api/monitor/metricalerts/createorupdate#create-or-update-an-alert-rule-for-single-resource

@akhalid111 Thanks for sharing the document. I could see you are using "Microsoft.Azure.Management.Insights.Models.SingleResourceMultipleMetricCriteria" odatatype for dtu_consumption_percent metric where as for storage_percent metric, you are using "Microsoft.Azure.Monitor.SingleResourceMultipleMetricCriteria" odatatype. Kindly use "Microsoft.Azure.Monitor.SingleResourceMultipleMetricCriteria" odatatype for dtu_consumption_percent metric and deploy the template.
Kindly revert if you are still facing the issue.

@akhalid111 Just following up to check if you had chance to check my previous comment.

@akhalid111 As there are no further documentation issues, we will close the issue for now. If there are further questions , please revert and we will be glad to assist you.

Well spotted ,Thanks @SwathiDhanwada-MSFT !


feat: isIdentity

Coverage remained the same at 100.0% when pulling 3bcc6eee6b077319d37f9a0affcf03ce1287deb2 on isIdentity into c18f6e239de46e929abef7bbd8f3614f898c0fab on master.

Coverage remained the same at 100.0% when pulling 3bcc6eee6b077319d37f9a0affcf03ce1287deb2 on isIdentity into c18f6e239de46e929abef7bbd8f3614f898c0fab on master.

Coverage remained the same at 100.0% when pulling 4d39263b4c62f0d0987ea01a7187e15d650b5a08 on isIdentity into c18f6e239de46e929abef7bbd8f3614f898c0fab on master.


Curate/load Azimuth datasets

We should load all datasets on Azimuth where these are on CxG
https://azimuth.hubmapconsortium.org/references/
@ubyndr I think we already have config for the Kidney reference dataset from previous work

@JABelfiore  - highest priority: https://cellxgene.cziscience.com/e/0b75c598-0893-4216-afe8-5414cab7739d.cxg/
Fields

(May use examples in CL paper)

Curated document can be found here https://docs.google.com/spreadsheets/d/1UTxIwa5yaBwc9PU12uk1fQ8n2sBSO0UyN5qfrMAsPgo/edit?usp=sharing


fix the stop command tests

Fix the stop command tests - they had regressed from https://github.com/flutter/flutter/pull/2378.

lgtm


allow numbers as cleanValues

Currently cleanValues only supports strings. In my project I want to remove all 0(zero) values and this works but Typescript complains. This PR would fix this limitation.

Can boolean be added in cleanValues ?
I want to remove all false values.


Chip tool interactive

Problem
chip-tool does not allow to set up multiple subscriptions.
It uses readline under the hood which maps to libedit on Mac.
Change overview

Add a new interactive mode to chip-tool that can be started using chip-tool interactive start and it can be cleanly exited by typing quit()
Clean up the vector arguments to let the commands be reusable
Add subscriptions shutdown-subscription and subscritions shutdown-subscriptions commands to chip-tool
Remove the wait argument of subscribe attributes since this is now replaced by the interactive

Testing
I have done various tests locally to check that it works without breaking the current behaviour.

/rebase


chore(examples): update yarn.lock

coverage: 97.686%. remained the same
when pulling ee5e072eb01d989990a872c2379e95c253df9cb0 on examples-lockfile-update
into 58ce7048f5418482bde6a56739dd4e36a9efb6d8 on master.