Amazon Linux 2023 target

Hi @Enchufa2,
(Apologies in advance if this is out of scope.)
Back in March, Amazon Linux 2023 was launched. tl;dr this is the successor distro to AL2 and will become the default for much of AWS infrastructure (incl. a lot of internal tools).
AL2023 is closer to Fedora than its predecessor and I noticed that copr recently added build targets for it. https://github.com/fedora-copr/copr/issues/2666
Would it be possible to add AL2023 support to cran2copr?
Thanks for considering.

Thanks, I would be happy to support AL2023. There are two limitations though:

Disk space in Fedora Copr infrastructure.
Important dependencies that are unavailable in AL2023.

Disk space has been the main limitation in the past for activating new chroots in this project, so I should ask the Fedora Copr team first. If we have their ok, then we could look into the second limitation. For instance, I just tried:
$ podman run --rm -it amazonlinux:2023
$ dnf -q install gdal proj libarrow
Error: Unable to find a match: gdal proj libarrow

So my question is: how do you compile CRAN packages without these dependencies (probably others too)? Is there any EPEL-like repository for AL2023 providing them? If not, would you be willing to help maintain them in a separate repo (maybe another Fedora Copr project)? My guess is that most of them should work just by running the Fedora spec for the AL2023 target, but some adaptations may be needed.

Hi, @praiskup @FrostyX, we are talking about the possibility of enabling the AL2023 chroot in iucar/cran. Before assessing the feasibility in terms of dependencies, and knowing that disk space has been a problem in the past, I would like to ask for the feasibility from the point of view of the infrastructure.

So my question is: how do you compile CRAN packages without these dependencies (probably others too)? Is there any EPEL-like repository for AL2023 providing them? If not, would you be willing to help maintain them in a separate repo (maybe another Fedora Copr project)? My guess is that most of them should work just by running the Fedora spec for the AL2023 target, but some adaptations may be needed.

In truth, I am less familiar with both Fedora and AL2023 than I am other distros. But I believe the preferred approach is to first raise a FR on the main AL2023 GitHub repo. From a quick search, I can see that GDAL has already been requested. I didn't see PROJ or arrow, but I'm happy request those. (A list of currently all AL2023 packages is available here.)
As regards EPEL, that is not supported. I am certainly  happy to help maintain a separate Copr project for the libraries that we can't pass through the main FRs, but may need some handholding to set it up.

Ok, great, so first off, in the sysreqs.csv file in this repo, there's a comprehensive list of dependencies (also you can see there which package needs them):
df <- read.csv("sysreqs.csv")
x <- sort(unique(do.call(c, strsplit(c(df$build), " ")))); x
#>  [1] "/usr/bin/exiftool"                "autoconf"
#>  [3] "automake"                         "bison"
#>  [5] "boost-devel"                      "bwidget"
#>  [7] "cairo-devel"                      "cargo"
#>  [9] "cmake"                            "coin-or-Clp-devel"
#> [11] "coin-or-SYMPHONY-devel"           "cyrus-sasl-devel"
#> [13] "devscripts-checkbashisms"         "ffmpeg-free-devel"
#> [15] "fftw-devel"                       "fftw3-devel"
#> [17] "flex"                             "freetype-devel"
#> [19] "fribidi-devel"                    "gdal-devel"
#> [21] "geos-devel"                       "glib2-devel"
#> [23] "glibc-devel(x86-32)"              "glpk-devel"
#> [25] "gmp-devel"                        "gnupg2"
#> [27] "gpgme-devel"                      "gsl-devel"
#> [29] "harfbuzz-devel"                   "haveged-devel"
#> [31] "hdf5-devel"                       "hiredis-devel"
#> [33] "ImageMagick-c++-devel"            "jags-devel"
#> [35] "jq-devel"                         "leptonica-devel"
#> [37] "libarchive-devel"                 "libarrow-dataset-devel"
#> [39] "libcurl-devel"                    "libgit2-devel"
#> [41] "libicu-devel"                     "libjpeg-turbo-devel"
#> [43] "libpng-devel"                     "libpq-devel"
#> [45] "librsvg2-devel"                   "libsecret-devel"
#> [47] "libsodium-devel"                  "libssh-devel"
#> [49] "libssh2-devel"                    "libtiff-devel"
#> [51] "libtool"                          "libwebp-devel"
#> [53] "libxml2-devel"                    "libxslt-devel"
#> [55] "libXt-devel"                      "mariadb-devel"
#> [57] "mbedtls-devel"                    "mecab-devel"
#> [59] "mesa-libGL-devel"                 "mesa-libGLU-devel"
#> [61] "mpfr-devel"                       "ncurses-devel"
#> [63] "netcdf-devel"                     "nng-devel"
#> [65] "openbugs"                         "opencv-devel"
#> [67] "openmpi-devel"                    "openssl-devel"
#> [69] "pcre"                             "pocl-devel"
#> [71] "poppler-cpp-devel"                "poppler-data"
#> [73] "poppler-glib-devel"               "proj-devel"
#> [75] "protobuf-devel"                   "python3dist(jupyter-kernel-test)"
#> [77] "python3dist(ndjson-testrunner)"   "qpdf-devel"
#> [79] "QuantLib-devel"                   "R-CRAN-BH"
#> [81] "R-CRAN-RcppGSL"                   "R-java-devel"
#> [83] "redland-devel"                    "rrdtool-devel"
#> [85] "scala"                            "sqlite-devel"
#> [87] "tbb-devel"                        "tesseract-devel"
#> [89] "texlive-pgf"                      "tiledb-devel"
#> [91] "udunits2-devel"                   "unixODBC-devel"
#> [93] "v8-devel"                         "xorg-x11-server-Xvfb"
#> [95] "zeromq-devel"                     "zlib-devel"

Then we can check which packages provide these dependencies:
system2("dnf", c("rq -q --qf '%{source_name}'", paste("--whatprovides", shQuote(x))), stdout=TRUE)
#>  [1] "ImageMagick"                "QuantLib"
#>  [3] "R"                          "R-CRAN-BH"
#>  [5] "R-CRAN-RcppGSL"             "autoconf"
#>  [7] "automake"                   "bison"
#>  [9] "boost"                      "bwidget"
#> [11] "cairo"                      "cmake"
#> [13] "coin-or-Clp"                "coin-or-SYMPHONY"
#> [15] "curl"                       "cyrus-sasl"
#> [17] "devscripts"                 "ffmpeg"
#> [19] "fftw"                       "flex"
#> [21] "freetype"                   "fribidi"
#> [23] "gdal"                       "geos"
#> [25] "glib2"                      "glibc"
#> [27] "glpk"                       "gmp"
#> [29] "gnupg2"                     "gpgme"
#> [31] "gsl"                        "harfbuzz"
#> [33] "haveged"                    "hdf5"
#> [35] "hiredis"                    "icu"
#> [37] "jags"                       "jq"
#> [39] "leptonica"                  "libXt"
#> [41] "libarchive"                 "libarrow"
#> [43] "libgit2"                    "libgit2_1.5"
#> [45] "libjpeg-turbo"              "libpng"
#> [47] "libpq"                      "librsvg2"
#> [49] "libsecret"                  "libsodium"
#> [51] "libssh"                     "libssh2"
#> [53] "libtiff"                    "libtool"
#> [55] "libwebp"                    "libxml2"
#> [57] "libxslt"                    "mariadb"
#> [59] "mbedtls"                    "mecab"
#> [61] "mesa"                       "mesa-libGLU"
#> [63] "mpfr"                       "ncurses"
#> [65] "netcdf"                     "nng"
#> [67] "nodejs16"                   "nodejs18"
#> [69] "nodejs20"                   "openbugs"
#> [71] "opencv"                     "openmpi"
#> [73] "openssl"                    "pcre"
#> [75] "perl-Image-ExifTool"        "pocl"
#> [77] "poppler"                    "poppler-data"
#> [79] "proj"                       "protobuf"
#> [81] "python-jupyter-kernel-test" "python-ndjson-testrunner"
#> [83] "qpdf"                       "redland"
#> [85] "rrdtool"                    "rust"
#> [87] "scala"                      "sqlite"
#> [89] "tbb"                        "tesseract"
#> [91] "texlive"                    "tiledb"
#> [93] "udunits2"                   "unixODBC"
#> [95] "xorg-x11-server"            "zeromq"
#> [97] "zlib"

We need to go through this list, identify the missing pieces, and submit them to AL2023; then we'll see what we can do with the ones that are not accepted. Note that:

R-CRAN-* stuff can be ignored, because these are self-references.
jags, openbugs, and tiledb can be ignored too, because these are provided in this repo too.
There are several nodejs versions listed. It would be enough to provide one of them.
For reference, the corresponding Fedora spec can be found by prepending https://src.fedoraproject.org/rpms/, e.g. https://src.fedoraproject.org/rpms/curl. But the AL2023 managers of course already know this. :)

Update after moving the repo to the cran4linux org and cleaning up a bit the sysreqs:
setwd("/home/iucar/Documents/repos/cran2copr")
deps <- read.csv("sysreqs/sysreqs.csv", na.strings="") |>
  subset(build, fedora_rhel, drop=TRUE)

Let's ask AL2023 to install all of them and thus to report what's missing:
out <- suppressWarnings(system2("podman", c(
  "run --rm -it -v $PWD/sysreqs:/mnt:z -w /mnt",
  "public.ecr.aws/amazonlinux/amazonlinux:2023",
  "dnf install -q", paste(shQuote(deps), collapse=" ")
), stdout=TRUE, stderr=TRUE)) |> print()
#> [1] "Error: Unable to find a match: libarrow-dataset-devel bwidget coin-or-Clp-devel coin-or-SYMPHONY-devel devscripts-checkbashisms /usr/bin/exiftool ffmpeg-free-devel gdal-devel geos-devel glpk-devel hdf5-devel hiredis-devel jags-devel leptonica-devel libsodium-devel mecab-devel mariadb-devel netcdf-devel openbugs glibc-devel(x86-32) opencv-devel pocl-devel poppler-cpp-devel poppler-data poppler-glib-devel proj-devel QuantLib-devel redland-devel scala tesseract-devel tiledb-devel udunits2-devel zeromq-devel\r"
#> attr(,"status")
#> [1] 1
out <- sub("\\r", "", strsplit(out, ": ")[[1]][3])
unavailable <- strsplit(out, " ")[[1]] |> print()
#>  [1] "libarrow-dataset-devel"   "bwidget"
#>  [3] "coin-or-Clp-devel"        "coin-or-SYMPHONY-devel"
#>  [5] "devscripts-checkbashisms" "/usr/bin/exiftool"
#>  [7] "ffmpeg-free-devel"        "gdal-devel"
#>  [9] "geos-devel"               "glpk-devel"
#> [11] "hdf5-devel"               "hiredis-devel"
#> [13] "jags-devel"               "leptonica-devel"
#> [15] "libsodium-devel"          "mecab-devel"
#> [17] "mariadb-devel"            "netcdf-devel"
#> [19] "openbugs"                 "glibc-devel(x86-32)"
#> [21] "opencv-devel"             "pocl-devel"
#> [23] "poppler-cpp-devel"        "poppler-data"
#> [25] "poppler-glib-devel"       "proj-devel"
#> [27] "QuantLib-devel"           "redland-devel"
#> [29] "scala"                    "tesseract-devel"
#> [31] "tiledb-devel"             "udunits2-devel"
#> [33] "zeromq-devel"

