Add option to add spacing between currency sign and price

Related issues

Add an config option to add a spacing between the price currency sign and the price, like 13,99 € or € 13,99.
Short description and why it's useful

This is a common use case in some countries and should be configurable in my opinion.
Which environment this relates to
Check your case. In case of any doubts please read about Release Cycle

[x] Test version (https://test.storefrontcloud.io) - this is a new feature or improvement for Vue Storefront. I've created branch from develop branch and want to merge it back to develop
[ ] RC version (https://next.storefrontcloud.io) - this is a stabilisation fix for Release Candidate of Vue Storefront. I've created branch from release branch and want to merge it back to release
[ ] Stable version (https://demo.storefrontcloud.io) - this is an important fix for current stable version. I've created branch from hotfix or master branch and want to merge it back to hotfix

Upgrade Notes and Changelog

[x] No upgrade steps required (100% backward compatibility and no breaking changes)
[x] I've updated the Upgrade notes and Changelog on how to port existing VS sites with this new feature

IMPORTANT NOTICE - Remember to update CHANGELOG.md with description of your change
Contribution and currently important rules acceptance

[x] I read and followed contribution rules

@cewald it's ok, instead of adding just configurable space, you can introduce currency format. In the config file you can store just format like:
priceFormat: '{sign} {amount}'

and then you can even simply replace it:
config.priceFormat.replace('{sign}', currencySign).replace('{amount}', formattedPrice)

what do you thing about that? I think it's more flexible, you can manipulate the displayed currency.

@andrzejewsky Yes, thats better. And this way we consolidate both functionalities of currencySignPlacement and currencySignSpacing to one config option.


Refactor hamming test generator

This uses an erb template (example.tt), and moves supporting code into a
new lib directory.
The actual generator lives in bin/generate-hamming
I also added a book-keeping test (VERSION) and a comment that lets us know which SHA the shared metadata was at when the problem was last generated.

Code looks good.
It should be made clear that the point at which the version needs to be incremented.  We have 3 occurrences of this happening.  The .version file, the test and the solution file the user is writing.  Are there any that need to be manually done?  (The user solution file?)
Otherwise, it looks pretty solid from what I can see at the moment.

The .version doesn't need to be incremented manually, though if you regenerate the solution multiple times you'll want to git checkout the .version file. I'll add something more to the README around this.
The example solution does have to be incremented manually at the moment, but we could easily solve that with the generator script. I'll fix that.

I've updated the generator to also update the example.rb file.

What about the coders file? (This is doable due to the required name being in the test itself in the require line?)  Or is this strictly  user responsibility?

The coder's file is the user's responsibility, in my opinion.

This looks good to me, added some style changes. Gets a :shipit: vote from me.

Yeah, those style changes make sense. There's one thing that needs to be changed in the text template, I'll fix it tonight if you don't get to it before I do.

Waiting on a :shipit:  from you or another member.  Things should now be persistent.

w00t


HUE-8873: [jobbrowser] Auto refresh deselects your selection for reru…

…n workflows and schedulers if job is running

https://issues.cloudera.org/browse/HUE-8873
https://review.cloudera.org/r/14013/

Thanks!


Create Recipe validator

Description
Create recipe validator that checks that the values in the recipe are correct before running it. ATM we only check if the json schema of the recipe is valid, but we can validate the values for provider, importer, subjectType, datasourceId.

That would need to be changed in this file https://github.com/FutureCitiesCatapult/TomboloDigitalConnector/blob/master/src/main/java/uk/org/tombolo/recipe/DataExportRecipeValidator.java right?


[Remix + GraphQL + Tailwind] Remove "Edit Profile" from user/org pages

We're not going to do user profile editing so this button needs to go away:

Issue is a part of this ticket: https://github.com/thisdot/starter.dev-github-showcases/issues/243

Closing as a dupe! Thanks!


[MXNET-1229] use OpenBLAS, lapack & OpenCV from conan

Description
conan is an open-source package manager for C++ projects. it allows to manage project dependencies in transparent and declarative manner.
currently, apache incubator-mxnet project uses the following different ways to manage its dependencies:

download GitHub archives during the build

OpenBLAS
OpenCV

conda (alternative way to GitHub archives)
download from CMake

Intel Math Kernel Library (MKL)

Git submodules

cub
dlpack
dmlc-core
googletest
mkldnn
mshadow
onnx-tensorrt
openmp
ps-lite
tvm

this appears to be very heterogeneous and hard to manage/maintain, as multiple various commands are in use to achieve dependencies installation, as well as multiple places are to look for dependency versions and their updates.
with conan, it may became much more straightforward, as dependencies will be declared in single place (conanfile) and installed via single command (conan install).
as project is very complex, and has lots of dependencies, for the first prototype I've used only very few of dependencies from conan: OpenCV, OpenBLAS and lapack.
others may be easily added then one by one, but they first has to be packaged (not all of them are packaged yet, e.g. GoogleTest is available, while MKL is not).
for instance, I've used the following script to run local conan build on Windows:
mkdir build
cd build

conan remote add conan-community https://api.bintray.com/conan/conan-community/conan || echo "ignore"

conan install ^
  --update ^
  -s os=Windows ^
  -s arch=x86_64 ^
  -s compiler="Visual Studio" ^
  -s compiler.version=14 ^
  -s compiler.runtime=MT ^
  -s build_type=Release ^
  -g cmake ..

 \
  -DUSE_PROFILER=1 \
  -DUSE_CUDA=0 \
  -DUSE_CUDNN=0 \
  -DUSE_NVRTC=0 \
  -DUSE_OPENCV=1 \
  -DUSE_OPENMP=1 \
  -DUSE_BLAS=open \
  -DUSE_LAPACK=1 \
  -DUSE_DIST_KVSTORE=0 \
  -DOpenCV_STATIC=ON \
  -DCMAKE_BUILD_TYPE=Release \
  -G "Unix Makefiles"

cmake --build . --config Release

popd

Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[x] The PR title starts with [MXNET-$JIRA_ID], where $JIRA_ID refers to the relevant JIRA issue created (except PRs with tiny changes)
[ ] Changes are complete (i.e. I finished coding on this PR)
[ ] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
[ ] Code is well-documented:
For user-facing API changes, API doc string has been updated.
For new C++ functions in header files, their functionalities and arguments are documented.
For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
Check the API doc at http://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html
[x] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Changes

[x] added conanfile.py to declare project dependencies (for now, just OpenCV, OpenBLAS and lapack)
[x] added an optional conan integration to the CMakeLists.txt (project might still be built without conan)

Comments

If this change is a backward incompatible change, why must this change be made.
Interesting edge cases to note here

/cc @memsharded @lasote @danimtb @jgsogo @uilianries

@mxnet-label-bot add [pr-awaiting-review]
Thanks for your contribution @SSE4

Hey @SSE4 Thanks for the work here.  I'm a big fan of Conan.io.  I strongly support using one of the modern C++ package management systems in MXNet. However, for Apache projects we prefer to discuss changes like this in a mailing list so that it reaches all of our core contributors to collect their opinions.  Would you be able to send a message to<EMAIL_ADDRESS>summarizing the issue with our current dependency tracking, and how Conan could improve this?   Feel free to just c + p most of the text from the description you have here.

@KellenSunderland sure, I've subscribed to your mail list and moved discussion to the following mail thread

Great suggestion, thank you for your contribution @SSE4 !

unix-gpu error is weird:
Sending interrupt signal to process

any clue why did it fail?

@anirudh2290 @frankfliu @samskalicky @Vikas89 @leleamol  - can you guys check it out and see if you can help?

@SSE4  it looks like a jenkins problem (according to this: https://issues.jenkins-ci.org/browse/JENKINS-37790)
Can you push an empty commit to retrigger the CI?
If that doesnt work maybe @marcoabreu has some insight from the CI side.

@samskalicky done

@SSE4 Just to confirm, this change enables conan builds using the example in the description. And can still be built without conan correct? This just adds another way to build for now right?

@samskalicky yes, you're absolutely right, change adds conan builds which are optional, and you still can build things exactly as you used to build before.

@anirudh2290 @leleamol Can you review once?

@SSE4 could you resolve the branch conflict?
@szha for comments/review

@vandanavk resolved

If we add Conan support like this won't it require a connection to the conan artifacts repository while building?
My main issue with Conan is that it "spreads over" your Cmake files (like it did in this case). It looks like it is an "all or nothing" solution. Wwhat would happen if I do want to compile against the dependencies of my operating system? Could I do that?
Alternative
An alternative to provide all dependencies is to use conda (disclaimer: I'm a big conda fan). If we have a conda-environment file declaring all the dependencies, then the steps would be:
$ cd <mxnet-source-directory>
$ conda env create -f environment.yml -n mxnet-compilation-dependencies
$ conda activate mxnet-compilation-dependencies
$ mkdir build
$ cmake -DCMAKE_PREFIX_PATH=$CONDA_PREFIX ..
$ make

Cool, but I want Conan!
I agree that adding Conan support is important, but let's think about it more thoroughly and not let it "spread over" the cmake files.
Let's think more deeply in how to add Conan support into Mxnet.

@edisongustavo
1.there is non-intrusive CMake integration for conan available as well, check out this article: conan: transparent CMake integration
2. it's still possible to use dependencies provided by operation system
3. I am not sure about your concern of connection required for conan. I think it's the same situation for conda, isn't it?

1.there is non-intrusive CMake integration for conan available as well, check out this article: conan: transparent CMake integration

Great! Thanks for the link. I am in favor of using this "Transparent CMake integration: “cmake_paths” generator". So we could do the dance:
$ rm -rf build && mkdir build && cd build
$ conan install ..
$ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=./conan_paths.cmake
$ cmake --build .

This is very similar to what would be the conda dance:
$ conda env create -f environment.yml -n mxnet-dependencies
$ conda activate mxnet-dependencies
$ rm -rf build && mkdir build && cd build
$ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=$CONDA_PREFIX
$ cmake --build .

I have some comments and questions about the conan part:
In the blog post it shows the integration using the variables created by each library (eg: ${CURL_INCLUDE_DIRS} and ${CURL_LIBRARIES}). This is the deprecated way of linking with targets. Using imported targets is the preferred way (if possible) and the CURL example is no exception. You can see that in the FindCURL.cmake file you can use the imported target CURL::libcurl, which should take care of all transitivity and order of linking problems.
Is there something I'm missing here?

it's still possible to use dependencies provided by operation system

Great! I believe that it could be done if we use conan along the route specified in my comment above, correct?

I am not sure about your concern of connection required for conan. I think it's the same situation for conda, isn't it?

Given that you've sent that blog post it has clarified things for me. My concern was in the case of conan working only in this "intrusive mode" (where you have to modify your CMakeLists.txt) so then requiring the internet connection every time you call cmake. Since we could use the "cmake_paths" generator then this is not a concern anymore.
A question for you: How easy is it to mirror a conan repository? Or maybe only mirroring the packages we need. Is that possible?

@edisongustavo

for sure I know about targets vs variables approaches in CMake. I suppose it's just matter of minimum CMake version being targeted, as there are still many projects targetting CMake 2.X, article mentions variable approach being more compatible, in general. as MXNet is targeting 3.0 and higher, it's safe to use CMake targets instead.
yes, it's possible to use system libraries with route specified, and via conditional requirements. I believe, conanfile.py of MXNet will look like:

def requirements(self):
    if not self.options.use_system_openblas:
        self.requires.add("openblas/0.2.20@conan/stable")
    # similar code for other libraries

and then use something like:
conan install -o MXNet:use_system_openblas=True ...

you know, this PR is more like proof-of-concept, and conanfile.py is very flexible in terms of adding custom logic in order to satisfy requirements of specific project (MXNet)
3. yes, mirroring is definitely possible, and some conan users have already set up mirroring for their repositories. I think it's just matter of simple script combining conan download and conan upload commands.

@SSE4
Thanks a lot for the responses. I believe then we could move forward by removing this part of the change from the PR:
if(EXISTS ${CMAKE_CURRENT_BINARY_DIR}/conanbuildinfo.cmake)
  include(${CMAKE_CURRENT_BINARY_DIR}/conanbuildinfo.cmake)
  conan_basic_setup(TARGETS)
  message(STATUS "using conan")
endif()

and then adding the dependencies in the conanfile.py.
What do you think?

@edisongustavo yes, sounds good

@szha ping for comments/review/merge

@SSE4 I think @KellenSunderland has a valid point that, a change like this should go through a discussion/vote on the mxnet dev list. Could you please start the conversation?

@anirudhacharya it is already started - thread. and probably already finished, as there are no questions/requests for a long time.

@szha Could you please review this PR again? Thank you!

@szha ping for review

@SSE4 Do you mind reviving the email thread with votes?  I guess it will be better to get approval on dev list.

@Roshrini okay, I'll revive new mail thread with votes tomorrow

@SSE4 did you get a chance to bring this up on the dev list<EMAIL_ADDRESS>)

@anirudhacharya seems like mail list email has changed
it's available now:
<EMAIL_ADDRESS>

@szha yes, why not

@anirudhacharya @KellenSunderland
so, vote thread was started, and now it's finished and results are available<EMAIL_ADDRESS>copying here as well:
Dear MXNet community,

I'm happy to announce the results of the vote.

This vote passes with 0 +1 votes (0 binding), no 0 votes, and 2 -1 vote.
+1 votes
* No votes

0 votes
* No votes

-1 votes
* kellen sunderland
* Sheng Zha

Vote thread can be found here [1]. The list of members can be found here
[2].

Best regards,
Konstantin Ivlev

[1]
<EMAIL_ADDRESS>
[2] http://incubator.apache.org/projects/mxnet.html

what's the next steps?

@mxnet-label-bot add[pr-awaiting-response]

@mxnet-label-bot remove[pr-awaiting-review]

@SSE4 Gentle ping to address requested changes

@szha I've added option for conan

@pinaraws changes were addressed

@mxnet-label-bot add[pr-awaiting-review]

@mxnet-label-bot remove[pr-awaiting-response]

@szha Gentle ping for review....

@marcoabreu for review

@SSE4 is this PR good to go for merge?

@karan6181 yes

@szha Could you please review this PR again and merge if it's looks correct ? Thanks!


Clearer documentation and examples in README.md

Hi,
I think it's quite hard to understand what problem terragrunt solves given what is in the README.
For example, in the motivation section, there is a folder structure detailed that would simply never be used in real life. It also states "You can reduce the amount of copy paste using Terraform modules" but I think this would be the default approach anyway.
Do you think it would be better to detail a typical Terraform codebase example that uses modules for mysql, vpc and app that are shared between all environments and then show how terragrunt improves on this?

Improvements for docs, motivation, etc are always very welcome. Were you thinking of README changes or actual sample repos?

For example, in the motivation section, there is a folder structure detailed that would simply never be used in real life.

Having seen it many times in real life, I respectfully disagree 😄

Hi @brikis98 !
Yes, I was thinking in the README. The use-case should be clear there before getting into the sample repos. But clearly I am simply not understanding the use-case!

Having seen it many times in real life, I respectfully disagree 😄

OK fair enough but is this would be, IMO, a poor approach from the start. Am I wrong?
Another example, isn't this exactly what a normal Terraform module does? Maybe this was written before Terraform could source modules from github?

Terragrunt has the ability to download remote Terraform configurations. The idea is that you define the Terraform code for your infrastructure just once, in a single repo, called, for example, modules.....This repo contains typical Terraform code, with one difference: anything in your code that should be different between environments should be exposed as an input variable

A third example...

If your modules have dependencies between them—for example, you can't deploy the backend-app until MySQL and redis are deployed—you'll need to express those dependencies in your Terragrunt configuration

In current Terraform, if the output from one module is used in another module, the dependency is automatically known. e.g. vpc module will go first because the vpc_id will be used in the security_groups in the other modules. Even if the modules aren't related by variables and outputs, you can use depends_on for modules now anyway. Right?
Sorry, I don't mean to be annoying, I was just really intrigued by this project at first but when I looked into the details I couldn't really understand some fundamental aspects 🙂

OK fair enough but is this would be, IMO, a poor approach from the start. Am I wrong? Another example, isn't this exactly what a normal Terraform module does? Maybe this was written before Terraform could source modules from github?

From the Terragrunt docs:

You can reduce the amount of copy paste using Terraform modules, but even the code to instantiate a module and set up input variables, output variables, providers, and remote state can still create a lot of maintenance overhead.

Yes, modules (as in, those you put in your Terraform code with the module keyword) reduce copy and paste, and we strongly recommend using them (in fact, we built an entire Infrastructure as Code Library of modules), but if you want to use the same module across multiple environments (dev, qa, stage, prod, etc), it still requires a TON of copy and paste and boilerplate in the form of input variables, output variables, provider configurations, backend configurations, and so on.

In current Terraform, if the output from one module is used in another module, the dependency is automatically known. e.g. vpc module will go first because the vpc_id will be used in the security_groups in the other modules. Even if the modules aren't related by variables and outputs, you can use depends_on for modules now anyway. Right?

"Module" is, unfortunately, a VERY overloaded word with many meanings. In this case, I don't mean the modules you use with the module keyword, but rather, separate folders where you run terragrunt apply.

OK cool.

if you want to use the same module across multiple environments (dev, qa, stage, prod, etc)

This, to use the same module across environments, is almost the main point of using Terraform modules IMO. Or at least I thought it was. To maintain consistency. e.g. I wouldn't have separate Aurora cluster modules for staging and production, that kind of defeats the point.
Even after testing the terragrunt-infrastructure-live-example I am having trouble seeing the problem solved by Terragrunt when compared to a modern (and considered) Terraform codebase. I guess being able to apply to multiple separate Terraform codebases ("terragrunt modules" as you put it) would be cool though.
Thanks for taking the time to reply, @brikis98 🙂

@max-rocket-internet Thanks for sharing your thoughts. I've heard the feedback that it's not obvious what problems Terragrunt solves from others, too, and as @brikis98 said, we could probably do a better job of answering this. Perhaps re-open this issue in the hopes that someone takes a stab at improved docs?

2 similar/related issues:
https://github.com/gruntwork-io/terragrunt/issues/491
https://github.com/gruntwork-io/terragrunt/issues/529

Use a different example in the motivation section because in my experience one would never have a vpc separate from the resources inside it. They would be together in the same Terraform codebase sharing a single AWS provider.

We don't generally recommend that. The VPC configuration is something you probably deploy once and barely touch for months after. However, the apps you run in that VPC you may deploy 10x per day. If both are in the same module, then you are putting your VPC at risk 10x per day of a silly typo or other minor error. That's why most Terraform projects split things up into separate folders.
For more info, see:
https://blog.gruntwork.io/how-to-manage-terraform-state-28f5697e68fa
https://charity.wtf/2016/03/30/terraform-vpc-and-why-you-want-a-tfstate-file-per-env/

Disambiguate the word module or simply just use a different name for "terragrunt module". If you are a new comer to this repo but already use Terraform, then module means only one thing. In saying that though, I don't know a proper name for a "directory with terraform files in it". In our group I use the word "Terraform codebase" but I don't know if it's correct.

Sadly, "module" doesn't mean "one thing" in Terraform. Everything in Terraform is technically called a module. If folder foo contains a .tf file, then foo is a module, whether you run apply directly in foo (in which case, foo is called the "root mdoule"), or use the module keyword to load foo in some other file. So the terminology is, unfortunately, very overloaded and confusing.
I'm open to some new terminology if you have suggestions.

separate folders where you run terragrunt apply.

We've settled on the term target for this.

separate folders where you run terragrunt apply.

root could work as a term on its own also. And has the benefit of clarifying the relationship to terraform.

I'm fairly new to Terraform and trying to wrap my head around what's being discussed here. I've tried to come up with my own explanation. Is this correct / helpful?
There are three concepts:

Terraform Modules
Terragrunt Components
Live Directory where Terraform Components are invoked

1. Terraform Module
Terraform Modules the way they exist outside Terragrunt World. Each Module for each environment needs to be specified including values that differ between environments, but also everything they have in common. What environments have in common is copy pasted.
2. Component
Take a Terraform Module and expose anything in your code that should be different between environments as an input variable.
It is still a Terrafrom Module but we have prepared it for Terragrunt by exposing variables.
### modules/mysql/vars.tf

variable "name" {
  description = "The name of the DB"
}

variable "instance_class" {
  description = "The instance class of the DB (e.g. db.t2.micro)"
}

...

Source
3. Live Directory
Specify the environment specific Component Variables. Only terraform.tfvars live here. Only Terragrunt can handle this file.
### live/prod/mysql/terraform.tfvars

terragrunt = {
  terraform {
    source = "git::git@github.com:gruntwork-io/terragrunt-infrastructure-modules-example.git//mysql?ref=v0.0.1"
  }
}

name           = "mysql_prod"
instance_class = "db.t2.medium"

Source
This means there is no need to copy what now lives inside of our Components between environments! Terragrunt pulls in the Component and feeds it with the environment specifics that we provided in live. Without Terragrunt the Component Code would have to be copied into its respective folder inside our live directories.

@sebkouba Yes, that sounds about right.

Terragrunt has a dedicated website now for docs: https://terragrunt.gruntwork.io/


Removed option for spdy

clang format successful! https://ci.trafficserver.apache.org/job/clang-format-github/286/

RAT check successful! https://ci.trafficserver.apache.org/job/RAT-github/300/

AU check successful! https://ci.trafficserver.apache.org/job/autest-github/282/

FreeBSD11 build successful! https://ci.trafficserver.apache.org/job/freebsd-github/1981/

Intel CC build successful! https://ci.trafficserver.apache.org/job/icc-github/412/

Linux build successful! https://ci.trafficserver.apache.org/job/linux-github/1873/

clang-analyzer build failed! https://ci.trafficserver.apache.org/job/clang-analyzer-github/545/


Kubernetes-kubelet port 10250 SSL Vulnerability Sweet32 CVE-2016-2183

Rancher versions:
rancher/server: 1.6.10
rancher/agent: 1.2.6
Infrastructure Stack versions:
kubernetes (if applicable): 1.7.7
**Environment Template: Kubernetes
The kubernetes-kubelet container pushed out by rancher allows some insecure SSL ciphers on tcp port 10250.
I realize that kubernetes is an upstream open source project but wanted to file the issue to see if Rancher would disable them in their container that gets pushed out to hosts.
Vulnerability scan results:

•	Sweet32: CVE-2016-2183 Birthday attacks against TLS ciphers with 64bit block size vulnerability
•
•	Threat:
Legacy block ciphers having block size of 64 bits are vulnerable to a practical collision attack when used in CBC mode.
All versions of SSL/TLS protocol support cipher suites which use DES or 3DES as the symmetric encryption cipher are affected.
•	Impact:
Remote attackers can obtain cleartext data via a birthday attack against a long-duration encrypted session.
•	Solution:
Disable and stop using DES and 3DES ciphers.
The following openssl commands can be used to do a manual test:
openssl s_client -connect ip:port -cipher "DES:3DES" -ssl2
openssl s_client -connect ip:port -cipher "DES:3DES" -ssl3
openssl s_client -connect ip:port -cipher "DES:3DES" -tls1
openssl s_client -connect ip:port -cipher "DES:3DES" -tls1_1
openssl s_client -connect ip:port -cipher "DES:3DES" -tls1_2
If any of these tests is successful, then the target is vulnerable to Sweet32.

Thanks for reporting, this is the upstream issue as far as I can see: https://github.com/kubernetes/kubernetes/issues/41038. This PR is close to being merged which should fix this as well: https://github.com/kubernetes/kubernetes/pull/48859

@superseb  Thanks!

Tested with rancher server version - v1.6.12-rc1 and kubernetes version- v1.8.3-rancher3 . We are not able to get connected to Kubernetes hosts with any of the following commands:
openssl s_client -connect ip:port -cipher "DES:3DES" -ssl2
openssl s_client -connect ip:port -cipher "DES:3DES" -ssl3
openssl s_client -connect ip:port -cipher "DES:3DES" -tls1
openssl s_client -connect ip:port -cipher "DES:3DES" -tls1_1
openssl s_client -connect ip:port -cipher "DES:3DES" -tls1_2

root@sangeemaster-10acre-1:/home/sangeethahariharan1# openssl s_client -connect  <ip>:10250 -cipher "DES:3DES" -tls1_2
CONNECTED(00000003)
139764292671128:error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:s3_pkt.c:1487:SSL alert number 40
139764292671128:error:1409E0E5:SSL routines:ssl3_write_bytes:ssl handshake failure:s3_pkt.c:656:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 0 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : 0000
    Session-ID:
    Session-ID-ctx:
    Master-Key:
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time:<PHONE_NUMBER>
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
---
root@sangeemaster-10acre-1:/home/sangeethahariharan1# openssl s_client -connect   <ip>:10250 -cipher "DES:3DES" -tls1_1
CONNECTED(00000003)
140445348656792:error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number:s3_pkt.c:362:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 5 bytes and written 0 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.1
    Cipher    : 0000
    Session-ID:
    Session-ID-ctx:
    Master-Key:
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time:<PHONE_NUMBER>
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
---
root@sangeemaster-10acre-1:/home/sangeethahariharan1# openssl s_client -connect   <ip>:10250 -cipher "DES:3DES" -tls1
CONNECTED(00000003)
139698755626648:error:1409442E:SSL routines:ssl3_read_bytes:tlsv1 alert protocol version:s3_pkt.c:1487:SSL alert number 70
139698755626648:error:1409E0E5:SSL routines:ssl3_write_bytes:ssl handshake failure:s3_pkt.c:656:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 0 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1
    Cipher    : 0000
    Session-ID:
    Session-ID-ctx:
    Master-Key:
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time:<PHONE_NUMBER>
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
---
root@sangeemaster-10acre-1:/home/sangeethahariharan1# openssl s_client -connect   <ip>:10250 -cipher "DES:3DES" -ssl3
140381578925720:error:140A90C4:SSL routines:SSL_CTX_new:null ssl method passed:ssl_lib.c:1878:
root@sangeemaster-10acre-1:/home/sangeethahariharan1# openssl s_client -connect   <ip>:10250 -cipher "DES:3DES" -ssl2
unknown option -ssl2
usage: s_client args

 -host host     - use -connect instead
 -port port     - use -connect instead
 -connect host:port - who to connect to (default is localhost:4433)
 -verify_hostname host - check peer certificate matches "host"
 -verify_email email - check peer certificate matches "email"
 -verify_ip ipaddr - check peer certificate matches "ipaddr"
 -verify arg   - turn on peer certificate verification
 -verify_return_error - return verification errors
 -cert arg     - certificate file to use, PEM format assumed
 -certform arg - certificate format (PEM or DER) PEM default
 -key arg      - Private key file to use, in cert file if
                 not specified but cert file is.
 -keyform arg  - key format (PEM or DER) PEM default
 -pass arg     - private key file pass phrase source
 -CApath arg   - PEM format directory of CA's
 -CAfile arg   - PEM format file of CA's
 -no_alt_chains - only ever use the first certificate chain found
 -reconnect    - Drop and re-make the connection with the same Session-ID
 -pause        - sleep(1) after each read(2) and write(2) system call
 -prexit       - print session information even on connection failure
 -showcerts    - show all certificates in the chain
 -debug        - extra output
 -msg          - Show protocol messages
 -nbio_test    - more ssl protocol testing
 -state        - print the 'ssl' states
 -nbio         - Run with non-blocking IO
 -crlf         - convert LF from terminal into CRLF
 -quiet        - no s_client output
 -ign_eof      - ignore input eof (default when -quiet)
 -no_ign_eof   - don't ignore input eof
 -psk_identity arg - PSK identity
 -psk arg      - PSK in hex (without 0x)
 -srpuser user     - SRP authentification for 'user'
 -srppass arg      - password for 'user'
 -srp_lateuser     - SRP username into second ClientHello message
 -srp_moregroups   - Tolerate other than the known g N values.
 -srp_strength int - minimal length in bits for N (default 1024).
 -ssl2         - just use SSLv2
 -ssl3         - just use SSLv3
 -tls1_2       - just use TLSv1.2
 -tls1_1       - just use TLSv1.1
 -tls1         - just use TLSv1
 -dtls1        - just use DTLSv1
 -fallback_scsv - send TLS_FALLBACK_SCSV
 -mtu          - set the link layer MTU
 -no_tls1_2/-no_tls1_1/-no_tls1/-no_ssl3/-no_ssl2 - turn off that protocol
 -bugs         - Switch on all SSL implementation bug workarounds
 -cipher       - preferred cipher to use, use the 'openssl ciphers'
                 command to see what is available
 -starttls prot - use the STARTTLS command before starting TLS
                 for those protocols that support it, where
                 'prot' defines which one to assume.  Currently,
                 only "smtp", "pop3", "imap", "ftp" and "xmpp"
                 are supported.
 -engine id    - Initialise and use the specified engine
 -rand file:file:...
 -sess_out arg - file to write SSL session to
 -sess_in arg  - file to read SSL session from
 -servername host  - Set TLS extension servername in ClientHello
 -tlsextdebug      - hex dump of all TLS extensions received
 -status           - request certificate status from server
 -no_ticket        - disable use of RFC4507bis session tickets
 -serverinfo types - send empty ClientHello extensions (comma-separated numbers)
 -curves arg       - Elliptic curves to advertise (colon-separated list)
 -sigalgs arg      - Signature algorithms to support (colon-separated list)
 -client_sigalgs arg - Signature algorithms to support for client
                       certificate authentication (colon-separated list)
 -nextprotoneg arg - enable NPN extension, considering named protocols supported (comma-separated list)
 -alpn arg         - enable ALPN extension, considering named protocols supported (comma-separated list)
 -legacy_renegotiation - enable use of legacy renegotiation (dangerous)
 -use_srtp profiles - Offer SRTP key management with a colon-separated profile list
 -keymatexport label   - Export keying material using label
 -keymatexportlen len  - Export len bytes of keying material (default 20)
root@sangeemaster-10acre-1:/home/sangeethahariharan1#

@galal-hussein we should re-evaluate the fix for k8s 1.10 as it looks there are some changes done to enable the ability to configure w/o putting the patch to rancher/kubernetes. I'm not going to include following commits to 1.10.0-rancher branch initially (it results in merge conflict too), and we have to see if it's possible to configure them as a command argument, or a diff patch is needed.
commit f11c6299ce2b927c3e34ea2afdf57cd08596802f (HEAD -> v1.10.0-rancher, tag: v1.9.5-rancher1, upstream/v1.9.5-rancher, v1.9.5-rancher)
Author: moelsayed<EMAIL_ADDRESS>Date:   Thu Dec 28 00:37:53 2017 +0200

    Remove bad tls ciphers

commit c948fa96bc026127f2e0524b7269b765891ac4d7
Author: galal-hussein<EMAIL_ADDRESS>Date:   Sat Nov 18 05:31:40 2017 +0200

    Add ciphers to kubelet TLS settings


Fail build if jekyll site generation fails

I am using your buildpack to compile a jekyll site, but while getting it setup I ran into some issues. I didn't have RedCloth in my Gemfile, which caused jekyll to fail. But it was failing silently. This change checks the return value of the jekyll step, and fails the build/push if jekyll fails.

Nice catch. Thanks for the patch!


chore: update package json

releaseFiles is not a valid field.
yarn.lock seems to have meaning for wat/wasm, but has no meaning for as-bignum lib. Should the lock file be removed?

Removing yarn.lock from "files" it seems make sense. But completely remove lock files is danger in term of security and compatibility

Fine. I closed it.


Upgrade libraries

Scalatest, aws sdk, alpakka and akka are all out of date. This is starting to cause issues so we need to upgrade in our projects

Upgrading

scalatest 3.1.1

akka 2.6.4

alpakka 1.1.2

aws asdk 2.11.14

[x] https://github.com/wellcomecollection/scala-json

[x] https://github.com/wellcomecollection/wellcome-typesafe-app

[x] https://github.com/wellcomecollection/scala-storage (excluding aws sdk which remains at 1.11.x)

[x] https://github.com/wellcomecollection/scala-monitoring

[ ] https://github.com/wellcomecollection/scala-messaging

[ ] https://github.com/wellcomecollection/catalogue


Hang with updated netcat-openbsd>=1.130.3

debian changelog
When using updated version of netcat (found problem on arch) py.test will indefinitely wait for "echo 'flush_all' | nc <IP_ADDRESS> 11211" "echo 'flush_all' | nc -N <IP_ADDRESS> 11211" is needed for the old behaviour which is not compatible with previous versions like ubuntu 14.04.
Created a pull request which uses pylibmc to flush_all and remove the dependency on nc

1.1.15 is out
thanks!


chore: pkg imported more than once

Which issue(s) this PR addresses:

Closes #

/assign @benluddy @pmtk
Is there any benefit to having the package imported using different names, or was this just an oversight?

/lgtm

/approve
Thank you, @testwill !


0.4 tentacle break proposal

tokio/bytes upgrade to 1.0
PR #293
TargetSession/TargetProtocol change
Currently, these two enumerated types under multi will force users to save all known session/protocol ids and specify them accurately, otherwise, they cannot be selectively broadcast, but this is not a good decision.
There are two proposals:

Add a tag like Exclude(HashSet<ID>), it can remove some known options, but you don’t need to know all the options(can manually control the sending sequence)
Change Multi(Vec<SessionId>) to Filter(Box<Fn(ID) -> bool + send + ‘static>), also achieved the purpose of flexibility(can't manually control the sending sequence )

Remove the deprecated event output mode
PR #293
Remove flutbuffer codec
PR #293
Extract core crate
Separate runtime encapsulation and transport layer into one library, and tentacle as a high-level encapsulation framework
Based on this design, it may be possible to implement a tentacle client to cover #205
Low priority, will not break API, can be done after release 0.4

It seems that you also cannot specify the sending order using Exclude(HashSet<ID>).

It seems that you also cannot specify the sending order using Exclude(HashSet<ID>).

But you can just use Multi(Vec<ID>) to specify the order

I prefer leave Multi(Vec<SessionId>) and add Filter(Box<Fn(ID) -> bool + send + ‘static>).

std has introduced the Stream trait, GAT, and existence types are also advancing. In the long run, async strait must become the first sequence of abstractions, although, at present, there is still a long way to go
The trait design of the current library actually follows the design of the 0.1 eras, when await did not appear, but, at present, it is already usable. We should consider switching the current trait to async trait so that users can better use the asynchronous environment, although, the current macro implementation has a certain performance loss
But this change will be a big break change for users, and some dependencies need to be added, It is expected that at least the tokio macro and async-trait crates are to be added, and at the same time, some of the code needs to be rewritten. At the same time, whether poll fn can be retained is an unverified function, which needs to be considered after verification
If there is a lock dependency in the user's implementation, perhaps the user needs to consider the use of locks.

Regarding async-trait, during the upgrade process, it is inevitable that part of the code needs to be rewritten. Based on stability and functional requirements, the rewritten part is only related to the user interface and has nothing to do with other modules.
Specifically, Service and protocol_handle_stream will be rewritten.
Instead of implementing the Stream trait, Service provides a startup function with the signature:
async fn run(&mut self) -> Option<()>

Used to adapt tokio::select! macro, is return None, no longer poll it.
ServiceHandle will change to:
#[async_trait]
pub trait ServiceHandle {
    async fn handle_error(&mut self, _control: &mut ServiceContext, _error: ServiceError) {}
    async fn handle_event(&mut self, _control: &mut ServiceContext, _event: ServiceEvent) {}
}

ServiceProtocol will change to:
#[async_trait]
pub trait ServiceProtocol {
    async fn init(&mut self, context: &mut ProtocolContext);
    async fn connected(&mut self, _context: ProtocolContextMutRef, _version: &str) {}
    async fn disconnected(&mut self, _context: ProtocolContextMutRef) {}
    async fn received(&mut self, _context: ProtocolContextMutRef, _data: bytes::Bytes) {}
    async fn notify(&mut self, _context: &mut ProtocolContext, _token: u64) {}
    #[inline]
    async fn poll(
        self: &mut Self,
        _cx: &mut Context,
        _context: &mut ProtocolContext,
    ) -> Option<()> {
        None
    }
}

SessionProtocol is similar to it. poll method is reserved to preserve the original custom wake-up function.
The Control inside the Context will be converted from a sync method to an async method, supporting await, but retaining the function of converting the sync structure
BlockingFlag will be removed, which means that tentacle no longer uses the block_in_place method by default, and users need to decide whether to use it or not.
The use of the above traits will depend on tokio::select!, which means dependence will include it.
We all know that await is the yield point of async code, which means that in distribution mode if a distribution point is pending, it will not perform subsequent distribution work until it is awakened again. Therefore, the poll mode of the session module will not be rewritten to await mode, just to detect and skip this situation, the link detection from service to the session has been moved to the session to protocol stream, so the rewriting does not affect its own function


docs: fix typo

Open an issue and discuss changes before spending time on them, unless the change is trivial or an issue already exists.
Use "VERB some thing here. Closes #n" to close the relevant issue, where VERB is one of:

add
remove
change
refactor

If the change is documentation related prefix with "docs: ", as these are filtered from the changelog.
docs: add ~/.aws/config
Run dep ensure if you introduce any new import's so they're included in the ./vendor dir.

 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.

oops sorry for the weird labels hahah, thanks!

It's the least I could do


Build core-2021.12.x breaks Zigbee2mqtt

The problem
Zigbee2mqtt does no longer start nor does it report status of devices and map function does not work anymore.
What version of Home Assistant Core has the issue?
2021.12.0
What was the last working version of Home Assistant Core?
2021.11.2
What type of installation are you running?
Home Assistant OS
Integration causing the issue
Zigbee2mqtt
Link to integration documentation on our website
No response
Example YAML snippet
Not applicable
Anything in the logs that might be useful for us?
Logfile :
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] socat.sh: executing...
[13:35:17] INFO: Socat not enabled, marking service as down
[cont-init.d] socat.sh: exited 0.
[cont-init.d] zigbee2mqtt.sh: executing...
[13:35:17] INFO: MQTT available, fetching server detail ...
[13:35:18] INFO: MQTT server settings not configured, trying to auto-discovering ...
[13:35:18] INFO: Configuring 'mqtt://core-mosquitto:1883' mqtt server
[13:35:18] INFO: Previous config file found, checking backup
[13:35:18] INFO: Creating backup config in '/config/zigbee2mqtt/.configuration.yaml.bk'
[13:35:18] INFO: Adjusting Zigbee2mqtt core yaml config with add-on quirks ...
[cont-init.d] zigbee2mqtt.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[13:35:19] INFO: Handing over control to Zigbee2mqtt Core ...

<EMAIL_ADDRESS>start
node index.js
CREATED DECONZ ADAPTER
Zigbee2MQTT:warn  2021-12-18 13:35:25: Using experimental new availability feature

Additional information
Returning to previous build resolves the issue.

I just want to add, that I have kind of the same problem.
After upgrading to 2021.12 Zigbee devices which sends signals in to hass does not work but signals going out works fine.
Ie. my remote does not work, but light-controlling from hass does.

I have also a problem with version >2021.12.X and Zigbee2mqtt. It's running but report status of devices does not work anymore. The entities could not be found after upgrade.
Returning to previous build 2021.11.5 resolves the issue.

I was trying to set up a new instance of Home Assistant today and found that the addon repository itself doesn't even work on 2021.12.5.  After adding the custom repository the two zigbee2mqtt addons still don't appear.  Downgrading to 2021.11.5 resolves that.

I was trying to set up a new instance of Home Assistant today and found that the addon repository itself doesn't even work on 2021.12.5. After adding the custom repository the two zigbee2mqtt addons still don't appear. Downgrading to 2021.11.5 resolves that.

How to you install a previous version? I thought about forking the repository ... is there a simpler way ?

How to you install a previous version? I thought about forking the repository ... is there a simpler way ?

https://community.home-assistant.io/t/how-to-downgrade-home-assistant/179735

There is something broken around, I suppose homeassistant changed something on their side.
The result is that my setup is completely broken, right now
I tested a fresh install of HASSOS 2021.12.7 and I can not even start my Conbee II adapter.
switching to ZHA works fine, looks something changed in the container stack.
[01:58:28] INFO: Handing over control to Zigbee2mqtt Core ...
><EMAIL_ADDRESS>start
> node index.js
2021-12-30T00:58:34.704Z zigbee-herdsman:adapter Failed to validate path: 'Error: spawn udevadm ENOENT'
2021-12-30T00:58:34.712Z zigbee-herdsman:controller:log Starting with options '{"network":{"networkKeyDistribute":false,"networkKey":[1,3,5,7,9,11,13,15,0,2,4,6,8,10,12,13],"panID":6754,"extendedPanID":[221,221,221,221,221,221,221,221],"channelList":[11]},"serialPort":{"path":"/dev/ttyACM0"},"databasePath":"/config/zigbee2mqtt/database.db","databaseBackupPath":"/config/zigbee2mqtt/database.db.backup","backupPath":"/config/zigbee2mqtt/coordinator_backup.json","adapter":{"disableLED":false,"concurrent":null,"delay":null}}'
2021-12-30T00:58:34.713Z zigbee-herdsman:adapter:zStack:znp:log Opening SerialPort with /dev/ttyACM0 and {"baudRate":115200,"rtscts":false,"autoOpen":false}
2021-12-30T00:58:34.729Z zigbee-herdsman:adapter:zStack:znp:log Serialport opened
2021-12-30T00:58:34.732Z zigbee-herdsman:adapter:zStack:znp:SREQ --> SYS - ping - {"capabilities":1}
2021-12-30T00:58:34.736Z zigbee-herdsman:adapter:zStack:unpi:writer --> frame [254,0,33,1,32]
2021-12-30T00:58:34.992Z zigbee-herdsman:adapter:zStack:znp:log Writing CC2530/CC2531 skip bootloader payload
2021-12-30T00:58:34.995Z zigbee-herdsman:adapter:zStack:unpi:writer --> buffer [239]
2021-12-30T00:58:35.998Z zigbee-herdsman:adapter:zStack:znp:SREQ --> SYS - ping - {"capabilities":1}
2021-12-30T00:58:36.002Z zigbee-herdsman:adapter:zStack:unpi:writer --> frame [254,0,33,1,32]
2021-12-30T00:58:36.254Z zigbee-herdsman:adapter:zStack:znp:log Skip bootloader for CC2652/CC1352
2021-12-30T00:58:36.714Z zigbee-herdsman:adapter:zStack:znp:SREQ --> SYS - ping - {"capabilities":1}
2021-12-30T00:58:36.715Z zigbee-herdsman:adapter:zStack:unpi:writer --> frame [254,0,33,1,32]
2021-12-30T00:58:42.721Z zigbee-herdsman:adapter:zStack:znp:SREQ --> SYS - ping - {"capabilities":1}
2021-12-30T00:58:42.725Z zigbee-herdsman:adapter:zStack:unpi:writer --> frame [254,0,33,1,32]
2021-12-30T00:58:48.731Z zigbee-herdsman:adapter:zStack:znp:SREQ --> SYS - ping - {"capabilities":1}
2021-12-30T00:58:48.732Z zigbee-herdsman:adapter:zStack:unpi:writer --> frame [254,0,33,1,32]
Zigbee2MQTT:error 2021-12-30 01:58:54: Error while starting zigbee-herdsman
Zigbee2MQTT:error 2021-12-30 01:58:54: Failed to start zigbee
Zigbee2MQTT:error 2021-12-30 01:58:54: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start.html for possible solutions
Zigbee2MQTT:error 2021-12-30 01:58:54: Exiting...
Zigbee2MQTT:error 2021-12-30 01:58:55: Error: Failed to connect to the adapter (Error: SRSP - SYS - ping after 6000ms)
    at ZStackAdapter.start (/app/node_modules/zigbee-herdsman/src/adapter/z-stack/adapter/zStackAdapter.ts:102:27)
    at Controller.start (/app/node_modules/zigbee-herdsman/src/controller/controller.ts:123:29)
    at Zigbee.start (/app/lib/zigbee.ts:58:27)
    at Controller.start (/app/lib/controller.ts:100:27)
    at start (/app/index.js:97:5)
[01:58:55] INFO: Zigbee Herdsman debug logging enabled
[01:58:55] INFO: Handing over control to Zigbee2mqtt Core ...

Have the exact same issue as the first post at the moment with a new installation, it will hang after the creating the deconz adapter and it doesn't seem to move any further. The WebUI gets stuck on loading at the same time.
This is happening with 2021.12.7
INFO: Handing over control to Zigbee2mqtt Core ...
<EMAIL_ADDRESS>start
node index.js
CREATED DECONZ ADAPTER
Zigbee2MQTT:warn xxx  Using experimental new availability feature

I managed to somehow workaround by connecting the ConBee adapter to another system, and using the remote adapter feature.
I used this guide https://www.zigbee2mqtt.io/advanced/remote-adapter/connect_to_a_remote_adapter.html#_2-b-configure-ser2net-4-0

Not sure if this helps, but the issue doesn't show if I use the zigbee2mqtt-edge version instead.


Improve "clean" deployments, various apps

Fix an oversight in the thumbp role, where a re-created thumbp user account would result in /var/log/thumbp/thumbp.log no longer being writable after a "clean" deployment, which would cause thumbp not to be able to start again.  (Solution: recursively ensure log directory ownership.)
Introduce the clean_rbenv variable, which can be used to delete a Rails application's Rbenv in order to clean it out, or to recompile C extensions from scratch; useful, for example, after an o/s upgrade.

Should the cleaning of rbenv apply to PSS as well?

Thanks, @moltude, you've pointed out an important flaw in all of this. We should either have separate application user accounts for pss and the others, whereas we now have just the dpla account; or the clean operation should just remove the relevant rbenv version. Otherwise, on a development VM, this could wipe out the rbenv of, say, the frontend, when pss is cleared, and vice-versa.
I'll make an issue tracker story to follow up on this work next sprint.
Thanks again for looking at this.

Sure thing @markbreedlove I understand your comment to mean that you'd like to keep this PR open for that new ticket. Is that correct?

Thanks, that's correct. It should be closed out as part of the scope of the next ticket.

@moltude: I've finally added PSS, since those other account-related changes have gone through. I'ver rebased this on develop.


add reference line

[X ] I agree to follow the Code of Conduct that this project adheres to.
[X ] I have searched the issue tracker for a feature request that matches the one I want to file, without success.
Is your feature request related to a problem? Please describe.
no
Describe the solution you'd like
Add Reference line of drawing software such as Photoshop
Describe alternatives you've considered
The reference line and auxiliary line have their own application scenarios
Guides can prompt lines to align surrounding objects when dragging objects with the mouse.
The reference line will appear in common design graphics software, such as PS, Visio, etc.
For example, I need to design a fixed scale drawing of the project. I need to design the overall skeleton according to the specified size in advance. Some fixed boundaries will be designed in advance. I will use reference lines to divide them in advance. When designing the drawing, it is conducive to the accurate placement of elements.

OK, this is too much, you're banned for breach of the code of conduct. Duplicate of #2644


Unable to find  nuScenes devkit

Why can't I find the nuScenes devkit, the dataset I'm using is the v1.0-mini nuScenes dataset, but when running the evaluation code I get:
python ./tools/dist_test.py ./configs/nusc/voxelnet/nusc_centerpoint_voxelnet_01voxel.py --work_dir work_dirs/nusc_centerpoint_voxelnet_01voxel/ --checkpoint work_dirs/nusc_centerpoint_voxelnet_01voxel/latest.pth --speed_test

No APEX!
~/CenterPoint/det3d/core/bbox/geometry.py:149: NumbaDeprecationWarning: The keyword argument 'nopython=False' was supplied. From Numba 0.59.0 the default is being changed to True and use of 'nopython=False' will raise a warning as the argument will have no effect. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.
  @numba.jit(nopython=False)
~CenterPoint/det3d/core/bbox/geometry.py:162: NumbaDeprecationWarning: The keyword argument 'nopython=False' was supplied. From Numba 0.59.0 the default is being changed to True and use of 'nopython=False' will raise a warning as the argument will have no effect. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.
  @numba.jit(nopython=False)
~/CenterPoint/det3d/core/bbox/geometry.py:279: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.
  @numba.jit
nuScenes devkit not Found!
No Tensorflow
Deformable Convolution not built!
No APEX!
2023-12-20 22:47:39,612 - INFO - Distributed testing: False
2023-12-20 22:47:39,612 - INFO - torch.backends.cudnn.benchmark: False
2023-12-20 22:47:39,681 - INFO - Finish RPN Initialization
2023-12-20 22:47:39,681 - INFO - num_classes: [1, 2, 2, 1, 2, 2]
Use HM Bias:  -2.19
2023-12-20 22:47:39,703 - INFO - Finish CenterHead Initialization
Use Val Set
10
2023-12-20 22:47:40,439 - INFO - work dir: work_dirs/nusc_centerpoint_voxelnet_01voxel/
[                                                  ] 0/81, elapsed: 0s, ETA:/home/wyj/anaconda3/envs/centerpoint/lib/python3.11/site-packages/torch/functional.py:504: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3526.)
  return _VF.meshgrid(tensors, **kwargs)  # type: ignore[attr-defined]
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] 81/81, 7.9 task/s, elapsed: 10s, ETA:     0s
 Total time per frame:  0.09292174268651891
======
Loading NuScenes tables for version v1.0-mini...
23 category,
8 attribute,
4 visibility,
911 instance,
12 sensor,
120 calibrated_sensor,
31206 ego_pose,
8 log,
10 scene,
404 sample,
31206 sample_data,
18538 sample_annotation,
4 map,
Done loading in 0.3 seconds.
======
Reverse indexing ...
Done reverse indexing in 0.0 seconds.
======
Finish generate predictions for testset, save to work_dirs/nusc_centerpoint_voxelnet_01voxel/infos_val_10sweeps_withvelo_filter_True.json
Traceback (most recent call last):
  File "/home/wyj/CenterPoint/./tools/dist_test.py", line 211, in <module>
    main()
  File "/home/wyj/CenterPoint/./tools/dist_test.py", line 201, in main
    result_dict, _ = dataset.evaluation(copy.deepcopy(predictions), output_dir=args.work_dir, testset=args.testset)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "~/CenterPoint/det3d/datasets/nuscenes/nuscenes.py", line 292, in evaluation
    eval_main(
  File "~/CenterPoint/det3d/datasets/nuscenes/nusc_common.py", line 614, in eval_main
    nusc_eval = NuScenesEval(
                ^^^^^^^^^^^^
NameError: name 'NuScenesEval' is not defined

But I have obviously added nuScenes devkit to the environment variables.
❯ echo $PYTHONPATH
:/home/wyj/CenterPoint:/home/wyj/CenterPoint/nuscenes-devkit/python-sdk

@triple-tam in https://github.com/tianweiy/CenterPoint/issues/87 i.e.
Thanks!

I have found the cause of the error because I am using python version 3.11 and in 3.11 cannot import name 'Iterable' from 'collections'，but， File "anaconda3/envs/centerpoint/lib/python3.11/site-packages/motmetrics/metrics.py" ，line 9 is ：
from collections import OrderedDict, Iterable

so, I have changed this code,

Hi！ Have you got the evaluation result of Centerpoint-PP in nusc-mini dataset? I evaluted the checkpoint provided by author in nusc-mini dataset, but the mAP is lower than paper's(mAP is 41, but the value in paper is 50.......). I don't know why....


TopK result always sort when k==num_cols

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

Have I written custom code (as opposed to using a stock
example script provided in TensorFlow): No
OS Platform and Distribution (e.g.,
Linux Ubuntu 16.04): CentOS Linux release 7.5.1804
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if
the issue happens on mobile device: No
TensorFlow installed from (source or
binary): - TensorFlow version (use command below): 2.1.0 using pip install
Python version: - Bazel
version (if compiling from source):NA
GCC/Compiler version (if compiling from
source): NA
CUDA/cuDNN version: - GPU model and memory:NA

You can collect some of this information using our environment capture
script
You can also obtain the TensorFlow version with: 1. TF 1.0: python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)" 2. TF 2.0: python -c "import tensorflow as tf; print(tf.version.GIT_VERSION, tf.version.VERSION)"
Describe the current behavior
top_k op always sort when k == input size
Describe the expected behavior
No sort when sorted=False
Standalone code to reproduce the issue
Provide a reproducible test case that is the bare minimum necessary to generate
the problem. If possible, please share a link to Colab/Jupyter/any notebook.
import tensorflow as tf

a = tf.constant([1, 2, 3, 4], dtype=tf.float32)
b = tf.math.top_k(a, k=4, sorted=False)
c = tf.math.top_k(a, k=4, sorted=True)

print(b)
print(c)

Other info / logs Include any logs or source code that would be helpful to
diagnose the problem. If including tracebacks, please include the full
traceback. Large logs and files should be attached.
TopKV2(values=<tf.Tensor: shape=(4,), dtype=float32, numpy=array([4., 3., 2., 1.], dtype=float32)>, indices=<tf.Tensor: shape=(4,), dtype=int32, numpy=array([3, 2, 1, 0], dtype=int32)>)
TopKV2(values=<tf.Tensor: shape=(4,), dtype=float32, numpy=array([4., 3., 2., 1.], dtype=float32)>, indices=<tf.Tensor: shape=(4,), dtype=int32, numpy=array([3, 2, 1, 0], dtype=int32)>)

The result show b and c are same with the result has been sorted.

I have tried on colab with TF version 2.1.0, 2.2.0-dev20200218 and was able to reproduce the issue.Please, find the gist here. Thanks!

@rmlarsen do you know who works on this?

I have tried on colab with TF version 2.2,2.3-rc1,nightly version(2.4.0-dev20200712) and was able to reproduce the issue.Please, find the gist here. Thanks!

able to reproduce even when k!=num_col. sorted is never effective.
import tensorflow as tf
a = tf.reshape(tf.range(100), (10, 10))
a = tf.random.normal((10, 10))
print(a)
print(tf.math.top_k(a, k=4, sorted=True))
print(tf.math.top_k(a, k=4, sorted=False))

(tf 2.4.1, Driver: 460.73.01, CUDA Version: 11.2 Quadro RTX 6000)

Was able to reproduce your issue in Tf Nightly 2.6.0-dev20210524, please find the gist here. Thanks!

Was able to reproduce your issue in Tf 2.11.0-dev20220801, please find the gist here. Thanks!

Hi,
Thank you for opening this issue. Since this issue has been open for a long time, the code/debug information for this issue may not be relevant with the current state of the code base.
The Tensorflow team is constantly improving the framework by fixing bugs and adding new features. We suggest you try the latest TensorFlow version with the latest compatible hardware configuration which could potentially resolve the issue. If you are still facing the issue, please create a new GitHub issue with your latest findings, with all the debugging information which could help us investigate.
Please follow the release notes to stay up to date with the latest developments which are happening in the Tensorflow space.


Move pipelines tab to Tools

Now pipelines are in workloads tab.
We are going to add more tabs such as HPA into workloads tab as well.
That page will be too busy.
After discussion, we should move Pipelines list into Tools as well.

@loganhz I do not want this in until you talk to @ankur111 about it

A little bit background for it. @ankur111
When I demoed HPA to the team, Alena, Sheng L and Will think the workloads pages are too busy.
They suggested we should move the pipeline tabs into tools.
So I just filed the issue and you guys can prioritize it.

Fixed in master


typo: Confguration -> Configuration

OPS Build status updates of commit eb5fc1e:
:clock10: Preparing: average preparing time is 1 min(s) 13 sec(s)

OPS Build status updates of commit eb5fc1e:
:clock10: Incremental building: average incremental building time is 12 min(s) 30 sec(s)

OPS Build status updates of commit eb5fc1e:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

skype/skype-ps/skype/Set-CsWebServiceConfiguration.md
:x:Error

Details

skype/skype-ps/skype/Set-CsWebServiceConfiguration.md

[Error] Unable to load file 'skype-ps/skype/Set-CsWebServiceConfiguration.md' via processor 'AzureCliDocumentProcessor': :890:(1491) 'Microsoft.Rtc.Management.WritableConfig.Settings.W...'
Expect Heading

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

OPS Build status updates of commit 1d826be:
:clock10: Preparing: average preparing time is 1 min(s) 13 sec(s)

OPS Build status updates of commit 1d826be:
:clock10: Incremental building: average incremental building time is 12 min(s) 30 sec(s)

OPS Build status updates of commit 1d826be:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

skype/skype-ps/skype/Set-CsWebServiceConfiguration.md
:x:Error

Details

skype/skype-ps/skype/Set-CsWebServiceConfiguration.md

[Error] Unable to load file 'skype-ps/skype/Set-CsWebServiceConfiguration.md' via processor 'AzureCliDocumentProcessor': :905:(1721) '- '
Expect hyperlink, but got -

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

OPS Build status updates of commit 2a6fc9f:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

skype/skype-ps/skype/Set-CsWebServiceConfiguration.md
:x:Error

Details

skype/skype-ps/skype/Set-CsWebServiceConfiguration.md

[Error] Unable to load file 'skype-ps/skype/Set-CsWebServiceConfiguration.md' via processor 'AzureCliDocumentProcessor': :905:(1721) '- '
Expect hyperlink, but got -

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

OPS Build status updates of commit 4bfec54:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

skype/skype-ps/skype/Set-CsWebServiceConfiguration.md
:white_check_mark:Succeeded
View (skype-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


git: fix darwin build

The install step for the darwin specific $out/etc/gitconfig file
assumed that $out/etc already existed. This assumption is no longer
true after f5e2ff1ed80dac74bfb0afa92f34641cce098a49 in #103421. This
change makes make sure the directory exists before adding to it.
Motivation for this change
Fix failing build.
This is untested. I'm opening as draft while I wait for the build.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Is there a reason it's draft?

I see tests fail on aarch64, can't imagine how that could be related though, looks good to merge.

Builds locally for me! Ready for review.


a11y: Checkbox labels not read in Firefox + NVDA

Describe the bug
The screen reader does not read the checkbox label. This is only reproduced for this combination of Firefox 115/116/117 + NVDA + Windows 10/11. All other browsers and screen readers work fine.
To Reproduce
Steps to reproduce the behavior:

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

Expected behavior
Screenreader is reads checkbox label
Screenshots

I don't have that version of Firefox, but confirmed that labels are read on the latest FF with NVDA.


CI: add test against oldest supported JAX version

Also bump the oldest supported JAX version to 0.4.25, because both packages use the jax.tree submodule which was added in JAX 0.4.25.

Replaced by #953


Ban urllib.parse.urljoin (security issue and confusing name)

Hi, idea for the rule - ban urllib.parse.urljoin, there are two issue with it:

Docs says:

Warning Because an absolute URL may be passed as the url parameter, it is generally not secure to use urljoin with an attacker-controlled url. For example in, urljoin("https://website.com/users/", username), if username can contain an absolute URL, the result of urljoin will be the absolute URL.

Behaviour is far away from what you might expect from join function (for example base on join method for strings), it's some merging/overlaying/mixing of two urls, see also here.

>>> from urllib.parse import urljoin
>>> urljoin("https://astral.sh/", "https://hackme.co")
'https://hackme.co'

I guess it's easy to ban it by
[lint.flake8-tidy-imports.banned-api]
"urllib.parse.urljoin".msg = "Use yarl's URL"

but same time you need to get know somehow about the issue, it's hidden by the function name, so, perhaps good to have a rule.

(for example base on join method for strings)

Compare with os.path.join instead, and you'll notice this is expected behavior:
>>> from os.path import join
>>> join(r'C:\astral\sh', r'D:\hackme\co')
'D:\\hackme\\co'
>>> join(r'C:\some\more', r'\thing')
'C:\\thing'

Pathlib.joinpath ¯\_(ツ)_/¯

Path.joinpath ¯_(ツ)_/¯

... does not do the right thing here 😄 See what happens to slashes...
>>> pathlib.Path("https://astral.sh/").joinpath("https://hackme.co")
WindowsPath('https:/astral.sh/https:/hackme.co')
>>> pathlib.PurePath("https://astral.sh/").joinpath("https://hackme.co")
PureWindowsPath('https:/astral.sh/https:/hackme.co')
>>> pathlib.PurePosixPath("https://astral.sh/").joinpath("https://hackme.co")
PurePosixPath('https:/astral.sh/https:/hackme.co')

@akx this is absolutely the right thing at least for posix paths (source: POSIX.1-2017 / Base Definitions / 3.271 Pathname)

Absolutely! Sorry, I was thinking you meant Path() could be the right thing to use for joining URLs. Never mind me...


Native node fetch support?

Since node v18 fetch has been available as a native API. Are there any plans to update this package and the SDKs that use this to use the native fetch implementation?

Sorry this was meant for https://github.com/SalesforceCommerceCloud/commerce-sdk-core


PT trashed!

Tracing targets with Intel PT can sometimes run into "PT trashed" warning messages on the console. This is to notify about underlying warning raised by CPU:
Overflow (OVF) packets: OVF packets are sent when the processor experiences an internal buffer overflow,
resulting in packets being dropped. This packet notifies the decoder of the loss and can help the decoder to
respond to this situation.

PT overflow has been observed mainly when fuzzing usermode targets. The linux-user/forkserver example tends to produce this type of warnings for many targets and it has been reported by third parties targeting Windows as well.
Impact: Encountering this error currently prints a WARN level message in https://github.com/IntelLabs/kafl.fuzzer/blob/master/kafl_fuzzer/worker/qemu.py#L401. There may be less or no coverage for these failing executions, depending on when/how the overflow occurs. If you run into this error and cannot identify mitigations, you probably just want to reduce the error severity.
Todo: WIP to reproduce + identify mitigations.

Update: libxdc can recover from overflow events, so in the typical case only a few TNT packets will be lost (few edges of a trace). Should update kAFL to reduce the warning level.

Fixed in https://github.com/IntelLabs/kafl.fuzzer/commit/ebdec582ef794f4fb5714ec20dd647ca88cf59e4


Transition to google maps Advanced Markers

More on advanced markers can be read about here: https://cloud.google.com/blog/products/maps-platform/announcing-highly-customizable-higher-performance-markers?utm_source=gamma&utm_medium=email&utm_campaign=%2BFY22-Q4-global-Maps-email-dl-AdvancedMarkersLaunch&utm_content=advancedmarkers.
They allow for the customization of markers, but even if we leave the pins looking the same, they should have better performance.
Along with the transition to the new google maps marker system, I added a "heatmap" that shows which schools have more students attending through a darker color.

If most people think this looks bad, I can just revert to the original pin color and just use Advanced Markers for the performance.

Make sure commits from previous PRs aren't duplicated—otherwise this looks amazing!

This change would make the map look like this

There were opinions shared by some that the differently colored pins were not very aesthetically pleasing, so this is another option if most think it would look better.

I suppose I'm more fond of option 2, though it's tough. Not to drag this on, but what if, for option 2, single student destinations were just he normal circle glyph and for anything > 1 it's the number.


Setting should extract raw strings from environment

It's probably the most straightforward case, but it doesn't work, because plain string is not a valid JSON.

Since we decided to deprecate loading settings from env variables, I close this issue as wontfix.


fix: typos in documentation files

This pull request contains changes to improve clarity, correctness and structure.
Description correction:
Corrected Superfliud to Superfluid
Corrected Uniswap is the largest is the largest marketplace to Uniswap is the largest marketplace
Please review the changes and let me know if any additional changes are needed.

🟡 Heimdall Review Status

Requirement
Status
More Info

Reviews

🟡
0/1

Denominator calculation

Show calculation

1 if user is bot
0

1 if user is external
0

From .codeflow.yml

1

Additional review requirements

Show calculation

Max
0

0

From CODEOWNERS

0

Global minimum
0

Max

1

1

1 if commit is unverified
0

Sum
1

@anim001k Thanks for fixing; this is a code artifact that needs to be removed from the repo, so we're going to leave as-is for now.


Dynamic language docs

Ruby Codegen Work

Adding enums in the model
Adds a couple comments
Adds x-ruby-payload and x-ruby-requestBody vendor extension(strings)

for all POST's that require body parameters and fixes docs to use the new enum values - currently only accounting docs are fixed.

Note, was not able to fix the specs in the mustache templates without an un-reasonable amount of scripting.. So will just add those & fix manually as new sets are layered in.

--- Needs Review ----- @SidneyAllen

pattern for adding dynamic language docs.. (Ruby is not able to be generated by htmlDocs2 at this point 👎  I joined their slack and am seeing if it is something I could open source contribute, or if there is another technical language reason why not..)
Removed OrganisationEntityType enums as they were duplicates, and was causing runtime warnings in model due to duplication.

🚨 🚨 🚨 Need confirmation not breaking change in other SDK gen changing OrganisationEntityType to a string 🚨 🚨 🚨
If breaking change I can roll back. Dup constants in organisation.rb not breakage but just requires more bash scripting.

REF: https://github.com/XeroAPI/xero-ruby/pull/49

@SidneyAllen - I'm okay with not merging this master until I have a better grasp on how much work it would be rolling the ruby examples into the htmldocs2? Lmk your thoughts and I can totally keep generating ruby off this branch.

@SerKnight - I am comfortable letting you continue to iterate on this approach before deciding to merge or not merge.

Decided to merge this into master. It will likely be removed in the future in lui of a more consistent documentation approach, but that is TBD on an exact timeframe. Will not effect continued dev of all other sdks.


Compilation possible on macOS with ARM64 architecture?

I tried to compile using the conda-forge compilers toolchain, but it didn't work.
What I tried was:
conda create -y --name cactus
conda activate cactus
conda install -c conda-forge compilers cmake
mkdir -p build
cd build
cmake ..
make

When I run cmake, I got the following output:
cmake ..
-- The Fortran compiler identification is GNU 11.3.0
-- Checking whether Fortran compiler has -isysroot
-- Checking whether Fortran compiler has -isysroot - yes
-- Checking whether Fortran compiler supports OSX deployment target flag
-- Checking whether Fortran compiler supports OSX deployment target flag - yes
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Check for working Fortran compiler: /Users/yhlee/conda/envs/cactus/bin/arm64-apple-darwin20.0.0-gfortran - skipped
-- The C compiler identification is Clang 14.0.6
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Users/yhlee/conda/envs/cactus/bin/arm64-apple-darwin20.0.0-clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Looking for Fortran sgemm
-- Looking for Fortran sgemm - not found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Looking for Fortran dgemm
-- Looking for Fortran dgemm - found
-- Found BLAS: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Accelerate.framework
-- Looking for Fortran cheev
-- Looking for Fortran cheev - found
-- Found LAPACK: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Accelerate.framework;-lm;-ldl
-- Found OpenMP_C: -fopenmp=libomp (found version "5.0")
-- Found OpenMP_Fortran: -fopenmp (found version "4.5")
-- Found OpenMP: TRUE (found version "5.0")
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/yhlee/Documents/CACTUS/build

However, when I try to make, I get following error message:
make
[  1%] Building Fortran object CMakeFiles/cactus.dir/src/mod/airfoil.f90.o
arm64-apple-darwin20.0.0-gfortran: fatal error: no input files
compilation terminated.
/bin/sh: -O2: command not found
make[2]: *** [CMakeFiles/cactus.dir/src/mod/airfoil.f90.o] Error 127
make[1]: *** [CMakeFiles/cactus.dir/all] Error 2
make: *** [all] Error 2

When I checked the folder CMakeFiles/cactus.dir/src/mod/, there was no "airfoil.f90.o" file created there.
However, I was able to still find the input file (../src/mod/airfoil.f90), and I also checked the content of the source code.
How can I resolve this problem? Thank you.

No solution here, but I also encounter this using the conda-forge compilers toolchain and x86_64 Python. So it seems this is a general problem of the CMakeLists.txt on Mac, not specific to ARM64.


vers: 0-latest not accepted by newt 1.7.0

Using this piece of the blinky tutorial on Linux (Ubuntu 18)
repository.mynewt_stm32f3:
    type: github
    vers: 0-latest
    user: runtimeco
    repo: mynewt_stm32f3

There is an error message given during the newt install -v step:

Error: failure parsing version for repo "mynewt_stm32f3"; Invalid version string: "master"; must be fixed (X.X.X) or floating (X[.X]-stability)

Trying explicit versions doesn't seem to help either.
This was using the latest release on the download page.  The response from newt version is:
Apache Newt
    Version: 1.7.0
    Git Hash: 80bcba7
    Build Date: 2019-07-17_18:21

However, downgrading to Apache Newt (incubating) version: 0.9.0 does not get the error, and finishes by reporting:
mynewt_stm32f3 successfully installed version 0.9.0-none

This appears related to the issue here:
https://github.com/apache/mynewt-newt/issues/297#issuecomment-492760479
Hence the problem is that the https://github.com/runtimeco/mynewt_stm32f3 has not had its repository.yml updated to follow the rule.  Unfortunately, there seems to be nothing that can be done at the repository usage site...because newt seems to be doing a kind of whole-file validation of repository.yml.
So I forked the repository to change the line, and it got past that.  The next problem is under the apache GitHub, mcumgr, which maps 0.0.0 to master
https://github.com/apache/mynewt-mcumgr/blob/8e20176e38dad0815ce6f51abad565bda747f936/repository.yml#L22

Hi,
hmm it looks like tutorial is very outdated as stm32f3discovery support lives now in -core.
So you don't need https://github.com/runtimeco/mynewt_stm32f3 at all. Just use "@apache-mynewt-core/hw/bsp/stm32f3discovery" as target bsp.

@sjanc I'm probably going to tinker with another toolchain for the moment (as I got a different one to work).  But the tutorial source lives in this repo so a "This tutorial has not been updated for recent newt, please send a PR to fix it" message there seems a minimal change (e.g. would save people like me crossing it some time).
I will point out that the mcumgr was updated just 15 days ago and came up with the same complaint, so there may be more than one thing that needs fixing.
Someone might get in touch with runtimeco to add a link in the readme mentioning the deprecation and the new location.  I'm afraid I was just trying to follow what looked like a simple tutorial for a board a friend gave me with no instructions, so phrases like "target bsp" are meaningless to me.

Hi, tutorial is now updated


Writing large amounts of data with nRF52 EasyDMA yields panic

As mention by @Dirbaio in #640, writing large amounts of data (n > FORCE_COPY_BUFFER_SIZE  > EASY_DMA_SIZE) with methods that use EasyDMA (SPIM, UARTE, TWIM) will yield a panic. This is related to the fact that the internal buffers used can not hold the amount of data passed in.
Both issues can be remedied by adding another layer on-top which splits the data into chunks and transmits those individually.
Originally posted by @Dirbaio in https://github.com/embassy-rs/embassy/issues/640#issuecomment-1049510130

Chunking will work for UARTE and SPIM, not for TWIM.
Unfortunately, the TWIM hardware does a repeated-start every time you start a new transfer. This will break communications with chips that don't expect that repeated-start, and doesn't fulfill the embedded-hal contract. Nordic has confirmed it's not possible to transmit multiple buffers without a repeated-start: https://devzone.nordicsemi.com/f/nordic-q-a/66615/nrf52840-twim-how-to-write-multiple-buffers-without-repeated-start-condition

That begs the question whether there is somewhat common TWIM hardware that needs transmissions that are larger than a couple hundred bytes or if this is a non-issue. I guess that is something time will tell and whether the use-case arrives.
It might make sense to retain a reasonable panic message in the TWIM API then, I'll re-implement it in my PR.


Links from actively edited peerpads should have different landing place than blank entry

When you are sent and click on a peer-pad link that points to an active doc that is being shared with you - the redirect/loading page should look different than a blank peer pad. The UX problem is that you are following a link that someone sent you to notes and on first load it looks like a blank/empty peer-pad - which gives the impression that all the previously added data has been lost, or you were sent a wrong link (without a reference to the specific doc).
Instead, when editing a peerpad, the link in the URL bar / in the "share" button should have some sort of special marker that differentiates it from a brand fresh peerpad doc. On click of that link, there should be a "loading" screen while IPFS tries to find the document content in the DHT - only after timeout should the user be prompted to create a blank peer pad (and I assume it will have a different weblink, no?)

https://github.com/ipfs-shipyard/peer-pad/issues/266


Add support for Anaconda

Pull Request (PR) description
This PR adds support for the anaconda distribution of python (https://www.anaconda.com/)

Dear maintainers, any update about this enhancement?

Thanks for the PR @grsakea !


Error: Unable to commit changes to network database

Dear Sir,
I've been using your scripts successfully and I find it extremely useful for my use. I thank you for your job very much. However, I'd like raise what seem to be a small issue written in the log file:
Wed Jan 6 11:11:49 GMT 2016   root  Received a signal to shutdown
** Error: Unable to commit changes to network database.
** Error: Unable to commit changes to network database.
** Error: Unable to commit changes to network database.
** Error: Unable to commit changes to network database.
** Error: Unable to commit changes to network database.
** Error: Unable to commit changes to network database.

Although the script seems to perform my desired action well at shutdown time, above statements appear in the log file.
What do you think?
Thank you for your help.
Faxopita

Hi, the scope of my scripts was to start/stop something respectively at boot/shutdown. I suppose this message was generated by your customisation. Could you please post your version of my scripts?

Thanks for your reply. Here's what you asked:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<!--
    You should customize the following placeholders:
- BOOT.SHUTDOWN.SERVICE : If you don't know, leave it as is
- SCRIPT_PATH : the path where the boot-shutdown.sh script is stored.
- LOG_PATH : the path where the logs are stored.

  # INSERT HERE THE COMMAND YOU WANT TO EXECUTE AT STARTUP

  tail -f /dev/null &
  wait $!
}

trap shutdown SIGTERM
trap shutdown SIGKILL

startup;

Sorry for long delay, I missed your answer.
Try to add this in your plist file:
     <key>UserName</key>
    <string>root</string>

Dear Sir, thanks very much for your help. I added it, but it didn't
help. However, this little issue does not prevent the PLIST file to do
its job. For that, I thank you again because your PLIST file/script do
precisely what I want.
Le 29/01/2016 14:20, freedev a écrit :

Sorry for long delay, I missed your answer.
Try to add this in your plist file:
|UserName|
|root|
—
Reply to this email directly or view it on GitHub
https://github.com/freedev/macosx-script-boot-shutdown/issues/1#issuecomment-176779039.


Wrong url when starting jupyterlab

If I go to https://mybinder.org/ and fill in mdeff/ntds_2017, branch conda-env and url lab it builds and launches properly but then redirect me to a url like https://hub.mybinder.org/user/mdeff-ntds_2017-kc5st22d/tree/lab. Note the tree/lab at the end.
If I instead call binder with https://mybinder.org/v2/gh/mdeff/ntds_2017/conda-env?urlpath=lab, then I don't get the tree part and am correctly redirected to https://hub.mybinder.org/user/mdeff-ntds_2017-kc5st22d/lab.

this sounds like intended behavior to me...note the "file" state of the button just to the left of launch.

That will make the URL contain filepath= not urlpath= as a parameter. You wanna click the button and then select "URL" then try again. Does that fix it?

Okay I found the issue... I was selecting "File" and not "URL" in the path field. Could it instead be inferred that if the path ends with .ipynb it's a notebook and tree should be appended to the url?

(FWIW this is definitely an unintuitive UI and we're thinking about ways to improve it)

Ah I discovered it too late. Thanks @choldgraf. It's very unintuitive indeed... Maybe at least put the selector on the left?

We've got a PR that'll update the launch button to the right, and I think the next step will be figuring out stuff like URL vs. filepath. I agree putting the button on the left might help!
Mind if I close this in the meantime? Hopefully UI improvements will come soon :-)

Sure. I look forward to the UI update.

Thanks for the feedback! Agree there's a ways to go on the UI side. We've spent most of our time on backend stuff so far but it's time for a few front-end cycles methinks :-)

While you are here, any idea why the jupyterlab I get with https://mybinder.org/v2/gh/mdeff/ntds_2017/conda-env?urlpath=lab is broken? I installed jupyterlab and the launcher with conda while the example used pip.

yes I do actually, I ran into the problem yesterday :-)
It's an annoying bug introduced by the fact that we pinned jupyterlab to 0.28, but jupyterlab_launcher 0.6 isn't compatible with it. The bugfix is already making its way through the pipeline and should be fixed soon. In the meantime you should be able to get this working by pinning jupyterlab_launcher to 0.5

Oh that's good thanks :-)

Confirmed to work: https://mybinder.org/v2/gh/mdeff/ntds_2017/master?urlpath=lab :-)

wohoo!!


Website Request: https://chrysanthemumgarden.com/

Hi. 🤗 Is it possible to add this https://chrysanthemumgarden.com/ site?

I'll see to it as soon as i can... shouldnt take longer that a day

Thank you so much. ❤

I also would like to bring to your attention that https://chrysanthemumgarden.com/ has a protection in the form of a jumble code that makes some paragraphs gibberish in all the chapters.

Noted

The website uses a jumbled type face.
@font-face{
    font-family: opensans-jumbld;
    src: url(fonts/OpenSans-Jumbld2.woff2) format('woff2'), url(fonts/OpenSans-Jumbld2.woff) format('woff'), url(fonts/OpenSans-Jumbld2.ttf) format('truetype');
    font-weight: 400;
    font-style: normal
}

.jum {
    font-family: opensans-jumbld!important;
}

They dont offer and .otf font file, which is the only type that supports epub
I could come with a workaround by creating a map.. but that is gonna take some time to fully map

It's fine, take your time and thank you so much for the efforts..

Progress
I have put it on hold as I need to manually write down the correct version and I found it a very time consuming process.
The font-face only seems to map ascii letters with lowercase and uppercase mapping to different chars. That means 26*2=52 to characters map.
my progress so far is
mapped: 31, not mapped: 21
need to be mapped: ['j', 'q', 'A', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'Y']
jumbled not used: ['d', 'p', 'A', 'B', 'C', 'E', 'F', 'G', 'H', 'K', 'L', 'M', 'N', 'O', 'Q', 'S', 'T', 'U', 'V', 'X', 'Y']

Together with this and some more observation it can be confirmed that, lowercase maps to lowercase and uppercase maps only to uppercase.
Data
If you'd like to help with the mapping you can upload the data as such
Pc tlr fjg lr atf rbecv bo atf yjrxfayjii gtsatwlmjiis ybecmlcu bc atf ugbecv. Rlf Jtejc fztjifr, tlr ujhf qjrrlcu ecvfg Zjgx’r jgwr, tf ibmxfv atf qbrlalbcr bo atf batfg akb bqqbcfcar jr kfii jr Itbe Dlc jcv Zjb Wljc.

In his ear is the sound of the basketball rhythmically bouncing on the ground. Nie Chuan exhales, his gaze passing under Mark’s arms, he locked the positions of the other two opponents as well as Zhou Bin and Mao Xian.

Where, the first line is jumbled and the second the mapped translation. Again I would like to emphasize proper capitalization is extremely important

I have got a a full map from their font-face... I'll upload it soon
though it should be said this is a temporary way of doing this, after all, they can change the font-face anytime

I'll be getting the font maps from the font files... but there seems to be more than one font-face

Pushed a commit c71a7ead935e8c2cd7497d639c60e906e71d141c
Install latest via
pip install git+https://github.com/mHaisham/novelsave.git

then you should be able to download from https://chrysanthemumgarden.com.
if you encounter any edge cases or errors, please create a new issue.


[AMBARI-24671] Workaround for non-atomic directory creation

What changes were proposed in this pull request?
before-* hooks create a few directories.  If parallel agent execution is enabled tasks may need to be retried, because directory creation is not atomic (see AMBARI-24670). This causes delays during cluster deployment.  While the underlying problem is being fixed, the goal of this task is to provide a workaround by creating the directory during sysprep phase.
https://issues.apache.org/jira/browse/AMBARI-24671
How was this patch tested?
Tested cluster deployment via blueprints in sysprepped environment.  Verified that no OSError happened related to directory creation.

retest this please

retest this please

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/4029/
Test PASSed.


Question about the calculation of prediction probability

Hi,
Thanks for your excellent work for long-tailed multi-label visual recognition.
I am little confused about the calculation of prediction probability as shown below (formula 2). For example, let us assume that there exist three labels (i=a,b or c) in an image. We hope the prediction probability of the three labels are high enough. However, the prediction probability is normalized by the sum of all label classes like softmax, which can decline the prediction probability significantly when several labels exist. It seems really strange. Could you please give me some instructions?

Best regards

Hi, Thank you for your great question.
Several clip-based prompt tuning methods, like coop, cocoop, dualcoop, etc.,  all employed the softmax-like function. To ensure a fair comparison, we also utilized softmax for prediction probability. However, in multi-label tasks, it's possible that using the sigmoid activation function might yield better results. You could explore experimenting with that approach.

Thanks for your prompt reply! Actually, to deal with multi-label problem, DualCoOp outputs the predicted probability by calculating softmax value for a positive and negative pair, instead of calculating for all classes. In this way, the output can be regarded as probability for further ASL calculation. However, in your framework, the output probability will differ significantly with different number of classes for the reason of ustilizing softmax function for all classes. So I'm not sure whether it will decrease the performance of your framework. Anyhow, the presented results are quite excellent! :)

Yes. Your thinking is comprehensive, and indeed, the situation you mentioned could arise. Thank you for your question!


Feature Request: Hand poses need to use Input Actions

Reality Collective - Reality Toolkit Feature Request
Is your feature request related to a problem? Please describe

Currently, detected hand poses are only exposed as a string emmitted inside a Pose event, this limits the ability to have functionality directly react to poses or requires a relay to listen for input events and transpose the "pose" to an event.
How would you classify your suggestion

Usability / Configuration

Describe the solution you'd like

When a Hand Pose is detected, it should also raise an Input event with the action configured for the Pose
This should NOT replace the current solution for backwards compatibility.

Also found a potential bug @FejZa ,  Seems the LAST pose is reported CONSTANTLY, even when the pose is not detected.
Surely we should only receive an event/update when a pose is detected, and then another when the pose is lost?
Something to take in to account with the new Hands system


Continued training model.fit() creates spurious validation entries in external log

In https://github.com/LarsKue/lightning-trainable/blob/main/src/lightning_trainable/trainable/trainable.py#L352, the vall to validate() creates an entry in the tensorboard log at step=0, even if the training is continued from a later step. (Happens when fit_kwargs["ckpt_path"] is set to a checkpoint path).

Nicely spotted. I will have a look into if we can adjust the state before the validation call.

Added a work-around in eb29b1603999c91fa0d4d157a1a139302143901e.
For future reference: this bug was caused by a preemptive call to trainer.validate() before fitting. However, we needed to perform this call in order to gather initial metrics to watch for hyperparameter logging (as required by the TensorBoardLogger). This is now done via a test batch with no log calls.

on_train_start misses its target: It does not have the "training/" or "validation/" prefix in the log entries, so that the Tensorboard is cluttered with additional panels that only get a single entry ever.

I added a preliminary fix for this, but now there are "nan"s in the Tensorboard...

Thank you for the preliminary fix.
Are there any cases in which we care about the metrics evaluated on the training set? HParams are in my experience only ever optimized on the validation set, so fetching a validation batch and computing the starting keys & values for tensorboard seems like a good solution to me here (of course, now with the proper "validation/" prefix).


Update broken links

build/objects to => learn/objects.md
build/transactions.md to =>  learn/transactions.md

Hi @geomel I believe these are fixed in main already. Looks like you need to rebase, and please submit the PR to main rather than devnet.

My bad, thought it was a different issue than #7572


Make parallel testing work under Windows.

python runtests.py -m is currently broken under Windows. The first issue is that enters an infinite spawn-loop (similar to a fork bomb under Unix :-)). There may be other issues after that one is fixed.

Since this now works correctly (unless perhaps with 2.6?), I'm gonna close this issue.