Datasketches incompatibility with JDK 22

I've just tried to update datasketches in Trino and it results in the following error:
Caused by: java.lang.IllegalArgumentException: Unsupported JDK Major Version. It must be one of 1.8, 8, 11, 17: 22.0.1

Is this breaking change intentional?
I'll just add more color here: we are now on JDK 22 but intend to move to JDK 23 soon.

Which version is this?
The newly released 3.0.0 definitely does not work with 22. I believe the plan is to work on a 4.0.0 in the short-term that will be compatible with 17+.

3.0.0

If you weren't serializing sketches, you should be able to continue to use the 2.x version until the 4.0 release. AFAIK, we have never had support for serializing sketches in JDK 17+.

It is clearly stated in the DataSketches Memory Readme for 2.X.X and 3.0.0 that these releases only support Java 8 and 11.  There will be a release 4.0.0, coming soon that will support Java 17 and should support Java 21 for runtime, but not compile.  We don't have the resources to support non-LTS releases.

@leerho it's fine as long there is no hard check that will fail when running on higher versions

I think we can close this issue.

I've seen that now the master is using java.foreign instead of incubator. When is the 4.2.0 release going to happen?

We're using semantic verisoning so it will be 5.0.0. Not sure of timing but I believe @leerho is actively working on it.


Add Random Emoji on-chain NFT on OpenSea example

Added Random Emoji on-chain NFT on OpenSea example. This is a Hardhat with Typescript project which aims to demonstrate how to use Chainlink VRF to generate fully on-chain SVGs and host them on OpenSea on Rinkeby. The repo contains

main smart contract,
mock oracle contracts for testing
unit tests
deployment script which also auto-fund contract with 1 Rinkeby LINK and verifies it on Etherscan

@rgottleber you need me to review? Or is @andrejrakic helping you?

@rgottleber, can you review new changes? I've migrated the whole project to use VRF v2. Thanks


Some strings exist but are not searchable.

The Apk download url:
S_<IP_ADDRESS>.apk.zip

This is a problem with my setup. I excluded the package samsung.


Fix source info

As new identifiers were used on the waterinfo.be side, these required some additional fixes. Next, requests without a datasource info, a none - json response is returned, resulting in an html response with tomcat error message. The update can handle this kind of errors.
Furthermore, this PR tackles some goodpractice alerts as reported by https://github.com/ropensci/onboarding/issues/255

Coverage increased (+0.7%) to 95.405% when pulling a3dfc44136c1939ebe6ea654ca521baaf16fbfe0 on fix-source-info into 3969c3e50ae28d06b212e52c79799cf5138ab25a on master.


Problem with single class object detection

Hi @qianyuzqy,
I am running your code on a custom dataset that has only one class (say "class A"). The code is working when I set the number of classes as 2 (So, the model gives classification scores for two classes now - "Class A" and "Not class A". The outputs['pred_logits'] shape is (bs, 100, 2) ).
I am trying to run the model by setting "num_classes = 1". When we pass the images through the model, I am getting the output as follows now - Outputs['pred_logits'] has shape (bs, 100, 1) and Outputs['pred_boxes'] has shape (bs, 100, 4).