And finally, let's ask Fedora the source package names for these:
pkgs <- system2("dnf", c(
  "rq -q --qf '%{source_name}'",
  paste("--whatprovides", shQuote(unavailable))
), stdout=TRUE) |> print()
#>  [1] "QuantLib"            "bwidget"             "coin-or-Clp"
#>  [4] "coin-or-SYMPHONY"    "devscripts"          "ffmpeg"
#>  [7] "gdal"                "geos"                "glibc"
#> [10] "glpk"                "hdf5"                "hiredis"
#> [13] "jags"                "leptonica"           "libarrow"
#> [16] "libsodium"           "mariadb"             "mecab"
#> [19] "netcdf"              "openbugs"            "opencv"
#> [22] "perl-Image-ExifTool" "pocl"                "poppler"
#> [25] "poppler-data"        "proj"                "redland"
#> [28] "scala"               "tesseract"           "tiledb"
#> [31] "udunits2"            "zeromq"

Therefore:

There are a few packages that are strongly required: gdal, geos, proj, udunits2. If these are not available, we cannot build the geospatial stack as well as its dependencies. These are a lot of packages.
Some nice to have, for obvious reasons: ffmpeg, hdf5, hiredis, libarrow, mariadb. We don't lose many packages without them, but some of those packages are pretty useful.
The others are far less important in principle, and only a handful of packages are lost. It depends of course on whether you rely on them.

In other words, if you manage to get the geospatial packages accepted, that would be enough to activate the AL2023 chroot. :)

Update after moving the repo to the cran4linux org and cleaning up a bit the sysreqs:
deps <- read.csv("sysreqs/sysreqs.csv", na.strings="") |>
  subset(build, fedora_rhel, drop=TRUE)

Let's ask AL2023 to install all of them and thus to report what's missing:
out <- suppressWarnings(system2("podman", c(
  "run --rm -it -v $PWD/sysreqs:/mnt:z -w /mnt",
  "public.ecr.aws/amazonlinux/amazonlinux:2023",
  "dnf install -q", paste(shQuote(deps), collapse=" ")
), stdout=TRUE, stderr=TRUE)) |> print()
#> [1] "Error: Unable to find a match: libarrow-dataset-devel bwidget coin-or-Clp-devel coin-or-SYMPHONY-devel devscripts-checkbashisms /usr/bin/exiftool ffmpeg-free-devel gdal-devel geos-devel glpk-devel hdf5-devel hiredis-devel jags-devel leptonica-devel libsodium-devel mecab-devel mariadb-devel netcdf-devel openbugs glibc-devel(x86-32) opencv-devel pocl-devel poppler-cpp-devel poppler-data poppler-glib-devel proj-devel QuantLib-devel redland-devel scala tesseract-devel tiledb-devel udunits2-devel zeromq-devel\r"
#> attr(,"status")
#> [1] 1
out <- sub("\\r", "", strsplit(out, ": ")[[1]][3])
unavailable <- strsplit(out, " ")[[1]] |> print()
#>  [1] "libarrow-dataset-devel"   "bwidget"
#>  [3] "coin-or-Clp-devel"        "coin-or-SYMPHONY-devel"
#>  [5] "devscripts-checkbashisms" "/usr/bin/exiftool"
#>  [7] "ffmpeg-free-devel"        "gdal-devel"
#>  [9] "geos-devel"               "glpk-devel"
#> [11] "hdf5-devel"               "hiredis-devel"
#> [13] "jags-devel"               "leptonica-devel"
#> [15] "libsodium-devel"          "mecab-devel"
#> [17] "mariadb-devel"            "netcdf-devel"
#> [19] "openbugs"                 "glibc-devel(x86-32)"
#> [21] "opencv-devel"             "pocl-devel"
#> [23] "poppler-cpp-devel"        "poppler-data"
#> [25] "poppler-glib-devel"       "proj-devel"
#> [27] "QuantLib-devel"           "redland-devel"
#> [29] "scala"                    "tesseract-devel"
#> [31] "tiledb-devel"             "udunits2-devel"
#> [33] "zeromq-devel"

And finally, let's ask Fedora the source package names for these:
pkgs <- system2("dnf", c(
  "rq -q --qf '%{source_name}'",
  paste("--whatprovides", shQuote(unavailable))
), stdout=TRUE) |> print()
#>  [1] "QuantLib"            "bwidget"             "coin-or-Clp"
#>  [4] "coin-or-SYMPHONY"    "devscripts"          "ffmpeg"
#>  [7] "gdal"                "geos"                "glibc"
#> [10] "glpk"                "hdf5"                "hiredis"
#> [13] "jags"                "leptonica"           "libarrow"
#> [16] "libsodium"           "mariadb"             "mecab"
#> [19] "netcdf"              "openbugs"            "opencv"
#> [22] "perl-Image-ExifTool" "pocl"                "poppler"
#> [25] "poppler-data"        "proj"                "redland"
#> [28] "scala"               "tesseract"           "tiledb"
#> [31] "udunits2"            "zeromq"

Therefore:

There are a few packages that are strongly required: gdal, geos, proj, udunits2. If these are not available, we cannot build the geospatial stack as well as its dependencies. These are a lot of packages.
Some nice to have, for obvious reasons: ffmpeg, hdf5, hiredis, libarrow, mariadb. We don't lose many packages without them, but some of those packages are pretty useful.
The others are far less important in principle, and only a handful of packages are lost. It depends of course on whether you rely on them.

In other words, if you manage to get the geospatial packages accepted, that would be enough to activate the AL2023 chroot. :)

Super, thanks @Enchufa2. I'm on vacation now but will ping the AL2023 repo with requests when I get a chance!

Just a minor update on this:
The arrow homepage includes install instructions for binary artifacts on AL2023 (scroll down towards the bottom).
Unfortunately, by default, this pulls in the latest release of libarrow & co. So, there's a good chance that there will be a version mismatch with the R release (which is normally a couple of months behind for some reason.) Nonetheless, I managed to adapt their instructions in a way that pulls in the appropriate arrow system library version(s) based on the available CRAN release:
# Note: No sudo because i assumE you are root

# preliminaries: install R and some system deps
dnf install -y R libcurl-devel openssl-devel

# Set env vars for matching up the R and system arrow versions

ARCH=$(uname -m)
R_ARROW_VER=`Rscript -e 'cat(available.packages(filters = list(function(db) db[db[, "Package"] == "arrow", ]), repos = "https://cran.r-project.org")[["Version"]])'`
R_ARROW_VER="${R_ARROW_VER%.*}-1"
ARROW_URL="https://apache.jfrog.io/artifactory/arrow/amazon-linux/2023/${ARCH}/Packages"

# Install

ARROW_ENDPOINT=${R_ARROW_VER}.amzn2023.noarch.rpm
dnf install -y ${ARROW_URL}/apache-arrow-release-${ARROW_ENDPOINT}

ARROW_ENDPOINT=${R_ARROW_VER}.amzn2023.${ARCH}.rpm
dnf install -y ${ARROW_URL}/arrow-devel-${ARROW_ENDPOINT} # For C++
dnf install -y ${ARROW_URL}/arrow-glib-devel-${ARROW_ENDPOINT} # For GLib (C)
dnf install -y ${ARROW_URL}/arrow-acero-devel-${ARROW_ENDPOINT} # For Apache Arrow Acero
dnf install -y ${ARROW_URL}/arrow-dataset-devel-${ARROW_ENDPOINT} # For Apache Arrow Dataset C++
dnf install -y ${ARROW_URL}/arrow-dataset-glib-devel-${ARROW_ENDPOINT} # For Apache Arrow Dataset GLib (C)

# Note: I couldn't get the flight libs to build (see comments below)
# dnf install -y ${ARROW_URL}/arrow-flight-devel-${ARROW_ENDPOINT} # For Apache Arrow Flight C++
# dnf install -y ${ARROW_URL}/arrow-flight-glib-devel-${ARROW_ENDPOINT} # For Apache Arrow Flight GLib (C)
# dnf install -y ${ARROW_URL}/arrow-flight-sql-devel-${ARROW_ENDPOINT} # For Apache Arrow Flight SQL C++
# dnf install -y ${ARROW_URL}/arrow-flight-sql-glib-devel-${ARROW_ENDPOINT} # For Apache Arrow Flight SQL GLib (C)

dnf install -y ${ARROW_URL}/gandiva-devel-${ARROW_ENDPOINT} # For Apache Gandiva C++
dnf install -y ${ARROW_URL}/gandiva-glib-devel-${ARROW_ENDPOINT} # For Apache Gandiva GLib (C)
dnf install -y ${ARROW_URL}/parquet-devel-${ARROW_ENDPOINT} # For Apache Parquet C++
dnf install -y ${ARROW_URL}/parquet-glib-devel-${ARROW_ENDPOINT} # For Apache Parquet GLib (C)

Once that's done, installing the R arrow package & compilation works:
install.packages("arrow")

Comments:

