Clojure Contrib Package

Description
This adds a Clojure package for MXNet under a contrib package
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[ X] Changes are complete (i.e. I finished coding on this PR)
[ X] All changes have test coverage:
[ X] Code is well-documented:
[ 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
This is the initial commit of the Clojure package in as a contrib project. There will be a period of stabilization, feedback, and contribution. After that, it may graduate to out of contrib.
The initial package has been tested by the community in a separate repo prior to this PR https://github.com/gigasquid/clojure-mxnet
Here is the original issue:
https://github.com/apache/incubator-mxnet/issues/8971
Architecture & Design:
https://cwiki.apache.org/confluence/display/MXNET/MXNet+Clojure
Current List of Package Completion and Contribution Needs
https://cwiki.apache.org/confluence/display/MXNET/Clojure+Package+Contribution+Needs
Comments
There have been areas of improvement noted from feedback on the mailing list.

Increased test coverage
Benchmarks

In addition there will be a need to integrate with the Makefile and CI.
I would like to propose that this initial PR be merged as it represents a working, community tested development milestone and then add on the improvements as separate PRs to allow smaller commits, better visibility, and community involvement.

@nswamy This is ready for review/feedback

Hi Carin, is there anyway I can test it? I am pretty new to Clojure

Do you think you can split examples from cde0ee3a72426946e86b6ba0154d813a1a5611e3 into a separate commit to make the review process easier?

@kurman sure - I will rewrite the commits and and push tomorrow (wrapping up today 😄 )

@kurman - I rewrote the commits into 2 parts - one with the main package and tests and another with the examples. Please let me know if I can do anything else to make the review process easier.

@gigasquid thanks for splitting the commit, I am already finding that it is easer going through the PR.

Thanks for this contribution!
In terms of code quality this looks very good, getting a lot done in a straightforward manner. People should feel good shipping this if/when test coverage is satisfactory.
My only code question is: Where do the corner cases tend to lie? Whats the most complicated part where bugs might be lurking?
Some higher level questions:

What is the debug experience like? It seems like errors can come from 3 places (mxnet core, scala, or clojure), is this a problem in practice? Can users track down what they did wrong?

What does maintenance look like? As MXNet & Scala API evolve, how much work does this codebase need to do to keep up? What changes are picked up automatically via introspection, vs requiring changing the codebase?

How do people learn to use the thing? Is it easy to go between the clojure functions and existing MXNet docs/tutorials? How is the documentation going to work long term?

@kovasb Thanks so much for taking the time to review and providing such insightful feedback and questions.
As far as corner cases go, I feel pretty confident about the interop with the Scala api. I would say the risk for complications would be lurking in the areas that I haven't fully ported over yet and explored. I ran into some trouble with the protocols for the custom operators with class loading and deferred working on it more to focus on some other areas. I'm hoping it was just some silly thing that I wasn't doing properly because in theory, if it's a Scala/Java class - it can all be interoped with, but I won't be 100% sure until I dive in again.
You have some excellent higher level questions:

The debug experience is an area that could use improvement. I've added it as an item on the https://cwiki.apache.org/confluence/display/MXNET/Clojure+Package+Contribution+Needs page. The regular JVM stack traces that occur in clojure point to the errors in the Scala or Clojure class and can be pinned down pretty readily and are not bad. The more frustrating ones that I have encountered is when there is a core dump, (for example binding some layers with a bad shape), in the mxnet-core. You can still find the line where the error occurred in the underlying Scala/Clojure code, but it is not easy to navigate. From what I understand, I believe that this might be the same case in the current Scala package as well, so I'm thinking that working together we could make it better for both packages if we could tackle this.

I think the story for maintenance is pretty good because of leveraging the Scala package. The Clojure package also has the flexibility to evolve at its own rate by deciding when to move to the next Scala version or wrap a new Scala api.  I think the philosophy in MXNet is to not make breaking changes is very good and will enable stability. The mxnet core api changes for NDArray and Symbol flow through the Scala package via the c code generators. The clojure package picks these changes up from the Scala classes by running its own generator, (which is a simple lein command). Changes to the higher level Scala apis will also be picked up or course, while any new apis would need to be added and incorporated manually.

The Clojure apis have been developed with the goal of being intuitive from the existing apis while also being idiomatic to use from the Clojure perspective. I've been able to use existing tutorials from both Python and Scala and translate them to Clojure. Here is an example:

From the Python tutorial https://mxnet.incubator.apache.org/tutorials/r/symbol.html you have:
net <- mx.symbol.Variable("data")
net <- mx.symbol.FullyConnected(data=net, name="fc1", num_hidden=128)
net <- mx.symbol.Activation(data=net, name="relu1", act_type="relu")
net <- mx.symbol.FullyConnected(data=net, name="fc2", num_hidden=64)
net <- mx.symbol.Softmax(data=net, name="out”)

Translation to clojure follows pretty directly from this:
(def data (sym/variable "data"))
(def fc1 (sym/fully-connected "fc1" {:data data :num-hidden 128}))
(def act1 (sym/activation "act1" {:data fc1 :act-type "relu"}))
(def fc2 (sym/fully-connected "fc2" {:data act1 :num-hidden 64}))
(def net (sym/softmax-output "out" {:data fc2}))

But also can be written in a more idiomatic, threading way using the as-> clojure function
(as-> (sym/variable "data") data
  (sym/fully-connected "fc1" {:data data :num-hidden 128})
  (sym/activation "act1" {:data data :act-type "relu"})
  (sym/fully-connected "fc2" {:data data :num-hidden 64})
  (sym/softmax-output "out" {:data data}))

As far as documentation goes, the design choice has been made to generate the code from the symbol and and ndarray apis and persist that to files rather than read into memory as macros so that it enable automated API documentation with Codox.  Going forward, I envision a section of the MXNet webpage with tutorials and API documentation similar to the other language bindings to also help the user getting started.

Thanks for taking the time to review @larroy 😸 I'll get to work on incorporating your feedback.

Hi again @gigasquid thanks a lot for your contribution. Some of us are not totally familiar with Clojure, so we are trying to find someone to help us review it. I have to say your PR has gotten a lot of people excited and we are very enthusiastic about this contribution. I will try to find another pair of eyes with more clojure experience and get back to you. I have retriggered CI to have a clean run. Do you think it would make sense to add a clojure stage to our CI pipeline similar to the Scala one for these bindings to test them?

@larroy and @yzhliu  - Thanks. Please let me know if there is anything I can do to help the review and get this merged. I've been trying to keep this PR in sync in the external github repo with other's contributions and generally improving the test coverage, but I can stop adding commits and freeze it to give you a stable PR to review and merge, if that helps. Just let me know.
To recap the work and status of the PR so far:

It has been reviewed by @kovasb - who is experienced in both Clojure and Deep Learning
The feedback from your review, @larroy, has been implemented
A code coverage plugin has been integrated
A few bug fix contributions have been brought over from the main repo
The scala jar version has been bumped to 1.2.1 (from using the staging jars)
Additional unit tests have been added to increase coverage. The current stats are:

|-----------------------------------------+---------+---------|
|                               Namespace | % Forms | % Lines |
|-----------------------------------------+---------+---------|
|                           dev.generator |   93.07 |   94.33 |
|           org.apache.clojure-mxnet.base |  100.00 |  100.00 |
|       org.apache.clojure-mxnet.callback |  100.00 |  100.00 |
|        org.apache.clojure-mxnet.context |   76.00 |   85.71 |
|          org.apache.clojure-mxnet.dtype |  100.00 |  100.00 |
|    org.apache.clojure-mxnet.eval-metric |   95.00 |  100.00 |
|       org.apache.clojure-mxnet.executor |   89.66 |   95.00 |
|    org.apache.clojure-mxnet.initializer |   25.00 |   43.75 |
|             org.apache.clojure-mxnet.io |   71.71 |   80.00 |
|        org.apache.clojure-mxnet.kvstore |   82.91 |   76.00 |
| org.apache.clojure-mxnet.kvstore-server |   58.73 |   50.00 |
|   org.apache.clojure-mxnet.lr-scheduler |   22.22 |   66.67 |
|         org.apache.clojure-mxnet.module |   74.99 |   88.62 |
|        org.apache.clojure-mxnet.monitor |  100.00 |  100.00 |
|        org.apache.clojure-mxnet.ndarray |   90.86 |   91.38 |
|      org.apache.clojure-mxnet.optimizer |   91.21 |   88.24 |
|       org.apache.clojure-mxnet.profiler |   20.00 |   40.00 |
|         org.apache.clojure-mxnet.random |  100.00 |  100.00 |
|          org.apache.clojure-mxnet.shape |   94.44 |   90.00 |
|         org.apache.clojure-mxnet.symbol |   48.87 |   54.62 |
|           org.apache.clojure-mxnet.util |   98.86 |   99.16 |
|  org.apache.clojure-mxnet.visualization |    6.82 |   20.00 |
|-----------------------------------------+---------+---------|
|                               ALL FILES |   80.01 |   84.14 |
|-----------------------------------------+---------+---------|

I feel the tests are pretty stable, so if you want to add a clojure stage to the CI pipeline, it would be great. All that should be needed is to be able to run the build/test tool lein (https://leiningen.org/).
To be specific:
cd contrib/clojure-package
lein test
It would be great to get this merged so that other people can start getting involved and helping to grow and improve the package. 😸

@gigasquid I plan to spend sometime over the weekend to go through the code.

@larroy I just looked at the Jenkins CI pipeline. I see there is a scala cpu and gpu tests right now. For the current clojure package, the tests are all cpu. I'm not sure what system the CI is running on (OSX or Linux)? If it's linux then the Scala jar dependency will need to be changed in the project.clj file. Currently, it is using OSX
 ;; Choose the right dependency for your system
                 [org.apache.mxnet/mxnet-full_2.11-osx-x86_64-cpu "1.2.1"]
                 ;[org.apache.mxnet/mxnet-full_2.11-linux-x86_64-cpu "1.2.1"]
                 ;[org.apache.mxnet/mxnet-full_2.11-linux-x86_64-gpu "1.2.1"]

To choose the linux cpu, you would change this to
 ;; Choose the right dependency for your system
                 ;[org.apache.mxnet/mxnet-full_2.11-osx-x86_64-cpu "1.2.1"]
                 [org.apache.mxnet/mxnet-full_2.11-linux-x86_64-cpu "1.2.1"]
                 ;[org.apache.mxnet/mxnet-full_2.11-linux-x86_64-gpu "1.2.1"]

Its running on Ubuntu Linux inside a docker container
On Fri, Jun 22, 2018 at 2:35 PM, Carin Meier<EMAIL_ADDRESS>wrote:

@larroy https://github.com/larroy I just looked at the Jenkins CI
pipeline. I see there is a scala cpu and gpu tests right now. For the
current clojure package, the tests are all cpu. I'm not sure what system
the CI is running on (OSX or Linux)? If it's linux then the Scala jar
dependency will need to be changed in the project.clj file. Currently, it
is using OSX
;; Choose the right dependency for your system
[org.apache.mxnet/mxnet-full_2.11-osx-x86_64-cpu "1.2.1"]
;[org.apache.mxnet/mxnet-full_2.11-linux-x86_64-cpu "1.2.1"]
;[org.apache.mxnet/mxnet-full_2.11-linux-x86_64-gpu "1.2.1"]
To choose the linux cpu, you would change this to
;; Choose the right dependency for your system
;[org.apache.mxnet/mxnet-full_2.11-osx-x86_64-cpu "1.2.1"]
[org.apache.mxnet/mxnet-full_2.11-linux-x86_64-cpu "1.2.1"]
;[org.apache.mxnet/mxnet-full_2.11-linux-x86_64-gpu "1.2.1"]
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/apache/incubator-mxnet/pull/11205#issuecomment-399588943,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABJxQsydxjj1SLUWB6jBJ9Ioyn0Ej7wcks5t_WMagaJpZM4Ugvws
.

Shouldn't the project versions no longer be SNAPSHOT if they are to be pulled in the incubator? My understanding is that Maven will look for the newest release artifact, so different pull of the dependencies of x.x.x.SNAPSHOT result in you possibly getting different artifacts.
But at this stage, I'd expect the APIs to be a bit more stable that changes to them warrant some version change. 0.1.1 could become 0.1.2, etc. Or some scheme with alpha: 0.1.1-alpha1 could become 0.1.1-alpha2 etc.

@nswamy @larroy I switched the project.clj to use the linux cpu version to make it ready for CI.
@didibus - good point. A discussion needs to made concerning the versioning of the clojure-package. Right now the dependencies and main project version is in the project.clj file
(defproject org.apache.mxnet.contrib.clojure/clojure-mxnet "1.2.1-SNAPSHOT"
  :description "Clojure package for MXNet"
  :dependencies [[org.clojure/clojure "1.9.0"]
                 [t6/from-scala "0.3.0"]
                 ;; Choose the right dependency for your system
                 ;[org.apache.mxnet/mxnet-full_2.11-osx-x86_64-cpu "1.2.1"]
                 [org.apache.mxnet/mxnet-full_2.11-linux-x86_64-cpu "1.2.1"]
                 ;[org.apache.mxnet/mxnet-full_2.11-linux-x86_64-gpu "1.2.1"]
                 [org.clojure/tools.logging "0.4.0"]
                 [org.apache.logging.log4j/log4j-core "2.8.1"]
                 [org.apache.logging.log4j/log4j-api "2.8.1"]
                 [org.slf4j/slf4j-log4j12 "1.7.25" :exclusions [org.slf4j/slf4j-api]]]

The dependencies used are the Scala 1.2.1 jars. If the clojure project would be deployed to clojars or nexus, the org.apache.mxnet.contrib.clojure/clojure-mxnet "1.2.1-SNAPSHOT" would have to be changed to org.apache.mxnet.contrib.clojure/clojure-mxnet "1.2.1" first and then would have to be incremented.
For a point of reference, the Scala package is now sitting at 1.3.0-SNAPSHOT. So maybe the clojure package should be set to that as well.
We can choose to have the clojure-package align with the main package version or have its own version. I'm fine with whatever we come up with.
With a new language package there will be some process stuff to work through on how to get into CI and handle versioning deployment. I expect and encourage some conversations to be had about how best to handle it.

@didibus I think I missed a point you were making in your last comment about snapshot versions in regards to the README documentation of the test versions I had out on clojars. That's a good point. I updated the README in this commit https://github.com/apache/incubator-mxnet/pull/11205/commits/3c48fa3cd505e0a7a2b0eb857975085e52669453 and removed the reference. I won't redeploy anywhere until we've come up with the correct versioning/ deployment/ timing process.

Thanks @kurman - I appreciate you going through it, I realize that it is a big PR. I'll wait until you are done to address the feedback 😄

Hi @gigasquid   CI runs stuff in docker containers.
The steps to add your code to CI would be the following:

Add your clojure dependencies to  ci/docker/install/ubuntu_clojure.sh     (check how it's done with scala)

You need to add one function to
ci/docker/runtime_functions.sh that builds your package

and then add a stage into the Jenkinsfile:
See for example this PR which adds an additional Android stage:
https://github.com/apache/incubator-mxnet/pull/11382/files#diff-58231b16fdee45a03a4ee3cf94a9f2c3L486
To test locally run:
ci/build.py --platform ubuntu_cpu --shm-size 500m /work/runtime_functions.sh unittest_ubuntu_cpu_scala
but just use the function for clojure that was just created.
ci/build.py --platform ubuntu_cpu -i      will put you inside the container, so you can check what steps you need to take and add to the runtime_functions.sh script.
Let me know if you have any issues.

Question for @kurman @larroy @nswamy - Someone has a PR out on the main repo for improving the style with cljfmt https://github.com/gigasquid/clojure-mxnet/pull/9. Applying the plugin would cause a large commit file diff https://github.com/gigasquid/clojure-mxnet/compare/agilecreativity-improve-style-with-cljfmt?expand=1 - But would result in uniformly formatted code for the initial package commit. Would you prefer to have this apply to this PR or wait until this PR is merged and then open a follow up one just for the formatting change? Happy to go with whatever you think is the best approach.

@larroy I added the CI in this commit, if you'd like to review it https://github.com/apache/incubator-mxnet/pull/11205/commits/ad9792493dd9c2a92f04955da9de38bd6e48884c
It tests ok locally with ci/build.py --platform ubuntu_cpu --shm-size 500m /work/runtime_functions.sh unittest_ubuntu_cpu_clojure
I did add a stage to the Jenkins file, but it doesn't seem to be showing up when it's running against the branch PR, so I'm not sure if I'm missing something here or how to test that.

both work for me

@larroy The CI Clojure unit tests now pass 😸
http://jenkins.mxnet-ci.amazon-ml.com/blue/organizations/jenkins/incubator-mxnet/detail/PR-11205/22/pipeline

Thanks @lanking520 for the review :) - In regards to the CNN text classification, the example at the default is running on a limited dataset (to fit in my laptop memory). There is an item on the Needs Contribution Help page about taking another look at that example with Word2Vec. I added to compare it to the python example results as well.

Thanks @yzhliu for your review. If you have any other questions, please let me know 😄

@gigasquid and team, congrats! It's been a long way since @gigasquid pitched the idea of having a clojure frontend for mxnet since NIPS last year, and I'm thrilled to see this becoming the reality now. This effort opens up mxnet to the clojure enthusiasts, and I hope that we will attract more people from this community and see more interesting work coming soon :)

Let's merge this in unless somebody has additional comments.


Can't use slack on Ubuntu

I've installed slack on my Ubuntu 22.04 using:
nix-env -iA nixpkgs.slack

Before I've enabled allowUnfree configuration.
Slack was successfully installed and opens.
Application is visible because of PATH configuration and I can run it from the terminal.
But when I try to find the application through UI (pressing Windows key and searching app), it's invisible (screen).
When I try to log in, I'm redirected to my web browser, but then Slack application is not recognized and I'm not redirected back to slack app (second screen).
Steps to reproduce the behavior:

On Ubuntu 22.04
Installed slack with nix-env -iA nixpkgs.slack
Open app in terminal by typing slack.
Click Sign in
Being redirected to web browser, where I can log in.
Web browser is unable to redirect me back.

Expected behaviour
I expect to be able to log in.
It also would be nice if application would be visible from te system UI:

I can't search for the app
The icon of app is some default gear (screen)

Maintainers: @mmahut @maxeaubrey
nix-shell -p nix-info --run "nix-info -m" results.
 - system: `"x86_64-linux"`
 - host os: `Linux 5.19.0-28-generic, Ubuntu, 22.04.1 LTS (Jammy Jellyfish), nobuild`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.13.2`
 - channels(root): `"nixpkgs"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixpkgs`

slack is not in home-manager programs but I can confirm that slack 'just works' on ubuntu with home.packages = with pkgs; [ slack ]; }; in ~/.config/home-manager/home.nix

I would recommend to double check if the problem is really about the package defined in nixpkgs or is it an issue with nix-env.
The reason: in the slack package I've installed, both the .desktop file and the icon were present, only the XDG_DATA_DIRS variable was not properly updated by the nix tooling (I'm using flox) - the variable was okay for the bash session, but was not set in the .profile so each time Gnome started, it was not picking it up.


utils: return more reasonable error in case of attempt of non-PyTorch model loading

What does this PR do?

This PR provide more reasonable error in case of loading non-Pytorch model. Otherwise user sees following exception, which may be considered as script logic issue: UnboundLocalError: local variable 'allow_patterns' referenced before assignment
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


Authetnication support using Identity Server

Authentication is fairly common requirement in most of the projects. It would be nice if we add authentication support using IdentityServer to this starter kit. Developers can quickly add Active directory, Google, Github and any other OpenID connect provider for authentication using Identity server.

It is common but I don't think it should be in a base solution template. I'd be happy to have a separate branch or repo with it, though.


Wrong asset uri

The throbber.gif file uri is set directly in JavaScript, with a relative path ; as a consequence, the file is not loaded correctly (and the alternative text is displayed)
I don't know how to fix it properly
Thanks

+1

The following two files can be updated in public/zf-apigility-documentation-swagger directory:
swagger-ui.js
swagger-ui.min.js
If you are using the asset manager this directory is copied to the project public directory at the time of install.
On line 355 in swagger-ui.js change src='images/throbber.gif' to
src='/zf-apigility-documentation-swagger/images/throbber.gif'
You can search swagger-ui.min.js for src='images/throbber.gif' and replace with
src='/zf-apigility-documentation-swagger/images/throbber.gif'
Hope this helps.

This repository has been closed and moved to laminas-api-tools/api-tools-documentation-swagger; a new issue has been opened at https://github.com/laminas-api-tools/api-tools-documentation-swagger/issues/12.


Only exclude e2e_matmul_mmt4d_i8_small on RISC-V.

The test only failed on RISC-V. We should not disable it for all the platforms.
https://github.com/openxla/iree/issues/12703

It would be great if we could direct our energy to creating an LLVM repro for https://github.com/openxla/iree/issues/12703. I think @MaheshRavishankar is looking into that while I'm trying to get external help for it. The issue seems to be impacting matmuls in general on rv64 would potential means issues with all the models.


authentication failed with LDAP user

I am trying to connect to a DB instance through LDAP validated credentials, but I continuously get an authentication failed exception.
The credentials work fine with another JAVA application, and password validated credentials work fine with python.
Is the error on the dialect level or on hdbcli? Is there any parameter that can be passed in order to make the connection successful?

@paoloalba have you tried it without sqlalchemy-hana, so just pure hdbcli?
sqlalchemy-hana passes everything down to hdbcli, therefore authentication is handled by hdbcli itself.
Also, please provide the related python code:

code which shows the error using sqlalchemy-hana
code which shows that with pure hdbcli it works

I just tried with pure hdbcli, and I get the same error. If you rule out that anything extra could be passed from the dialect side, I will report the bug to the SAP community.

As far as I can tell you, this is the case. Please report the bug as you pointed out


[KWS_Streaming] Trained Model CRNN

@rybakov Can you please provide me the trained model files of CRNN model of KWS_Streaming. I couldn't train it due to colab and PC limitations. I need it urgently please.

There is no need to use colab. Please follow instructions from experiment description and let me know if you have any issues/questions. You could train a model on any laptop or PC without GPU: models are small(<1MB) and data sets are <5GB. Sorry, I do not keep old pre-trained models because with new feature requests they can become incopatible with the lates kws_streaming version.


Purged unused resources

Closes #44

Important to note: I also added a few .gdignore files as well as updated the .gitignore file. Both in an effort to clean up the repository as well as the Godot view.


Add os_networks role

Add os_networks role
lint: os_networks auto-fixes
lint: Ignore os_networks variable prefix
lint: Fix os_networks issues
os_networks: Update README
os_networks: Drop Python 2 support

2 tests failed

It failed due to the missing dependency on the openstack.cloud collection, added with os-deploy-templates.
Rebased and now fixed.

@markgoddard It seems like a newer version of openstacksdk is required:
TASK [stackhpc.openstack.os_networks : Ensure network is registered with neutron] *******************************************************************************************************************************************************************
failed: [localhost] (item={'name': 'stackhpc', 'project': 'ecmwf-pmgmtrc', 'shared': False, 'external': False, 'subnets': [{'name': 'stackhpc-subnet', 'project': 'ecmwf-pmgmtrc', 'cidr': '<IP_ADDRESS>/16', 'gateway_ip': '<IP_ADDRESS>', 'allocation_pool_start': '<IP_ADDRESS>', 'allocation_pool_end': '<IP_ADDRESS>'}]}) => {"ansible_loop_var": "item", "changed": false, "item": {"external": false, "name": "stackhpc", "project": "ecmwf-pmgmtrc", "shared": false, "subnets": [{"allocation_pool_end": "<IP_ADDRESS>", "allocation_pool_start": "<IP_ADDRESS>", "cidr": "<IP_ADDRESS>/16", "gateway_ip": "<IP_ADDRESS>", "name": "stackhpc-subnet", "project": "ecmwf-pmgmtrc"}]}, "msg": "Incompatible openstacksdk library found: Version MUST be >=1.0 and <=None, but 0.62.0 is smaller than minimum version 1.0."}

This would be covered by the antelope upper constraints. As you said, may be worth trying to unify the constraints of the roles as it's also required by images + container templates

@markgoddard It seems like a newer version of openstacksdk is required:
TASK [stackhpc.openstack.os_networks : Ensure network is registered with neutron] *******************************************************************************************************************************************************************
... "msg": "Incompatible openstacksdk library found: Version MUST be >=1.0 and <=None, but 0.62.0 is smaller than minimum version 1.0."}

This would be covered by the antelope upper constraints. As you said, may be worth trying to unify the constraints of the roles as it's also required by images + container templates

Good catch, updated.


dx11 Arcdps with Gw2 Launchbuddy 2.4.1

Anyone manage to get dx11 arcdps to work with the current Launchbuddy? I try inject the arcdps dll and it doesnt load when I start the game

you will have to load arc in yourself separately following the instructions from the site, the DX11 version needs to be in a different location to the DX9 one

As they are the same file you can do this with a hardlink
In a dos window:

cd to the gw2 install folder
mklink /H d3d11.dll bin64\d3d9.dll

Now it will work for both cases automatically
To update just copy the new d3d9.dll into bin64

As they are the same file you can do this with a hardlink In a dos window:

cd to the gw2 install folder
mklink /H d3d11.dll bin64\d3d9.dll

Now it will work for both cases automatically To update just copy the new d3d9.dll into bin64

How do I actually correctly reference the dll then in launchbuddy?


Reword the blurb of accumulate to make the arguments clear

Currently the blurb suggests that the accumulate function should have the following signature:
accumulate [a] -> (a -> b) -> [b]

However the test suite assumes that accumulate has the following signature:
accumulate (a -> b) -> [a] -> [b]

I don't read the old text as specifying an order of arguments. It talks about a collection and an operation on that collection, but that doesn't necessarily imply that those two are passed in that order.
And you really can't specify the order globally since some languages have the convention that the function goes first (Haskell's map) and others that the list goes first (Elixir's Enum.map).

It certainly does not explicitly mention that's the order but the first time I read it I was pretty much sure that the collection goes first just to be proved wrong by the test suite. Perhaps an adnotation saying that one should read the test suite beforehand would be the best solution.

The important thing is to remember that the README is there to give a general idea about the exercise but every track has to adapt the exercises to the way its language works.
That said, I agree there's a potential for confusion but I see it more as a problem of not communicating clearly enough what the README is.
@kytrinyx A solution could be to have some way for track maintainers to add text that's appended to a README for an exercise in the same way that SETUP.md is already appended to each README.

@pminten I think that's probably the right approach. I'll open an issue in x-api.

I've added the annotation in 62f4ae775720e472fddad8132fa360c9e83ee884. Thanks!


Caliburn.Micro logging is not working as intended

I just realized that the Caliburn.Micro logging isn't working properly, at least with a VS2015 setup. There are no Caliburn.Micro messages or your custom application startup message visible in the VS console. I didn't try to add another target yet.
The config in the file App.xaml.cs looks good, the DebugLogger is added and the Nlog.config is the standard one. I compared all settings with another project of me (VS2013), and there it works just fine while having a nearly identical setup.
Having a look into that issue would be very helpful since I'm developing a brand new application based on your project template and some of the Caliburn.Micro bindings aren't working as I'd like them to. Having no output is kind of tedious.
Thanks in advance,
Ly

I'm pretty sure you can't log to the console from a WPF app, at least without some modifications in your app. Can you try the file target ?

It's just a matter of a proper NLog.config, see pull request. Unfortunately, it isn't working in my brand new application, only in the clean project which is base for the template. I'll investigate that further next week.

Ah, ok.
Let me know 😄

After cleaning out my NLog.config it works fine in my developing branch again so I think you could close this issue. Have you tried the logging setup yourself? It should log all Caliburn.Micro messages to the VS debug console by default.
If you want to deactivate the Caliburn.Micro logging, just remove/comment the entry in App.xaml.cs or filter out the messages in your target. A short hint how to get rid of the Caliburn.Micro messages might be helful for the Readme.
Greetings,Ly


mitmproxy on socket connections

Hi,
I'm trying to inspect data for an online game with mitmproxy
I can see the login request when I open the game but after login and getting token all the flow runs over the socket connection where I can't see them in the log anymore.
Is is possible to trace those kind of data which goes over socket connections?
I were searched the case in issues but couldn't find a proper answer to it.
Thanks for the helps

You can either 1) use mitmdump -vvv to dump message contents to the command line, 2) use mitmproxy (not mitmweb yet) to view TCP flows or 3) use SSKLEYLOGFILE logging to view contents in WireShark.
For further support and how-to questions, please use StackOverflow. Thanks!


Storing huge object freeze my app

Hello,
I have to store a huge object into my IndexedDb, on background task.
Before I used the IndexedDB pure api (no lib) and I had no issue.
But since I use localforage and angular-localforage, the UI doesn't respond (seems the app is frozen) until the storing is finished.
Is it possible that angular-localForage block the digest of angular during a save?
Edit: I store json.stringify and it's much faster... I suppose that is a good practice to stringify huge object...
Thanks for your help.

@Adavo I don't think you should have to stringify your object to get good performance. I'll take a look. Do you have a sense of just how big the object is? Could you share the code you're using that seems to be causing the blocking?

I think I see the performance issue: https://github.com/ocombe/angular-localForage/blob/master/src/angular-localForage.js#L125
We're copying the whole object in order to remove $promise if it's present. Seems like we can do something smarter here and get a huge performance boost for large object storage. I'll put something together and let you know. In the meantime, if you can get by with stringifying and parsing your object that'll do.
Thanks for bringing this up! Can't wait to fix this for my own purposes, too.

Hello :-)
Didn't expect a so quick answer.
I store a dictionary of word so yes is massive but not that much (around 15mb) .
Stringify didn't work that's why it was so fast ha ha.
I think indeed for an object or array of object is super slow and as far as I remember I tried on 5mo blob content and it was ok.
Indeed I quickly look the code and saw this line. Nice catch.
If you have an idea of the fix or if you fix it I can try tomorrow (utc+8 for me now so...)
21 févr. 2017 22:15 wrote on Scott Trinh<EMAIL_ADDRESS>I think I see the performance issue: https://github.com/ocombe/angular-localForage/blob/master/src/angular-localForage.js#L125
We're copying the whole object in order to remove $promise if it's present. Seems like we can do something smarter here and get a huge performance boost for large object storage. I'll put something together and let you know. In the meantime, if you can get by with stringifying and parsing your object that'll do.
Thanks for bringing this up! Can't wait to fix this for my own purposes, too.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/ocombe/angular-localForage/issues/133#issuecomment-281355159, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AQk-buhLg_CLNj5Lto0UHtangLc7Gb9nks5revEXgaJpZM4MHOqe.

I have an idea, but it'll probably be a day or two before I have tests written, a fix implemented and a new version published. If you're cool the hang out for a few days while that gets patched, I'll just let you know when it's fixed.

Now, I store the big object as a blob and it's very efficient. I will continue with that solution but still interesting to know when this performance issue is fixed ;-)

@Adavo
Glad blob storage ended up being a good optimization for you. I've fixed the copying issue, do you mind trying it out with the new version (1.4.4) and tell me if that works better than before?

OK let me try tomorrow and I will tell you if it's better.
22 févr. 2017 9:31 PM wrote on Scott Trinh<EMAIL_ADDRESS>@Adavohttps://github.com/Adavo
Glad blob storage ended up being a good optimization for you. I've fixed the copying issue, do you mind trying it out with the new version (1.4.4) and tell me if that works better than before?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/ocombe/angular-localForage/issues/133#issuecomment-281669632, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AQk-boXzzuM9Y7DrKNP0UQbt5-Nvm0Wfks5rfDi_gaJpZM4MHOqe.

I was so curious that I couldn't wait tomorrow.
Good point, saving the whole object is faster than before, which prevent the app to freeze a long time (instead of freezing like 6sec is more like 2sec, which is quite impressive).
It's similar to blob so I think this bug is "fixed" ;-)
For reference, my object is an array of 114328 objects like this one:
{
frequency: 7
hanzi:"干"
isNew:false
pinyin:"gān"
translations: {
en-US:"old variant of 干[gān]"
}
}
As I still have like 2sec of latency, I may try if time to use a service worker to avoid DOM freeze. Maybe the lib can manage this by itself, one day ... ;-)

@Adavo
Excellent, I'm glad that gave you performance comparable to storing a blob! I'd be interested in using Web Workers to keep from blocking the main thread, so stay tuned.


docs: add canonical tag for 3.3, 3.4, 4.0, 4.1 and 4.2 and fix a few redirects

I really hope I don't have to do this again and this fixes the SEO issue once and for all...

I really hope I don't have to do this again and this fixes the SEO issue once and for all...

ping @mdo. I left the CSS/JS files as is. I could do a dist commit in #28376 and then update the files here without us making a new release. It's just the license link that changes.

If I understand canonical URLs right, this will make it so that Google doesn't consider all our docs versions as the same page, correct?

Hopefully, yes.
On Tue, Mar 12, 2019, 22:22 Mark Otto<EMAIL_ADDRESS>wrote:

If I understand canonical URLs right, this will make it so that Google
doesn't consider all our docs versions as the same page, correct?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/twbs/bootstrap/pull/28375#issuecomment-472164729, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAVVtQWrfAT_twJFXnU6fu5imnJR5-miks5vWAxpgaJpZM4bWwPf
.

If I understand canonical URLs right, this will make it so that Google doesn't consider all our docs versions as the same page, correct?

If there are multiple URL's which show the same content, e.g.
http://bootstrap.com/docs
http://www.bootstrap.com/docs
https://bootstrap.com/docs
https://www.bootstrap.com/docs
http://bootstrap.com/?page=docs
http://www.bootstrap.com/docs?page=docs
https://bootstrap.com/docs?page=docs
https://www.bootstrap.com/docs?page=docs
You use the same canonical link on each page to indicate the preferred URL to index, e.g.

If you are using the same page to display different information programmatically, then it needs to include changing the canonical link too.
And so on for each version, e.g.
http://bootstrap.com/docs-2
http://www.bootstrap.com/docs-2
https://bootstrap.com/docs-2
https://www.bootstrap.com/docs-2
http://bootstrap.com/?page=docs-2
http://www.bootstrap.com/docs?page=docs-2
https://bootstrap.com/docs?page=docs-2
https://www.bootstrap.com/docs?page=docs-2
You use the same canonical link on each page to indicate the preferred URL to index, e.g.

The problem we currently have is that because the old docs don't have a
canonical and Google has then indexed already, it doesn't add the new
version docs because it considers then duplicate to the old docs.
With this change I hope Google will see them as new, although not sure when
it will fetch the old docs again.
On Tue, Mar 12, 2019, 23:17 Chris Bowyer<EMAIL_ADDRESS>wrote:

If I understand canonical URLs right, this will make it so that Google
doesn't consider all our docs versions as the same page, correct?
If there are multiple URL's which show the same content, e.g.
http://bootstrap.com/docs
http://www.bootstrap.com/docs
https://bootstrap.com/docs
https://www.bootstrap.com/docs
http://bootstrap.com/?page=docs
http://www.bootstrap.com/docs?page=docs
https://bootstrap.com/docs?page=docs
https://www.bootstrap.com/docs?page=docs
You use the same canonical link on each page to indicate the preferred URL
to index, e.g.
If you are using the same page to display different information
programmatically, then it needs to include changing the canonical link too.
And so on for each version, e.g.
http://bootstrap.com/docs-2
http://www.bootstrap.com/docs-2
https://bootstrap.com/docs-2
https://www.bootstrap.com/docs-2
http://bootstrap.com/?page=docs-2
http://www.bootstrap.com/docs?page=docs-2
https://bootstrap.com/docs?page=docs-2
https://www.bootstrap.com/docs?page=docs-2
You use the same canonical link on each page to indicate the preferred URL
to index, e.g.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/twbs/bootstrap/pull/28375#issuecomment-472183536, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAVVtdaTgzyhfeliR80tX4cWqS4oweu7ks5vWBlhgaJpZM4bWwPf
.

The problem we currently have is that because the old docs don't have a canonical and Google has then indexed already, it doesn't add the new version docs because it considers then duplicate to the old docs. With this change I hope Google will see them as new, although not sure when it will fetch the old docs again.
…
On Tue, Mar 12, 2019, 23:17 Chris Bowyer @.***> wrote: If I understand canonical URLs right, this will make it so that Google doesn't consider all our docs versions as the same page, correct? If there are multiple URL's which show the same content, e.g. http://bootstrap.com/docs http://www.bootstrap.com/docs https://bootstrap.com/docs https://www.bootstrap.com/docs http://bootstrap.com/?page=docs http://www.bootstrap.com/docs?page=docs https://bootstrap.com/docs?page=docs https://www.bootstrap.com/docs?page=docs You use the same canonical link on each page to indicate the preferred URL to index, e.g. If you are using the same page to display different information programmatically, then it needs to include changing the canonical link too. And so on for each version, e.g. http://bootstrap.com/docs-2 http://www.bootstrap.com/docs-2 https://bootstrap.com/docs-2 https://www.bootstrap.com/docs-2 http://bootstrap.com/?page=docs-2 http://www.bootstrap.com/docs?page=docs-2 https://bootstrap.com/docs?page=docs-2 https://www.bootstrap.com/docs?page=docs-2 You use the same canonical link on each page to indicate the preferred URL to index, e.g. — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub <#28375 (comment)>, or mute the thread https://github.com/notifications/unsubscribe-auth/AAVVtdaTgzyhfeliR80tX4cWqS4oweu7ks5vWBlhgaJpZM4bWwPf .

I think I understand your problem now. However, user cache where no check for updated content is made and out of date ISP cache is impossible to automatically resolve. The best I can suggest is pinging Google and Bing to notify of an updated sitemap with last modified dates, but you are entirely at their mercy when it comes to when, and especially how thoroughly. Maybe setting the same priority for all pages would help. Other than that, maybe contacting Google for support. After all, being provided with and providing relevant information is a big part of their business.

That's something else completely unrelated. This is only for the Google search results.

I meant the comment about user cache and DNS.
The rest is something we'll need to see. I think blocking the old docs pages in robots.txt will actually sort this out, but I didn't want to try yet.

That's something else completely unrelated. This is only for the Google search results.
EDIT:
I meant the comment about user cache and DNS.
The rest is something we'll need to see. I think blocking the old docs pages in robots.txt will actually sort this out, but I didn't want to try yet.

The blocking of pages in robots.txt:

Stops unindexed pages from being indexed
Stops indexed pages from being reindexed or removed

You can help speed up the removal of pages that no longer exist via Google's URL removal tool but often have to request removal of some pages multiple times. In summary, it is not perfect but often works within minutes/hours.
My comment about the user and ISP cache was part of my thinking about the entire problem. I didn't mean to provide anything irrelevant, just the bigger picture for all to digest.

Yeah, don't worry, I appreciate any feedback :)
This is something that is wrong for years with our docs, I just recently started looking for ways to sort it out.


Add license

I'd like to use your library for my service, but we cannot use libraries that do not have a license because of copyright. Could you add a license please?

Hello!
Just added MIT license, please check if it's suitable for you https://github.com/itimofeev/go-saga/blob/master/LICENSE.


Can I use this to configure IBM MQ or JMS? Help me, Please !

I followed your instruction to configure JMS for IBM MQ，and it took me along time, but it didn't work , and this result is null, I need help ,please!

I never worked with IBM MQ, so first some questions: How did you configure jndi.properties? What directory does org.osjava.sj.root point to and what files are in it?

As the figure above shows，including the file jndi.properties that I have configured

Please show/attach datasource.properties and jms.properties too.

Looks like you have to write an SPI ObjectFactory as described here. This Factory must programmtically create and return a MQQueueConnectionFactory with the help of MQQueueConnectionFactoryFactory.

Another hint: When you set
org.osjava.sj.space = java:/comp/env

you have to lookup
context.lookup("java:/comp/env/jms/queue");

The ObjectFactory has to do something like this:
MQQueueConnectionFactory connectionFactory = new MQQueueConnectionFactory();
connectionFactory.setHostName(host);
connectionFactory.setPort(port);
connectionFactory.setTransportType(WMQConstants.WMQ_CM_CLIENT);

if(channel != null && !channel.isEmpty()) {
    connectionFactory.setChannel(channel);
}

connection = (QueueConnection) connectionFactory.createConnection(username, password);
connection.start();

See Java Code Examples for com.ibm.mq.jms.MQQueueConnectionFactory.


except ParseError: --> except ParseError as e:

Make the same fix in four different files where we are catching a ParseError and then re-raising it.  In the except statement, we need to capture the exception into the variable in e so that we can re-raise it in the lines immediately following.  Without this change, we would raise a NameError instead of the intended exception.
Discovered via flake8 testing of https://github.com/hyperledger/sawtooth-core on Python 3.6.3
$ flake8 . --count --select=E901,E999,F821,F822,F823 --show-source --statistics
./cli/sawtooth_cli/identity.py:567:76: F821 undefined name 'e'
            raise CliException('Unable to read key in file: {}'.format(str(e)))
                                                                           ^

./cli/sawtooth_cli/sawset.py:290:76: F821 undefined name 'e'
            raise CliException('Unable to read key in file: {}'.format(str(e)))
                                                                           ^

./consensus/poet/cli/sawtooth_poet_cli/registration.py:258:76: F821 undefined name 'e'
            raise CliException('Unable to read key in file: {}'.format(str(e)))
                                                                           ^

./validator/sawtooth_validator/server/keys.py:62:67: F821 undefined name 'e'
                "Invalid key in file {}: {}".format(key_path, str(e)))
                                                                  ^

4     F821 undefined name 'e'

Signed-off-by: cclauss<EMAIL_ADDRESS>

This is a known pylint bug: https://github.com/PyCQA/pylint/issues/626

This is not a bug in the linting tools...

I did not use pylint.
https://github.com/PyCQA/pylint/issues/626 is correct.  Things changed in Python 3.4 and the code will raise an UnboundLocalError in Python 3.4+

@cclauss That was an incomplete thought on my part. What I meant was: These errors should have been caught by pylint (which runs as part of the build process), but, because of that bug, were not.


get request with a payload param key having a '-' dash in the word, does not work

example:
url_payload = { 'username': user, 'severity': 'critical', 'job-type': 'spark', 'finished-time-begin': START_TIME, 'finished-time-end': FINISH_TIME}
results in non-200 code while testing with curl or postman or a browser with a same parameter with '-' in it, yields correct results.
Any clues?

We need a lot more details about the actual code before being able to be helpful.


Multi-Zip upload creates duplicates

When uploading 4+ zip files, the upload completes successfully, but we end up with multiple (incorrect) models (Please see screenshots)
To Reproduce
Steps to reproduce the behavior:

Go to Upload
Upload 4 or more .zip files
Complete Upload
Return to main menu

Expected behavior
We should not end up with multiple models for same zip file.
Screenshots

Desktop (please complete the following information):

OS: MacOS
Browser Firefox
Version 128.0.2

Additional context
Version: 0.75.1
database adapter postgresql
storage driver for library (hostpath)

This could be the same as #2472

Looks like it

If you look in the "failures" tab in the sidekiq UI, do you see anything like this, with the conflicting chdir?

Apparently chdir isn't thread-safe, so we can't use it. That would cause failures, which then causes duplicate folders to be created.

@Floppy

Conflicting chdir seems to be the culprit!

OK, that's a common cause of failures then, which in turn causes the repeated models. #2472 has a different cause (permissions) but the same duplication of models on retry.

#2529 improves the error handling to fix the multiple models, and #2530 is on the list for the underlying issue that causes the failures in the first place.


Remove embedding base scope

Remove embedding base scope
Reasons:

PHP is the only Default Syntax which uses embedding.php as
top-level scope.

PHP should better use text.html.php as it is more likely a dialect
or templating extension of text.html.basic
This is what ASP package does. It uses text.html.asp as top-level
scope to denote the mix of html and basic syntax.

The current description expresses exactly the opposite of how this
scope is used by PHP.

I think this makes sense, especially seeing gow Php is the only syntax I know of even outside of the default packages that uses it and the ASP package already dos it differently. However, we should get the upstream Php base scope to change first as a form of acknowledgement of this guideline. Afaik, Jon himself proposed the usage of embedding, so hearing his opinion on this suggestion would be helpful.

I think this makes sense, especially seeing gow Php is the only syntax I know of even outside of the default packages that uses it and the ASP package already dos it differently. However, we should get the upstream Php base scope to change first as a form of acknowledgement of this guideline. Afaik, Jon himself proposed the usage of embedding, so hearing his opinion on this suggestion would be helpful.

An issue to discuss it is opened at https://github.com/sublimehq/Packages/issues/2687

An issue to discuss it is opened at https://github.com/sublimehq/Packages/issues/2687

Thanks. There seems to be some support on the issue, but let's wait a bit for more until we go forward with #7.

Thanks. There seems to be some support on the issue, but let's wait a bit for more until we go forward with #7.

Via https://github.com/sublimehq/Packages/issues/2687#issuecomment-1141242678, @deathaxe concluded that chaning the base scope of Php wouldn't be worth breaking a lot of setups and the proposal was ultimately rejected (or retracted).
However, I still agree that the embedding scope should not actually be a part of the guideline and instead be mentioned as the sole exception and a comment on how it would have been done instead if backwards-compatibility wasn't a concern, e.g. for new syntax definitions.


Received invalid command: energy/info

I installed powercalc and I don't see any sensors or meters created. I do see this in the logs:
Logger: homeassistant.components.websocket_api.http.connection
Source: components/websocket_api/connection.py:96
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 9:10:21 PM (3 occurrences)
Last logged: 9:10:22 PM

[547758578704] Received invalid command: energy/info
Here's my config:
powercalc:
  enable_autodiscovery: true
  create_energy_sensors: true

I have several varieties of LIFX Bulbs, some are in the look up tables.
Did I miss some configuration or did I find a bug?

The error you mentioned is not related to powercalc in any way.
Could you enable debug logging for powercalc (see last section in readme), that should hopefully give some clues.

Yeah, that was a red herring. It looks like none of the models matched exactly what was in the lookup tables. I can don't have any measuring devices, but I have the power consumption from the manual, would you like me to add them?

2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] Start auto discovering entities
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.shelly1_e8db84d6d200: Auto discovered model (manufacturer=Shelly, model=Shelly 1)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.shelly1_e8db84d6d200: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.bar_right: Auto discovered model (manufacturer=LIFX, model=LIFX A19 Night Vision)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.bar_right: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.bar_left: Auto discovered model (manufacturer=LIFX, model=LIFX A19 Night Vision)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.bar_left: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.tv_light: Auto discovered model (manufacturer=LIFX, model=LIFX Z)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.tv_light: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.basement_south_b: Auto discovered model (manufacturer=LIFX, model=LIFX Color)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.basement_south_b: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.basement_south_c: Auto discovered model (manufacturer=LIFX, model=LIFX Color)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.basement_south_c: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.front_porch: Auto discovered model (manufacturer=LIFX, model=LIFX BR30 Night Vision)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.front_porch: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.basement_south_a: Auto discovered model (manufacturer=LIFX, model=LIFX Color)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.basement_south_a: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.basement_north_a: Auto discovered model (manufacturer=LIFX, model=LIFX Color)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.basement_north_a: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.desk_lamp: Auto discovered model (manufacturer=LIFX, model=LIFX Mini White)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.desk_lamp: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.forge_fan_a: Auto discovered model (manufacturer=LIFX, model=LIFX Candle)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.forge_fan_a: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.deck_stairs: Auto discovered model (manufacturer=LIFX, model=LIFX BR30 Night Vision)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.deck_stairs: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.forge_fan_c: Auto discovered model (manufacturer=LIFX, model=LIFX Candle)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.forge_fan_c: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.nursery_fan_c: Auto discovered model (manufacturer=LIFX, model=LIFX Candle White to Warm)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.nursery_fan_c: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.over_cabinet: Auto discovered model (manufacturer=LIFX, model=LIFX Z)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.over_cabinet: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.forge_fan_b: Auto discovered model (manufacturer=LIFX, model=LIFX Candle)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.forge_fan_b: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.basement_north_b: Auto discovered model (manufacturer=LIFX, model=LIFX Color)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.basement_north_b: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.basement_north_c: Auto discovered model (manufacturer=LIFX, model=LIFX Color)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.basement_north_c: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.nursery_fan_b: Auto discovered model (manufacturer=LIFX, model=LIFX Candle White to Warm)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.nursery_fan_b: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.garage_door_right: Auto discovered model (manufacturer=LIFX, model=LIFX BR30 Night Vision)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.garage_door_right: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.deck: Auto discovered model (manufacturer=LIFX, model=LIFX BR30 Night Vision)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.deck: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.nursery_fan_a: Auto discovered model (manufacturer=LIFX, model=LIFX Candle White to Warm)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.nursery_fan_a: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.front_door: Auto discovered model (manufacturer=LIFX, model=LIFX BR30 Night Vision)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.front_door: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.front_steps: Auto discovered model (manufacturer=LIFX, model=LIFX BR30 Night Vision)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.front_steps: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.over_fridge: Auto discovered model (manufacturer=LIFX, model=LIFX Z)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.over_fridge: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.garage_door_left: Auto discovered model (manufacturer=LIFX, model=LIFX BR30 Night Vision)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.garage_door_left: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.patio: Auto discovered model (manufacturer=LIFX, model=LIFX BR30 Night Vision)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.patio: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.window_seat: Auto discovered model (manufacturer=LIFX, model=LIFX Z)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.window_seat: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.desk: Auto discovered model (manufacturer=LIFX, model=LIFX Z)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.desk: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.bedroom_fan_b: Auto discovered model (manufacturer=LIFX, model=LIFX Candle White to Warm)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.bedroom_fan_b: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.bedroom_fan_a: Auto discovered model (manufacturer=LIFX, model=LIFX Candle White to Warm)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.bedroom_fan_a: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.bedroom_fan_c: Auto discovered model (manufacturer=LIFX, model=LIFX Candle White to Warm)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.bedroom_fan_c: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.living_room_fan_a: Auto discovered model (manufacturer=LIFX, model=LIFX Candle White to Warm)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.living_room_fan_a: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.living_room_fan_c: Auto discovered model (manufacturer=LIFX, model=LIFX Candle White to Warm)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.living_room_fan_c: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.living_room_fan_b: Auto discovered model (manufacturer=LIFX, model=LIFX Candle White to Warm)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.living_room_fan_b: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.teapot_lamp: Auto discovered model (manufacturer=LIFX, model=LIFX Mini White)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.teapot_lamp: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.dining_room_pendant_d: Auto discovered model (manufacturer=LIFX, model=LIFX Color)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.dining_room_pendant_d: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.dining_room_pendant_a: Auto discovered model (manufacturer=LIFX, model=LIFX Color)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.dining_room_pendant_a: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.dining_room_pendant_c: Auto discovered model (manufacturer=LIFX, model=LIFX Color)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.dining_room_pendant_c: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.dining_room_pendant_e: Auto discovered model (manufacturer=LIFX, model=LIFX Color)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.dining_room_pendant_e: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.dining_room_pendant_b: Auto discovered model (manufacturer=LIFX, model=LIFX Color)
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] light.dining_room_pendant_b: Model not found in library, skipping auto configuration
2022-03-12 11:16:20 DEBUG (MainThread) [custom_components.powercalc] Done auto discovering entities

So it looks like there are some of those models in the library, but I noticed that last run failed https://github.com/bramstroker/homeassistant-powercalc/runs/5260426901?check_suite_focus=true

"Lifx Candle" and "Lifx Z" should be autodiscovered correctly. I will have a look into why this is not the case.
The "Lifx BR30" is a special case which requires manual configuration, because it can have different settings for the IR light which are unknown to HA. Please see the following section in the readme https://github.com/bramstroker/homeassistant-powercalc#configuration-1, and look for "sub lut"

So it looks like there are some of those models in the library, but I noticed that last run failed https://github.com/bramstroker/homeassistant-powercalc/runs/5260426901?check_suite_focus=true

This is just some old job which was executed to validate a PR. Nothing to worry about.

Potentially fixed with #608. Was unable to verify this myself as I don't have LIFX lights, but looking at the logic I am pretty sure this is the fix.
Are you able to test by installing the master branch?

I pulled master at 9:30 central US last night. It picked up the LIFX Candle Color bulbs, but not the others. Progress!

That's nice, than this was the correct fix for autodiscovery.
Looking again I misinformed you about the LIFX Z, for this one you also need to manually configure as the BR30.
https://github.com/bramstroker/homeassistant-powercalc/tree/master/custom_components/powercalc/data/lifx/LIFX Z.
Depending on the amount of sections your led strip have you must select a suitable LUT file for it.
For example:
sensor:
  - platform: powercalc
    entity_id: light.window_seat
    manufacturer: lifx
    model: LIFX Z/length_2

Okay, the rest are not in the table, so I think this issue can close!


Refactor special heap replacements

I had to do some more digging to solve my issue from #22 and noticed that the replacement of the generic heap with the proper special heaps is done in a dedicated function that is not automatically executed when transforming expressions to formulas.
That felt kind of unexpected to me given that exprToTerm and exprToForm already push down special keywords to fields, so we might as well just insert the right heap there, no? That would also avoid walking over the entire expression tree again when doing the heap replacement.
The current specialKeyHeapExtract functions are only called in one place each and all the tests run after my refactoring, so I'm reasonably confident that it didn't break anything.
Still, please check if this violates any assumptions or might break things down the road. Thanks!

The heap must be translated as a special heap (Heap_Type) only during the translation to SMT and not before. In this way, we can use the polymorphism of the heap so that we do not have to manage multiples heaps but only one.
For example, anonymizing the "global" heap we anonymize all the heaps at once.

I think we're talking about different things?
I mean heap/old/last, not heap_Int etc. These are, as far as I can tell, currently replaced in the extractSpec function before conversion to SMT.
During SMT conversion heap/old/last should still be converted to the proper typed heaps as usual.

Sorry, yes I see what you mean, and it seems reasonable.
It should not have conflicts with other branches.

Cool, thanks!


Pulled in a few functions from LakeMetabolizer

Addresses #5 halfway

AppVeyor build cancelled by user? What does that mean? Can I restart it?

whoops. I cancelled the wrong one. restarting...

Oh, hang on. merging with upstream changes that fix the unitted dependency now.

Coverage decreased (-3.81%) to 20.0% when pulling a1b009011edcd0df8d11b6da590dcc1fef003a4d on aappling-usgs:master into d2a6b1d38ad8ed16db903a8061afa227e6001966 on USGS-R:master.


python312Packages.asteval: 1.0.4 -> 1.0.5

Diff: https://github.com/lmfit/asteval/compare/refs/tags/1.0.4...1.0.5
Changelog: https://github.com/lmfit/asteval/releases/tag/1.0.5
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 345431 run on x86_64-linux 1

14 packages built:

hledger-utils (python312Packages.hledger-utils)
hledger-utils.dist (python312Packages.hledger-utils.dist)
jrnl
jrnl.dist
python311Packages.asteval
python311Packages.asteval.dist
python311Packages.hledger-utils
python311Packages.hledger-utils.dist
python311Packages.lmfit
python311Packages.lmfit.dist
python312Packages.asteval
python312Packages.asteval.dist
python312Packages.lmfit
python312Packages.lmfit.dist


Play back rate and Quality control

I would like to control playbackrate and quality of the video as well. Is there a way to do that ? @srfaytkn please do tell me if it is possible through this library. It would be great if we can achieve atleast one of them first

It's not possible, Youtube iframe API does not support that features.

Youtube iframe API does provide playbackRate (speed) control. Please, look into this  @srfaytkn https://developers.google.com/youtube/iframe_api_reference#Playback_rate

@Anusha-Gurajapu I don't have time right now to do this additional development, you can help us with sending a pr

Could you please help me where can I add the respective code @srfaytkn


[BUGFIX] Replace ~ with $HOME in path for git commands

Fixes #2916

Mhhh, I thins this conflicts with the idea of
https://github.com/gopasspw/gopass/blob/486c1654383160cf23f4674a4143187078f9bc59/pkg/fsutil/fsutil.go#L40-L56
The idea being that "~" is replaced with $GOPASS_HOMEDIR when it's set instead of $HOME, for testing and dev purposes.
Your change feels like it wouldn't do that for git operations anymore (and I'm surprised our tests are passing since they do use GOPASS_HOMEDIR IIRC).
Furthermore, the fact that in #2916 it's working for the root store but not substores seems to hint at a deeper problem in how we handle substore vs root store paths.

I think the deeper problem here is that ~ is a shell meta-character, and so paths starting with ~ have been set by incorrectly quoting "~" while setting the path, thus preventing it from being expanded  to $HOME by the shell itself, demo:
$ gopass config mounts.path
/home/anomalroil/.local/share/gopass/stores/root
$ gopass config mounts.path "~/.local/share/gopass/stores/root"
~/.local/share/gopass/stores/root
$ gopass config mounts.path
~/.local/share/gopass/stores/root
$ gopass config mounts.path ~/.local/share/gopass/stores/root
/home/anomalroil/.local/share/gopass/stores/root
$ gopass config mounts.path
/home/anomalroil/.local/share/gopass/stores/root

Note that bash does allow to have quoted ~ in $PATH, but most shells do not.
But I think the initial idea was to be able to share a gopass config across a team, and so supporting ~ makes sense I think.
Just maybe not at the git level, but at a upper level?

@cal-andrew Not sure if CleanPath covers all instances, but I think it would be a good start. Changing this on the gitfs doesn't make sense as @AnomalRoil pointed out.

The PR now tries to replace ~ in CleanPath, and enables testing this in Windows.

Thank you!


Adding a custom preloader

@aslams2020
I want to add a customized preloader to you webapp which will match the theme and aesthetic of the site.
This is a basic sample to showcase what I can offer. The final product may vary depending on your specific needs and preferences. I look forward to the opportunity to contribute to your project .
https://github.com/user-attachments/assets/e5db73da-2e6b-4639-b8c1-8c74d21c75e8

#180 is working on it

@Peart-Guy You can start working on it.
But please let me know which pre-loader are u willing to add.

Level will be assigned based on the work.


Translate tutorials/kubernetes-basics/create-cluster/cluster-intro/ in Japanese

This is a...

[x]  Feature Request
[ ]  Bug Report

Problem:
No tutorials/kubernetes-basics/create-cluster/cluster-intro/ in Japanese.
Proposed Solution:
Translate tutorials/kubernetes-basics/create-cluster/cluster-intro/ in Japanese.
Copy from en content and Update content/ja/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro.html.
Page to Update:
https://kubernetes.io/ja/tutorials/kubernetes-basics/create-cluster/cluster-intro/

I'd like to translate this page!

/assign @lkougi

/close


Use SimpleHBaseQueueDebugger

Since HBaseQueueDebugger requires parameters, use SimpleHBaseQueueDebugger, instead. Also, fix run_class invocation.

lgtm


Remove '_' from my name on posts

Context
My username is displayed on posts. It would be nice if the underscore could be removed cause it looks weird.
Current behavior

Ideal behavior
A space should replace the underscore

Things to consider
I don't want to change the username because I don't think it's allowed to have spaces, but there's probably a way to do this in the template. If not, we can do something like we do to slugify/unslugify urls and categories
context["cat"] = Category.objects.get(name=self.kwargs["cat"].replace("-", " "))

Fixed on https://github.com/jsolly/blogthedata/pull/65
We were previously using the username property for a user which will always have an underscore. The approach I took here was to add a first_name and last_name field to registered users so that I can access those values instead of the username.
I propogated this throughout the site. All instances of "John_Solly" should now be "John Solly." I also replaced any hardcoded instances of "John Solly" with a proper injection of the first_name and last_name.
See the PR for more details on the implementation.

This was initially not working in prod

Author first and last name was missing.
But then I realized I need to add a first and last name to my user in production in order for it to be picked up. After going to the admin page and adding values to these two properties, everything works as expected!
Closing! =))


Pack creation error: block_name_to_uv

Error coming from my "Everything" structure while attempting to make a .mcpack out of it after removing blocks with missing images. (Those are mentioned in the issue before this one)

Traceback (most recent call last):
  File "structura.py", line 96, in generate_pack
  File "armor_stand_class.py", line 74, in make_block
  File "armor_stand_class.py", line 336, in block_name_to_uv
TypeError: unhashable type: 'dict'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "tkinter\__init__.py", line 1883, in __call__
  File "structura.py", line 161, in runFromGui
  File "structura.py", line 99, in generate_pack
  File "armor_stand_class.py", line 74, in make_block
  File "armor_stand_class.py", line 336, in block_name_to_uv
TypeError: unhashable type: 'dict'

Does not affect v1.1.1 Pre-release.

Does not affect v1.1.1 Pre-release.

I am going to close this as it is not in pre 1.1.1

I am going to close this as it is not in pre 1.1.1


Volatile DB: Audit memory footprint

In particular, we have to make sure that there are no memory leaks. Use Map.Strict, strictly update the TVars, etc.

Duncan suggested we use GHC.AssertNF for this.
I quote Duncan from Slack:

some news there: that package is partially bit-rotted since it has to change every ghc release, but @erikd and team have noticed that the underlying functionality is now in ghc proper and will be maintained with each release. They're going to add the AssertNF wrapper over the top. So if you decide to tackle this one, talk to @erikd and I think @ luke to see where that code lives now, or where it will live soon.

https://github.com/input-output-hk/cardano-prelude/pull/47

Done in #1110 and #1114.


Fix syntax errors in Plug documentation

Thanks!

Glad to help, thank you for your amazing work guys.
Cheers! 🍻


Upgrade sample to Azure.Identity

The sample uses MSAL directly rather than using the Azure.Identity library, making it unnecessarily complex. This is all that's needed:
#r "nuget: Azure.Identity, 1.8.2"
#r "nuget: Microsoft.Azure.Batch, 15.4.0"

using Azure.Core;
using Azure.Identity;
using Microsoft.Azure.Batch;
using Microsoft.Azure.Batch.Auth;

var batchUrl = "https://mybatch.westus.batch.azure.com";
var tokenCred = new DefaultAzureCredential();
var client = BatchClient.Open(new BatchTokenCredentials(batchUrl,
    async () => (await tokenCred.GetTokenAsync(new TokenRequestContext(new[] { "https://batch.core.windows.net/.default" }))).Token));

And refer the reader to the Azure.Identity docs for other auth options (DefaultAzureCredential covers dev machine and MI scenarios).

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

ID: 726a2add-e28c-ab01-e63d-cc85bd1b961f
Version Independent ID: 7e22d9ff-4d20-0709-78d5-9b39554fb126
Content: Authenticate Azure Batch services with Azure Active Directory - Azure Batch
Content Source: articles/batch/batch-aad-auth.md
Service: batch
GitHub Login: @Padmalathas
Microsoft Alias: padmalathas

Another thing missing from this scenario is token caching - the current sample code (and my sample as well) would fetch a new token from AAD on every Batch API call, which is very wasteful.

@Padmalathas
Can you please check and add your comments on this doc update request as applicable.

This reported issue is 2-fold.

Existing code sample listed in the article to be replaced with Azure.Identity

Azure.Identity is a library that's cut for the Azure SDKs which uses MSAL. Azure.Identity is not recommended with the Batch's C# SDKs.
With that said, for now, we could continue with the sample as-is which is tested/working and revamp it when the Azure SDK is released. At that point Azure.Identity definitely would be the correct library to use.

Another thing missing from this scenario is token caching - the current sample code (and my sample as well) would fetch a new token from AAD on every Batch API call, which is very wasteful.
An Azure AD authentication token expires after one hour. When you use a long-lived BatchClient object, it's best to get a token from MSAL on every request to ensure that you always have a valid token.

Hope this helps!
#please-close

@Padmalathas

Azure.Identity is not recommended with the Batch's C# SDKs

Can you please explain why? How is it different than using MSAL in the sample?

when the Azure SDK is released

Do you mean a Batch SDK using Azure.Core? What's the timeline for this?
The current state of the Batch SDK makes it hard to use in many authentication scenarios.

@Padmalathas
please can review it.

@aelij, Sorry for the delay in responding to your query. We do not have visibility of exact timeline on the release as yet. Request you to be tuned in for more info in this regard in the community space. Thank you!

@Padmalathas what about my other question? :)


orchis: 2021-02-28 -> 2021-04-20

Motivation for this change
Bump version to 2021-04-20.
Add sassc as a buildInput as mentioned in the project's readme.
Replaced stdenv with stdenvNoCC as described in 117451.
Things done

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

[x] 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
[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 120077 run on x86_64-linux 1

1 package built:

orchis


Macros

How exactly will macros be handled?
Will the macro part of the grammar simply indicate token trees, or should there be more to it? What needs to be addressed here?
Will the grammar's rules exactly match what the different fragment specifier types (expr, stmt, etc.) accept in rustc?

I think macros shouldn't be handled any special.
i.e. the grammar for macro invocation should just be $ident ! ( $tt* ).
Any more information in the grammar would require back-information for what the macro definition is.
I do think that we should try to match productions to what the macro matchers accept, though this I think would be a soft rather than hard requirement. (macros 2.0 has some room to change what are matched.)


"transparentize" renders invalid CSS

Hello,
the transparentize function does not work properly and renders invalid CSS like rgba(255, 255, 255, 0,5).
$scss = new Compiler();

echo $scss->compile('a { color:transparentize(rgba(255,255,255,1), 40%); }');
echo $scss->compile('a { color:transparentize(#fff, 40%); }');
echo $scss->compile('$white: #fff; a { color:transparentize($white, 40%); }');

All three lines will result in:
a{color:rgba(255, 255, 255, 0,6)}
Instead of:
a{color:rgba(255, 255, 255, 0.6)}

What version of scssphp are you using?  In v0.7.2, we switched to using number_format instead of relying on the locale.

Hi there, sorry I forgot to mention the version!
I'm using scssphp v0.7.5 and compile the CSS via CLI which is running PHP 7.1.7
Running $ php -r "echo setlocale(LC_ALL, 0);" outputs C/de_DE.UTF-8/C/C/C/C

Hmm... I couldn't reproduce this with PHP 7.1.7 and scssphp v0.7.5.
<?php
include __DIR__ . '/scss.inc.php';

setlocale(LC_ALL, 'C/de_DE.UTF-8/C/C/C/C');

$scss = new \Leafo\ScssPhp\Compiler();

echo $scss->compile('a { color:transparentize(rgba(255,255,255,1), 40%); }');
echo $scss->compile('a { color:transparentize(#fff, 40%); }');
echo $scss->compile('$white: #fff; a { color:transparentize($white, 40%); }');

outputs:
a {
  color: rgba(255, 255, 255, 0.6); }
a {
  color: rgba(255, 255, 255, 0.6); }
a {
  color: rgba(255, 255, 255, 0.6); }

Strange: I can't reproduce it at home - here I'm using PHP 7.0.27 on win10.
I will debug this on tuesday and post my results here ;)
Right now it seems as if $value[4] in \Leafo\ScssPhp\Compiler->compileValue contains a string instead of a float value. Also there is no use of number_format - the variable simply gets concatenated in the rgba-string on line 2697:
return 'rgba(' . $r . ', ' . $g . ', ' . $b . ', ' . $value[4] . ')';

I committed a possible fix. I'm afk, so will test it later tonight.


Setting alluxio.master.mount.table.root.ufs to relative path will crash the master

Alluxio Version:
2.1.0
Describe the bug
The configuration parameter alluxio.master.mount.table.root.ufs allows an absolute path but refuses any relative path. Alluxio will fail to start the master with the message, [ FAILED ] The master @ xxx is not serving requests. if I set it to any relative path like underFSStorage
I think the reason is that the following method always returns false for any relative path:
public static boolean isLocalFilesystem(String uri) {
 return uri.startsWith(AlluxioURI.SEPARATOR)
     || uri.startsWith("file://")
     || AlluxioURI.hasWindowsDrive(uri, false);
}

To Reproduce

Specify the alluxio.master.mount.table.root.ufs value in conf/alluxio-site.properties as following:

alluxio.master.mount.table.root.ufs=underFSStorage

Run ./bin/alluxio format
Run ./bin/alluxio-start.sh local SudoMount
alluxio reports [ FAILED ] The master @ xxx is not serving requests.

Expected behavior
Alluxio should start successfully and use ./underFSStorage as the directory for underfs.
Urgency
Medium.
Additional context
The log message from master
2020-01-20 12:35:41,828 WARN  ExtensionFactoryRegistry - No factory implementation supports the path underFSStorage
2020-01-20 12:35:41,876 ERROR AlluxioMaster - Fatal error: Failed to create master process
java.lang.RuntimeException: java.lang.RuntimeException: Failed to start masters
	at alluxio.master.AlluxioMasterProcess.<init>(AlluxioMasterProcess.java:129)
	at alluxio.master.FaultTolerantAlluxioMasterProcess.<init>(FaultTolerantAlluxioMasterProcess.java:58)
	at alluxio.master.AlluxioMasterProcess$Factory.create(AlluxioMasterProcess.java:401)
	at alluxio.master.AlluxioMaster.main(AlluxioMaster.java:45)
Caused by: java.lang.RuntimeException: Failed to start masters
	at alluxio.master.MasterUtils.createMasters(MasterUtils.java:57)
	at alluxio.master.AlluxioMasterProcess.<init>(AlluxioMasterProcess.java:127)
	... 3 more
Caused by: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: No Under File System Factory found for: underFSStorage
	at java.util.concurrent.FutureTask.report(FutureTask.java:122)
	at java.util.concurrent.FutureTask.get(FutureTask.java:192)
	at alluxio.util.CommonUtils.invokeAll(CommonUtils.java:529)
	at alluxio.master.MasterUtils.createMasters(MasterUtils.java:55)
	... 4 more
Caused by: java.lang.IllegalArgumentException: No Under File System Factory found for: underFSStorage
	at alluxio.underfs.UnderFileSystem$Factory.create(UnderFileSystem.java:95)
	at alluxio.underfs.AbstractUfsManager.getOrAdd(AbstractUfsManager.java:128)
	at alluxio.underfs.AbstractUfsManager.lambda$addMount$0(AbstractUfsManager.java:164)
	at alluxio.underfs.UfsManager$UfsClient.acquireUfsResource(UfsManager.java:60)
	at alluxio.master.file.DefaultFileSystemMaster.getRootMountInfo(DefaultFileSystemMaster.java:457)
	at alluxio.master.file.DefaultFileSystemMaster.<init>(DefaultFileSystemMaster.java:415)
	at alluxio.master.file.DefaultFileSystemMaster.<init>(DefaultFileSystemMaster.java:396)
	at alluxio.master.file.FileSystemMasterFactory.create(FileSystemMasterFactory.java:51)
	at alluxio.master.file.FileSystemMasterFactory.create(FileSystemMasterFactory.java:28)
	at alluxio.master.MasterUtils.lambda$createMasters$0(MasterUtils.java:49)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

How to solve
Maybe we can append relative path to the working directory to make it an absolute path.

@ctest-team is your request to assume that an unspecified scheme can be assumed to be the local file system? It's not entirely clear that this is a correct or safe assumption.
Additionally, is the idea that the path would be relative to the alluxio installation directory or is the intention that it would it be relative to where the ./bin/alluxio-start.sh  command was issued? Both of these scenarios seem ambiguous and it would make more sense to just have an absolute path with scheme to avoid confusion. I do think we can do a better job with the error message.

@ns1123 I agree that the relative path seems to be ambiguous here. Only allowing absolute path can avoid confusion.
And it is great to have a better error message! Users can easily get confused when they saw the error message like java.lang.IllegalArgumentException: No Under File System Factory found for: underFSStorage after setting a relative path. It would be much better if we could directly tell the users that only an absolute path is allowed here in the error message.

@ns1123 I agree that the relative path seems to be ambiguous here. Only allowing absolute path can avoid confusion.
And it is great to have a better error message! Users can easily get confused when they saw the error message like java.lang.IllegalArgumentException: No Under File System Factory found for: underFSStorage after setting a relative path. It would be much better if we could directly tell the users that only an absolute path is allowed here in the error message.

Will close it for now, feel free to reopen it and contact us if this is a strong request.


few isseus

few things i ran into

after changing the config no restart possible.

verbosity  default setting is debug, in the article you refer to  only set this to debug if needed.

After starting the add on my node red crashed.

greets

@firefigther0575 thank for testing, to be honest I was expecting some issues, but it runs here for days in a row without issues, filtering away thousands of events... I need some more information to see what is going on or needs fixing:
config issue:
What exactly is the problem when changing config (what do you change?) and what do you see happening?
Normally you just change, click 'Opslaan' if there is an issue with the format you get an error here.
Then go back to add-on's 'informatie' tab and click 'herstarten'
node-red crash:
I never used node-red, but since all addon's are docker images, they are separated completely from each other. Maybe ther share MQTT but they all have separated topics on that bus. What do you see in the log of node-red when it 'crashes'?

after renaming/ or changing a capcode it wont restart.
if i can recreate it i will post the code thats genarating.
the node red issue could be my fault, that happend after a first instal of rtl sdr add on.

i changed from normal to debug when i want to restart i got the next error:
Can't start addon_83becdae_p2000_rtlsdr: 404 Client Error for http+docker://localhost/v1.42/containers/abb06a1909c3d96d36ffe031e0f6114e3bebfe0e15aa1897c2e98f3239626f62/start: Not Found ("No such container: abb06a1909c3d96d36ffe031e0f6114e3bebfe0e15aa1897c2e98f3239626f62")

i have tested the "black" sdr receiver and the " Blue " from the wel known chinese distributers, i found that the blue one get real hot, could be that the usb fit is not the best, "loose"
The black one has also usb fitting issue " to loose" for the usb port so it can be that you encounter a error. restarting the add-on and it runs for hours.


'multiple' - how to set

Hi,
Is any possibility to set $mdDialog 'multiple' options directly from html?
I'm asking, beacase i dont have any possible to change that in your code manually.

multiple set in this fork : https://github.com/beenote/angular-material-datetimepicker
ng-material-datetimepicker on bower or npm


Support private networks, disable tunneling

I have a private internal network for my cluster and dont need any vxlan tunneling.
Would be nice to have an option to disable the tunneling and bridge the priv-eth with the weave-bridge.

$ WEAVE_NO_FASTDP=1 weave launch --iface ''

gets us most of the way there, I think.
Missing:

some routes/iptable magic on the host
disabling of the IPAM IP range check, so that it can be configured with a sub-range of a routable network

Note the IPAM range check only issues a warning when you specify an in-use range with --ipalloc-range; it does not prevent the software from running in that configuration.


verify if the de-duplication logic is working as expected

We need to verify the functionality of the Dedupe logic

Message from the maintainers:
Impacted by this bug? Give it a 👍. We often sort issues this way to know what to prioritize.

which de-duplication logic are we talking about here?


Reintroduce a way to join nodes from the console

currently in the makefile there are commands that used the console and admin support in riak core to join, we need to change it to reintroduce support for it.
@albsch how do you do it? using rpc commands from the shell?

The way we use it in Antidote is to hide it from the user and provide API functions to create a DC (for example with a Go script wrapped in an easy to use docker container. We left the decision on how to join clusters to the application which uses riak_core, i.e. Antidote uses riak_core calls internally.
If you want to skip defining an API call, a simple way to replace the riak-admin commands in the Makefile would be as follows:

$(APPNAME)-admin cluster join<EMAIL_ADDRESS>-> $(APPNAME) eval 'riak_core:join("node1@<IP_ADDRESS>")'
$(APPNAME)-admin cluster plan -> $(APPNAME) eval 'riak_core_claimant:plan()'
$(APPNAME)-admin cluster commit -> $(APPNAME) eval 'riak_core_claimant:commit()'

For member-status, I think we'll have to reintroduce the nice formatting print solution, which was cut out when I removed clique.

@albsch I just pushed a change that makes make devrel work again, I can start a cluster and join the nodes.
The only problem is that the ring doesn't seem to rebalance, do you have an idea why? I will look into it tomorrow.
regarding member-status, we can move it into the riak_core_lite_utils module we mentioned and include it in the template, what do you think?

I'll take a look at that, too.

So one thing is, that riak_core:join(...) triggers an auto join. I thought I made staged joins mandatory, need to look into that.
But for my case, with both join and staged_join+plan+commit and checking with riak_core_status:ring_ready() I see the ring rebalancing. Leaving and rejoining and so on works with the ring getting rebalanced, too (I tried with your current template). Any more details on your case?