Traceback (most recent call last):
File "main.py", line 348, in
main(args)
File "main.py", line 305, in main
train_stats = train_one_epoch(
File "/workspace/engine_single.py", line 85, in train_one_epoch
loss_dict = criterion(outputs, targets)
File "/opt/conda/lib/python3.8/site-packages/torch/nn/modules/module.py", line 889, in _call_impl
result = self.forward(*input, **kwargs)
File "/workspace/models/deformable_detr_single.py", line 675, in forward
indices = self.matcher(outputs_without_aux, targets)
File "/opt/conda/lib/python3.8/site-packages/torch/nn/modules/module.py", line 889, in _call_impl
result = self.forward(*input, **kwargs)
File "/workspace/models/matcher.py", line 105, in forward
cost_giou = -generalized_box_iou(out_box_xyxy,
File "/workspace/util/box_ops.py", line 61, in generalized_box_iou
assert (boxes1[:, 2:] >= boxes1[:, :2]).all()
RuntimeError: CUDA error: device-side assert triggered
terminate called after throwing an instance of 'std::runtime_error'
what():  NCCL error in: /opt/conda/conda-bld/pytorch_1616554793803/work/torch/lib/c10d/../c10d/NCCLUtils.hpp:155, unhandled cuda error, NCCL version 2.7.8
ncclUnhandledCudaError: Call to CUDA function failed.
Could you kindly let me know how I can solve this problem?

Hi, @Sairam13001 ,
Sorry for the late reply. Your former understanding is right, when training on a custom dataset that has N classes, you should set the number of classes as N+1 since there are N foreground classes and 1 background class (None of these N classes), and it works.  If your custom dataset has only one class, you should set the number of classes as 2. It is all right.

Hi, I wonder if you can successfully run TransVOD Lite for single object detection. Did you manage to do the evaluation?

Hai @Sairam13001 thanks for your reply. What I mean is single class object detection. I am very grateful for any help in advance. I also managed to run single class object detection. But I think the results I get are still very low.
May I know about the config that you are using? And how much data you used for training?


Calc for width??

Why can't I use calc(100% - 50px) for setting width and other things?

It's a bug, #119 related.

Perfect!!! Thanks Julian! Do you have a patreon page or somewhere I can donate?

Hi, I'm sorry to reopen this issue but I'm still facing this bug.

Same, "calc(100% + ((100vw - 1024px) / 2))" for translate doesn't work for me.


Release: 2020-04-23

feat: chat remake (#819)
fix: texture flickering on scene loading (#830)
fix: pointer event triggered from parent (#829)
fix: pointer events hover on invisibles (#821)
feat: add browserInterface in the correct place (#820)
style: mini map cardinal points background (#822)
fix: re-enable visual tests (#814)
chore: Updated peer version to include latest changes (#793)

deleting branch and PR because the date moved.


install fails because no flow project is found

I was willing to compile popcorn-desktop from source, and dependencies install failed when installing thepiratebay. Installing thepiratebay manually fails as well.
The error is:
><EMAIL_ADDRESS>postinstall /home/mde/Documents/dev/popcorn-desktop/node_modules/thepiratebay
> flow-typed install

Error: Unable to find a flow project in the current dir or any of it's parent dirs!
Please run this command from within a Flow project.

How to resolved??


Revert "fix: glibc CVE"

Parent image has been updated and fixed, we don't need manual update of glibc anymore
This reverts commit d37052025c5e8a3f9c634a8fc6d46082d6c88b85.
Maintainers will complete the following section

[ ] Commit messages are descriptive enough (hints)
[ ] Code coverage from testing does not decrease and new code is covered (check the PR coverage on codecov)
[ ] Controllers diagrams are updated when PR changes controllers code  (if applicable)

/retest

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

:exclamation: No coverage uploaded for pull request base (main@310c382). Click here to learn what that means.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #720   +/-   ##
=======================================
  Coverage        ?   72.64%
=======================================
  Files           ?       42
  Lines           ?     4018
  Branches        ?        0
=======================================
  Hits            ?     2919
  Misses          ?      796
  Partials        ?      303

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

/retest

/test integration-service-e2e

/test integration-service-e2e

/retest-required

/retest


Merge Master code changes into FreeCEN

In order to pick up the enhancements made to the codebase for FreeREG (including search percentages, CONTRIBUTING.md, etc) we need to merge the code from master into freecen_parsing.  There is a pull request for this at https://github.com/FreeUKGen/MyopicVicar/pull/1339 ,
but the work should be tracked here.

This is deployed to test2, including all software changes made to the master branch for FreeREG for the last few months.

We shall do a general test and make sure nothing has broken.

Tested and no major issues. Please push to Live if this hasn't already been done.

Part of a wider discussion on merging between FC and FR.


Add support for gremlin union (or) step

Hello,
I'd like to provide an implementation of UNION/OR step as was proposed in #426  (see docs )
I think explicit OR step will give more abilities than existing/upcoming steps, for example to combine results of different steps: G.V().Or(Has('Value', 2).In(), Has('Value', 3).Out())
Also using explicit OR may be more convenient.
Further NOT and AND steps can be implemented based on this changes.
Overview of changes

added new step, it's scanning and execution
added new method to scan for nested steps in parentheses
changed parsing to parse nested steps
added unit tests, changed existing - extracted some common code

(tried to keep changes minimal to not affect existing functionality)
NOTES:

added scan method is able to scan strings with arbitrary depth and also deals with escaping
infix notation not implemented
underscore in not needed and not interpreted in the beginning of nested sequences

ok to test

@rkhachatryan Thx for submitting this :) we will have a deep look at it. Meanwhile I'm adding you to the whitelist for the CI so that if you push updates, jobs will be triggered automatically.

add to whitelist

run skydive-functional-tests-backend-orientdb

run skydive-functional-tests-backend-orientdb

I think this step name should be just or(), not union().
If you look at the gremlin (tinkerpop) doc union() is a branching step that yieds multiple traversals whereas or() is a filter step for the current traversal

run skydive-functional-tests-backend-orientdb

Thanks for reviewing!
You are right, I didn't make difference between these two steps. And currently this PR implements UNION rather than OR.
Implementing OR will require keeping track of which elements produce which elements when executing the each step.
So now I see the following options:

Keep track of which graphElement from initialStep has outputs and which hasn't. To do this we'll need to modify each Gremlin Step because they transform one set of elements to another. This will require a lot of changes.
For each graphElement from initial step create a fake step and Exec GremlinTraversalSequence to determine whether it has outputs or not. This may cause problems in queries like g.V().or(_().V(2))
Just rename current step to Union

I propose just to change the name to union (and remove OR token).

Yes keeping the union behavior sounds good. Could you just convert the WrapperGraphTraversalStep to something like GraphTraversalSet which could be
type GraphTraversalSet struct {
vs []GraphTraversalV
es []GraphTraversalE
err error
}
so that we fill this structure with the results of the union. We could add "sub" steps for this step later like subgraph ?

When we build this struct we only have a collection of GraphTraversalStep as a result of executing GremlinTraversalSequence s.
That can be not only GraphTraversalE/V but also GraphTraversalShortestPath or something else.
If the next step needs to differentiate these types then why not to do it there in step.Exec method?

Right for the collection of GraphTraversalStep. Your approach looks good to me.

@rkhachatryan do you have any news on this ?

@safchain, right now I don't have time to work on this, maybe on weekend.

@rkhachatryan no problem :)

@rkhachatryan Hi, did/do you have time to work on this ? can we help you maybe in order to have it merge as it is a nice feature ?

Closing it for now since as/select steps have been introduced handling the use cases


Fix compilation of input_adapter(container) in edge cases

This fixes a compilation issue with the library if trying to use containers that don't have non-member begin() and end() functions via ADL.
Example of a test program that fails with the current library version:
$ g++ --version
g++ (Ubuntu 10.2.0-13ubuntu1) 10.2.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ cat test.cc
#include <iostream>

#include <nlohmann/json.hpp>

const char DATA[] = R"("Hello, world!")";

struct MyContainer {
    const char* begin() const { return DATA; }
    const char* end() const { return DATA + sizeof(DATA); }
};

int main()
{
    MyContainer c;
    std::cout << nlohmann::json::parse(c) << "\n";
    return 0;
}
$ g++ test.cc
In file included from test.cc:3:
/usr/include/nlohmann/json.hpp: In instantiation of ‘static nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType> nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType>::parse(InputType&&, nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType>::parser_callback_t, bool, bool) [with InputType = MyContainer&; ObjectType = std::map; ArrayType = std::vector; StringType = std::__cxx11::basic_string<char>; BooleanType = bool; NumberIntegerType = long int; NumberUnsignedType = long unsigned int; NumberFloatType = double; AllocatorType = std::allocator; JSONSerializer = nlohmann::adl_serializer; BinaryType = std::vector<unsigned char>; nlohmann::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType>::parser_callback_t = std::function<bool(int, nlohmann::detail::parse_event_t, nlohmann::basic_json<>&)>]’:
test.cc:15:41:   required from here
/usr/include/nlohmann/json.hpp:6654:37: error: no matching function for call to ‘input_adapter(MyContainer&)’
etc...

This PR fixes the issue with types that only have member begin() and end() functions. Please see the commit for further details.

Pull request checklist
Read the Contribution Guidelines for detailed information.

[X]  Changes are described in the pull request, or an existing issue is referenced.
[X]  The test suite compiles and runs without error.
[X]  Code coverage is 100%. Test cases can be added by editing the test suite.
[X]  The source code is amalgamated; that is, after making changes to the sources in the include/nlohmann directory, run make amalgamate to create the single-header file single_include/nlohmann/json.hpp. The whole process is described here.

Please don't

The C++11 support varies between different compilers and versions. Please note the list of supported compilers. Some compilers like GCC 4.7 (and earlier), Clang 3.3 (and earlier), or Microsoft Visual Studio 13.0 and earlier are known not to work due to missing or incomplete C++11 support. Please refrain from proposing changes that work around these compiler's limitations with #ifdefs or other means.
Specifically, I am aware of compilation problems with Microsoft Visual Studio (there even is an issue label for these kind of bugs). I understand that even in 2016, complete C++11 support isn't there yet. But please also understand that I do not want to drop features or uglify the code just to make Microsoft's sub-standard compiler happy. The past has shown that there are ways to express the functionality such that the code compiles with the most recent MSVC - unfortunately, this is not the main objective of the project.
Please refrain from proposing changes that would break JSON conformance. If you propose a conformant extension of JSON to be supported by the library, please motivate this extension.
Please do not open pull requests that address multiple issues.

Coverage remained the same at 100.0% when pulling 467f622c65daaabc71ca0572c2a9764d0a187197 on jasujm:jasujm/input_adapter_custom_container into dfedefb99369dabc86e307ba7edaeb4e9116720d on nlohmann:develop.

Thanks!


Partial revert of #1695: Use a uniquely identifying selector based

What happened:
While well intentioned, #1695 has the potential of complicating upgrades and downgrades (in case of emergency).
The labelSelector of a deployment is immutable, so upgrading requires uninstalling and re-installing Kueue (or at least uninstalling the Deployment).
So I propose a partial revert of https://github.com/kubernetes-sigs/kueue/pull/1695. The end result should be to add both old and new labels, but keep the old selector.
We'll figure a plan for a proper upgrade path in the future.
Environment:

Kubernetes version (use kubectl version):
Kueue version (use git describe --tags --dirty --always):
Cloud provider or hardware configuration:
OS (e.g: cat /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Others:

/assign @trasc

cc @tenzen-y

Thank you for creating this issue!

/assign


Parametrizing Blob Storage Linked Service Is Not Working

I tried to parameterized a blob storage linked service manually through the code editor.
{
    "properties": {
        "type": "AzureBlobStorage",
        "annotations": [],
        "typeProperties": {
            "connectionString": "DefaultEndpointsProtocol=https;AccountName=@{linkedService().Path};EndpointSuffix=core.windows.net;",
            "encryptedCredential": ""
        },
        "parameters": {
            "Path": {
                "type": "String"
            }
        }
    }
}

I pass the parameter value from the pipeline to the dataset and eventually to the linked service. The issue is that the linked service cannot capture the parameter value and it's always empty. I get this error upon running the pipeline that is using this linked service:
{code":"BadRequest","message":"No value provided for Parameter 'Path'","target":"pipeline/Delete files with Azure Data Factory/runid/1c29b7ba-36d2-4f38-a569-e381f33c8269","details":null,"error":null}

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

ID: 2bf75315-da09-2cf9-6db5-d12fcc804283
Version Independent ID: bf4deb1b-fe88-a9cb-3605-0500a60fb882
Content: Parameterize linked services in Azure Data Factory - Azure Data Factory
Content Source: articles/data-factory/parameterize-linked-services.md
Service: data-factory
GitHub Login: @djpmsft
Microsoft Alias: daperlov

Can you post this question on our MSDN forum? Github issues are generally for doc related bugs or improvements

I thought it might be a bug because in the document it had been mentioned that it's possible to paramterized linked servers through the code editor.

You can parameterize linked services through the code editor. The MSDN forum will allow our customer experience team to investigate the issue and determine if the doc is misleading or not.
The issues looks to be in the passing of the parameter from the linked service, rather than the linked service definition

Hi @mirsaeedi These kind of queries are best suited for forums with larger audience visibility. We have our engineers and others who are monitoring them and will be happy to help. One of our engineer is looking into in MSDN forum and will provide an update as soon as we have an update.
Since it is being tracked in MSDN, we will now proceed to close this thread. In case if you think that the document needs an update, please feel free to reopen the issue and tag me in your response. We will be glad to continue the discussion.
MSDN thread:  https://social.msdn.microsoft.com/Forums/en-US/4fe557e3-fb06-477a-989d-164bfe390f65/parametrizing-blob-storage-linked-service-is-not-working?forum=AzureDataFactory


[bug] Treemath isn't sound

Hi folks,
I was playing around a bit with fuzzing and I found some cases where the unchecked treemath present pretty much everywhere might cause some sneaky bugs, particularily in the Group::process_incoming_message() entrypoint;
For example, the following backtrace is caused by this very line:
thread '<unnamed>' panicked at $HOME/dev/mls-rs/src/tree_kem/node.rs:54:38:
attempt to multiply with overflow
stack backtrace:
   0: rust_begin_unwind
             at /rustc/d7f6ebacee13b6c03623c4b74197280454ede8de/library/std/src/panicking.rs:658:5
   1: core::panicking::panic_fmt
             at /rustc/d7f6ebacee13b6c03623c4b74197280454ede8de/library/core/src/panicking.rs:74:14
   2: core::panicking::panic_const::panic_const_mul_overflow
             at /rustc/d7f6ebacee13b6c03623c4b74197280454ede8de/library/core/src/panicking.rs:181:21
   3: mls_rs::tree_kem::node::<impl core::convert::From<mls_rs::tree_kem::node::LeafIndex> for u32>::from
             at ./src/tree_kem/node.rs:54:38
   4: mls_rs::tree_kem::node::NodeVec::borrow_as_leaf
             at ./src/tree_kem/node.rs:303:26
   5: mls_rs::group::util::validate_group_info_common
             at ./src/group/util.rs:46:24
   6: mls_rs::group::util::validate_group_info_member
             at ./src/group/util.rs:62:5
   7: mls_rs::group::message_processor::MessageProcessor::get_event_from_incoming_message
             at ./src/group/message_processor.rs:489:17
   8: mls_rs::group::message_processor::MessageProcessor::process_incoming_message_with_time
             at ./src/group/message_processor.rs:465:32
   9: mls_rs::group::message_processor::MessageProcessor::process_incoming_message
             at ./src/group/message_processor.rs:450:9
  10: mls_rs::group::Group<C>::process_incoming_message
             at ./src/group/mod.rs:1302:9
  11: process_bytes::process_bytes::_::__libfuzzer_sys_run
             at ./fuzz/fuzz_targets/process_bytes.rs:15:13
  12: rust_fuzzer_test_input
             at $HOME/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libfuzzer-sys-0.4.7/src/lib.rs:224:17
  13: libfuzzer_sys::test_input_wrap::{{closure}}
             at $HOME/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libfuzzer-sys-0.4.7/src/lib.rs:61:9
  14: std::panicking::try::do_call
             at /rustc/d7f6ebacee13b6c03623c4b74197280454ede8de/library/std/src/panicking.rs:553:40
  15: ___rust_try
  16: std::panicking::try
             at /rustc/d7f6ebacee13b6c03623c4b74197280454ede8de/library/std/src/panicking.rs:517:19
  17: std::panic::catch_unwind
             at /rustc/d7f6ebacee13b6c03623c4b74197280454ede8de/library/std/src/panic.rs:350:14
  18: LLVMFuzzerTestOneInput
             at $HOME/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libfuzzer-sys-0.4.7/src/lib.rs:59:22
  19: _ZN6fuzzer6Fuzzer15ExecuteCallbackEPKhm
             at $HOME/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libfuzzer-sys-0.4.7/libfuzzer/FuzzerLoop.cpp:612:13
  20: _ZN6fuzzer10RunOneTestEPNS_6FuzzerEPKcm
             at $HOME/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libfuzzer-sys-0.4.7/libfuzzer/FuzzerDriver.cpp:324:6
  21: _ZN6fuzzer12FuzzerDriverEPiPPPcPFiPKhmE
             at $HOME/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libfuzzer-sys-0.4.7/libfuzzer/FuzzerDriver.cpp:860:9
  22: main
             at $HOME/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libfuzzer-sys-0.4.7/libfuzzer/FuzzerMain.cpp:20:10

Obviously, the crashes do not happen when ran with --release but instead the overflowing multiplication would wrap, which would cause wrong indexes being calculated (i.e. a LeafIndex = (u32::MAX / 2 + 1) * 2 would give a NodeIndex = 1) and cause things like signature verification errors, weird behaviors, and basically indexing bugs everywhere.
After looking a bit everywhere where there is treemath involved, it seems there's a lot of unchecked math being used, especially where appropriate - index calculations through additions/multiplications/subtractions/left shifts - and should be using [checked|saturating]_[op].
I could make a (big) PR fixing all of those if you'd like, but that would cause quite some internal API breakage (checked_mul returns an Option<T> for example).
I added some fuzz inputs that cause those issues in the processbytes_test.zip file. You can run them using cargo fuzz run process_bytes crash-[hash].
Feel free to ask for more details; Keep in mind that this isn't a security issue but rather a functional bug - this doesn't compromise the security properties of MLS but rather mls-rs's functionality on large groups.
processbytes_test.zip

Thanks for submitting! We will take a look

Thanks @OtaK for finding the bug!
Maybe a better solution than making all operations checked would be to set a reasonable upper bound on the leaf / node indices, for example 2^28? I don't think MLS can actually deal with groups that large. For example just 2^31 X25519 public keys is almost 70GB of data. mls-rs would load this to RAM which wouldn't work (unless you have a cluster). I guess groups that huge would require a specialized implementation.

Hi @mulmarta!
Sorry for the late reply.
Honestly I think the upper bound would be fine but philosophically it sounds more like a bandaid fix than anything else, and might introduce other footguns (i.e. things like pub(crate) that might allow the crate to violate its own invariants) that can bite later on, when everyone forgot about this, in say, 4-5 years.
Fixing the treemath to be checked/saturating would probably do the right thing. I don't remember if the epoch math is sound, but from experience, something as simple as reaching epoch == u64::MAX - 1 is usually an issue in many implementations, and the recommended thing in this case (again, from experience) is forcing clients to ReInit as the very last commit before reaching that point in order to avoid hardlocking groups.
I really think fixing all the math once and for all is the right approach so that all of these can be left behind 🎉


make pot command: Allow .jsx files.

Currently, the js file scanner only scans for .js files.
In react projects, some developers name their react-files ending in .jsx
Since Gutenberg is using react, it won't hurt allowing those files to be parsed.

Thanks for your PR. Would you be able to extend the current set of tests to make sure strings from .JSX files are properly extracted?

I can do that, but it will take a few days.

For reference, the current test for .js string extraction is here:
https://github.com/wp-cli/i18n-command/blob/4d3e4857765c1d6bfc4d95d47797f7a97203e517/features/makepot.feature#L1501-L1639
This can be duplicated and adjusted with some JSX-only code.

I added a different test. I don't think we need to test for all of the syntax in the .jsx. The feature here is the detection of the correct file extension. So the test is, that .js and .jsx files are both detected as JavaScript files and the JavaScript parser is used for both of them.


[Currency Bot] Bumped patch/minor dependencies

Tada!

Ignoring ibmdb & couchbase updates as they both are addressed in separate PRs


GitHubOAuthToken has an issue with new Personal access token formats

Since new GitHub PAT format is a bit different - I was struggling to execute the pipeline.yaml. Later i figured out that i need to remove the AllowedPattern attribute - post that it worked fine. Thanks for this example.

Wow - I'm amazed that was the only thing you needed to change - it's been a long time since I put this together! :) Thanks for letting me know - I've updated the pipeline template.


ANI implementation based on that of Manan Goel

Reference Issue
Related to #3298 , #3348
What does this implement/fix? Explain your changes.
This code implements the ANI models, currently ANI-1x and ANI-1ccx, in rdkit. The models are added as a ForceFieldContrib subclass, so they work with the existing ForceField code, including geometry optimization.
This is a fixed version of a previous rdkit pull request to add ANI neural networks as a force field, as seen here: https://github.com/rdkit/rdkit/pull/3348
This previous pull request had accurate energies, but did not have working gradients, so it used finite differences to approximate the gradients. The new version with analytical gradients is considerably faster.
Any other comments?

For parameter loading, this implementation reads Eigen matrices from files using EigenSerializer, which it adds in the directory Numerics/EigenSerializer/. I'm not sure this is the most economical way to do this: it seems like a lot of code to add for this simple functionality.

As implemented here, model metaparameters are constants, rather than being read from the provided files. I did this because all current ANI variants (including the unreleased ANI-2x and the proprietary Schrodinger-ANI) use the same metaparameters, and because the rdkit-provided files (AEVParams/) do not actually contain all of the metaparameters needed, making the flexibility of reading from files both unnecessary and insufficient. (The missing metaparameters are the radial and angular cutoffs and the radial and inner-product prefactors.)

Hi @jminuse, thanks for the contribution.
It looks like the failures in the CI builds are real, could you please take a look at those?

@manangoel99 : could you please take a look at this?

@greglandrum I'll take a look

With the second commit, these tests now pass on my local build (Mac).

@greglandrum @jminuse I can run valgrind on the cpp test if you need it, I'll be back from kid drop off in an hour or so.

I'm running valgrind now,.

Hey, everyone! ANI co-author is here.  So exciting to see our methods in RDKit! Thanks, @jminuse, this is AWESOME!
BTW, ANI-2x model is available for some time now. In fact, we have a Model Zoo repo https://github.com/aiqm/ani-model-zoo
It would be nice to be able to update models as they appear.
Quick side note. For future compatibility, is there a way to read SAE and AEV parameters directly from the model file instead of hardcoded? Those are technically hyperparameters and could change any new release with the data.

@greglandrum restarted the osx  build, if osx doesn't pass, I don't mind if we merge after greg and I have one more once over.

I am curious about the file format in which the ANI parameters are stored. What is the standard it conforms to? The files have extension ".bin" and seem to consist of a binary format with interleaved std::string labels and std::vector data. This requires a specialized function deserializeAll (in EigenSerializer.cpp) to read. Currently, this function makes explicit reference to weights and biases, making it neural network specific - if we include it in rdkit/Code/Numerics, it should be at least generalized a bit.

I have modified serializeAll() and deserializeAll() in EigenSerializer, from ANI-specific functions into general-purpose functions for reading files of this format (interleaved std::string labels and Eigen matrices). The Azure tests now pass on all platforms except MacOS_10_13_x64, which gives the following:
29 - ANIForceFieldCatchTest (SEGFAULT)
30 - pyForceFieldANI (SEGFAULT)
118 - ANIForceFieldBuilderTest (SEGFAULT)
My local Mac build does not reproduce these failures, even if I git clone an entirely fresh repo and build from scratch. Given this, I may push a few more test commits in order to run the tests on Azure.

It's bz2 archive ;)

Sorry, I did not mean your original parameter files (.nnf, .wparam and .bparam) - those are fine. I meant the ones that ship with rdkit and that @manangoel99 used (.bin files).

@greglandrum maybe you can weigh in here. It makes sense to use a binary parameter file for fast loading, and StackOverflow seems to agree that Boost does not have a built-in portable binary serializer. Therefore, making a binary format with alternating string labels and Eigen matrices, and adding code to read/write it, is one reasonable solution. But I am not familiar enough with Boost or rdkit to assert that this is not duplicative of something already present.

Hey guys, apologies for the late response.
@jminuse Thanks for implementing the back prop. I really want to know if you had to figure out the derivatives manually or did tapenade work out?
Another thing is that portable_binary_archive files in Code/Numerics/EigenSerializer were taken from https://www.boost.org/doc/libs/1_67_0/libs/serialization/example/portable_binary_archive.hpp and I believed it would make it portable to windows as well but that didn't seem to work so I think we can look in that direction or maybe read/write the weights into a more popular object like a 2D STL vector which might have more support and convert that to an Eigen::MatrixXf object. This would add some latency though but might make it more portable.
Eigen also supports broadcasting to a certain extent so I think that can be done in a couple of places in the forward prop and back prop. I think that might improve the speed even further. Please let me know if I can help implement some of this!

Hi all,
@jminuse https://github.com/jminuse you've mentioned it's faster with
gradients.
Can you give more details on how faster is it ?
very good contribution by the way.
BR
Guillaume
Le lun. 21 sept. 2020 à 07:57, Manan Goel<EMAIL_ADDRESS>a
écrit :

Hey guys, apologies for the late response.
@jminuse https://github.com/jminuse Thanks for implementing the back
prop. I really want to know if you had to figure out the derivatives
manually or did tapenade work out?
Another thing is that portable_binary_archive files in
Code/Numerics/EigenSerializer were taken from
https://www.boost.org/doc/libs/1_67_0/libs/serialization/example/portable_binary_archive.hpp
and I believed it would make it portable to windows as well but that didn't
seem to work so I think we can look in that direction or maybe read/write
the weights into a more popular object like a 2D STL vector which might
have more support and convert that to an Eigen::MatrixXf object. This
would add some latency though but might make it more portable.
Eigen also supports broadcasting to a certain extent so I think that can
be done in a couple of places in the forward prop and back prop. I think
that might improve the speed even further. Please let me know if I can help
implement some of this!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/rdkit/rdkit/pull/3408#issuecomment-695915367, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJBWYWCA57FAXV4TRJXPWTSG3TN7ANCNFSM4RMFYNJQ
.

Can you give more details on how faster is it ?

@thegodone, the time for geometry optimization of a methane molecule is reduced from ~5s to ~0.5s. As the system grows, the speedup grows, because I removed a scaling factor of N_atoms^2 from the run time. One factor of N_atoms comes from replacing finite differences (calculates energy 3*N_atoms times) with analytic gradients (takes about as long as 3 energy evaluations). Another factor of N_atoms comes from calculating the AEV for the molecule once, rather than once for each atom.

I really want to know if you had to figure out the derivatives manually or did tapenade work out?

@manangoel99, for the AEV Jacobian, I used Tapenade C-to-C automatic differentiation by simplifying the AEV code down to a single angular slot (removing loops and control flow) before using Tapenade to get its gradient in C. Then I cleaned that angular gradient code up and merged it back into the main code (with loops over atoms and hyperparameters) using the chain rule, sum rule, etc.
I wrote the matrix backprop with the help of these sources, which lay it out well in matrix notation:
https://towardsdatascience.com/linear-algebra-cheat-sheet-for-deep-learning-cd67aba4526c
http://www.gatsby.ucl.ac.uk/teaching/courses/sntn/sntn-2017/resources/Matrix_derivatives_cribsheet.pdf

Eigen also supports broadcasting to a certain extent so I think that can be done in a couple of places in the forward prop and back prop. I think that might improve the speed even further. Please let me know if I can help implement some of this!

@manangoel99 please do, and benchmark it!
In my hands, Eigen ops were slower than plain C++ loops. I suspect Eigen's implicit temporary matrices caused the slowdown (see links below). But good Eigen code, perhaps using Eigen::Map, might solve this problem and get more benefit from Eigen.
http://eigen.tuxfamily.org/dox/TopicWritingEfficientProductExpression.html
https://stackoverflow.com/questions/21402426/c-eigen-matrix-operations-vs-memory-allocation-performance

@here is this good to go now?

Closing due to lack of activity. Feel free to reopen if anyone has the time and inclination to revive this one.


Better module structure for kizuna commands?

right now the commands imports look like:
from kizuna.Kizuna import Kizuna
from kizuna.commands.AtGraphCommand import AtGraphCommand
from kizuna.commands.AtGraphDataCollector import AtGraphDataCollector
from kizuna.commands.ClapCommand import ClapCommand
from kizuna.commands.KKredsMiningCommand import KKredsMiningCommand
from kizuna.commands.KKredsBalanceCommand import KKredsBalanceCommand
from kizuna.commands.LoginCommand import LoginCommand
from kizuna.commands.PingCommand import PingCommand
from kizuna.commands.ReactCommand import ReactCommand
from kizuna.commands.UserRefreshCommand import UserRefreshCommand
from kizuna.commands.KKredsTransactionCommand import KKredsTransactionCommand

@ThomasLaPiana how can I make this prettier? Like from kizuna.commands import AtGraphCommand, ClapCommand, ...

You could hide all command imports in the __init__.py file of kizuna/commands directory like this
# kizuna/commands/__init__.py

from .AtGraphCommand import AtGraphCommand
from .AtGraphDataCollector import AtGraphDataCollector
...
from .KKredsTransactionCommand import KKredsTransactionCommand

This will put those class names in the namespace of kizuna.commands so imports can be done all nice-like
from kizuna.commands import AtGraphCommand, AtGraphDataCollector, ..., KKredsTransactionCommand

or
from kizuna.commands import (
    AtGraphCommand,
    AtGraphDataCollector,
    ...,
    KKredsTransactionCommand
)

because readability.
also hey hi

what @nicolemon said

Testing gitlab comment mirroring. Notice how thomas gitlab user isn't the same as his real gitlab user.

Solved in https://github.com/austinpray/kizuna/pull/11


Does not take Environment Variables

This plugin does not replace values for environment variables(Custom Environment Variable which are defined at pipeline level).

We are experiencing the same issue. We are trying to pass the variables set by GO into our powershell script with no success.
This happens for both pipeline level and the job level environment variables.

Need this or my life will collapse

I double that. Need a solution asap to save a life

Yes, it is super important

To save you life, for the time being you can use task type 'more' and put 'powetshell' as command.
Environment variables are working here.

Author here. I am not using Windows / Powershell these days, and it will be hard for me to support. Happy to take PRs.


Layering tsparticles on top of tsparticles

Which version are you using?
Ex. 1.18.12
Is the latest version affected?

[ ] No

Which library are you using?

[ ] Vanilla JS (tsparticles)
[ ] React (react-tsparticles)

Migrating from particles.js on a Hugo site.
Describe the solution you'd like
I was wondering if it's possible to add multiple tsparticles.js to one canvas. I am looking to have the nodes change to different colors on hover (some change to red, some to blue, some to yellow, etc) and figured this would be the best way to go about it.
If this is possible or if this there is a better way to make this happen please let me know.

Hi @JoshuaKissel,
Every tsParticles instance uses its own canvas, you can stack them using CSS z-index but I never recommend this since they could lead to a low-quality result for all the resources used.
I thought about multiple interactivity sections but nothing has been done yet. Anyway, you can have different colored particles and using the interactivity.bubble changing only opacity and size.
With this configuration, you'll have all the particles having the same fill and hover colors. Having them different I don't think is actually possible but I'll do some checks.


Empty archetypes

Despawning all entities of an archetype doesn't remove that archetype from the world, and doesn't advance archetype generation.
This is problematic for something like my library yaks, because it causes tests like this one to fail - summarized, it:

spawns some entities of two different types,
creates an executor with two systems that are disjoint (by resources and archetypes, but not by components, here meaning they modify the same type of component, but can be ran concurrently as long as their queries don't overlap on an archetype),
verifies that the systems run concurrently,
spawns some entities of a type that satisfies queries of both systems,
verifies that this forces the systems to run sequentially,
despawns all entities of that third type,
(unsuccessfully) verifies that the systems are ran concurrently again.

This means that as soon as a system-straddling entity is spawned those systems are forbidden from running concurrently until the world is recreated.
I see these approaches so far:

automatically removing archetypes once they are empty and advancing the archetype generation,
some form of World::defrag() that purges empty archetypes and advances the generation,
tacking the function of said ::defrag() onto World::flush(),
exposing Archetype::len() and/or ::is_empty(), and... advancing the generation once an archetype is empty?

The problem with last approach is obvious - the archetypes don't actually change - but there needs to be some mechanism of informing user code.

It's intentional that the archetype sticks around; my thinking that if a certain combination of components existed once, it'll probably exist again, and this way we save some allocator pressure. That said, I agree that empty archetypes forcing serialization of queries is a bit silly.
I'm not opposed to an explicit method to drop empty archetypes to recover memory, but I don't think it's a good solution to this specific problem due to the performance consequences described above.
I think the way forward here is to provide an interface that behaves as if empty archetypes do not exist, even though their storage is retained. This should actually be pretty easy: slap a filter on to archetypes (dropping ExactSize in the process unless there's really a need for it) and take care to skip empty archetypes in dynamic borrow checking and to increment the generation when an archetype becomes empty.

Well, this is how my usage of current API looks like - so, yes, adding a filter is an obvious idea, hence why I suggested exposing Archetype::is_empty(). Ditching of ExactSize is not that big of an issue either; it's the archetype generation that I'm worried about.

Updating the generation when an archetype becomes empty should handle that fine. Doing the filtering internally avoids expanding the API, which is desirable.


XML Parsing Issue

The update utility has problems parsing the online update.xml file. The code should work, but it's having problems capturing data from it.

Depreciated, as we're now using NuGet.


merge from template-node-app

.github/workflows/ci.yml

chore: (jobs.test.strategy)

:tada: This PR is included in version 5.0.113 :tada:
The release is available on:

npm package (@latest dist-tag)
v5.0.113
GitHub release

Your semantic-release bot :package::rocket:


[BUG] Symlinks support? ma doesnt pick up all mods

Describe the bug
Isn't loading all mods
I have 236 mods in my Silverrun folder when i add the folder it reads and test 236 but only then displays 8
Could this be something to do with the fact that the mods are symlinks though it is picking up some of those mods?
Adding my main mod folder (where i keep one version of all the zip files and sym link from to other folders works as expected so unsure if this is a bug or just the programme doesnt work with symlinks?
To Reproduce
Steps to reproduce the behavior:

use link shell extension to create a symlink in a map mod folder
Click on add folder select the symlink folder (with symlinked mods inside)
MA Processes mods
only 8 mods are then loaded in to MA

Expected behavior
all mods should load
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: Windows 10

Additional context
Add any other context about the problem here.
assist.log

From the log:
2022-11-23 06:32:54 |  DANGER | folder-reader >> Couldn't process D:\FS22\SilverRun: Error: ENOENT: no such file or directory, lstat 'D:\FS22\All Mods\FS22_AirFlex_Series_4K.zip
My guess is that D:\FS22\All Mods\FS22_AirFlex_Series_4K.zip does not exist anymore.
And I did a really poor job of making sure a symlink is valid before looking at the file is (supposedly) points to.
Added some error trapping and some good informational messages for just this issue.
FWIW

if you copy a symlink, it will copy the REAL file
if you move a symlink, it will move the LINK descriptor (leaving the original, linked-to file intact)
if you delete a symlink, it will delete the LINK descriptor


Hardcode graphic resources memory model

Currently, the memory model for graphics resources (e.g. tile map, tile palette map, etc.) is arbitrary and each set of elements is addressed individually. This is flexible but introduces unnecessary complexity when implementing inter-propeller communication of the graphics resources.
The solution is to allocate explicit regions of memory for these resources, so the entire memory model as a whole can be transmitted efficiently.
ADDT'L: Modify transfer routine to accept parameterized buffer size, as games will rarely need entire graphics memory.

Partially satisfied by commit 343baf7bc1549f1e88ebcfa3ff5d96e30431746f
The "remainder" of each set of graphics resources is hard-coded on the CPU and GPU.
So do I find a way to programatically calculate the unused resource space, or do I modify the TX/RX routines to accept parameterized resource set sizes?

Fully satisfied by commit 5ff32c50d31494f47d2a0f4aa01fb3d9e67c59b6


Enable SAP testing in Jenkins

https://fabric8-ci.fusesource.com/view/wildfly-camel/job/wildfly-camel/lastCompletedBuild/testReport/org.wildfly.camel.test.sap.netweaver/
https://<IP_ADDRESS>/view/wildfly-camel/job/wildfly-camel-master/lastCompletedBuild/testReport/org.wildfly.camel.test.sap.netweaver/
https://<IP_ADDRESS>/view/wildfly-camel/job/wildfly-camel-4.x/lastCompletedBuild/testReport/org.wildfly.camel.test.sap.netweaver/

Done


Hayko Amalikyan: Asynchronous Programming , 3weeks

my fork of Asynchronous Programming repository

Learning Objectives

🥚 You understand the JavaScript Event Loop, and can demonstrate this by using setTimeout and setInterval to schedule simple tasks.
🥚 You can explain why Asynchronous Programming is important for programs that have blocking and non-blocking tasks.
🥚 You can explain the basics of the Client/Server model and HTTP requests and can fetch data from RESTful APIs.
🐣 You can break down an asynchronous problem into smaller tasks and solve it using promises. This includes identify which tasks depend on each other and which are independent:

dependent tasks: The return value from one task is required to start the next task, these must be completed in a specific order - .then
independent tasks: These tasks do not use each other's return values, they can be completed at the same time - Promise.allsystem.

🐣 You can fetch data from an API and render it into the DOM using /api-calls, /handlers and async/await syntax.
🐣 You can write unit tests for functions that return promises using async/await syntax.

Week X

[x] I have pushed my progress to StopWatch repo

I Need Help With:
not much i made it all work but have some problems with separating my code.
What went well?
almost everything
What went less well?
separating my code into multiple files
Lessons Learned
Sunday Prep Work
working on it.


Debug helper

Debug Helper
Log variables to debug.log with:
\App\debug($mixed)
Works with strings, arrays or any filetype supported by var_export
https://secure.php.net/manual/en/function.var-export.php
(Why var_export instead of var_dump? outputs valid php code, more readable)
Debug log is simply debug.log in your public path, but can be overwritten in wp-config:
define('SAGE_DEBUG_LOG_PATH', '/yourpath/www/web1/public/wp-content/themes/sage/debugging.log');

In case you forget to remove it, works only when WP_DEBUG is true
Example
\App\debug($myvar)
array (
  'academic' =>
  array (
    'academic' => 'Academic',
  ),
  'integrated' =>
  array (
    'integrated' => 'Integrated',
  ),
  'on-aircraft' =>
  array (
    'on-aircraft' => 'On-Aircraft',
  ),
  'simulator' =>
  array (
    'simulator' => 'Simulator',
  ),
)

thanks for the PR! we're trying to hold off on changes to sage 9, and if you take a look at the equivalent file in sage 10 you'll see it's empty: https://github.com/roots/sage/blob/10.0.0-dev/app/helpers.php
also take a look at acorn (new to sage 10) which includes a debugger

Really? I can't find it
is it var-dumper in illuminate/support?
Dumping vars with dd() is super handy, but sometimes you don't want to interrupt page flow

https://github.com/roots/acorn/blob/aaabe6c342cd9712247e511dd84051c397231bce/src/Acorn/View/Composers/Debugger.php

Allright!
what I don't see is dumping to a file, like monolog in laravel.
(btw, I find var_dump a little confusing for the eyes, more fan of var_export)
what do you think?
is that functionality covered for the quick dump-this-var-functionality ?

I would recommend using error_log() instead of file_put_contents(), and the default log file should be in WP_CONTENT_DIR instead of ABSPATH since that's what WordPress uses by default when WP_DEBUG_LOG is true.
That said, I think this should probably be in Bedrock as a dev dependency rather than Acorn or Sage.

what I don't see is dumping to a file, like monolog in laravel.

Then I'd suggest you should have a look at https://github.com/inpsyde/Wonolog. If you use Bedrock (or any other Composer-based stack), it's easy to set up and get running.
Anyway, I don't think there's a reason to have a custom debug/log functionality in Sage/Bedrock.

@chesio wonolog looks great! but I think its purpose is different.
I'm looking for something as quick & simple as console.log in javascript.
Why is this garbage in my screen? ...
debug($var)
Oh! the array is wrong..
* remove debug($var)
Sometimes a dd() is enough... sometimes you don't want to to stop the flow.
is there a better tool for the job?

I would recommend using error_log() instead of file_put_contents(), and the default log file should be in WP_CONTENT_DIR instead of ABSPATH since that's what WordPress uses by default when WP_DEBUG_LOG is true.
That said, I think this should probably be in Bedrock as a dev dependency rather than Acorn or Sage.

yeah, but it's not for errors, just a small "helper" to help you dump things like console.log in the browser.
log() would be awesome, but currently means "logarithm"

While I can understand why this would be useful, I am closing this as it would be better suited in a package instead of being shipped with Sage.
Also, with Sage 10 nearing– perhaps check out https://laravel.com/docs/5.8/logging which should mostly work out of the box after requiring illuminate/log, dropping in it's config, and adding the facade (alias) to config/app.php.


Address Dangerous $using: in Foreach-Object -Parallel

According to the documentation, Foreach -Parallel passes variables by reference with $using: while the rest of PowerShell passes variables by value.
This is a dangerous feature, having the exact same syntax for such different mechanics can cause unintended effects, and could even slip by experienced developers.
If these values are to pass by reference, then I suggest the syntax be changed to $ref:
That will force people to do it with intention, and know exactly what they're looking at at all times. This would be similar to how it is done in C#.

This is a feature that was brought in the early days of PowerShell to be able to pass to Jobs and remote commands as listed and is documented in https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_remote_variables?view=powershell-6 and is required for the Foreach -Parallel to function at all.
I'm not sure I can agree with you that it's either dangerous or would slip past experienced developers plus PowerShell isn't C# so those coming from C# may find they get tripped up by this but those that are experienced PowerShell Developers will know this and have used it excessively in the past

I was referring to Foreach-Object (Title updated) which nobody has used excessively in the past, because it is a new feature. It does not behave the same as previous iterations of $using because in the past it has always passed by value not by reference
This is a fundamental change in how it works.

@pearsonsjp

while the rest of PowerShell passes variables by value.

This is not actually correct. In fact, PowerShell always passes by reference both with reference types and boxed value types.
With regards to using $using: to pass references - yes you can get into trouble but the performance
cost of the alternative is high. In PowerShell WorkFlow, which supported foreach -parallel, we marshalled objects across runspaces. It was abysmally slow. To get any kind of acceptable performance, marshalling had to be turned off.

/cc @PaulHigin for information.

This blog is actually where I got my information:
" But there is a big difference when using the $using: keyword in ForEach-Object -Parallel. And that is for remoting, the variable being passed is a copy sent over the remoting connection. But with ForEach-Object -Parallel, the actual object reference is being passed from one script to another, violating normal isolation restrictions. So it is possible to have a non thread-safe variable used in two scripts running on different threads, which can lead to unpredictable behavior." <=- That is passing by value, not reference.
This is why I made the suggestion to use $ref: in this feature rather than $using.
I agree that there are a lot of ways to hurt yourself with PowerShell and that education is good; this just seemed like asking for disaster. But it sounds like this has already been discussed at length.

@PaulHigin I don't know if I can clarify this better than @pearsonsjp already has, but it seems like you might be misunderstanding the issue?
In Invoke-Command, the $using: variables are values copied to the remote machine. No data is exchanged between individual target machines.
In the new ForEach-Object -Parallel, $using: is (as you point out in the article) not thread-safe, as the actual reference to the data can and is shared between threads.
I think what @pearsonsjp is getting at is that existing expectations of how $using: behaves in Invoke-Command will almost certainly carry over to ForEach-Object -Parallel, creating confusion. Their proposed solution is to distinguish the difference in syntax.
I agree that if the behaviour remains as it currently stands, we should probably attempt to distance the similarity from Invoke-Command so as to conform to existing expectations of how $using: variables behave. I think the proposed $ref:variable syntax are a reasonable compromise, as it both communicates "this is kinda-similar to $using:variable" but also "this is fundamentally different from how $using:variable operates" clearly and succinctly.
@Jaykul is often one to say we should attempt to engineer the language towards creating a "pit of success" (rather than "pitfalls" to be anxiously skirted around). I think this is one of those cases.

Yes! Very much this.
Thank you vexx for putting my thoughts into words so eloquently.

Oh ok, I get it now.  Yes I agree that having a $ref keyword instead of $using is a very reasonable request, and would make the issues of passing by reference more apparent.

@PowerShell/powershell-committee discussed this.
PSWorkFlow had already gone through this discussion where the semantics were different depending on whether it was in-proc or out-of-proc but the decision was to use $using: everywhere for consistency and not having to learn specific syntax based on situation even if the semantics were different.  Introducing $ref: would be unique here making it more difficult to discover.
$using: means use this variable from caller space into new execution context.  Expectation is that documentation for specific cmdlets supporting $using: clarify the semantics.  So the PS-Committee decision is to stay with $using:.

Hmm. I can't say I think the comparison to workflow is particularly relevant. We're talking very distinct cmdlets and a specialised parameter set here (ForEach-Object doesn't have a $using: in its normal parameter sets, for example).
Personally I think it valuable to make a clear distinction in syntax, if only to be very clear about the potential pitfalls. If the PS team prefer to handle that burden in documentation, I suppose that's a viable option, though I feel it likely to increase misunderstandings.
If we're worried about discoverability... Well, given its constrained usage, would't it be fairly easy to just document it in the cmdlets' help documentation, and then perhaps an about topic that references $using for comparison's sake?
That said... Yeah, I guess in some ways it's "easier" to use the same naming system. I don't think it's a great way to go, though, since the features do behave significantly differently.
Just my 2 cents! :sparkling_heart:

The PSWorkFlow mention is that this whole discussion has already happened before within the team when it was developing PSWorkFlow.  Although PowerShellCore/7 doesn't include PSWorkFlow, some existing PSWorkFlow users may recall $using: there and had to keep the semantics in mind depending on how they used PSWorkFlow.  So that was a precedent already set.  I think they key thing is that $using: was never meant to mean a copy, it was literally just "using this variable from caller context into a new context".  Introducing a new prefix adds more confusion (in our opinion) and makes it less discoverable as $using: is a known concept.

Aye. And while I understand and accept that this is probably better for folks who already have used $using: variables extensively, I can't help but think it's yet another thing where users have to memorise that now we have two very clearly distinct types of $using: 🙂
I guess I feel like this is a good opportunity to make a clean break from the old behaviour to clarify the purpose of the variable usage, and would help new users / those not as familiar with $using: from the PSWorkflow days to more easily know the difference.
With $using: sort of pulling double duty as it were, it's much easier to draw the wrong conclusion from reading code. Much as I love documentation, I am painfully aware that there will always be a significant portion of the userbase that doesn't read the docs extensively. I'm constantly pointing people in the community to bits of the documentation who've been around for several years, and never saw or bothered to read more than one or two about_* help topics, if that. For those folks, the fact that $using: can behave quite unexpectedly in Start-ThreadJob or ForEach-Object -Parallel compared to, say Invoke-Command, which a great many users are familiar with.
The familiarity of $using: could easily be a double-edged sword for us here, I think. But I've said my piece; perhaps I'm worrying over nothing. 😁

If you were worrying about nothing, then it wouldn't be an established
practice to separate the two in some languages. Most notably as I
referenced originally, another language developed by the same company
utilizes this separation in C#. (Yes, I am all tok familiar with the chasms
of separation between orgs inside MS)
They did that because passing variables by reference is a known danger,
they created the language in such a way that you have to explicitly state
that you want to pass by reference.
I don't think discoverability is an issue here. If a user wants to use
$using and it doesn't work, they're going to look for answers. Likewise if
a user doesn't understand the implications and uses it as-is, expecting a
particular behavior that they are used to...bad things can happen.
Mayne I'm beating a dead horse, but I feel like we are trading safety for
convenience. We should strive to be proactive in creating a strong,
reliable product, even when that reliability causes a very minor
inconvenience.
On Wed, Oct 23, 2019, 5:30 PM vexx32<EMAIL_ADDRESS>wrote:

Aye. And while I understand and accept that this is probably better for
folks who already have used $using: variables extensively, I can't help but
think it's yet another thing where users have to memorise that now we have
two very clearly distinct types of $using: 🙂
I guess I feel like this is a good opportunity to make a clean break from
the old behaviour to clarify the purpose of the variable usage, and would
help new users / those not as familiar with $using: from the PSWorkflow
days to more easily know the difference.
With $using: sort of pulling double duty as it were, it's much easier to
draw the wrong conclusion from reading code. Much as I love documentation,
I am painfully aware that there will always be a significant portion of the
userbase that doesn't read the docs extensively. I'm constantly pointing
people in the community to bits of the documentation who've been around for
several years, and never saw or bothered to read more than one or two
about_* help topics, if that. For those folks, the fact that $using: can
behave quite unexpectedly in Start-ThreadJob or ForEach-Object -Parallel
compared to, say Invoke-Command, which a great many users are familiar
with.
The familiarity of $using: could easily be a double-edged sword for us
here, I think. But I've said my piece; perhaps I'm worrying over nothing.
😁
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/PowerShell/PowerShell/issues/10499?email_source=notifications&email_token=ADR57JUDJXC73E6H6DHCBFTQQDUC5A5CNFSM4IUT77Y2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECDJI7A#issuecomment-545690748,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADR57JVRXQ7OPOE37BYOAOLQQDUC5ANCNFSM4IUT77YQ
.

The conclusion should be documented if not done yet.


config error: no prefix found in Remapping Provider

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
forge 0.2.0 (dd7c88f 2022-07-08T00:06:14.769137084Z)
What command(s) is the bug in?
forge build
Operating System
Linux
Describe the bug
Message:  failed to extract foundry config
Location: config/src/lib.rs:374
This is a bug. Consider reporting it at https://github.com/foundry-rs/foundry

Can you post the relevant files (foundry.toml and remappings.txt) please?

remappings.txt
this is ,toml
[default]
src = 'src'
out = 'out'
libs = ['lib']

Your remappings are not correct, remappings are in the format <src>=<target>, e.g. if you have a file lib/forge-std/src/Test.sol and you want to import it as forge-std/Test.sol, then the remapping would be forge-std/=lib/forge-std/src/


[Bug] Find command only finds from prefix (Not sure if bug or intended)

Have a contact named "Alex Yeoh"
Able to find "Ale"
Able to find "Alex"
Able to find "Yeo"
Able to find "Yeoh"
Cannot find "lex"

Partial words will be matched e.g. Ha will match Hans. (In user guide)

yeah its as intended, i've updated the userguide to reflect how find command works. thanks for pointing this out!


Replace custom logging by tracing

Description
Fixes #2790
Fixes #2795
Replaces the logging of lifecycle events by the tracing crate. The nice thing is that the behaviour, including compile-time maximal levels, can be configured in the final executable, and is automatically applied in all crates emitting traces. Does not include a subscriber, this should also be configured in the final binary crate.
Not included (yet?) is the configuration of all examples crates to turn off tracing events at compile time, so I wouldn't be surprised by a small increase in bundle size per the benchmarks. If it turns out to be a sizeable increase, I will add this. EDIT: seems to at least balanced by the removed code.
I have tried tracing-wasm crate for consuming the logs/as a subscriber, but there seems to be some incompatibility with chrome (works better on Firefox) that leads to weirdly long measurements. The span and events are fine though, the problem is more with the performance browser API.
Another nice feature is that one can turn on tracing = { feature = ["log-always"] } to forward events to log consumers, which works with wasm_logger.
Checklist

[ ] I have reviewed my own code

The problem with this approach is that the binary must be recompiled every time logging level is to be changed. Unlike CLI applications (for example), there's no RUST_LOG environment variable that can be set. The setting must be hard-coded into the binary.
Browser dev tools take care of this with their logging levels and filers. See them for Firefox and Chrome
I'm not really keen on adding tracing here. I think we should use console.* functions instead and let the browser handle this

The problem with this approach is that the binary must be recompiled every time logging level is to be changed. [..] The setting must be hard-coded into the binary.

I don't think that's generally true. By default, all tracing events are statically enabled. Then, you register a tracing subscriber on startup. Not sure which one is best here, but there's a lot to choose from, and it's not too hard to write your own. Then, at runtime, the subscriber can once again decide to filter spans and events by their metadata, including their log level and module, or handle them in any way they see fit. Since there is no environment variables to read, one could still read a global from javascript to determine the log level on initialization.
To make the analogy to logging in other programs, it's env_logger that reads RUST_LOG to determine the log level and handling, but logs are still emitted with the log crate. tracing is an upgrade on log (and it has some compatibility modes), and it also doesn't determine how the traces are handled. You do that by registering a subscriber and it's the end user that decides what to use.
On the other hand, using console.* is hard coded and can't be changed or used by other libraries, and there is no way a yew app can change it.
To also quell some fears about code size: the above comparison actually has all tracing callsites (events and spans) statically enabled (they can still be filtered by the eventual subscriber), yet the bundle size actually decreases.

I wasn't really concerned about code size because of dead code elimination, in case tracing isn't used.

Since there is no environment variables to read, one could still read a global from javascript to determine the log level on initialization.

I didn't think of this approach, but it makes sense. Read a JS variable and then use it initialize the tracing subscriber.
Would it make sense to tracing for our other logs?

Would it make sense to [use] tracing for our other logs?

I guess so. Incidentally, that would also address #2795.

I am in favour of switching to log or tracing instead of gloo::console.
As This allows a logging experience unified for wasm and non-wasm environments. Logs from other crates can also be captured if we encourage users to register a logger with log crate.
In addition, a logger does not have to always write to console. With tracing / log, we can implement a custom logger that shows an overlay like webpack when an error is logged via error!.

Follow up is linked. Setting up a subscriber by default sounds like a good idea, unless it has the potential of overriding an already set user defined one. I think it's simpler to find a good example of one to use, usually, they can be setup in a single line of code, like tracing_wasm::set_as_global_default();.


OLS-117: Disable built in metrics and prefix ols metrics with ols_

Description

Type of change

[ ] Refactor
[ ] New feature
[ ] Bug fix
[ ] CVE fix
[ ] Optimization
[ ] Documentation Update
[ ] Configuration Update
[ ] Bump-up dependent library

Related Tickets & Documents

Related Issue #
Closes #

Checklist before requesting a review

[ ] I have performed a self-review of my code.
[ ] PR has passed all pre-merge test jobs.
[ ] If it is a core feature, I have added thorough tests.

Testing

Please provide detailed steps to perform tests related to this code change.
How were the fix/results from this change verified? Please provide relevant screenshots or results.

/lgtm

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 94.84%. Comparing base (2a75f81) to head (2c78c88).
Report is 36 commits behind head on main.

Additional details and impacted files

@@            Coverage Diff             @@
##             main     #717      +/-   ##
==========================================
- Coverage   95.25%   94.84%   -0.42%
==========================================
  Files          53       53
  Lines        1895     1880      -15
==========================================
- Hits         1805     1783      -22
- Misses         90       97       +7

Files
Coverage Δ

ols/app/metrics/metrics.py
100.00% <100.00%> (ø)

... and 2 files with indirect coverage changes

missed a couple spots where the metric names needed updating, fixed and lgtm re-applied


Virtual Environment not listed

Environment data

VS Code version: 1.56.2
Extension version (available under the Extensions sidebar): v2021.5.842923320
OS and version: Windows 10 Pro build 19043.985 Version 21H1
Python version (& distribution if applicable, e.g. Anaconda): 3.9.5 (Official website)
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): venv
Relevant/affected Python packages and their versions: None
Relevant/affected Python-related VS Code extensions and their versions: None
Value of the python.languageServer setting: Microsoft

Expected behaviour
The Python Select Interpreter dialog is supposed to show both my globally installed Python interpreter and my virtual environment interpreter
When creating a new venv using python -m venv env, a system dialog that looks something like this is supposed to prompt me to select the newly created virtual environment as my main interpreter for that workspace.

Actual behaviour
The Python Select Interpreter dialog only shows 1 python interpreter (3.9.5) but does not show my venv.
No prompt shows up, and I have to manually activate my virtual environment through the terminal. Even choosing my venv through the Select Interpreter dialogue does not save the path, and I have to manually enter it every time.
Steps to reproduce:

python -m venv env
(No other steps needed, but the prompt as attached above is supposed to appear now)

Logs
Output for Python in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Python)

User belongs to experiment group 'pythonaacf'
User belongs to experiment group 'pythonJoinMailingListVar3'
User belongs to experiment group 'pythonJediLSP'
User belongs to experiment group 'pythonDiscoveryModuleWithoutWatcher'
User belongs to experiment group 'pythonTensorboardExperiment'
User belongs to experiment group 'pythonSurveyNotification'
User belongs to experiment group 'PythonPyTorchProfiler'
User belongs to experiment group 'CollectLSRequestTiming - control'
User belongs to experiment group 'CollectNodeLSRequestTiming - experiment'
User belongs to experiment group 'DeprecatePythonPath - experiment'
Python interpreter path: C:\Python39\python.exe
Error 2021-06-06 15:54:48: Failed to check if file needs to be fixed [EntryNotFound (FileSystemError): Unable to read file 'c:\Users\aryad\Documents\Code\Clients\Tejas\qotd-bot\.vscode\settings.json' (Error: Unable to resolve non-existing file 'c:\Users\aryad\Documents\Code\Clients\Tejas\qotd-bot\.vscode\settings.json')
	at _handleError (c:\Users\aryad\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:87:156171)
	at processTicksAndRejections (internal/process/task_queues.js:93:5)
	at async y.readText (c:\Users\aryad\.vscode\extensions\ms-python.python-2021.5.842923320\out\client\extension.js:9:344717)
	at async p.doesFileNeedToBeFixed (c:\Users\aryad\.vscode\extensions\ms-python.python-2021.5.842923320\out\client\extension.js:59:581560)
	at async c:\Users\aryad\.vscode\extensions\ms-python.python-2021.5.842923320\out\client\extension.js:59:580687
	at async Promise.all (index 1)
	at async p.getFilesToBeFixed (c:\Users\aryad\.vscode\extensions\ms-python.python-2021.5.842923320\out\client\extension.js:59:580633)
	at async p.updateTestSettings (c:\Users\aryad\.vscode\extensions\ms-python.python-2021.5.842923320\out\client\extension.js:59:580260)] {
  code: 'FileNotFound'
}
Starting Microsoft Python language server.
> conda --version

Thanks for the bug report! We just wanted to quickly acknowledge we received it and we will triage this as soon as we can.

Facing the same issue.
Is it still not reproducible ?

Sorry for the delay, can you please set the debug mode logging, you have to go to settings and change the python.logging.level to debug. This will fix the bug.


Accept authentication via remote_user header

Hey All,
I was wondering if there was a way, or if it could be a feature request, to allow using the built in HTTP authorization for HTTP access based on a passed REMOTE_USER header.
Use case is I already have authentication setup in front of kibana(proxied by Apache) using our orgs kerberos and 2FA authentication.  I'd rather be able to keep the 2FA and just pass the user to Kibana/elastic and have it use the built in HTTP roles backend.

@LaramieSmile have you found a solution to your issue? See if this link can help you.
https://opensearch.org/docs/latest/security-plugin/configuration/proxy/

We are doing some "spring cleaning in the fall", and to make sure we focus our energies on the right issues and we get a better picture of the state of the repo, we are closing all issues that we are carrying over from the ODFE era (ODFE is no longer supported/maintained, see post here).
If you believe this issue should still be considered for current versions of OpenSearch, apologies! Please let us know by re-opening it.
Thanks!


gh-151 parameter store fix

:loudspeaker: Type of change

[x] Bugfix
[ ] New feature
[ ] Enhancement
[ ] Refactoring

:scroll: Description
With the spring boot 2.4.7 update the way the ConfigDataLocationResolver works has changed. When doing the import in application-{profile}.properties the resolve method is called instead the resolveProfileSpecific one
:bulb: Motivation and Context
Fixes #151
:green_heart: How did you test it?
Via unit and used it in own project
:pencil: Checklist

[x] I reviewed submitted code
[x] I added tests to verify changes
[ ] I updated reference documentation to reflect the change
[x] All tests passing
[x] No breaking changes

:crystal_ball: Next steps

Thanks @tekener for PR. This issue has been fixed in Spring Boot 2.4.8 (https://github.com/spring-projects/spring-boot/issues/26960)


 It's rare with this client to resort to cmd for Git. Highly recommended.

Thanks for the PR. Merged.


Creating causal graphs from data not workng

So I tried the following code, and got the following error

from pyrca.graphs.causal.pc import PC
model = PC(PC.config_class())
graph_df = model.train(df)
D:\Python\Python310\lib\site-packages\numpy\lib\function_base.py:2897: RuntimeWarning: invalid value encountered in divide
c /= stddev[:, None]
D:\Python\Python310\lib\site-packages\numpy\lib\function_base.py:2898: RuntimeWarning: invalid value encountered in divide
c /= stddev[None, :]
Depth=13, working on node 14: 100%|██████████████████████████████████████████████████| 15/15 [00:00<00:00, 1299.57it/s]
Traceback (most recent call last):
File "", line 1, in
File "D:\PyRCA-main\pyrca\graphs\causal\base.py", line 69, in train
adjacency_df = self._train(df=df, **kwargs)
File "D:\PyRCA-main\pyrca\graphs\causal\pc.py", line 66, in _train
assert len(items) == 3
AssertionError

It seems that there are some data issues. Please make sure that there are no INFs and NaNs in the dataframe.

While there is no data in the df that has a NAN or INF,  the issue is on line 66 i.e.
assert len(items) == 3
The previous line is
items = edge.split()
Almost seems lik e that the code is expecting the number of edges to be 3 and only 3

First, make sure that the data has no missing values. Second, the column names in the dataframe cannot contain "space" char. This is an issue in the causal discovery package, you may replace " " with "_".

No problem, and let us know if there are any other issues.

I made sure all headings have _ instead of spaces, still the same error
df=pd.read_csv('D:/Python/normal_Data.csv')

from pyrca.graphs.causal.pc import PC
model = PC(PC.config_class())
graph_df = model.train(df)

here is what is a sample from normal_Data.csv

Could add a small amount of random noise into the data? It seems that some metrics are constants.

So is that the reason, we are getting
assert len(items) == 3
AssertionError

Also when added more variance, now it failed with a different error

from pyrca.graphs.causal.pc import PC
model = PC(PC.config_class())
graph_df = model.train(df)
D:\Python\Python310\lib\site-packages\numpy\lib\function_base.py:2854: RuntimeWarning: invalid value encountered in divide
c /= stddev[:, None]
D:\Python\Python310\lib\site-packages\numpy\lib\function_base.py:2855: RuntimeWarning: invalid value encountered in divide
c /= stddev[None, :]
Depth=13, working on node 14: 100%|██████████████████████████████████████████████████| 15/15 [00:00<00:00, 2890.76it/s]
Traceback (most recent call last):
File "", line 1, in
File "D:\PyRCA-main\pyrca\graphs\causal\base.py", line 75, in train
raise RuntimeError("Orientation of the undirected edges failed.")
RuntimeError: Orientation of the undirected edges failed.

This error is because the generated graph is not a DAG and these cycles cannot be resolved via PartialDAG2DAG. Please set the parameter "run_pdag2dag" to False.

No errors there, but now this fails
from pyrca.applications.example.rca import RCAEngine
engine = RCAEngine()
engine.build_causal_graph(
df=df,
run_pdag2dag=False,
max_num_points=5000000,
verbose=False
)
AssertionError                            Traceback (most recent call last)
Cell In[30], line 3
1 from pyrca.applications.example.rca import RCAEngine
2 engine = RCAEngine()
----> 3 engine.build_causal_graph(
4     df=df,
5     run_pdag2dag=False,
6     max_num_points=5000000,
7     verbose=False
8 )
9 bn = engine.train_bayesian_network(dfs=[df])
10 bn.print_probabilities()
File D:\Python\anaconda3\lib\site-packages\pyrca\applications\example\rca.py:97, in RCAEngine.build_causal_graph(self, df, domain_knowledge_file, run_pdag2dag, max_num_points, method_class, verbose, **kwargs)
88     method_class = PC
89 model = method_class(
90     method_class.config_class(
91         domain_knowledge_file=domain_knowledge_file,
(...)
95     )
96 )
---> 97 adjacency_df = model.train(df)
98 adjacency_df.to_pickle(os.path.join(self.model_dir, self.adjacency_df_filename))
99 PC.dump_to_tetrad_json(adjacency_df, self.model_dir)
File D:\Python\anaconda3\lib\site-packages\pyrca\graphs\causal\base.py:62, in CausalModel.train(self, df, **kwargs)
59 if self.config.domain_knowledge_file:
60     parser = DomainParser(self.config.domain_knowledge_file)
61     adjacency_df = self._train(
---> 62         df=df, forbids=parser.get_forbid_links(df.columns), requires=parser.get_require_links(), **kwargs
63     )
64 else:
65     if "forbids" not in kwargs:
File D:\Python\anaconda3\lib\site-packages\pyrca\utils\domain.py:64, in DomainParser.get_forbid_links(self, graph_nodes, process_root_leaf)
62 assert graph_nodes is not None, "graph_nodes cannot be None."
63 for u in leaf_nodes:
---> 64     assert u in graph_nodes, f"{u} is not in all_nodes"
65     for v in graph_nodes:
66         if u != v:
AssertionError: apt is not in all_nodes

The RCAEngine is just an example to show how to use PyRCA in real-world applications. You need to change it according to your use case.

Yes, and I muted the logic which was forcing the example domain_knowledge file if none was provided.
But now I see this error
from pyrca.applications.example.rca import RCAEngine
engine = RCAEngine()
engine.build_causal_graph(
df=df,
run_pdag2dag=False,
max_num_points=5000000,
verbose=True
)
bn = engine.train_bayesian_network(dfs=[df])
bn.print_probabilities()
ValueError                                Traceback (most recent call last)
File D:\Python\anaconda3\lib\site-packages\networkx\convert.py:172, in to_networkx_graph(data, create_using, multigraph_input)
171 try:
--> 172     return from_edgelist(data, create_using=create_using)
173 except Exception as err:
File D:\Python\anaconda3\lib\site-packages\networkx\convert.py:490, in from_edgelist(edgelist, create_using)
489 G = nx.empty_graph(0, create_using)
--> 490 G.add_edges_from(edgelist)
491 return G
File D:\Python\anaconda3\lib\site-packages\pyrca\thirdparty\pgmpy\base\DAG.py:285, in DAG.add_edges_from(self, ebunch, weights)
284 for edge in ebunch:
--> 285     self.add_edge(edge[0], edge[1])
File D:\Python\anaconda3\lib\site-packages\pyrca\thirdparty\pgmpy\models\BayesianModel.py:124, in BayesianModel.add_edge(self, u, v, **kwargs)
123 if u in self.nodes() and v in self.nodes() and nx.has_path(self, v, u):
--> 124     raise ValueError(
125         "Loops are not allowed. Adding the edge from (%s->%s) forms a loop."
126         % (u, v)
127     )
128 else:
ValueError: Loops are not allowed. Adding the edge from (Wait_Time->FedEx) forms a loop.
The above exception was the direct cause of the following exception:
NetworkXError                             Traceback (most recent call last)
Cell In[3], line 9
2 engine = RCAEngine()
3 engine.build_causal_graph(
4     df=df,
5     run_pdag2dag=False,
6     max_num_points=5000000,
7     verbose=True
8 )
----> 9 bn = engine.train_bayesian_network(dfs=[df])
10 bn.print_probabilities()
File D:\Python\anaconda3\lib\site-packages\pyrca\applications\example\rca.py:142, in RCAEngine.train_bayesian_network(self, dfs, domain_knowledge_file, config_file, verbose)
139 if verbose:
140     self.logger.info(f"The training parameters for the Bayesian network: {params}")
--> 142 bayesian_network = BayesianNetwork(
143     BayesianNetworkConfig(
144         graph=graph,
145         default_sigma=params["default_sigma"],
146         thres_win_size=params["thres_win_size"],
147         thres_reduce_func=params["thres_reduce_func"],
148         sigmas=params.get("sigmas", {}),
149     )
150 )
151 bayesian_network.train(dfs=dfs)
152 bayesian_network.add_root_causes(domain.get_root_causes())
File D:\Python\anaconda3\lib\site-packages\pyrca\analyzers\bayesian.py:78, in BayesianNetwork.init(self, config)
76 else:
77     self.graph = config.graph
---> 78 self.bayesian_model = self._build_bayesian_network(self.graph)
79 self.root_nodes = []
File D:\Python\anaconda3\lib\site-packages\pyrca\analyzers\bayesian.py:92, in BayesianNetwork._build_bayesian_network(graph)
90         for p in parents:
91             edges.append((p, node))
---> 92     return BayesianModel(ebunch=edges)
93 return None
File D:\Python\anaconda3\lib\site-packages\pyrca\thirdparty\pgmpy\models\BayesianModel.py:98, in BayesianModel.init(self, ebunch, latents)
30 def init(self, ebunch=None, latents=set()):
31     """
32     Initializes a Bayesian Model.
33     A models stores nodes and edges with conditional probability
(...)
96     3
97     """
---> 98     super(BayesianModel, self).init(ebunch=ebunch, latents=latents)
99     self.cpds = []
100     self.cardinalities = defaultdict(int)
File D:\Python\anaconda3\lib\site-packages\pyrca\thirdparty\pgmpy\base\DAG.py:74, in DAG.init(self, ebunch, latents)
73 def init(self, ebunch=None, latents=set()):
---> 74     super(DAG, self).init(ebunch)
75     self.latents = set(latents)
76     cycles = []
File D:\Python\anaconda3\lib\site-packages\networkx\classes\digraph.py:366, in DiGraph.init(self, incoming_graph_data, **attr)
362 # Note: self._succ = self._adj  # successor
363
364 # attempt to load graph with data
365 if incoming_graph_data is not None:
--> 366     convert.to_networkx_graph(incoming_graph_data, create_using=self)
367 # load graph attributes (must be after convert)
368 self.graph.update(attr)
File D:\Python\anaconda3\lib\site-packages\networkx\convert.py:174, in to_networkx_graph(data, create_using, multigraph_input)
172         return from_edgelist(data, create_using=create_using)
173     except Exception as err:
--> 174         raise nx.NetworkXError("Input is not a valid edge list") from err
176 raise nx.NetworkXError("Input is not a known data type for conversion.")
NetworkXError: Input is not a valid edge list

The graph used in Bayesian network must be a DAG. If it is not a DAG, it will raise the errors.

Like this error: "ValueError: Loops are not allowed. Adding the edge from (Wait_Time->FedEx) forms a loop."

So, I was trying to determine the graph using pyrca . What should I use instead to simply get the graph first ? Also if it turns to not be DAG, then what model should I use instead?.

You can try FGES but you need to add domain knowledge when generating the graph because there exists constant metrics. The causal discovery algorithms cannot do everything because of data issues.

So does the domain info need to be in YAML file, or can I just provide a Causal graph as a DIGraph object?

Yes, if you already have a graph, you don't need to run causal discovery. You can just apply RCA methods with it.

So the graph is in networkx format. How do I use it? Also, I was able to use the domain knowledge yaml, and data, and graph it produced was quite wrong  see below

where it should be

Also, it appears that Bayesian neotwrk only work with binary data. Is that true. What is a good model for category data with multiple valeus or range of vales?

The graph can be a pandas dataframe (adjacency matrix). For categorical data, you may try FGES or PC with discreted value support. You can try this tool: https://github.com/cmu-phil/tetrad. But it is common that causal discovery results are not quite reliable.

Can you expand on "it is common that causal discovery results are not quite reliable."

These methods are statistics methods which requires many assumption on causal models and data properties. The real-world data usually doesn't satisfy these assumptions. Therefore, the results may not be the same as the ground-truth.

So then which models or approaches are better suited for the real world scenarios?

It depends on the data properties, it is hard to say which one is better. The most common used ones are PC and FGES.

The other options I am looking into are supervised learning on labeled data. The problem I have with that is model obsolescence over time. This where I understood that a causal model would, which has domain knowledge and not just a weights and biases, would make the model more resilient.


output_44_0.png not accessible; link broken

https://github.com/hadrienj/deepLearningBook-Notes/blob/master/2.9 The Moore-Penrose Pseudoinverse/images/output_44_0.png

Hi, thank you for taking the time to fill the issue! Can you tell me where did you find the broken link?
Thanks!

The link is in the issue I opened.
https://github.com/hadrienj/deepLearningBook-Notes and under 9. The Moore-Penrose Pseudoinverse

Thanks! It is fixed!


ELAN Touchpad broken (regression)

Acer TravelMate B.
Related to iichid? When it is working then both iichid.ko and iicbus.ko are loaded.
Broken as of 0cdf69f
It was still working e.g., in 28471f0

Currently touchpad is broken for (at least) Synaptic and Elan devices (e.g, in MacBookPro7,1 and Acer TravelMate B).
Strangely, nomadbsd-1.4.img.lzma (also based on 12.2) also does not have working touchpad for Synaptic and Elan devices. Hence we should go back to what we had in 0.4.0 before we started using load_iichid.
Unfortunately https://github.com/wulf7/iichid is too vague about how to install and enable this in "the one proper way" and has phrases like "genarally you should load iichid.ko from bootloader"...
...but then, "genarally you shouldn't load anything from the bootloader that isn't strictly required from booting.
Plan of action
Remove

load_iichid
load_iichid_enable

Enable
kld_list="fuse ig4 iicbus iichid utouch asmc"
# kld_list (str) A list of kernel modules to load right after the local
# disks are mounted. Loading modules at this point in the boot
# process is much faster than doing it via /boot/loader.conf
# for those modules not necessary for mounting local disk.

Potential fallback
if people complain try this next :
https://github.com/helloSystem/ISO/commit/a758032490fe20ff464ae84cbcb0f426ec334f0e#diff-a4bd6792f727a57b0487cdbc254effcb749cd24b2e3b62bec5f9faa6883d308b
# https://github.com/wulf7/iichid#usbhid
# "genarally you should load iichid.ko from bootloader"
/boot/boot/loader.conf
# Add support for I2C devices
ig4_load="YES"
iicbus_load="YES"
iichid_load="YES"

Seems to work for me again in 0E30.

Just tested the latest release on Acer Aspire V3 371 which has got an i2c PS2 hybrid touchpad from ELAN (mode chosen according to which OS is reported to ACPI) and it doesn't work.

"i2c PS2 hybrid" devices seem to be the one that are not working yet. We will have to try whether the "Potential fallback" described above would help for those devices.

"i2c PS2 hybrid" devices seem to be the ones that are not working yet. We will have to try whether the "Potential fallback" described above would help for those devices.

I think linux has got a kernel cmdline parameter to spoof an OS to ACPI. If FreeBSD has got that as well, it might be worth trying that out. I know how my Laptop's ACPI reacts to the different variables stored from an odyssey with trying to get VoodooPS2 to work on macOS, so whatever mode is most compatible I could probably set them by spoofing the OS. Weirdly enough it goes into pure PS2 mode if Windows 8 is detected. Heck, I could even mod the DSDT to include FreeBSD in the OSYS check with Windows2012 hex values returned to the ACPI. Just needs a bootloader to load the .aml.

Looks like the FreeBSD bootloader is capable of doing that:

Variable
Description

acpi_dsdt_load="NO"
DSDT Overriding

acpi_dsdt_type="acpi_dsdt"
Don't change this

acpi_dsdt_name="/boot/acpi_dsdt.aml"
Override DSDT in BIOS by this file

acpi_video_load="NO"
Load the ACPI video extension driver

Source: https://wiki.ghostbsd.org/index.php//boot/defaults/loader.conf
Also, Clover can load FreeBSD, please see https://github.com/helloSystem/ISO/issues/43 if you are interested in that.


walkDeps: Fixed bug on non-walked, visited deps.

visited map was not being updated when the dependency was being
visited, only if it was being walked. This led to cases where
duplicate traversals were possible.

It's necessary because logic for generating ninja rules typically exists within the visit() function. walk() is only used for continuing to traverse that node's dependencies.
There is a bug in the existing code that if a node is visited but not walked, it won't be marked as visited. Therefore duplicate ninja rules can be generated for that node if it is visited again.


[AES/rtl] compile fails for xcelium

@vogelpi it seems that your latest changes are making AES compilation fail.
it fails in all 3 places where SP2V_HIGH is used in a generate loop
  if (SP2V_HIGH[i] == 1'b1) begin : gen_fsm_p
                |
xmvlog: *E,CNBSEC (../src/lowrisc_ip_aes_0.6/rtl/aes_control.sv,208|16): Illegal attempt to bit-select an enumeration constant.

I looked in the IEEE and it does not give any indication if this should be valid code or not!
either way, xcelium does not support it.
at this point in time I do not have a viable workaround

Hey @rasmus-madsen,
thanks for reporting this issue. I've now created a PR that should solve this problem, but I am not entirely sure as I don't have access to Xcelium. Would you mind to checkout #9621 and give it a try?
Sorry for the inconvenience!


Cant install it locally

HI I tried to install the project locally on my Lampp server but cant load it. When i visit the /public folder i get a blank page with no php errors !
Here are the steps i did:

I downloaded the latest release 0.1.8
I imported the dev.sql in my phpMyAdmin
I set the credentials for the dbname, user, and password in the config/dbase.config.php file
I visit the url http://loclahost/agouti/public
I get a blank Page!!!

Could you please give me some more instructions how to install it properly as i want to contribute on your project ?
PS: I run php 7.4 on my local server
Thanks in advance

You may need to enable error output to provide more information.
To do this, in the file: start.hleb.php
Change line 24 from:
define ('HLEB_PROJECT_DEBUG', false);

on:
define ('HLEB_PROJECT_DEBUG', true);

Next, you can create a host like: dev.loc
Which uses the public folder as public. This can help:
https://blog.quickadminpanel.com/laravel-public-folder-how-to-configure-domains-for-in-apachenginx/

Still cant log any error !! :(

now i have something:

Perhaps you haven't configured the public folder for the project? Do you see the URL domain that you created as local, for example, dev.loc if you place a regular index.html file in the public folder?
The error log is located at this address: /storage/logs/


[Coverity CID :187820] Memory - illegal accesses in /subsys/bluetooth/host/hci_core.c

Static code scan issues seen in File: /subsys/bluetooth/host/hci_core.c
Category: Memory - illegal accesses
Function: bt_id_reset
Component: Bluetooth
CID: 187820
Please fix or provide comments to square it off in coverity in the link: https://scan9.coverity.com/reports.htm#v32951/p12996

Please check Coverity status before filing issues. This was already flagged as a false-positive.


Calibrate Drivetrain Gains

Drivetrain kS and kV need calibrated. Start with both at zero

Increase kS to be as large as possible without causing motion
Set kV to its theoretical value, and incrase it slightly to overcome friction

kA is not yet implemented, leave it at 0


[BUG] - Input and dropdown are not having the styles as shown in the documentation

NextUI Version
2.2.9
Describe the bug
The styles of dropdown and input components are broken and are not as shown in the documentation.
Also, tried with the template provided (https://github.com/nextui-org/next-app-template), but still facing the same issue.
Versions:
node - v18.17.0
tailwind CSS - 3.3.5
framer motion - 10.16.4
Your Example Website or App
No response
Steps to Reproduce the Bug or Issue

npx create-next-app my-app -e https://github.com/nextui-org/next-app-template

cd my-app

yarn

Add the following snippet to page.tsx:

Open Menu

New file
Copy link
Edit file

         Delete file

yarn dev

Expected behavior
The expected behavior should be as shown in the documentation
Screenshots or Videos

As shown in the image, the input and the dropdown within the red box have broken styles.
Operating System Version
Windows 10
Browser
Chrome

Same here! Currently adding style={{ backgroundColor: "transparent" }} to the component to display properly

Closing - no reproducible. The styles from the screenshots looks like you missed this step.


Proofs that don't start with "Proof." are not recognized

Compare how cbn is highlighted in this example:
Lemma a : False.
Proof.
cbn.
Abort.

Lemma a : False.
cbn.

The problem is tactics are currently only highlighted when they're in a coqProofBody region, which looks for a starting delimiter like Proof or Next Obligation. Without that it's tricky to tell when a proof starts. Some options I can think of are:

Drop the proof body requirement and highlight tactics everywhere, even in places where they may not be valid.
Try to expand proof body to check if the previous vernacular is Lemma, or Theorem, etc. It should probably also check that it's not defined in that same command (Example a : True := I.), but this also has some corner cases (Instance x : Reflexive R := _.).
Keep it as is and don't try to highlight/indent proofs without an explicit start keyword.

1 or 3 are the easiest options but I'm open to 2 if you think this is a common enough/idiomatic use case.

Somewhat related: #43.

I'm fine with not fixing it if it's not easy. I just wanted to mention it because it seems somewhat common, but I'm not at all fond of that style.

When I next get some time I'll experiment with how hard it is to make a best-effort attempt at something like option 2.

As if living with the rooster was not hard enough already,
some proofs in the standard library start with both
Next Obligation and Proof and thus manifest this issue.
The following excerpt is from theories/Classes/EquivDec.v.
#[global]
Program Instance unit_eqdec : EqDec unit eq := fun x y => in_left.

  Next Obligation.
  Proof.
    do 2 match goal with [ x : () |- _ ] => destruct x end.
    reflexivity.
  Qed.


No newline after progressbar

Experienced the same issue as described in #32
Package: 3.12.0
Python: 3.4.3

What kind of terminal (windows cmd, linux xterm, ipython notebook, etc.) are you running it in? I'm not able to reproduce the problem using the test code mentioned in #32.

@WoLpH
Linux xterm through win SSH-client Kitty <IP_ADDRESS> (Putty's fork).
Lack of \n is happening when doing bar.update() outside of the progressbar's context wrappers:
#!/usr/bin/env python3
import time
import progressbar

len = 40

bar = progressbar.ProgressBar(max_value=len)

i = 0
for i in range(len):
    time.sleep(0.1)
    i += 1
    bar.update(i)

print('Hello World')

# ./progressbar_test.py
100% (40 of 40) |#########################| Elapsed Time: 0:00:03 ETA:  0:00:00Hello World

In that case it's actually expected. The bar.finish() method takes care of the newline. If you're not wrapping it you'll have to call it yourself.
Here's an exerpt from the docs: http://pythonhosted.org/progressbar2/progressbar.bar.html#progressbar.bar.ProgressBar

>>> progress = ProgressBar().start()
>>> for i in range(100):
...     progress.update(i+1)
...     # do something
...
>>> progress.finish()

You can also use a ProgressBar as an iterator:
>>> progress = ProgressBar()
>>> some_iterable = range(100)
>>> for i in progress(some_iterable):
...     # do something
...     pass
...

@WoLpH
You're right, overlooked that.
Thanks for your time, and have some happy holidays =)

Happy holidays to you as well :)