One bummer (given the fact that it's Amazon Linux) is that this configuration doesn't come with S3 support enabled. I'm probably missing some step, but hopefully there's a reasonable solution.
I couldn't get the arrow flight libs to install correctly due to an unresolved dependency version issue. (I believe realted to abseil-cpp.) On the release page there's a separate group of targets for, e.g., `arrow14-flight* libs that you probably need to work with. but I didn't pursue this much further.


Rinkeby ENS space

Fixes https://github.com/snapshot-labs/snapshot/issues/2423

This is needed for the next stable update on the UI. Can we merge it?


How can I copy a model trained by one machine to another PC and make it worked ?

@skyzhao3q , you can first download the trained weights to you local file system.  Copy that file to another machine.  On that new machine, untar/unzip trained weights file to get one weight file (caffemodel).  Run DIGITS on new machine and create a new model.  In the new model page, upload the caffemodel as pretrained weight.  You might need to set other parameters, like learning rate, close to the value used in the final moment of the previous training.  This is usually working well.  If you have other question, can you describe it in more details?  Thanks.


Update supervisor-initd-script.sh

Updated the path of it was not working on Centos7
supervisorctl=/usr/bin/supervisorctl
supervisord=${SUPERVISORD-/usr/bin/supervisord}

to fix the issue with the supervisor path

I'm confused. Did you try it after #40? This should be fixed!

This script still has reference to /usr/local/bin path
https://github.com/hashicorp/terraform-aws-consul/blob/master/modules/install-consul/supervisor-initd-script.sh
Satish Kumar|Manager, DevOps Solutions | GTS|MCSE,RHCA,ITIL,OCWA,SCSA,AWS,CCNA
Email:satish.kumar1@mheducation.com|Cell:9732896721
From: Yevgeniy Brikman<EMAIL_ADDRESS>Reply-To: hashicorp/terraform-aws-consul<EMAIL_ADDRESS>Date: Thursday, February 8, 2018 at 4:28 PM
To: hashicorp/terraform-aws-consul<EMAIL_ADDRESS>Cc: "Kumar, Satish"<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [hashicorp/terraform-aws-consul] Update supervisor-initd-script.sh (#44)
I'm confused. Did you try it after #40https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fhashicorp%2Fterraform-aws-consul%2Fpull%2F40&data=01|01|satish.kumar1%40mheducation.com|f027382cfb34435c62c908d56f3aebb5|e2021b2c185c48b3a9c34f2662630420|0&sdata=%2FqARWJ7Xwwsl0hgga72i9J08uBFL1dEPtTYK0PhGiBA%3D&reserved=0? This should be fixed!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fhashicorp%2Fterraform-aws-consul%2Fpull%2F44%23issuecomment-364254083&data=01|01|satish.kumar1%40mheducation.com|f027382cfb34435c62c908d56f3aebb5|e2021b2c185c48b3a9c34f2662630420|0&sdata=0UcgGkA8OBVyXs%2BOiuu8qi4OG0V7Oxpzof6P7SBGSo4%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAEQLehVIyonfx0VxOGbrMiqWuPyUWxABks5tS2cGgaJpZM4R-zqb&data=01|01|satish.kumar1%40mheducation.com|f027382cfb34435c62c908d56f3aebb5|e2021b2c185c48b3a9c34f2662630420|0&sdata=H7T1QxGs89BX8TMtmlEssLcoPhfOwaha6SIxGC2qZog%3D&reserved=0.
The information contained in this message may be confidential and/or constitute a privileged attorney-client document.  If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited.  If you have received this communication in error, please notify McGraw-Hill Education immediately by replying to the message and deleting it from your computer.  Thank you.

Let me check
Satish Kumar|Manager, DevOps Solutions | GTS|MCSE,RHCA,ITIL,OCWA,SCSA,AWS,CCNA
Email:satish.kumar1@mheducation.com|Cell:9732896721
From: Yevgeniy Brikman<EMAIL_ADDRESS>Reply-To: hashicorp/terraform-aws-consul<EMAIL_ADDRESS>Date: Thursday, February 8, 2018 at 4:28 PM
To: hashicorp/terraform-aws-consul<EMAIL_ADDRESS>Cc: "Kumar, Satish"<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [hashicorp/terraform-aws-consul] Update supervisor-initd-script.sh (#44)
I'm confused. Did you try it after #40https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fhashicorp%2Fterraform-aws-consul%2Fpull%2F40&data=01|01|satish.kumar1%40mheducation.com|f027382cfb34435c62c908d56f3aebb5|e2021b2c185c48b3a9c34f2662630420|0&sdata=%2FqARWJ7Xwwsl0hgga72i9J08uBFL1dEPtTYK0PhGiBA%3D&reserved=0? This should be fixed!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fhashicorp%2Fterraform-aws-consul%2Fpull%2F44%23issuecomment-364254083&data=01|01|satish.kumar1%40mheducation.com|f027382cfb34435c62c908d56f3aebb5|e2021b2c185c48b3a9c34f2662630420|0&sdata=0UcgGkA8OBVyXs%2BOiuu8qi4OG0V7Oxpzof6P7SBGSo4%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAEQLehVIyonfx0VxOGbrMiqWuPyUWxABks5tS2cGgaJpZM4R-zqb&data=01|01|satish.kumar1%40mheducation.com|f027382cfb34435c62c908d56f3aebb5|e2021b2c185c48b3a9c34f2662630420|0&sdata=H7T1QxGs89BX8TMtmlEssLcoPhfOwaha6SIxGC2qZog%3D&reserved=0.
The information contained in this message may be confidential and/or constitute a privileged attorney-client document.  If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited.  If you have received this communication in error, please notify McGraw-Hill Education immediately by replying to the message and deleting it from your computer.  Thank you.

closed due to inactivity


Design the FCT "Burn" address

For the testnet, we should implement a burn of  1 FCT to 1000 tFCT for the testnet.  This way we both burn a little FCT and we don't have to implement a faucet.  People can just make their own testnet tokens, and they are cheap.
Once there are some tFCT in the network, we can price the tPNT tokens, and miners can burn their rewards into other assets.  This is where we begin to see some of the dynamics of the PegNet.

Have the start of this as a Unit Test.  I'll build an app.  However, this really needs to be translated into Java Script and added to the website (now a Github hosted thing)
pegnet.org

The proposed EC address to burn FCT to tFCT is
EC1moooFCT2TESToooo1oooo1oooo1oooo1oooo1oooo1on1iNDk


Create Dataset Triage SOP

Description of the task:
This ticket is for the creation of a dataset triage SOP in relation to the current dataset tracker sheet.
The document was created based on a team discussion about dataset prioritisation rules. It is intended to make the dataset triage process more consistent and to enable easier ordering or filtering of datasets by their priority in the tracker sheet.
Link to discussion notes: https://docs.google.com/document/d/1wtBYgHmceJZHvhTHQqiW1tlCNcclhlgB0n_wNNB-BKw/edit
Link to Dataset Triage SOP: https://docs.google.com/document/d/11d4k1xqlNQVwwDDItBG0WoCRMj2Tt2A3EVIlvDTDlx8/edit
Link to related tracker sheet: https://docs.google.com/spreadsheets/d/1rm5NZQjE-9rZ2YmK_HwjW-LgvFTTLs7Q6MzHbhPftRE/edit#gid=0

First draft of SOP done, have circulated it to the team for any feedback. Once updated if needed, I will add it to the repo.

To do:

Update tracker sheet to reflect new priority and status as discussed

Add to hca-ebi-wrangler-central repo

Done.


Support initialization scripts on a per-profile basis

Zoltan needs to be run using:
e4s-cl launch <launcher> bash -i -c ./run.sh

With run.sh containing:
#!/bin/bash

source `spack location -i lmod`/lmod/lmod/init/bash
module load gcc/7.3.0-yzxt
spack load -r trilinos
export LD_LIBRARY_PATH=/hostlibs:$LD_LIBRARY_PATH

./Zoltan/Zoltan

Ideally, this should be handled by the following:
e4s-cl launch <launcher> ./Zoltan

Done with profile source


Implement --no-sysfs

       --no-sysfs
          Do not attempt to read DMI data from sysfs files. This is mainly
          useful for debugging.

Read the code to find out what this does exactly: https://github.com/mirror/dmidecode/blob/master/dmidecode.c

The feature apparently is used to test on a *nix system that has both sysfs files and another methodology, forcing other methodologies to be tried.
	if (!(opt.flags & FLAG_NO_SYSFS)
	 && (buf = read_file(0, &size, SYS_ENTRY_FILE)) != NULL)

other methodologies:
	/* Next try EFI (ia64, Intel-based Mac, arm64) */
	efi = address_from_efi(&fp);
	switch (efi)
	{
		case EFI_NOT_FOUND:
			goto memory_scan;
		case EFI_NO_SMBIOS:
			ret = 1;
			goto exit_free;
	}

or:
#if defined __i386__ || defined __x86_64__
	if (!(opt.flags & FLAG_QUIET))
		pr_info("Scanning %s for entry point.", opt.devmem);
	/* Fallback to memory scan (x86, x86_64) */
	if ((buf = mem_chunk(0xF0000, 0x10000, opt.devmem)) == NULL)
	{
		ret = 1;
		goto exit_free;
	}


Add tensor methods in flops counting and separate macs and flops

This PR adds support to count flops for the following operations:

PyTorch tensor methods such as torch.matmul, torch.mm, torch.addmm, torch.bmm, etc, and the corresponding torch.Tensor.xxx methods
other activations, e.g.  sigmoid, silu, and gelu
other norms

This PR also separates the MACs and flops counting. multiply-add operations are counted as 2 flops while others are counted as 1. FLOPS is computed using flops.

x @ y is still not counted as flops. I added each line in the code of Transformer, and found the attention operation was not counted as flops.


SSL: fix MLP head and remove L2 normalization

Fix the sequence of batchnorm and linear in the last MLP layer of the contrastive encoder model.
Remove L2 normalization before computing triplet loss. This works best when also reducing the dimension of projections.
Refactor light module into representation and translation to separate pipelining code for different tasks.
Fix #139, fix #138.
Reopened from #141 to rename base branch.

@ziw-liu , @mattersoflight , I was able to set off training as well. It has continued for a few epochs for me as well.

@ziw-liu This is ready to merge into representation. After this merge, please continue building the time sampling strategy on the representation branch. Let's discuss the design in #123.


signal normalization seems to be inconsistent

In ShortTermFeatures.py, feature_extraction() has the following:
	dc_offset = signal.mean() 	signal_max = (np.abs(signal)).max() 	signal = (signal - dc_offset) / (signal_max + 0.0000000001)
Still in ShortTermFeatures.py, spectrogram() has the following:
	dc_offset = signal.mean() 	maximum = (np.abs(signal)).max() 	signal = (signal - dc_offset) / (maximum - dc_offset)
Why in one case the denominator is subtracted by mean but in the other case is not? (Is that intentional or a mistake?)

FWIW, both seem flawed in that they may cause clipping. The first one divides by maximum amplitude (+ 1e-10) failing to consider dc_offset. The second attempts to subtract dc_offset even though it may just as well have been a negative value.
I'm not particularly convinced of DC normalisation being of any use, but if you insist on doing it, do it before the scaling step (and perhaps it should be a power average rather than simple mean). Secondly, for most applications it makes more sense to adjust for nominal volume level, instead of maximum peak.

I believe that this would accomplish the original intention, with the notion that the original array is now modified in place.
signal -= signal.mean()              # Remove DC offset (by amplitude, not power)
signal /= abs(signal).max() + 1e-10  # Maximise, but avoid NaNs if only silence

I do not see the point of doing signal -= signal.mean()

Thanx a lot for the comment both! @Tronic's right both normalizations are actually a bit wrong and can lead to clipped signals depending on the initial signal range.
I will add a two-step normalization as the sample code above by @Tronic
wrt your question why dc is important: non-zero-dc signals (this can be due to several reasons such as sound acquisition hardware calibration or whatever), influence features such as zero crossing rate.

For the DC component should always be 0 (given that calibration is perfect), then subtracting signal.mean() is correct. Otherwise, if the signal by its origin does have non-zero mean (not sure if there are examples for this), then we should not subtract it.
It might be hard to tell whether a non-zero mean is caused by calibration or is truly part of the signal itself. In that case, we may have to go with the most probable scenario.

I have never seen true DC offset in recorded signals. That is simply not happening with any modern hardware due to hardware DC filtering. It could occur in poorly synthesised signals but frankly I've rarely seen that either. Maybe more importantly, very short signal fragments may appear to have DC offset due to low frequency tones that do not appear in multiple full wavelengths in a very short period of time. In any case, a low cut filter is a better way to go, as that gives more control over what precisely is being removed, and doesn't make analysis such as counting zero crossings depend on the timing of the signal frames.

@Tronic i've very rarely seen non-zero dc offset but I can remember the following times:

recording on raspberry PI (i believe it was the 2nd raspberry with an onboard soundcard): result was a very strange decreasing positive DC offset (for several seconds)
call center data (I'm working on call center speech analytics): step-function-like dc offsets again for several seconds (though i do not know if this was indeed a hardware issue or a file encoding/transcoding issue of the call center system itself).


add test for security_path_rmdir

Signed-off-by: Achref ben saad<EMAIL_ADDRESS>

Codecov Report

Merging #938 (290188e) into main (742834c) will decrease coverage by 0.46%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #938      +/-   ##
==========================================
- Coverage   39.45%   38.99%   -0.47%
==========================================
  Files          31       31
  Lines        9838     9838
==========================================
- Hits         3882     3836      -46
- Misses       5450     5492      +42
- Partials      506      510       +4

Impacted Files
Coverage Δ

KubeArmor/core/containerdHandler.go
57.67% <0.00%> (-11.24%)
:arrow_down:

KubeArmor/monitor/logUpdate.go
66.85% <0.00%> (-2.79%)
:arrow_down:

KubeArmor/core/dockerHandler.go
44.78% <0.00%> (-2.70%)
:arrow_down:

KubeArmor/monitor/processTree.go
94.62% <0.00%> (-1.08%)
:arrow_down:

KubeArmor/feeder/policyMatcher.go
41.95% <0.00%> (+0.34%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

if ! $SUDO ./syscheck $1 ; then
    echo "Disabling $SYSCALL ..."
    echo "$SYSCALL" >> ignore.lst
else
    echo "Enabling syscall $SYSCALL"
    grep "// CFlag=.*$" "$1.c" | sed -E "s/.*?=(.*?)$/\1/" >> cflags.lst
fi

I believe this is the relevant code.
I think We shouldn't have tests like this, like needing to check and every syscall to ignore.lst.
Any bpf program is dependent on a certain kernel features.
Adding a test for each one won't make sense. As we proceed we might need to add 10 more hooks that are related to SECURITY_PATH flag. But in that case we would need to add 10 more test cases here right?
Ignore list check should be based on flags rather than tests for each syscall. WDYT?

@daemon1024 , I agree. Changes has been made.


Set build cleanup options

Ensures build sources and output directory is cleaned up before starting a build.
@dotnet-bot skip ci please

@ravimeda,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by .NET Foundation. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot


Embed view for integrations

When Dribdat as a whole is integrated in a third party application, it would be good if not just the hexagrid but the entire platform could have a minimized UI.

The new page parameters ?clean=1 and ?minimal=1 (see README) achieve this.


Typo

"loosing" should be "losing"

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

ID: 3cbc0539-4aad-5d73-7f0d-2bb56086a72f
Version Independent ID: b2b7425d-a2e5-8261-cee9-49783fea1e9c
Content: Multi-protocol access on Azure Data Lake Storage (preview)
Content Source: articles/storage/blobs/data-lake-storage-multi-protocol-access.md
Service: storage
Sub-service: data-lake-storage-gen2
GitHub Login: @normesta
Microsoft Alias: normesta

Thank you @agentmorris for finding this. We've corrected the spelling error. The fix will appear on the live version of this page by this afternoon. Thanks again!

#sign-off

#please-close

@normesta Thanks for the quick response. :+1:


ray tune keep_checkpoints_num is ineffective

ray tune keep_checkpoints_num is ineffective, debug to make it effective.

If use ray: override _save_checkpoint, but add with tune.checkpoint_dir(...) to make ray keep track of the checkpoint.
else: manually delete the checkpoints other than the best one in TransformersEstimator.fit(), before trainer.train().


Rewrite tests in Go

The current test suite is written in bash and perl, but we should rewrite tests in Go

Am looking into taking this up. To support tests for both vz and qemu drivers and also try to make it more stable (tests passing in first run and not via retries). Also github actions now supports macos-13 runner in beta.
Is there any specific approach we need to take here ??
The plan i was thinking is to have it more of a integration tests. Tests run on top of limactl built binary.

FWIW, I agree with rewriting the Perl bits, but I don't think Go is an appropriate language for integration tests (obviously it is the correct choice for unit tests).
I think using a framework like BATS (combined with jq) lets you write integration tests that are much easier to maintain and debug.
Having said that, whoever is going to spend the time on implementing this should have the final word on how it is done. 😄

As an example of using BATS, creds.bats is a Rancher Desktop integration test that makes sure you can access a registry.
It uses some helper scripts, so it runs on macOS, Linux, and Windows (in WSL) and can test both moby and containerd configurations (and on Windows can test both Linux and Windows binaries to talk to moby/containerd).
I very much like the brevity and simplicity of the test code, making it easy to write and change the tests once you understand how the helper functions make it work in the different environments. E.g. ctrctl is running either docker or nerdctl depending on which container engine has been configured.


[PullRequestCheck] Organize lambda by folders

Hello, @hupe1980 . Maybe this requirement is not relevant, you can close if you wish.
Is there a possibility to forget the lambda in folders? to be able to view only the source file of it?
Sorry for my bad English.
Thank you

I do not know if I understood you correctly. 😀If you do not want to upload the lambdas, you could also pass the source code inline in this specific case
For example:
const fn = new Function(this, 'MyFunction', {
    runtime: lambda.Runtime.NODEJS_10_X,
    handler: 'index.handler',
    code: lambda.Code.inline('exports.handler = async (event) { return { text: 'Hello World!' }),
});

Does this answer your question?

Hi, @hupe1980.
Sorry if you explain me wrong, the requirement is; organize the lambda functions by folder to be able to display only the function code per AWS UI.
cdk-pull-request-check/resources/code_build_result/handler.py
cdk-pull-request-check/resources/pull_request/handler.py
in this way you can only visualize the code of that lambda and not all in the same lambda

@pcariel Ok I understand.  We can do that:
cdk-pull-request-check/lambdas/code-build-result/handler.py
cdk-pull-request-check/lambdas/pull-request/handler.py

Would you like to create a pull request for it?


replaced ArrayController by sorting the properties on the model

updated the dummy app to replace deprecated ArrayControllers

You're right, updated!

Thanks again! :smile_cat:


Update broken link

Motivation
Fix broken link
Description
annotated-spec repository doesn't have any tag/branch anymore.
It might be worth updating the consensus-specs link to so that they both point to their respective master branches.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

It might be worth updating the consensus-specs link to so that they both point to their respective master branches.

I don't think it good to point to master branch unless there are no tagged versions. We have a bunch of references to the consensus spec, e.g. in the README
https://github.com/ChainSafe/lodestar/blob/3f3a207643f6c35ae4b3cfe683cd167cfe70a2c3/README.md?plain=1#L8
All those references are kinda outdated as we already test against v1.4.0 (which has no major release yet) but could at least update to v1.3.0
https://github.com/ChainSafe/lodestar/blob/3f3a207643f6c35ae4b3cfe683cd167cfe70a2c3/packages/beacon-node/test/spec/specTestVersioning.ts#L18

:tada: This PR is included in v1.13.0 :tada:


add initialism for Sql and tests for AwsVpc

Signed-off-by: Jay Pipes<EMAIL_ADDRESS>By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

/approve


LaserScanReader.cs Bug, Improper radians to degrees conversion

[x] I am at the right place and my issue is directly related to ROS#. General technical questions I would post e.g. at ROS Answers or Stack Overflow. For library-specific questions I would look for help in the corresponding library forums.
[x] I have thoroughly read the Contributing Guideline and writing this issue is the right thing to do in my case.

I found a bug!

[x] I am using the latest ROS# version available here on the master branch.

[x] I am adding all required information, code and data files, screenshots and log files so that you can reproduce the problem.

My OS is: Windows 10

My Unity Version is: 2019.4.11.f1

My ROS Distribution is: NA

My Build Target Platform is: NA

Here is my bug description:
Issue related line 68 of LaserScanReader.cs
rays[i] = new Ray(transform.position, Quaternion.Euler(new Vector3(0, angle_min - angle_increment * i * 180 / Mathf.PI, 0)) * transform.forward);
Specifically angle_min - angle_increment * i * 180 / Mathf.PI is not calculated properly. This is supposed to convert the angle from radians to degrees.
angle_min and  angle_increment inputs are in radians.
Perform the following steps reproduce the bug:
Set values of LaserScanReader component to
angle_min=-3.14
sample=360
angle_increment=0.01745329
angle_max=0.01745329
Observed results:
Read the output angle_min - angle_increment * i * 180 / Mathf.PI calculation and you'll see instead that it starts from -3.14 degrees
Another sanity check, using the values listed above. An object directly infront of the laserScanReader you would expect values in the middle of the Ranges[] output. While currently you would find them are the beginning/end of the Range[] array.
Expected results:
We should expect laserScanReader to start from -3.14 (-180) and iterate through to 3.14(180)
Relevant Code:
This would solve the problem(you probably could do something a little nicer with the brackets)
rays[i] = new Ray(transform.position, Quaternion.Euler(new Vector3(0, ((angle_min - (angle_increment * i)) * 180 / Mathf.PI), 0)) * transform.forward);
Basically we are calculating the subtraction in radians properly and then converting to degrees

Resolved in https://github.com/siemens/ros-sharp/commit/19088b2c25478e662ad6d735ab13215af366f565 .
Thank you @erdenbatuhan .


Even though it does not finish scan (it exited on some non-excluded binary .rc file), it took time measured with ~a watch~ time utility
real	1m22.272s
user	0m41.352s
sys	0m28.555s

With this limitation, it is not viable to use this tool for real workflow locally.
Although it sounds sarcastic, in reality it might be easier and faster to replace the pdd with a perl script. Or rewrite using approaches in https://github.com/junegunn/fzf tool - it is capable of finding regexes way faster than pdd while being truly cross-platform and dependency-free (pdd requires ruby runtime and 5 gems).

@yegor256/z please, pay attention to this issue

@ribtoks/z this project will fix the problem faster if you donate a few dollars to it; just click here and pay via Stripe, it's very fast, convenient and appreciated; thanks a lot!

I wrote a tool in Go in a couple of hours that does the same as pdd and finished execution in less than 1 second (on my machine) on the same codebase. You can close the issue if you think 1.5 minutes execution time is OK for your tool.

@ribtoks but this tool not only scans files but also validates what it finds, performs a number of checks, and creates a multi-level XML document. I'm sure it's possible to make it faster, but it's not a simple scanner. Anyway, I like the tool you created!

Job gh:yegor256/pdd#139 is not assigned, can't get performer

This job is not in scope


Cache Nuitka build C artifacts

Using actions/cache@v3, the artifacts from the Nuitka build process can be shared between workflow runs.
This PR adds steps to the workflow which:

sets up the cache action by defining where to cache Nuitka artifacts
installs ccache on Linux using apt-get. This step is skipped on macOS and Windows because Nuitka installs ccache on those platforms.

Things to note:

The actions/cache is setup to restore caches prioritizing this action's latest commit SHA, the python version, then the runner's operating system.
This PR's action has been tested on my own testing repository with a matrix of Python 3.7 to 3.11 on macOS, ubuntu, and windows runners.

Does the action also prune cache ever, or will it let things grow indefinitely?

Does the action also prune cache ever, or will it let things grow indefinitely?

action/cache has its own eviction policy, essentially removed after 7 days if unused or if storage is full.
New caches are created with each run and subsequent runs should prefer them over older ones, so the old ones will get dropped off eventually.

Would it be a good idea to include an option to enable/disable the cache? If so what should be the default behavior? @kayhayen

That's great. I have people who insist on never using caches, because these can be bug introducing/hiding. The default however should be yes, just like with Nuitka. There is a Nuitka option --disable-ccache (old one, going to hide it eventually) which I guess, we could piggy back for that purpose. The real one to expose is of course --disable-cache=ccache, so that should be how to control things.

To expose --disable-cache=ccache I added an input to the action called disable-cache.
It will pass through whatever the option is to Nuitka with --disable-cache:${{ inputs.disable-cache }}.
If that option is set to ccache, the apt-get step won`t get run

Ok, that's good enough for now. I probably would prefer a generic cache option, that gives control over all the caches, but we can do that later. Thanks, good job.


update failed: Access denied

I get this error when using the sort methods. Do I need to set allow rules or run it in a method?

Show the sample code

Fragment = Astro.Class({
    name: 'Fragment',
    collection: Fragments,
    fields: {
        //skipping irrelevant fields
        source: {
            type: 'array',
            default: function(){return [];}
        }
    },
    behaviors: {
        timestamp: {},
        sort: {
            orderFieldName: 'sortOrder',
            hasRootField: true,
            rootFieldName: 'source'
        }
    }
//skipping irrelevent methods
}

And then the template event:
'click .nextFragment': function () {
        Session.get('currentFragment').moveUp();
        Session.set('currentFragment', Fragments.findOne({sortOrder: 0}));
    }

note: also tried moveToBottom() and all the other sort methods, same error.
With template.onRendered, 'currentFragment' is set like this: Session.set('currentFragment', Fragments.findOne({sortOrder: 0}));
Hmm... I'm not specifying the sort field in the Session variable, so it could be sorting the wrong list. Let me try that, let me know if you see any other issues, in the meantime.

You probably have deny rules on the Fragments collection that disallow such update

No deny rules in the whole app. Any other things that could cause that?

Log to the console what is inside Session.get('currentFragment') and post here. It's hard to tell without investigation.

It looks like this:
{
  "_modifiers": {},
  "_references": {},
  "_id": "ijZzJyf6WhHB3zxqu",
  "createdAt": null,
  "updatedAt": null,
  "sortOrder": 0,
  "source": [
    "dH9an2iWmccgJ3csx"
  ],
  "text": "Text fragment",
  "dateSearched": null,
  "dateStarted": null,
  "depthSearched": 0,
  "depthDescription": null,
  "status": "Ready",
  "searchedBy": null,
  "locked": null,
  "useSource": false,
  "links": [],
  "_isNew": false
}

Astronomy methods seem to work on it (like Session.get('currentFragment').raw())

You will have to create reproduction repository. It's probably not astronomy fault. I will take a look at reproduction when I'm back from vacations.


Groups in Homebridge

I have a strange behavior in Homekit. I am using most current version of deconz/homebridge/homebridge-hue. I have exposed groups from deconz to homebridge and I can see all the groups in Homekit. But I cannot turn ON the groups in Homekit – I can turn them OFF (if turned ON in Phoscon) and I can unregularly change brightness. Any ideas? (I have played with all different values in config and do not see any error in debug).
Second issue: I have a lot of sensors including new and old version of Xiaomi Temperature/Humidity sensors. The new versions show up as one single sensor in Homekit which is perfect. The old version shows two sensors (temperature and humidity separate) -> having > 10 temperature sensors it would be suitable if the two sensors could be combined like it is exposed for the new version of the sensor.

But I cannot turn ON the groups in Homekit – I can turn them OFF (if turned ON in Phoscon)

The group's state.all_on attribute is mapped to the (standard) HomeKit On characteristic; state.any_on is mapped to a (custom) Any On characteristic.  Apple's Home app only shows the standard On characteristic.  Consequently, you can only turn on a group when at least one light is (reported by deCONZ as) off, and you can only turn off a group when all lights are (reported by deCONZ as) on.  Use another HomeKit app (like Eve) to see Any On, so you can turn off a group when only some lights are (reported by deCONZ) as off.
I'm not quire sure what you mean by "cannot turn ON the groups".  Does the Home app not allow you to turn on the group, or do the lights not react when you turn on the group in the Home app?  Of the latter, please attach a debug log file (see https://github.com/ebaauw/homebridge-hue#debug-log-file), so I can see what's going on.

and I can unregularly change brightness.

I have no idea what you mean here.

The old version shows two sensors (temperature and humidity separate) -> having > 10 temperature sensors it would be suitable if the two sensors could be combined like it is exposed for the new version of the sensor.

homebridge-hue exposes each sensor device as a single HomeKit accessory, with separate HomeKit services for Temperature, Humidity, and, when present, Pressure.  It's up to the HomeKit app, how this is displayed.  Apple's Home app displays a tile per (standard) service (it supports) and ignores the (custom) Pressure service.

The new versions show up as one single sensor in Homekit which is perfect.

If you only see one tile for the new Temperature/Humidity sensors, I'm afraid the deCONZ REST API hasn't fully exposed the sensor.  Could you attach the debug dump file (see https://github.com/ebaauw/homebridge-hue#debug-dump-file), so I can see what's going on?

Thanks for your prompt response. I cannot "turn ON" the group means: when I click on the group in homekit or eve there is no reaction (on the symbol it says "Keine Antwort" - "No response"). But when the group is on I can turn it OFF by clicking on the group in homekit or eve.

Regarding temperature - there is a misunderstanding
You can see on the screenshot below:

Keller: this is a new model of the sensor (Aqara) - shows humidity and temperature in one symbol - perfect
TempSchlaf: this is the old model of the sensor (Xiaomi) - shows humidty and temperatrue in two symbols - would like to combine this in one symbol as in Keller

homebridge-hue.json.gz
here is the dump file

You can see on the screenshot below:

Keller: this is a new model of the sensor (Aqara) - shows humidity and temperature in one symbol - perfect
TempSchlaf: this is the old model of the sensor (Xiaomi) - shows humidty and temperatrue in two symbols - would like to combine this in one symbol as in Keller

So the round Mi temperature/humidity sensors only provide temperature and humidity, whereas the square Aqara weather sensors provide temperature, humidity, and air pressure.  Consequently, homebridge-hue exposes the Mi sensor with two services and the Aqara sensor with three.  As I said above, it's up to the HomeKit app how to display this.  The Eve app recognises the square sensor as an Eve Weather, causing it to combine the three services in a single tile.  It doesn't recognise the round sensors, because air pressure is missing.  If you check Apple's Home app, it will show both sensor types as two tiles.

I cannot "turn ON" the group means: when I click on the group in homekit or eve there is no reaction (on the symbol it says "Keine Antwort" - "No response"). But when the group is on I can turn it OFF by clicking on the group in homekit or eve.

The No Response status is typically caused by HomeKit itself, not by homebridge nor by homebridge-hue.  HomeKit doesn't like configuration changes.  It might take some time, before HomeKit is happy after restarting homebridge, especially of you added or changed the exposed accessories.  Eve might not be able to clear this status; sometimes you need to switch rooms in Apple's Home app to clear this status by forcing a refresh of the accessories.

Could you try v0.11.16-0 (install by sudo npm -g i homebridge-hue@beta).  It supports a new config.json parameter "forceEveWeather".  When set to true, temperature/humidity sensors are exposed as an Eve Weather, by adding a dummy Air Pressure service.

Amazing - works perfectly (see below) - thank you very much!!!
(I will give this hint to hansemann as well - https://github.com/hannseman/homebridge-mi-hygrothermograph/issues - I am using two LCD sensor and they could do the same....)
The group issue is unfortunetly still not woking - created a new room in homekit where I put the group, waited 12h and still not reaction when clicking it "ON"

Amazing - works perfectly (see below)

Cool!

The group issue is unfortunetly still not woking

Could you attach a debug log file, capturing when you (try to) turn the group on and off?  Are the red exclamation marks in the screenshot also non-responding accessories?  Are they exposed by homebridge-hue or by another homebridge plugin?

The red exclamation marks are gone after restart :-)
The log is attached - I had to copy&paste it from terminal - the created .log is empty. Hope that works.
The group I tested is called "Esstisch"
homebridge.log

As far as I can tell, you only turned off the group from HomeKit.  homebridge-hue sends the right command to deCONZ, and deCONZ reports the three lights as off, and changes state.all_on of the other groups that these lights are in.  If the lights didn't go off, the problem lies with deCONZ.
If you're sure you tried to turn the group on from HomeKit, that change wasn't forwarded to homebridge-hue.  That would indicate a problem with homebridge, or with the communication between HomeKit and homebridge.
You didn't copy the start of the logfile, so I cannot see what other plugins you're running, but there seem to be quite a lot.  I'm counting 69 accessories by homebridge-hue and 15 by Tahoma.  I cannot see what you other plugins are doing, but you might be hitting the 99 accessories per HomeKit bridge limit, when you added the groups.  I strongly suggest you split your homebridge setup into multiple installations, and run homebridge-hue as the only plugin in one of these.


most helpful order for error messages

In many programs, you have many functions (init,update,view, etc.)
and especially using elm/browser, you first use these function's name and then define them:
main = Browser.sandbox { init = init, update = update, view = view }

-- MODEL
init = ...
-- UPDATE
update = ...
-- VIEW
view = ...

Now, how do you start programming?
One function, after the other, I'd think.
Now I got an example:  (this  is the entire file,
I didn't cut it off at the end)
module Main exposing (..)

import Browser

-- MAIN
main = Browser.sandbox { init = init, update = update, view = view }

-- MODEL
type alias Model = Int

init : Model
init = 0
-- UPDATE
type Msg
  = Inc
  | Dec

update : Msg -> Model -> Model
update msg model = case msg of
  Inc -> model +1

-- VIEW

Two things, that you'll notice:

The case ... of doesn't have enough branches
view isn't defined.

Which error would be most helpful for you?
Detected problems in 1 module.
-- NAMING ERROR --------------------------------------------------- src/Main.elm

I cannot find a `view` variable:

6| main = Browser.sandbox { init = init, update = update, view = view }
                                                                 ^^^^
These names seem close though:

    e
    min
    pi
    sin

Hint: Read <https://elm-lang.org/0.19.1/imports> to see how `import`
declarations work in Elm.

Or
Detected problems in 1 module.
-- MISSING PATTERNS ----------------------------------------------- src/Main.elm

This `case` does not have branches for all possibilities:

21|>update msg model = case msg of
22|>  Inc -> model +1

Missing possibilities include:

    Dec

I would have to crash if I saw one of those. Add branches for them!

Hint: If you want to write the code for each branch later, use `Debug.todo` as a
placeholder. Read <https://elm-lang.org/0.19.1/missing-patterns> for more
guidance on this workflow.

By the way, the first is the one, I got, before I added a definition for view.
I'd think, that the second one is more useful for me, while I'm trying to get
update right and not get a working app.
Of course, in this example it is easy, but once you have ten or twenty function's used, which aren't all already defined,
you don't won't to give each a useless definition
and then create one useful definition.
Thus I'd think, that the second one should at least printed, because it is more important for me, I know that view isn't defined yet, but I want to know what I forgot in update.

May I add, that this isn't just about the order of error messages, but also about their mere existence.


Fix documentation CORS error

Subresource Integrity: The resource<EMAIL_ADDRESS>has an integrity attribute, but the resource requires the request to be CORS enabled to check the integrity, and it is not. The resource has been blocked because the integrity cannot be enforced.

@kevinbarabash Probably it got removed at some point.


InfluxDB Import Error

I am trying to use the influxdb package but the Import does not work.
I am getting the following error
ImportError: cannot import name 'InfluxDBClient' from 'influxdb' (/config/apps/influxdb.py)

My test app is the following

import appdaemon.plugins.hass.hassapi as hass
import datetime
import json
import time
from influxdb import InfluxDBClient

class main(hass.Hass):
    def initialize(self):
        influxdb_server = "localhost"
        json_body = [
            {
                "measurement": "bezug",
                "time": "2009-11-10T23:00:00Z",
                "fields": {
                    "value": 0.64
                }
            }
        ]

        client = InfluxDBClient(influxdb_server, 8086, 'admin', 'admin', 'example')

        client.create_database('example')

        client.write_points(json_body)

        result = client.query('select value from bezug;')

        print("Result: {0}".format(result))

I have installed the "influxdb" package under Configuration and the respective tab "Python Packages" and it seems that it was installed correctly
Looking in indexes: https://pypi.org/simple, https://wheels.home-assistant.io/musllinux-index/
Collecting influxdb
  Downloading influxdb-5.3.2-py2.py3-none-any.whl.metadata (6.9 kB)
Requirement already satisfied: python-dateutil>=2.6.0 in /usr/lib/python3.11/site-packages (from influxdb) (2.8.2)
Requirement already satisfied: pytz in /usr/lib/python3.11/site-packages (from influxdb) (2023.3.post1)
Requirement already satisfied: requests>=2.17.0 in /usr/lib/python3.11/site-packages (from influxdb) (2.28.2)
Requirement already satisfied: six>=1.10.0 in /usr/lib/python3.11/site-packages (from influxdb) (1.16.0)
Collecting msgpack (from influxdb)
  Downloading msgpack-1.0.8-cp311-cp311-musllinux_1_1_x86_64.whl.metadata (9.1 kB)
Requirement already satisfied: charset-normalizer<4,>=2 in /usr/lib/python3.11/site-packages (from requests>=2.17.0->influxdb) (3.3.2)
Requirement already satisfied: idna<4,>=2.5 in /usr/lib/python3.11/site-packages (from requests>=2.17.0->influxdb) (3.7)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/lib/python3.11/site-packages (from requests>=2.17.0->influxdb) (1.26.18)
Requirement already satisfied: certifi>=2017.4.17 in /usr/lib/python3.11/site-packages (from requests>=2.17.0->influxdb) (2024.2.2)
Downloading influxdb-5.3.2-py2.py3-none-any.whl (79 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 79.4/79.4 kB 1.8 MB/s eta 0:00:00
Downloading msgpack-1.0.8-cp311-cp311-musllinux_1_1_x86_64.whl (409 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 409.1/409.1 kB 6.3 MB/s eta 0:00:00
Installing collected packages: msgpack, influxdb
Successfully installed influxdb-5.3.2 msgpack-1.0.8
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environ

is this add-on still supported?

Hi, @Marty56 👋
Yes it is, but your question doesn't seem to be add-on related, but related to the use of ApPDaemon; which might be better asked @ the AppDaemon community.
../Frenck


Add util that checks delay between server-client

Coverage decreased (-0.6%) to 89.902% when pulling 193cb45abd5b050740a792cc1c93bd825674f705 on barduk91:master into 642bf6155b3d721ba11393845d0a5a29fdae4ae0 on corbel-platform:master.


Decrease steel trap damage and increase root duration and increase concussion mine damage

Logic : Decrease overall Junkrat damage to decrease trap damage so that if someone with 90 walk in it he will not die instead of an implementation with healing. Then increase all other ability damage

fixes https://github.com/MaxwellJung/ow1_emulator/issues/189

fixes #189

fixes #99
Increase Junkrat concussion mine
If damage 30 :
(30 - 30 ) / (110 - 30 ) * (120 - 110) = 0
If damage 110 :
(110 - 30)/(110 - 30) * (120 - 110) = 10

In reality it lacks ~0.94 damage done

Does this implementation also account for melee damage and ultimate damage or do you have to code that in seperately?

Does this implementation also account for melee damage and ultimate damage or do you have to code that in seperately?

Tested melee does 30 and ultimate one shot a hog so it should be okay

I added one damage in the end to enable the trap concussion mine combo else the hero will have 0.94 hp remaining

Closed due to a problem with my local staging which created some problem to keep clean commits


Saga -> A lifestyle mismatch is encountered.

Hi I'm trying to use SimpleInjector with NServiceBus and I'm getting the following error when I run the application.
2016-11-10 16:17:53.125 INFO  NServiceBus.RecoverabilityExecutor Immediate Retry is going to retry message '203dc177-2acc-450e-8089-a6ba01048e58' because of an exception:
SimpleInjector.ActivationException: A lifestyle mismatch is encountered. SynchronisationSaga (Execution Context Scope) depends on SynchronisationSagaData (Transient). Lifestyle mismatches can cause concurrency bugs in your application. Please see https://simpleinjector.org/dialm to understand this problem and how to solve it. ---> SimpleInjector.DiagnosticVerificationException: A lifestyle mismatch is encountered. SynchronisationSaga (Execution Context Scope) depends on SynchronisationSagaData (Transient). Lifestyle mismatches can cause concurrency bugs in your application. Please see https://simpleinjector.org/dialm to understand this problem and how to solve it.

I configured the injector using endpointConfiguration.UseContainer<SimpleInjectorBuilder>();  and have not added any other code.
The saga is setup as follows:
    public class SynchronisationSaga :
        Saga<SynchronisationSagaData>,
        IAmStartedByMessages<StartSaga>,
        IHandleTimeouts<ExecuteTask>
    {
        protected override void ConfigureHowToFindSaga(SagaPropertyMapper<SynchronisationSagaData> mapper)
        {
            if (mapper == null) throw new ArgumentNullException(nameof(mapper));

            mapper.ConfigureMapping<StartSaga>(message => message.TaskName).ToSaga(sagaData => sagaData.TaskName);
        }

        public async Task Handle(StartSaga message, IMessageHandlerContext context)
        {
            if (message == null) throw new ArgumentNullException(nameof(message));
            if (context == null) throw new ArgumentNullException(nameof(context));

            Data.TaskName = message.TaskName;

            Console.WriteLine($"Secheduling {Data.TaskName} task.");
            if (!Data.IsTaskAlreadyScheduled)
            {
                await RequestTimeout<ExecuteTask>(context, TimeSpan.FromMinutes(1))
                    .ConfigureAwait(false);
                Data.IsTaskAlreadyScheduled = true;
            }
        }

        public async Task Timeout(ExecuteTask state, IMessageHandlerContext context)
        {
            if (state == null) throw new ArgumentNullException(nameof(state));
            if (context == null) throw new ArgumentNullException(nameof(context));

            Console.WriteLine("Task Executed");

            await RequestTimeout<ExecuteTask>(context, TimeSpan.FromMinutes(1))
                .ConfigureAwait(false);
        }
    }
    public class SynchronisationSagaData : ContainSagaData
    {
        public string TaskName { get; set; }
        public bool IsTaskAlreadyScheduled { get; set; }
    }

Thanks @rubenmamo for the great repro. I've got a failing test now, so will hopefully have some kind of fix out soon.
Hopefully this doesn't involve a PR into the NServiceBus repo...

Got it. Overly eager property injection that shouldn't be automatically injecting IContainSagaData.
I've released version 1.0.4 that should fix your issue.
Thanks for digging into this for me.

Thanks for the prompt action, this has solved the issue for me :)

Glad to hear it. If you find any other issues, drop an issue and hopefully we'll get them resolved quickly!


feat: performance enhancements to plotter

Description
Performance enhancements by using optimized plotter actors. Also allowing for proper multi_colors=True rendering as mentioned in #1467.
Issue linked
Closes #1467
Checklist

[X] I have tested my changes locally.
[ ] I have added necessary documentation or updated existing documentation.
[X] I have followed the coding style guidelines of this project.
[ ] I have added appropriate unit tests.
[X] I have reviewed my changes before submitting this pull request.
[X] I have linked the issue or issues that are solved to the PR if any.
[X] I have assigned this PR to myself.
[X] I have added the minimum version decorator to any new backend method implemented.
[X] I have made sure that the title of my PR follows Conventional commits style (e.g. feat: extrude circle to cylinder)

Testing missing - should be added shortly


Reboot and flash through programmer

To ease development with my FTDI FT232R interface I found that the following connections are useful:

ESP32 Pin
Serial Pin
Comment

EN
RTS
EN = CHIP_PU (I think). Not broken out, but reachable through the soldered connection of the board button which points inward. Can be used to temporarily attach/solder a cable.

GPIO0
DTR
Labelled pin on the board

This can be done instead of shorting GPIO0 and GND and hitting reset. The tools automatically trigger a reboot and flashing mode that way. This should also work with CP2102 boards which have DTR and RTS available.
Additional information regarding the connection: https://github.com/espressif/esptool/wiki/ESP32-Boot-Mode-Selection#automatic-bootloader The CHIP_PU connection was deduced from the schematic.
Might be helpful to add that information?

Also, possibly include it in the wiring diagram.

Oh wow! That's really helpful!
@luzat feel free to open a pull request adding this into the Instructions section.


Create a table-like list of streams that can be sorted or filtered [SBK-367]

One suggestion is that if we could do a table-like list of streams, that could be sorted or filtered it would probably make navigation easier
Originally posted by @fubuloubu in https://github.com/ApeWorX/ApePay/pull/75#pullrequestreview-1739870019

Moving away from using React


git sidebar doesn't refresh after adding "large folders" to .gitignore

Testing #15811
See below - reloading the window after you get into this state yields the appropriate behavior.

VSCode Version: Code - Insiders 1.8.0-insider (7499a9f3c565f4fbe5205e30c8664e5a5a11ae94, 2016-12-06T16:16:15.865Z)
OS Version: Windows_NT ia32 10.0.14965

This no longer exists.


Replace react-custom-scrollbars with our own implementation

The https://github.com/malte-wessel/react-custom-scrollbars is not actively been developed.
There are some bug and incompatible issues like the FIrefox #358

build.zip

https://1178-102235307-gh.circle-artifacts.com/0/dist/build.zip


DO FIRST - Install multiple files

modify app to allow installation of multiple files -
Should only involve through the list and removing the 'first' parameter

ability added and tested


Draft API proposal for #888 Support for UWP callers and a non command line interface API

I'll be sharing this with the API design review team and will update this when that review has a scheduled date.
See the Files Changed tab for the Com Api.md.
Microsoft Reviewers: Open in CodeFlow

@sreadingMSFT , can we get the spelling fixes and merge this?

https://github.com/microsoft/winget-cli/issues/888


IRGen: Unwrap one-element tuple metadata in emitDynamicTupleTypeMetadataRef() [5.9]

Description: We need to unwrap one-element tuples after pack expansion in IRGen, so that the dynamic behavior of unspecialized generic code matches specialized generic code as well as call-site type substitution.

Risk: Low, the change only concerns variadic generics which are a new feature.

Reviewed by: @hborla

Radar: rdar://problem/108759306

Tested: New test cases added

@swift-ci Please test


Hi how do I get push notifications for this page

[Enter feedback here]

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

ID: ea8813c8-4ea5-0301-eb2e-4ded95d601b4
Version Independent ID: 6b29fa3a-40c6-f636-cb0d-3aa13a21715b
Content: Overview of Azure Disk Backup - Azure Backup
Content Source: articles/backup/disk-backup-overview.md
Service: backup
GitHub Login: @dcurwin
Microsoft Alias: dacurwin

@davejedwards -
Thanks for brining this to our attention. We will investigate it further and update you shortly.

@davejedwards Thank you for reaching out to us. Please note that this channel (the Azure Docs repository) is for driving improvements related to the Azure documentation.
In case your question is to understand the updates for Azure Disk Backup, please subscribe here. As applicable the updates get reflected into the documentation. However , if you are only looking for notifications on the updates in the specific document in Github probably the below references might help.

https://app.github-file-watcher.com/
https://stackoverflow.com/questions/9732779/how-to-watch-only-a-directory-in-a-github-repository/25315476#25315476
https://stackoverflow.com/questions/19169787/github-file-change-notification
https://stackoverflow.com/questions/7353538/setting-up-a-github-commit-rss-feed
https://github.com/jesalg/commit-hawk

Please note that above are not official solutions  but solutions from the community which might help.
Hope the above information helps. At this point it appears that there's no further edits or updates needed to the documentation. We will go ahead and close this issue, however if you have any further queries please tag us in your reply and will be happy to reopen the thread and continue the conversation. Thank you


Fix cmake install

Solution to issue cannot be found in the documentation.

[X] I checked the documentation.

Issue
For context see https://github.com/conda-forge/cub-feedstock/issues/16 and https://github.com/conda-forge/cub-feedstock/issues/17.
Installed packages
n/a

Environment info
n/a

Duplicate of #12


Provide a way to not hand over VI references to the localization toolkit

While I understand that this is completely contrary to the current implementation, I still want to bring it up and hear opinions:
When translating VIs that are part of libraries or classes and are set to private scope, I would prefer to not hand the VI's reference to a non-member of its containing library for that non-member to keep the VI reference in memory (i.e. in its FGV). I'd rather use subVIs on the block diagram of that private VI, which would work on that VI reference "locally" without providing potential access to that VI reference to others.
Eg when translating a DQMH module, as it is right now, I'd have to supply the reference of the Main.vi (which is private) to the Localization toolkit, which then keeps it in its FGV. So, basically, I'm opening this DQMH module up for public access to its private members.

That's great feedback Joerg.  First, sorry for not responding sooner -- I just noticed this thread.
I'm curious what is the main reason for not wanting to pass in a VI reference and the business impact. It seems like this is an application security consideration. Does it help that you have access to the source code of the Localization Library?  Is this a show stopper?
The support functions of the Localization Library do traversal of the target VI to get Control Reference and then perform operations on those controls by reference. I'm assuming from your request that you'd also like to avoid passing in control references, too, since you can get a VI reference from the control reference -- is that right?
I can't really see a way for the localization library to be very useful without having access to the control references. The library does have a VI that can translate individual words/phrases and you could call only that VI. But, you'd have to implement your own code to get all the control references and then translate them.
Am I missing something?

Jim, thanks for replying, and yes, you're understanding correctly.
My question is really coming from an unusually theoretical (maybe even academic) point of view. I'm not really concerned about the security of the application (i.e. I'm not expecting any team members to exploit such a tool), but I want to encourage the team to understand and respect the scope of resources. While it makes complete sense for this tool to access the VI reference, it might serve as a misleading example for the developers using it. Making a habit of giving access to private resources - in places where it's not so opportune - might well have an impact down the road...
With the solution which we had designed many years ago (which was nowhere near as nice as this toolkit), we would use it like this:

have a VI (or VIs) that provide access to the translation table (similar as this tool does) - let's call them "Translation Table Manager.lvlib" for the sake of this example
have separate "Helper VIs" which are organized into "Traversal Helpers.lvlib", a separate reuse library, and which offer the following:
2.a do the traversal of any given VI (input the VI reference) and return the found control references
2.b iterate through the returned control references and update each control accordingly
for any VI that needs to be translated, this VI would request the translation table from the first library, run the traversal VI from the second library, and then use another VI from the second VI to update the controls.

While this approach adds a bit more code to the VI that needs to be translated, it will operate "locally".
Also - although that's not the point of my question - we happen to have our own VIs for traversal of references etc, which are used in various places. One could think about carving those functions out of your translation toolkit and move them into a separate reuse library - so we could also use them for setting access levels or other things that need the same functionality but clearly are not related to translations.
I hope I could explain myself, and I'm very curious to hear your opinion on this!


remote-cli code command works in bash, but zsh or tmux

Version: 1.71.0 (Universal)
Commit: 784b0177c56c607789f9638da7b6bf3230d47a8c
Date: 2022-09-01T07:25:38.437Z
Electron: 19.0.12
Chromium: 102.0.5005.167
Node.js: 16.14.2
V8: <IP_ADDRESS>-electron.0
OS: Darwin arm64 21.6.0
Sandboxed: No

VSCode Version: 1.71.0 (Universal)
Local OS Version: Darwin arm64 21.6.0
Remote OS Version:
Remote Extension/Connection Type: SSH
Logs: n/a

Steps to Reproduce:

Ensure that terminal.integrated.inheritEnv is set to true (the default).
Connect to remote machine via VSCode SSH.
Open a bash terminal. Run code. Observe that it works.
Open a zsh terminal. (Select from the dropdown menu on the "+" button.) Run code. Observe that it fails.
Try the same for tmux. Observe that it fails as well.

Does this issue occur when you try this locally?: No
Does this issue occur when you try this locally and all extensions are disabled?: Yes

It appears as though PATH is propagating correctly for bash, but not the other two:
# bash
my-machine:~$ echo $PATH
/home/sam.ainsworth/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/home/sam.ainsworth/.vscode-server/bin/784b0177c56c607789f9638da7b6bf3230d47a8c/bin/remote-cli:/home/sam.ainsworth/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/usr/local/go/bin

# zsh
❯ echo $PATH
/home/sam.ainsworth/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/usr/local/go/bin

# tmux
sam.ainsworth@cs-satze7x4cv-gpu-1662050665:~$ echo $PATH
/home/sam.ainsworth/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/usr/local/go/bin

Opening a bash terminal and then running zsh from within that terminal works.
Why is VSCode propagating different environment variables to different shells?
Potentially related: https://github.com/microsoft/vscode-remote-release/issues/4460

There was a report for "git bash" not getting set properly too, I suspect for the same reasons: https://github.com/microsoft/vscode-remote-release/issues/9298


为什么加入ik分词器后，kibana无法进行启动(版本都是与es对应的）

Description
log   [02:01:00.792] [error][savedobjects-service] [.kibana_task_manager] Action failed with 'search_phase_execution_exception: '. Retrying attempt 1 in 2 seconds.
log   [02:01:00.793] [info][savedobjects-service] [.kibana_task_manager] OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT -> OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT. took: 24ms.
log   [02:01:00.794] [error][savedobjects-service] [.kibana] Action failed with 'search_phase_execution_exception: '. Retrying attempt 1 in 2 seconds.
log   [02:01:00.794] [info][savedobjects-service] [.kibana] OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT -> OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT. took: 23ms.
log   [02:01:02.820] [error][savedobjects-service] [.kibana_task_manager] Action failed with 'search_phase_execution_exception: '. Retrying attempt 2 in 4 seconds.
log   [02:01:02.820] [info][savedobjects-service] [.kibana_task_manager] OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT -> OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT. took: 2028ms.
log   [02:01:02.821] [error][savedobjects-service] [.kibana] Action failed with 'search_phase_execution_exception: '. Retrying attempt 2 in 4 seconds.
log   [02:01:02.821] [info][savedobjects-service] [.kibana] OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT -> OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT. took: 2027ms.
log   [02:01:06.838] [error][savedobjects-service] [.kibana_task_manager] Action failed with 'search_phase_execution_exception: '. Retrying attempt 3 in 8 seconds.
log   [02:01:06.838] [info][savedobjects-service] [.kibana_task_manager] OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT -> OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT. took: 4017ms.
log   [02:01:06.839] [error][savedobjects-service] [.kibana] Action failed with 'search_phase_execution_exception: '. Retrying attempt 3 in 8 seconds.
log   [02:01:06.839] [info][savedobjects-service] [.kibana] OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT -> OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT. took: 4018ms.
log   [02:01:14.862] [error][savedobjects-service] [.kibana_task_manager] Action failed with 'search_phase_execution_exception: '. Retrying attempt 4 in 16 seconds.
log   [02:01:14.862] [info][savedobjects-service] [.kibana_task_manager] OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT -> OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT. took: 8025ms.
log   [02:01:14.864] [error][savedobjects-service] [.kibana] Action failed with 'search_phase_execution_exception: '. Retrying attempt 4 in 16 seconds.
log   [02:01:14.864] [info][savedobjects-service] [.kibana] OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT -> OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT. took: 8025ms.
log   [02:01:30.888] [error][savedobjects-service] [.kibana_task_manager] Action failed with 'search_phase_execution_exception: '. Retrying attempt 5 in 32 seconds.
log   [02:01:30.889] [info][savedobjects-service] [.kibana_task_manager] OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT -> OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT. took: 16026ms.
log   [02:01:30.890] [error][savedobjects-service] [.kibana] Action failed with 'search_phase_execution_exception: '. Retrying attempt 5 in 32 seconds.
log   [02:01:30.890] [info][savedobjects-service] [.kibana] OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT -> OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT. took: 16026ms.
log   [02:02:02.914] [error][savedobjects-service] [.kibana_task_manager] Action failed with 'search_phase_execution_exception: '. Retrying attempt 6 in 64 seconds.
log   [02:02:02.915] [info][savedobjects-service] [.kibana_task_manager] OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT -> OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT. took: 32026ms.
log   [02:02:02.915] [error][savedobjects-service] [.kibana] Action failed with 'search_phase_execution_exception: '. Retrying attempt 6 in 64 seconds.
log   [02:02:02.915] [info][savedobjects-service] [.kibana] OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT -> OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT. took: 32025ms.
Environment

Versions: [Elasticsearch 7.17.9]
Operating system and version: [Windows 11]

蹲

我使用的版本是
ES: 7.17.6
Kibana: 7.17.6
IK: 7.17.6

安装IK分词器后,ES启动成功.并且加载了IK. 但是Kibana无法启动.
# 报这个
"stacktrace": ["org.elasticsearch.discovery.MasterNotDiscoveredException: null",

我将ES的副本数调成2个,确保是一个集群. Kibana就好了...
Tips: 我是用k8s部署的.

我使用的版本是
ES: 7.17.6
Kibana: 7.17.6
IK: 7.17.6

安装IK分词器后,ES启动成功.并且加载了IK. 但是Kibana无法启动.
# 报这个
"stacktrace": ["org.elasticsearch.discovery.MasterNotDiscoveredException: null",

我将ES的副本数调成2个,确保是一个集群. Kibana就好了...
Tips: 我是用k8s部署的.

已经解决了是么？

哦哦，好久没看看github了，很早就解决掉了，因为我用的Java17所以需要改动一下kibana的bat文件（启动二进制文件）


Documentation on MacroContent

Any documentation on how to use MacroContent in the SDK
 public struct MacroInputContent_DisplayPad
    {
      public int iSrc;
      public int iType;
      public int iTimes;
      public int iEventLen;
      [MarshalAs((UnmanagedType) 30, SizeConst = 1000, ArraySubType = (UnmanagedType) 27)]
      public DisplayPadSDK.KEYMAP_EVENT[] pData;
    }

Can't find anything that describes what iType, iSrc are

Looking at creating a replacement program to manage the keys and what they do, essentially a replacement for Base Camp with more features and a better Icon generator utilizing font awesome for icons etc.
Would the SDK allow me to achieve that ?

Can't find anything that describes what iType, iSrc do

We have added a document for your reference in the repo, please check.
"MacroInputContent_DisplayPad" struct is used to save the Macro in hardware if you are using or configuring the device in the hardware mode. Otherwise, you can set up the macro in software mode is by utilizing the key event and send the key press signal to OS.
Macro.docx

he SDK allow me to achieve that ?

Yes, you can utilize the key events to customize the keys and what they do on the key press. There are 2 methods available to upload the images in hardware, UploadImage is to upload the image in software mode (the image will not be saved in hardware) and UploadImageBySetIconPic for the hardware mode.

Marking it as Close


kickstart for newsletter development

with inline style conversion and workflow setup

Doesn't belong here. Keep idea for another generator


Add ColorPickerArchitecture Doc

Description
Add initial documentation to the ColorPicker directory explaining how the ColorPicker and related controls are designed and function.
~This is still WIP but feedback is already welcome.~ Docs are now complete.
Motivation and Context
See the discussion in #2812
How Has This Been Tested?
N/A
Screenshots (if appropriate):
N/A

I think naming the file "readme.md" might be better as this document essentially is the "you need to know" information of that control and explains the structure. Also that allows GitHub to show that document when you open said folder on GitHub.
I assume, in the ColorPicker section you will also mention the template parts and their purpose right?

I followed the same organizational structure you did for the Navigation view. Readme makes more sense and is what I had originally. However, consistency was more important in this case so developers know where to look. If we change this, it needs to change for NavView as well.

I assume, in the ColorPicker section you will also mention the template parts and their purpose right?

Yes, I will have the completed document done in about an hour.

I am not sure what you are referring to. The NavigationView has a readme.md file on the top level of the control explaining the overall structure while linking to documents in /docs which go into more detail for specific areas.
Also, I think there are a few flows/events that are not yet in this document, will you include those too?

I am not sure what you are referring to. The NavigationView has a readme.md file on the top level of the control explaining the overall structure while linking to documents in /docs which go into more detail for specific areas. So for consistency, I think its better to have this be a readme.md inside the colorpicker folder instead of sitting under /docs inside the ColorPicker folder.

Ah, ok I  missed that and didn't follow the original discussion very closely.

Also, I think there are a few flows/events that are not yet in this document, will you include those too?

When I said ready for feedback that implies feedback on the content that is already included. Of course when the final document is there please be specific and I'll be happy to include more flows where appropriate. It is already quite exhaustive though and is intended only as an overview.

Could you add the documents to the MUXControls.sln and the MUXControlsInnerloop.sln file so that you can view them when opening the solution view? For the NavigationView, I added it to the solutionfolder "NavigationView".

Its generally not a good thing to include documents in the solution or project files. These are not code and are always treated separately in all projects I've worked on.

The main point for me is that I can just look up something in solution view, and not have to either find the file in folder view which is bloated or even leave visual studio to quickly look something up.

@chingucoding Solutions updated to include the docs
Hopefully this can be merged now.

@llongley Can you approve this so it will be unblocked? I believe all comments were addressed and there is nothing holding up a merge.

/azp run


Make ability to import another template to within the current one

Can be used to create a standard set of buttons, or have a standard set of variables.
The importing filename should be able to be varied as a python variable. This would allow for a different set of baselines for example to be imported depending on a user selection from a dropdown.

More thought into this... Maybe it doesn't need to be python variable dependent.

Don't do this until a very clear need arises.


Expression != 0, result = 128.

I switched my project to use this patcher - https://github.com/iBotPeaches/Apktool and it works wonderfully, as it allowed me to remove a huge dependency and simply reference it.
Works for me on Unix, but a couple of users are reporting that the build fails on 'applyPatches' on Windows. I've double checked the patches and the URLs for the submodule and everything checks out. Wondering if support on Windows exists.
C:\Users\Connor\Desktop\Projects\Apktool>gradlew.bat applyPatches --stacktrace
Building SNAPSHOT (master): 83f327
:updateSubmodules UP-TO-DATE
:applyPatches FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':applyPatches'.
> Process returned error code. Expression: (result == 0). Values: result = 128

* Try:
Run with --info or --debug option to get more log output.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':applyPatches'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
        at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
        at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
        at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
        at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
        at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
        at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:306)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:79)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:23)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:88)
        at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:29)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)
        at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)
        at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:68)
        at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:55)
        at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:149)
        at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:106)
        at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:86)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:80)
        at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:33)
        at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:24)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:36)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)
        at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:51)
        at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:169)
        at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237)
        at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210)
        at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
        at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
        at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)
        at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
        at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
        at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
        at org.gradle.launcher.Main.doAction(Main.java:33)
        at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
        at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
        at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
        at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
        at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:30)
        at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:127)
        at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:55)
Caused by: java.lang.AssertionError: Process returned error code. Expression: (result == 0). Values: result = 128
        at net.minecrell.gitpatcher.Git$Command.execute(Git.groovy:69)
        at net.minecrell.gitpatcher.Git$Command.writeTo(Git.groovy:83)
        at net.minecrell.gitpatcher.task.patch.ApplyPatchesTask.applyPatches(ApplyPatchesTask.groovy:66)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:63)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:218)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:211)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:200)
        at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:585)
        at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:568)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
        ... 47 more

BUILD FAILED

Total time: 5.55 secs

I'm pretty sure it works on Windows, although I'm not actively testing it there. I'm going to look into this problem, although generally for running gitpatcher, please ensure the following:

Make sure you're on the latest Git provided by your distribution (could be a bug in Git itself), for Windows use https://git-for-windows.github.io
Make sure Git is in your PATH when executing the Gradle command. That means, on Windows you may need to run the Gradle command within a Git Shell instead of a normal console.

Thanks for a quick response!
I believe I'm set on updated versions and path wise.
C:\Users\Connor\Desktop\Projects\Apktool>git --version
git version 2.6.2.windows.1

Running through Git Bash / normal console had same error. So I took a step back and realized my submodule only had a .git directory and no files. It made it clear I wasn't 100% confident on working with submodules yet. A simple --recursive pull and everything works.
Sorry bout that.

Hmm... Generally gitpatcher should initialize the submodules for you, although that may not work if you've not yet commited the real submodule. I've added PATH detection for the next release, so in the future gitpatcher will say that clearly if that's not the case.
Good to hear that it is fixed! I'm happy this Gradle plugin has also found an usage in another project :)


Text search (Accessibility feature documentation)

Text search
(Accessibility feature documentation)

Text Search
On the Dashboard, you can find a Search field on the sidebar. You can use this field to search a piece of text in the whole website which can either be text from pages, Images (as image names), Documents or from Users.

•	Click on the Search field and type in the word(s) you want to find.
•	Press Enter on your keyboard. The search results will appear.
•	Click on the various options on the search results navbar to find your required results.

This is already documented (https://guide.wagtail.org/en-latest/how-to-guides/find-your-way-around/#search-wagtail)


System.getProperties() in DefaultMonitorRegistry.java

Hi,
I am trying to implement Eureka client to my application and I don't have access to get all the system properties (java.util.PropertyPermission, "*", "read,write").
When creating instance for DefaultMonitorRegistry, it is calling System.getProperties(). Can you please change it so that it can access properties individually ? That way, i can ask our server administrators to add the permission by each property but they won't be ready to give read and write to everything
I am not using Servo anyway. If there is a way to disable Servo, that works for me too
Caused by: java.security.AccessControlException: access denied ("java.util.PropertyPermission" "*" "read,write")
                at java.security.AccessControlContext.checkPermission(AccessControlContext.java:472)
                at java.security.AccessController.checkPermission(AccessController.java:884)
                at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
                at java.lang.SecurityManager.checkPropertiesAccess(SecurityManager.java:1262)
                at java.lang.System.getProperties(System.java:630)
                at com.netflix.servo.DefaultMonitorRegistry.<init>(DefaultMonitorRegistry.java:65)
                at com.netflix.servo.DefaultMonitorRegistry.<clinit>(DefaultMonitorRegistry.java:49)
                ... 65 common frames omitted

Not sure when I'll have time to look at it, but if you want to submit a PR we're happy to consider it.

This change is in 0.12.21.