enable Codecov

What does this PR do?
Re-enable Codecov from full GPU tests and add online badge
PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.
Did you have fun?
Make sure you had fun coding 🙃

@PyTorchLightning/core-contributors ^^

I think that the codecov secret needs to be used as an env var instead of hard-coding it in the codecov.yml environment variable. If that is the case indeed, please re-generate the token and add it as an env var.

by my understanding this hardcoded token did not have any effect and just forget to remove it, done now, thx for the catch :] also new toked uploaded to Drone CI


Router is broken on going back from user profile (/profile)

A known problem, caused by the pathfinder router: double clicking on an arrow :arrow_left: is required.

Re-opening since the temporary fix

I'm not sure I envolved enough to understand specific issue. Usually, going back doesn't require double clicking.

Btw, new major, very improved, version of svelte-pathfinder recently released. Make sure you read change log and migration guide before update.


My SqueezeNext implementation is not any better than my Tiny Darknet implementation

Hello!
Thank you all for the clear and complete paper you wrote! I managed to implement SqueezeNext in Tensorflow and am using it as a part of a CNN+RNN+Attention model to do OCR. Earlier, I designed the CNN part inspired by Tiny Darknet and made this structure:
type, filters, filter size, stride
conv 16 3x3 2x2
conv 32 3x3 2x2
conv 32 1x1 1x1
conv 64 3x3 1x1
conv 32 1x1 1x1
conv 128 3x3 2x1
conv 64 1x1 1x1
conv 256 3x3 1x1
conv 64 1x1 1x1
conv 512 3x3 2x1
conv 128 1x1 1x1
conv 1024 3x3 2x1
conv 64 1x1 2x1

Now, I implemented the 1.0-SqNxt-23v5 model (with some added strides to make sure the output is the same as the original model; from 128x64 input to 32x1 output). This results in about the same performance (in terms of accuracy and speed) on my target platform, an ARMv7 mobile chip (about the speed of a Raspberry Pi 2), and 1.5x slower on a GPU. Any intuitions if this result is to be expected? I would expect it to be either faster or give better results than my previous, simpler, model. Or should I just not expect your model to work as good on my very different dataset? (text lines)
Also, I noticed the training took a lot longer (about 3 times) to converge. Is that to be expected due to the massively increased network depth or is your network less optimal when running with batches on a GPU?

Hi Fred,
Thanks for reaching out. Without analyzing the particular dataset that you are using it is hard to give useful feedback. However, we have tested SqueezeNext on a range of tasks including style transfer and face detection. Note that for each application you will need to modify the neural network

Thank you so much for your response!
The data is IR and RGB cutouts of license plates. I sadly cannot give you the dataset because it is not legally allowed to share license plates due to privacy laws, but here is an example image of my own license plate.

However, we have tested SqueezeNext on a range of tasks including style transfer and face detection. Note that for each application you will need to modify the neural network
And what kind of modifications would be needed? I would suspect that because there is not one object like in ImageNet but multiple objects that have to be detected in both OCR and face detection, I would need more channels in the the beginning than in the ImageNet-optimized 1.0-SqNxt-23v5. Are those your findings as well, and/or would you be able to share the structure for the face detection network?

This results in about the same performance (in terms of accuracy and speed) on my target platform, an ARMv7 mobile chip
The performance in the paper is calculated on a simulated accelerator, have you by any chance also done tests on real-life low power hardware like an ARM processor?

I can be because Tiny Darknet just have less layers, it seems not only MACCs or FLOPS are matter but also memory access:

The number of computations — whether you count them as MACCs or FLOPS — is only part of the story. Memory bandwidth is the other part, and most of the time is even more important!
On current computer architectures, a single memory access from main memory is much slower than a single computation — by a factor of about 100 or more!
You just saw that these neural networks do a lot of computations, but how many memory accesses do they perform?
For each layer, the device needs to:
read the input vector or feature map from main memory
compute the dot products — which involves reading the layer’s weights from main memory too
write the result back to main memory as a new vector or feature map.
This involves a lot of memory accesses. Since memory is pretty slow, the amount of memory read/writes performed by the layer will have a big impact on its speed too — bigger perhaps than the number of computations.

https://machinethink.net/blog/how-fast-is-my-model/
btw CNN+RNN+Attention model to do OCR any reference to this kind of models?


Fixes website

Description

Describe your changes in detail
Why is this change required? What problem does it solve?
If it fixes an open issue, please put a link to the issue here.

Self-explained
Types of changes

What types of changes does your code introduce? Put an x in all the boxes that apply:

[ ] House cleaning
[ ] Bug fix
[ ] Enhancement
[ ] Breaking change
[ ] New feature
[ ] New release
[x] Documentation

Additional details

Please, list here some additional details we should be aware of when reviewing your PR.

N/A

Codecov Report

Merging #154 (d64536b) into main (179ddfe) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #154   +/-   ##
=======================================
  Coverage   84.80%   84.80%
=======================================
  Files          11       11
  Lines         500      500
=======================================
  Hits          424      424
  Misses         76       76

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 179ddfe...d64536b. Read the comment docs.


⚠ Processors has degraded performance

In 1d98f20, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 54 ms

Resolved: Processors performance has improved in 92336e7.


Do all functions in the project have to be configured?

I have a single function app/project.  Some of the functions are queue trigger functions others I don't have and don't want Open API configuration for.  I'm not sure if that's what's causing the error below but I tried setting up Open API on a test project/function app that I have (which has only one function that I setup OpneAPI for) and it worked fine so I am wondering if my problem is having queue triggers and undefined http trigger functions in the same function app.
The below error  is what I get when running the function app locally I try to access the swagger UI.
[2021-03-29T20:39:51.921Z] Executing 'RenderSwaggerUI' (Reason='This function was programmatically called via the host APIs.')
[2021-03-29T20:39:51.931Z] SwaggerUI page was requested.
[2021-03-29T20:39:52.077Z] Executed 'RenderSwaggerUI' [2021-03-29T20:39:52.079Z] System.Private.CoreLib: Exception while executing function: RenderSwaggerUI. System.Linq: Value cannot be null. (Parameter 'source').

@buddyackerman Thanks for the issue!
With regards to exposing to OpenAPI document, only functions with the [HttpTrigger] binding are considered. And those selected endpoints are filtered by the [OpenApiOperation] decorator.
Therefore, any function other than HTTP trigger won't be selected. Any HTTP trigger function without the [OpenApiOperation] decorator won't be selected either.
If you still face the issue, it would be great to let us know how to reproduce the error on our end.

@buddyackerman As I haven't heard from you for a while, I'm closing this issue for now. If you still have the same issue, please open a new one and link to this.


Bug Report.

https://github.com/bigcode-project/astraios/blob/a133ecca906ecc9ac4ec23fba969d06219a9e6b0/training/finetune.py#L372 There is a bug in this line:
TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'.
It should return a string in print_trainable_parameters function.

Hi,
Thanks for the note! I'll change the return type of print_trainable_parameters to string.
Cheers

Fixed.


Micronaut Serverless Function is not build with Graal Native support on Apple Silicon

Expected Behavior
I expect when using Apple Silicon MacBook that the command:
$ ./gradlew buildNativeLambda will output a valid image and .zip file with the function
Actual Behaviour
I receive the error:
Building image…
Preparing build context archive…
[==================================================>]78/78 files
Done

Sending build context to Docker daemon…
[==================================================>] 19.68MB
Done

Step 1/27 : FROM amazonlinux:latest AS graalvm
 ---> 377da0386f50
Step 2/27 : ENV LANG=en_US.UTF-8
 ---> Using cache
 ---> b3f0a3337e46
Step 3/27 : RUN yum install -y gcc gcc-c++ libc6-dev zlib1g-dev curl bash zlib zlib-devel zlib-static zip tar gzip
 ---> Using cache
 ---> 336cb10c6e4f
Step 4/27 : RUN curl -4 -L https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-21.3.0/graalvm-ce-java11-linux-amd64-21.3.0.tar.gz -o /tmp/graalvm-ce-java11-linux-amd64-21.3.0.tar.gz
 ---> Using cache
 ---> 6b6fb6b0202d
Step 5/27 : RUN tar -zxf /tmp/graalvm-ce-java11-linux-amd64-21.3.0.tar.gz -C /tmp && mv /tmp/graalvm-ce-java11-21.3.0 /usr/lib/graalvm
 ---> Using cache
 ---> 9d9451ea1cda
Step 6/27 : RUN rm -rf /tmp/*
 ---> Using cache
 ---> e5c5dfae4002
Step 7/27 : RUN /usr/lib/graalvm/bin/gu install native-image
 ---> Running in 7c8bba443427
qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory
Error response from daemon: The command '/bin/sh -c /usr/lib/graalvm/bin/gu install native-image' returned a non-zero code: 255
Failed to deploy '<unknown> Dockerfile: ../test/micronautguide/build/docker/native-main/DockerfileNative': Can't retrieve image ID from build stream

Steps To Reproduce
step 1:
mn create-function-app example.micronaut.micronautguide --features=graalvm,aws-lambda --build=gradle --lang=kotlin
step 2:
 ./gradlew buildNativeLambda
Environment Information

Gradle 7.3.1
Build time:   2021-12-01 15:42:20 UTC
Revision:     2c62cec93e0b15a7d2cd68746f3348796d6d42bd
Kotlin:       1.5.31
Groovy:       3.0.9
Ant:          Apache Ant(TM) version 1.10.11 compiled on July 10 2021
JVM:          11.0.13 (Azul Systems, Inc. 11.0.13+8-LTS)
OS:           Mac OS X 12.1 aarch64
tested also with other JVMs (AdoptJDK 17, ..)
Example Application
No response
Version
3.24+

Hi @tamershahin
Thanks for the report, I have verified this it is indeed a bug on M1 hardware.
The underlying issue is that the gradle plugin currently doesn't specify a platform for the amazonlinux image, so on Apple M1 chips, docker pulls the ARM architecture version of the image. And then we install the x86 graal jdk, and that's where it fails.
It should be possible to build ARM lambdas on the M1 chip, I will investigate.
Building x86 lambda native images on the Apple M1 chip is a much harder proposition, and I'm not sure that can be done

@tamershahin Hiya!
Yeah, you can create ARM lambdas in AWS

I just built the example book lambda on an M1 Apple laptop, deployed it to an ARM based function in AWS, and running a simple test worked as expected

@tamershahin Hiya!
Yeah, you can create ARM lambdas in AWS

I just built the example book lambda on an M1 Apple laptop, deployed it to an ARM based function in AWS, and running a simple test worked as expected

sorry, my bad.. I remembered that earlier today and I forgot to remove the question :P thanks for that  anyway
I have one last problem.. how long does it take usually to build the zip? on my local it's getting stuck for long time with this logs:
2022-01-13T22:42:23.338+0100 [INFO] [org.gradle.internal.execution.steps.ResolveCachingStateStep] Caching disabled for task ':dockerBuildNative' because:
  Build cache is disabled
2022-01-13T22:42:23.338+0100 [DEBUG] [org.gradle.internal.execution.steps.SkipUpToDateStep] Determining if task ':dockerBuildNative' is up-to-date
2022-01-13T22:42:23.338+0100 [INFO] [org.gradle.internal.execution.steps.SkipUpToDateStep] Task ':dockerBuildNative' is not up-to-date because:
  Task.upToDateWhen is false.
2022-01-13T22:42:23.338+0100 [DEBUG] [org.gradle.internal.vfs.impl.AbstractVirtualFileSystem] Invalidating VFS paths: [/Users/tamer/Projects/Tenera/test/micronautguide/build/.docker/dockerBuildNative-imageId.txt]
2022-01-13T22:42:23.338+0100 [DEBUG] [org.gradle.internal.execution.steps.CreateOutputsStep] Ensuring parent directory exists for property imageIdFile at /Users/tamer/Projects/Tenera/test/micronautguide/build/.docker/dockerBuildNative-imageId.txt
2022-01-13T22:42:23.338+0100 [DEBUG] [org.gradle.api.internal.tasks.execution.TaskExecution] Executing actions for task ':dockerBuildNative'.
2022-01-13T22:42:23.338+0100 [QUIET] [org.gradle.api.Task] Building image using context '/Users/tamer/Projects/Tenera/test/micronautguide/build/docker/native-main'.
2022-01-13T22:42:23.338+0100 [QUIET] [org.gradle.api.Task] Using Dockerfile '/Users/tamer/Projects/Tenera/test/micronautguide/build/docker/native-main/DockerfileNative'
2022-01-13T22:42:23.857+0100 [QUIET] [org.gradle.api.Task] Using images 'micronautguide'.
2022-01-13T22:42:23.857+0100 [DEBUG] [com.bmuschko.gradle.docker.internal.RegistryAuthLocator] RegistryAuthLocator has configFile: /Users/tamer/.docker/config.json (exists) and commandPathPrefix: docker-credential-
2022-01-13T22:42:23.857+0100 [DEBUG] [com.bmuschko.gradle.docker.internal.RegistryAuthLocator] Found registries in docker auths section: []
2022-01-13T22:42:23.857+0100 [DEBUG] [com.bmuschko.gradle.docker.internal.RegistryAuthLocator] Found registries in docker credHelpers section: []
2022-01-13T22:42:23.857+0100 [DEBUG] [com.bmuschko.gradle.docker.internal.RegistryAuthLocator] Executing docker credential helper: docker-credential-desktop to locate auth configs
2022-01-13T22:42:23.932+0100 [DEBUG] [com.bmuschko.gradle.docker.internal.RegistryAuthLocator] Credential helper response: {}

2022-01-13T22:42:23.932+0100 [DEBUG] [com.bmuschko.gradle.docker.internal.RegistryAuthLocator] Found registries in docker credential helper: []
2022-01-13T22:42:27.392+0100 [LIFECYCLE] [org.gradle.cache.internal.DefaultFileLockManager]
2022-01-13T22:42:27.392+0100 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-01-13T22:42:27.394+0100 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-01-13T22:42:27.394+0100 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-01-13T22:42:27.394+0100 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-01-13T22:42:27.394+0100 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-01-13T22:42:27.395+0100 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-01-13T22:42:37.391+0100 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-01-13T22:42:37.392+0100 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-01-13T22:42:37.393+0100 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2022-01-13T22:42:37.393+0100 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-01-13T22:42:37.393+0100 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-01-13T22:42:37.393+0100 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry. ````

On my WIP fix branch for this, it takes 3 minutes.  Do you have multiple Gradle instances running?  That looks like something is fighting over a file lock...  Try stopping all the builds, and kill any daemons with ./gradlew --stop, then running again

Any updates on this issue?

name -a
root:xnu-8020.141.5~2/RELEASE_X86_64 x86_64
dockerfileNative {
graalArch.set("aarch64")
}
Same issue

Build restart helped somehow. Also I manually added --platform=linux/x86_64 to the dockerfile but have no clue if it was ever used as file was overwritten after command restart.

I'm able to build the zip using dockerBuildNative however am receiving the following error in AWS when attempting to test the lambda on an ARM64 runtime:


Log HttpStatusCode as int instead of enum

Log status code as integer in order to be consistent with https://github.com/aspnet/Announcements/issues/396

You managed to make a PR about status codes with PR number being 500 😁.


Changes required due to TextBuffer.save becoming async in Atom 1.19

Hi! Thanks for maintaining the ex-mode package!
In Atom v1.19, we will release a major change to Atom's core text buffer data structure. As part of this change, we have made TextBuffer.save asynchronous; rather than blocking until the save is complete, it now immediately returns a Promise that resolves when the save is complete. Because of this, a few other Atom APIs that use save have similarly become async:

Pane.close
TextBuffer.save
TextEditor.save
Pane.saveItem
Pane.saveItemAs
Pane.saveActiveItem
Pane.saveActiveItemAs
Pane.saveItems
Workspace.saveActivePaneItem
Workspace.saveActivePaneItemAs

Effects on this package
We think this package could be impacted by this upgrade because it calls the changed methods in the following places:

TextEditor.save

here
here

We found these calls using a regex search, so this list might be incomplete, and it might contain some false positives.
What to do about the change
It should be pretty easy to adjust your package code and/or tests to work with the new async behavior, and to simultaneously keep it working with older versions of Atom. Here are some examples of pull requests we opened on our bundled packages to cope with the change:

https://github.com/atom/autocomplete-plus/pull/852
https://github.com/atom/whitespace/pull/155
https://github.com/atom/symbols-view/pull/222
https://github.com/atom/status-bar/pull/193
https://github.com/atom/tabs/pull/448

Please let me know if you have any questions. I'd be happy to help!

Now seeing manifestations of this - doing :wq causes the "This file has changes, do you want to save them?" dialog to show because the save routine returns before the file has saved and then quit happens immediately afterwards before the operation completes.

#184 resolved issues with this package and atom 1.19, closing for now.

Re-opening. As @awilkins, this might indeed be because of save now becoming async. Investigating.

@awilkins I'm attempting a fix in #185, can you take a look and test for me?


do not reload answers if fail to generate

I believe this at least partially fixes https://github.com/rancher/rancher/issues/9894. Doesn't address the reason the timeouts are happening but at least prevents it from wiping out all of the old answers

We're experiencing this in production as well, what's the timeline for 1.6.15? Thanks!

Mid/End of March


unsupported version of postgresql: 10.9

When running bbr against BOSH 268.6.4 we get that the version of PostgreSQL 10.9 is unsupported.

Hello @hjaffan, thanks for reporting this.
This issue though is not tight to bbr cli. bbr is just an orchestrator which invokes backup and restore scripts on the target director or deployment. In this case, it's the backup and restore scripts of the deployed director which fail with the following message. The cli can not address this.
The issue you describe is related with backup-and-restore-sdk-release though. BOSH is using internally this release to backup its postgres database. It seems that the backup-and-restore-sdk-release your deployed BOSH is using does not support postgres 10.9. If you check the release notes, the sdk v1.15.0 introduces support for Postgres v10.x.
You just need to bump the sdk release your director is using to a version >= v1.15.0. For example, if you check the bosh-deployment repo, this ops-file templates the latest sdk v1.17.0.
I am closing this issue since it not related to bbr.


LFU eviction policy

Are there any plans of supporting different eviction policies, for example least frequently used?

Possibly, but not in the short term. We don't get a lot of requests for it (nearly none). What's your use case / workload?

Sort of work related, and also school related.
Will possibly be doing reviews of eviction policies based on real world data.
Also interested in contributing, any pointers/help to get me going on looking into possibilities?

items.c handles most of the LRU stuff. Sadly it's a pretty old codebase with a lot of contributors coming and going so it's a bit hard to understand. There're a lot of internal walkthroughs online and the blog at https://memcached.org/ has some articles on internals or the LRU.
There're also numerous academic papers where people have swapped out the LRU for something else, but I find a lot of them have egregious errors, or no code :/ I've been wanting to experiment with admission policies (W-TinyLFU and similar brand) but it's been hard to justify the time and those algo's don't seem to cover generic use cases as well as what we have.

Also if you're walking through code and confused you can sometimes catch me on IRC (#memcached on freenode), which is a bit easier than github issues for small stuff.

those algo's don't seem to cover generic use cases as well as what we have.

What cases do you have in mind? There's a lot of unsolved problems in the literature, which ones bother you the most?

It's been too long since I've been through the papers and hadn't implemented one myself. I've been more focused on outward features (tls, metaget, restart, etc) since I receive zero feedback about the internals lately... I'd have to refresh first.

I'm also interested in what generic use cases you feel for instance W-TinyLFU is missing.
Thanks for your input @dormando

I think the shortest way I can describe it is our current default has very few pathological cases and can be easily tuned if it runs into one. I also don't know of any offhand. So if there's any case that W-TinyLFU is known to not do well in, it'll lose some points and would be a hard sell as a default.
Mainly we need someone asking about it or sponsorship to do it. Other changes I've made (LRU crawler and whatnot) seem to be keeping people happy. I'm pretty busy and the code isn't that great for swapping out the algo's as-is... I think we'll get there eventually with pluggability but the only people I ever talk to who care are academics and not users.

Most eviction policies have pathological cases, such as LRU with loopy workloads (not "scan resistant"). In that case if the loop is larger than the cache, LRU will always have a 0% hit rate. However if the cache is massive, like memcached, this problem can be absorbed as just a degradation instead of an outage.
TinyLFU is frequency-biased, so it does excellent on MRU/LFU workloads. However it suffers on LRU-biased workloads, like job queues or event systems. For example blockchain mining has multiple workers process the latest block and older blocks are of no interest as already handled. This is what W-TinyLFU fixes by having an "admission window", and LRU region, to delay the frequency filter. The size of this window determines how aggressively the new arrivals are filtered.
Since the window size is workload dependent, we solve that by dynamically tuning the size. This is done using a simple hill climber to discover the best configuration. If the workload changes, e.g. user activity followed by nightly batch jobs, the climber is reset and reconfigures itself. In traces this makes the policy the only one to successfully have known no pathological cases and always be a top performer.
However the transition of being optimal for LRU=>MRU=>LRU means there is a transition point where the hit rate drops due to the workload change. In the worst case that is a sudden drop, e.g. LRU failing hard due to a loopy trace. This of course means if one is just one mode or the other, statically, it will be awful in the common case. However while W-TinyLFU can be optimal one might want prefer to not be optimal for a more graceful transition. So the window min/max might be set to always have a safety net of 10/90 to minimize a denial-of-service.
The needs of a massively large cache can be quite different from a smaller, single-process cache (e.g. filesystem). Many over provision the cache to have a near perfect hit rate in order to maintain their SLAs. In those cases LRU might be optimal to because the policy is age-based rather than a consideration of optimizing the cost. I believe Twitter falls into this category.
One really can't know without traces to make data-driven decisions. My guess is that W-TinyLFU and similar would be beneficial for memory constrained deployments, but that larger ones won't benefit since prefer over provisioning to reach their hit rate requirements.

Considering extstore, persistent memory, etc. I've been pushed toward larger and larger instances. I'll still work toward pluggability, but if you folks come up with user workloads that would be significantly improved here I'll of course hear it :) Unfortunately it's not like I have access to a lot of workload traces either.
IE; for the use case of a huge cache, pulling expired items out actively is better than almost any other algorithmic improvement I could think of. So we have an LRU crawler that improves its scan speed based on how large the items are... and even with that in mind, you're right that many caches are just over-provisioned anyway. User-based datasets need to have all of their active data in cache, and then slowly bleed off data as it becomes less active. That describes just about any social network.


Scorecard client requires api_key argument instead of environment var

@dsinghvi does an upgrade allow us to read from the env vars?

Test comment


[MINOR][VL] clean up aws sdk install script

What changes were proposed in this pull request?
clean up on aws_sdk install script to use the help function from Velox
How was this patch tested?
pass jenkins

LGTM. One minor is that will the sudo command affect the post clean up?

yes, better to make patch to meta/velox to consolidate the sudo use cases

===== Performance report for TPCH SF2000 with Velox backend, for reference only ====

query
log/native_4138_time.csv
log/native_master_12_21_2023_a24ddedc4_time.csv
difference
percentage

q1
32.71
33.45
0.747
102.28%

q2
24.92
25.89
0.968
103.89%

q3
36.06
38.17
2.109
105.85%

q4
39.51
40.48
0.964
102.44%

q5
70.58
70.31
-0.269
99.62%

q6
7.00
7.04
0.038
100.54%

q7
88.16
87.08
-1.089
98.76%

q8
88.25
86.10
-2.148
97.57%

q9
126.49
126.84
0.344
100.27%

q10
44.19
45.01
0.814
101.84%

q11
20.23
19.76
-0.468
97.68%

q12
26.05
25.94
-0.107
99.59%

q13
46.84
45.62
-1.223
97.39%

q14
16.16
17.88
1.713
110.60%

q15
27.22
28.77
1.558
105.73%

q16
15.52
15.88
0.359
102.31%

q17
102.21
102.51
0.296
100.29%

q18
151.38
150.60
-0.777
99.49%

q19
14.37
13.64
-0.726
94.95%

q20
28.73
29.17
0.440
101.53%

q21
230.20
228.00
-2.207
99.04%

q22
14.07
14.05
-0.012
99.92%

total
1250.84
1252.17
1.326
100.11%


remote-bag will not play if remote-bag-url-2 points at an empty bag

In our workflow we are trying to have the 2nd bag be planner diagnostic images but if the robot has not made a plan during the event that was recorded, Webviz will not let us look at the group of primary bag + empty secondary bag.

Weird, do you get some error message or so? In what way does it not work? Do you have example bags that we could reproduce with?

Yup, there is an error message (thanks for surfacing it so clearly):
Error initializing player
Error: CachedFilelike#read invalid input
    at CachedFilelike.read (webpack-internal:///./packages/webviz-core/src/util/CachedFilelike.js:114:13)
    at BagReader.readConnectionsAndChunkInfo (webpack-internal:///./packages/webviz-core/node_modules/rosbag/dist/web/index.js:3287:16)
    at eval (webpack-internal:///./packages/webviz-core/node_modules/rosbag/dist/web/index.js:3321:12)
    at new Promise (<anonymous>)
    at BagReader.readConnectionsAndChunkInfoAsync (webpack-internal:///./packages/webviz-core/node_modules/rosbag/dist/web/index.js:3320:12)
    at Bag.open (webpack-internal:///./packages/webviz-core/node_modules/rosbag/dist/web/index.js:3966:38)
    at async BagDataProvider.initialize (webpack-internal:///./packages/webviz-core/src/dataProviders/BagDataProvider.js:99:7)
    at async ApiCheckerDataProvider.initialize (webpack-internal:///./packages/webviz-core/src/dataProviders/ApiCheckerDataProvider.js:75:34)

robot_ph_cpe22_60_FCA66B26_planner_image_2_webviz.bag.gz


Fix remaining ESLint errors in client code!

Ticket #839
Description
This pull request removes ignore rules for the last remaining JavaScript and Vue files in the client package of this repository.
Note that all changes in this pull request were manually applied.  Everything that could be resolved via eslint --fix was committed in #1036.
Screenshots / Demo Video
BEFORE:

AFTER:

Testing
Test these changes by running yarn lint in the packages/client directory.
Automated and Unit Tests

~Added Unit tests~

Manual tests for Reviewer

[x] Added steps to test feature/functionality manually

Checklist

[x] Provided ticket and description
[x] Provided screenshots/demo
[x] Provided testing information
~Provided adequate test coverage for all new code~
[x] Added PR reviewers

Nice! 👏 👏 👏


Add Android Studio support

This provides the necessary metadata (e.g: build.gradle, CMakeList, etc...) to use Android Studio as IDE to work on the Godot engine.
This is especially relevant when working on Godot Android related code since Android Studio is one of the few IDE that provides editor support for java and c++ code.

Including a CMakeLists.txt file might induce people in error, thinking they can build the engine using CMake (which isn't the case).

Including a CMakeLists.txt file might induce people in error, thinking they can build the engine using CMake (which isn't the case).

The CMakeLists.txt is only intended to be used by Android Studio to index the project c++ files.
Would adding a comment to the file, to specify it's not used for building the engine, help?

This is pretty good, but I need to do a few changes to Android build system the coming days to make exporting easier, so will put this one on hold for a bit until I'm done.

I'm against adding so many files to the root directory, we've already refused similar IDE-specific files in the past. If we accepted them all we'd have 100 files in the root directory and no visibility on what files are actually important.
Can this be in a subfolder, e.g. misc/ide/android_studio?

I'm against adding so many files to the root directory, we've already refused similar IDE-specific files in the past. If we accepted them all we'd have 100 files in the root directory and no visibility on what files are actually important.
Can this be in a subfolder, e.g. misc/ide/android_studio?

Sounds good. I'll update the PR to move these IDE-specific files in a subfolder as you proposed.

@akien-mga I've updated the PR and moved the gradle build files into misc/ide/android_studio as suggested. The PR is ready for review.

This would make it possible to use Clion for editing too, right?
If one is not interested in the Android part of it.

This would make it possible to use Clion for editing too, right?
If one is not interested in the Android part of it.

@shartte Yes! I tested it and by pointing to the CMakeLists.txt file, you can get CLion to support editing of the Godot project.
Once the project is loaded, you can even update the project root within CLion to have a better view of the project directory structure.
I'll rename misc/ide/android_studio to misc/ide/jetbrains  to remove the implication this is only usable by Android Studio.

Please wait for #27781 to be merged.

@reduz #27781 has been merged, could this one be merged as well (after conflicts are resolved)?

@reduz is it time to merge?

With this it's possible to run a Godot project in the phone from Android Studio? If so, it would help a lot in debugging.

With this it's possible to run a Godot project in the phone from Android Studio? If so, it would help a lot in debugging.

@vnen In short, yes!
The added gradle build file allows to generate and export a Godot android library artifact (aar file) which can be linked to a regular android project to run a Godot project from Android Studio.
I've been using it for my own development and testing; there's still some manual steps involved (e.g: exporting the Godot project in a zip file, and unpacking it in the Android project assets directory), but I'm hoping to clean and automate the process in the near future.
Regarding debugging, while I'm able to debug Godot Android java classes, I'm still running into issues debugging the C++ classes, but I'm hoping that to just be a debugging symbol configuration issue.

Seems good to me overall, but the commits will need to be squashed together. Added a couple comments too.

Seems good to me overall, but the commits will need to be squashed together. Added a couple comments too.

@akien-mga I've addressed your comments. The PR is ready for review.

Thanks!

It would be great to add documentation on how to use these files in https://docs.godotengine.org/en/latest/development/cpp/configuring_an_ide.html

It would be great to add documentation on how to use these files in https://docs.godotengine.org/en/latest/development/cpp/configuring_an_ide.html

@akien-mga Sounds good. I'll prep a PR to update the documentation as well.

Having trouble compiling using Clion on the current master branch. Error: platform_config.h: No such file or directory #include "platform_config.h".

Hi,
why can't I see the misc/ide folder in master branch, even though this PR was merged into master? Is it just my fault, or did something go wrong with this PR?

@DDL-Blue The directory structure has been updated and the misc/ide folder is no longer needed.
You can find the updated setup instructions here.

@m4gr3d Eh, ok. The thing is that it also contained  misc/ide/jetbrains/CMakeLists.txt file that is needed when editing the project using CLion. This is why I was looking for it in a first place. And also why it was linked in this issue as a solution (which it is no more). The misc/ide folder did seem like a great solution for this. The file is not in a root folder, so it prevents the confusion Calinou mentioned in his first comment and CLion is a quite popular IDE.

@m4gr3d Oh, I've found the file in the platform/android/java/lib/CMakeLists.txt folder. It should be noted in the documentation as well.

Good point, will do.

@DDL-Blue just saw your updated comment. Let me know if you need assistance to update the docs.

@m4gr3d It is PR 3021 in godot-docs repo.

Hi, I would love to use cmakelist for my jetbrain ide intellisense but I couldn't seem to find cmakelist.txt in the project, where did it go ? thank you

My bad! I found it
For people that run into the same problem with me and found this thread, all the information is located inside https://docs.godotengine.org/en/stable/development/cpp/configuring_an_ide/clion.html


JSON keys with DASH/Hyphen is not supported.

{
   "customer-id" : "1123"
}

These types of JSON is not having proper class. Even the class has variables like
public String customer-id{get;set;}
which is not valid in Apex.

Simple and obvious fix is to replace hyphens with underscores. This will mean that elements "foo-bar" and "foo_bar" if both present in a single JSON would collide and one would end up with an affix, but I think that's acceptable. There are probably other such replacements that could be made, but for now I've made a quick PR with this simple change.

https://github.com/superfell/json2apex/pull/35

Fixed in 9dc0e18d50faee7f85371ae0305d8517ba8220ef thanks @josephbleau
And is now deployed.


Add support for rang lib

https://github.com/agauniyal/rang
Header only lib, depends on c++11 only. Would like to get it into vcpkg so that users have another choice of package manager.

That would be awesome (and useful)!

@agauniyal , thank you for posting this issue. The PR has been merged to the master.


Any ideas on how I could use setInterval to update the current time periodically?

I greatly appreciate your work! Thanks!
btw, I noticed that the only api i can access to get the current time is to access it via e.target.getCurrentTime. I would like to get a consistent update of the video's progress time-wise. (100ms in my case.) so that I could sync it with my custom components. Any ideas?

My current workaround i have working for now is:
At the first event (onReady) I store the event to the class property (this.event)
And once onReady was first called, inside my setInterval I access it through this.event.target.getCurrentTime()...
I'll need to test it out further more though

Turns out the this.event was unnecessary.
  onLoad = (e) => {
    this.tictoc = setInterval(
      () => this.props.updateCurrentTime(e.target.getCurrentTime()),
      100)

    this.setState({
      isReady: true,
      videoDuration: toFixed(e.target.getDuration()),
    })
  }


Mean climate 3d field vertical coordinate QC

Mean climate 3d field vertical coordinate QC

pressure coordinate check
unit check
layer key check

@acordonez when you get a chance, could you help checking if this PR makes any affect to the mean climate demo? No affect is expected but wanted to double check.

@lee1043 Yes I'll test this out today

@lee1043 The mean climate notebook 1b still runs with no errors. I did a before/after comparison for the Example 5 which uses zg_500 and am seeing some small (hundreths to thousandths place) differences in some of the metrics, for example rmsc_xy. It sounds like that is expected from this change?

@acordonez @lee1043 Acceptable discrepancies for zg I think.  You might compare with ta which in degrees C will be more intuitive.

@acordonez thank you for checking this. @gleckler1 good point! I don't think we have obs for ta-850 in demo dataset, but I have compared to previously calculated from the PMP output database, and the difference is pretty subtle and I am confident on the consistency.


self.pluginRTCPeerConnections[pcId]   crash! I don't know where is wrong

Last few days,i run cordova-plugin-iosrtc  2.2.4 in my project,but it does not work .when the application go to " self.pluginRTCPeerConnections[pcId] = pluginRTCPeerConnection" ,it crashed!
"2016-04-25 10:33:19.624 hallo[471:85373] Apache Cordova native platform version 4.1.1 is starting.
2016-04-25 10:33:19.632 hallo[471:85373] Multi-tasking -> Device: YES, App: YES
2016-04-25 10:33:19.660 hallo[471:85373]
Started backup to iCloud! Please be careful.
Your application might be rejected by Apple if you store too much data.
For more information please read "iOS Data Storage Guidelines" at:
https://developer.apple.com/icloud/documentation/data-storage/
To disable web storage backup to iCloud, set the BackupWebStorage preference to "local" in the Cordova config.xml file
2016-04-25 10:33:19.949 hallo[471:85373] Using UIWebView
2016-04-25 10:33:19.953 hallo[471:85373] [CDVTimer][handleopenurl] 0.412047ms
2016-04-25 10:33:19.960 hallo[471:85373] Unlimited access to network resources
2016-04-25 10:33:19.961 hallo[471:85373] [CDVTimer][intentandnavigationfilter] 7.783055ms
2016-04-25 10:33:19.962 hallo[471:85373] [CDVTimer][gesturehandler] 0.351012ms
2016-04-25 10:33:19.966 hallo[471:85373] iosrtcPlugin#pluginInitialize()
2016-04-25 10:33:20.034 hallo[471:85373] PluginGetUserMedia#init()
2016-04-25 10:33:20.035 hallo[471:85373] [CDVTimer][iosrtcplugin] 72.908998ms
2016-04-25 10:33:20.077 hallo[471:85373] [CDVTimer][statusbar] 41.279972ms
2016-04-25 10:33:20.078 hallo[471:85373] [CDVTimer][TotalPluginStartup] 125.307977ms
2016-04-25 10:33:20.939 hallo[471:85373] Resetting plugins due to page load.
2016-04-25 10:33:22.857 hallo[471:85373] Finished load of: https://rtcs.dadaabc.com:3000/index_cordova.html
2016-04-25 10:33:22.870 hallo[471:85373] ==============cordova=============> true
2016-04-25 10:33:23.057 hallo[471:85373] coming a msg :  recv
2016-04-25 10:33:23.057 hallo[471:85373] start recving a auser :  bbe5f19b-99c4-4d58-adea-6d6d49a69f54
2016-04-25 10:33:23.058 hallo[471:85373] start recving a auser options.connectionConstraints :  [object Object]
2016-04-25 10:33:23.058 hallo[471:85373] iosrtcPlugin#new_RTCPeerConnection()
2016-04-25 10:33:23.064 hallo[471:85373] PluginRTCPeerConnection#init()
2016-04-25 10:33:23.065 hallo[471:85373] PluginRTCPeerConnectionConfig#init()
2016-04-25 10:33:23.066 hallo[471:85373] PluginRTCPeerConnectionConfig#init() | adding ICE server [url:stun:stun2.l.google.com:19302, username:, password:]
2016-04-25 10:33:23.067 hallo[471:85373] PluginRTCPeerConnectionConfig#init() | adding ICE server [url:stun:stun4.l.google.com:19302, username:, password:]
2016-04-25 10:33:23.068 hallo[471:85373] PluginRTCPeerConnectionConstraints#init()
hallo was compiled with optimization - stepping may behave oddly; variables may not be available.
(lldb) "

@ibc   could u help me?  I was broken down by this problem. because i don't know where the problem is wrong.

Sorry, no idea. However several changes have been made in the Swift code and will be included in a new 3.0.0 release to be published this week.

@ibc  thank you very much


source.scss -> source.css.scss

Same as #162, but for the new branch.

Looks good! Thank you @louim


Add custom fields to Attachinary::File

Is there a way to add custom fields like user_id to the Attachinary::File active record object?  Would love to be able to use attachinary but be able to track who added the attachments.
thx!

@kbaum I also have a scenario saving more data to Attachinary::File, have you found any way to do it yet?

@samnang i have added this to a rails initializer:
https://gist.github.com/d66d0d7fa05e246151ea
User.current_user is set in a rails application controller filter on every request.


REINFORCE actor update missing discount factor

It seems that the REINFORCE implementation may be missing the discount factor in actor updates. The loss is just computed as:
loss = torch.sum(negative_log_probs * return_batch)

Which we can see from _actor_learn_batch. Is this intentional?

Yes, it is intentional. While in theory the actor's update should include the discount factor, in practice it is common to ignore it. If you are interested in more about this, there are several works studying this mismatch (e.g., https://arxiv.org/pdf/2010.01069.pdf, https://arxiv.org/abs/1906.07073).

I see, thanks for the reference!


AMI-pdf2svg and extraction of tables

SVG should be created using AMI-pdf2svg (see https://bitbucket.org/petermr/pdf2svg/wiki/Home ). This ensures styles, weights, and legacy character conversion.
PMR has run this (2017-01-29) and created all necessary SVG (one per page) in CProject oa-corpus-pmr.  The svg are in CTree subdirectory svg/ . The non-empty images have also been extracted into png/
I have started manual extraction of tables into svg/table%d.svg. Other can also assist in this and commit the results.

The directory structure of CTrees has been enhanced and overtakes this issue. Also new issue for executable jars.


Fix tests badge

We had a discussion about which branch should actually be on top here.

@gandarez using develop branch now, so we can show status of alpha and stable builds.


Issue

Hello Again,
I hope you're doing well!
I was wondering if you've changed the script recently because I tried it today on a new VPS and it doesn't work!
root@TED:/V2IpLimit/Marzban# python3 v2_ip_limit.py
Traceback (most recent call last):
File "/V2IpLimit/Marzban/v2_ip_limit.py", line 12, in
import requests
ModuleNotFoundError: No module named 'requests'
Also I tried "chmod +x cronjob.sh v2_ip_limit.py"
None of them worked! No Log was sent to Telegram neither!
Please let me know what I should do...
Thank you so much

Some VPS don't have requests library in Python by default(probably old OS or Python installed), anyway you can install it with pip install requests command.


Update to formvalidation 0.7.1

Thank you for the Update to 0.7.1. It's merged and released as new gem version :+1:


Cards not functioning?

https://github.com/user-attachments/assets/69bc236f-cff2-4120-84f5-a9f188d3c31b
Cards don't seem to export/import any items?
MC: 1.21
Neo:  21.0.111-beta
Mod versions:
AE2 - 19.0.13-alpha
AE2WTLib 19.0.10-beta (Using the universal wterminal)
Import Export card 1.3.0

Can you try this with the newest import export card version (1.3.1)?

Same results

Hmm then can you try the upgrade in a normal Wireless Terminal?

After more testing, I figured out the cause.
I didn't link my wireless terminal by using Wireless Access point, but instead by using AE2WTLibs Quantum Bridge card.

https://legacy.curseforge.com/minecraft/mc-mods/ae2-import-export-card/files/5577253


Add salt?

Hello. This is a question, not an issue.
In the article you've referenced from CrackStation, the suggestion is to generate a salt, prepend it to the password, and then hash the concatenated string. Looking at your API, I initially thought that I perhaps needed to do that salting part manually, and then pass the salted password to the Encode method. But then I looked at the source code and noticed that you seem to take care of the salting step already.
So, do I understand this correctly that the Encode method salts the password and the the salt is embedded somewhere in the output of this method? Does this mean that I don't need to pre-salt the password before passing it into Encode, and also I don't need to store that salt separately in my database?
Thanks,
Arash

Hi,
Exactly, the Encode method will generate a salt using by default RNGCryptoServiceProvider which is a good random number generator, the output will be a string containing the settings + salt + hashed password, pretty much similar to BCrypt.
So yes, you don't need to pre-salt nor store the salt separately.
Cheers


[Bug] Conditional Modifier messes up when editing the sheet directly in Foundry.

The Conditional Modifier suddenly piled up all the conditional modifiers together into one entry. Deleting the entry doesn't do anything, it appears again once the sheet is "saved" in Foundry.

Fixed


Return multiple values from GetFieldValue's'

If field name/label matches more than one.

This is not needed, given the new preview 2 design.


fix(certs): add year to certs introduced in 2020

Implements parts of #38609

Yikes - forgot to open this as draft. Apologies for the noise.

If I try to claim the renamed certificates without seeding the database everything appears to work, even though, say, is2020QaCert is not present on the user record until that point. I don't think this is a problem, but I thought I'd mention it.

Yes, I believe this will be a expected issue in the local dev. I might purge the dev db before this gets deployed to the beta site. I will seed in some users from the production just so that we have a clean setup to find out any issues.
Let's hold on to this PR (for a quick bit) before I confirm all this.


Do not reset dialog editor until animation finishes.

Fixes #98
Fixes https://github.com/vaadin/expense-manager-demo-pro/issues/17

This change is

Review status: all files reviewed at latest revision, all discussions resolved, some commit checks failed.

Comments from Reviewable

Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


⚠ Bofrost.de has degraded performance

In 34c3de6, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 915 ms

Resolved: Bofrost.de performance has improved in 0db81f1 after 1 hour, 26 minutes.


feat: introduced a new MultiEntityPicker field

Hey, I just made a Pull Request!
Note: this is a re-opening of #19800
As discussed in #16334 this PR adds a new MultiEntityPicker scaffolder field.

It's essentially a clone of the EntityPicker with the required modifications to support multiple entities.
Tests are still lacking, I'd prefer to align first on the approach before adding these.
:heavy_check_mark: Checklist

[X] A changeset describing the change and affected packages. (more info)
[X] Added or updated documentation
[x] Tests for new functionality and regression tests for bug fixes
[X] Screenshots attached (for UI changes)
[X] All your commits have a Signed-off-by line in the message. (more info)

@benjdlambert the PR should be ready again. E2E tests are failing but the errors seem completely unrelated.


Add poetry support to tests-pytest action

📝 Description of the feature
The tests-pytest action currently does not fully support poetry-based projects. It will install dependencies from a pyproject.toml file, but it relies on a [tests] extra, instead of poetry dependency groups.
To support poetry-based projects, this action should do the following:

Check if the project requires poetry as a build dependency
If yes, install poetry
Install the project with poetry. The action should take a list of groups to include and to exclude, and to pass these to the install step
Run tests

💡 Steps for implementing the feature
No response
🔗 Useful links and references
No response

Thanks for suggesting this, @Andy-Grigg.

Closed by #299


Feature: Pre-minting estate and land classes on metaverse creation

@justinphamnz  To update the benchmarking weights for the tokenized/non-tokenized land and estates I will need to create GroupCollectionIds for them. I could expose this functionality to the NFT trait but let me know if there is a better solution to this problem


Implied extension settings prefix

Currently extension settings have to specified like this:
php::extensions:
  apc:
    package_prefix: php-
    settings:
      apc.stat: 1
      apc.stat_ctime: 1

A bit more intuitive and de-duplicating would be this:
php::extensions:
  apc:
    package_prefix: php-
    settings:
      stat: 1
      stat_ctime: 1

To provide the still-required extension prefix, the prefix() function from puppetlabs-stdlib could be used but in that case existing configuration would lead to something like apc.apc.stat and break. Thus a separate function could be necessary to only add the prefix if not present.
Any opinions if this is worth adding?

Agreed. :+1:
Should we add another parameter like settings_prefix to php::extension resources that defaults to something like "${name}."?
Then a custom function could just add $settings_prefix to all settings keys if it is not already present. Nesting the same prefix won't be supported anymore but shouldn't be necessary anyway. And if needed, the prefix handling can be disabled by setting settings_prefix to empty string or some false value.
Do you want to implement it? :construction_worker:

I'd suggest making settings_prefix a boolean. If true, the extension name is prefixed, if false nothing happens and one can do what he wants. No need to overengineer this. ;-)
And yeah, I'll try to add this.


Proper comment detection

I'm not sure what getSerializedParams should do, but it fails quite often for me...

Thanks for the PR :) one slight issue, though. Check the comment on line 23

Ok I published a new version that includes this patch and a few other fixes. Cheers

cool :+1:


Guidelines for date/time formats

Question via Slack: https://equinor.slack.com/archives/CJT20H1B9/p1614358203035900 https://equinor.slack.com/archives/GEF6LDVT9/p1614674672042100

IOC is working on this. Should check with them.


Simplify instrumentation

Is there any reason you couldn't just add a private string variable called fileName, and then call that variable in the events rather than using the full path the every time? it would be tidier, and I don't know too much about the compiler, but hopefully it'd reduce the size of the bytecode output.

I believe we need to include the path in case files are present that have the same name, but it's entirely reasonable to suggest the path should only be relative to the project's directory.

I was thinking more like this https://github.com/maurelian/uport-proxy/blob/modifyContract/contracts/IdentityFactory.sol#L10

Ah, I see. I'd rather not head down that road - if we did, anyone using our tool that happened to have a variable named fileName wouldn't be able to use solcover.


Improve AmplitudeEncoding

Right now, the function AmplitudeEncoding is purely a wrapper around QubitStateVector. This is somewhat dissatisfying because it forces the user to basically transform his data into a quantum state himself.
We could probably beef up this function a bit -- by allowing a feature vector that has less than 2^n elements (we would then pad them with zeros) and allowing that the squares don't sum to 1 (we would then normalize the vector). What are your thoughts?

I agree, that would be a nice addition to this function. Thanks, @johannesjmeyer :) I will work on this asap.

Carsten Blank (who helped with the IBM plugins) has qiskit code for an implementation of AmplitudeEmbedding using gates based on a paper from Mottoennen et al: https://github.com/carstenblank/dc-qiskit-algorithms/blob/master/dc_qiskit_algorithms/MöttönenStatePrep.py
He kindly agreed that we can just rewrite the code as a PennyLane Template!

He kindly agreed that we can just rewrite the code as a PennyLane Template!

This sounds awesome @mariaschuld; this would allow AmplitudeEmbedding to work on hardware! We had a request for this the other day (https://discuss.pennylane.ai/t/amplitudeembedding/169/8)

Would it make more sense to implement directly MöttönenStatePrep in QubitStatePrep and have AmplitudeEncoding call it?

Would it make more sense to implement directly MöttönenStatePrep in QubitStatePrep and have AmplitudeEncoding call it?

I think this is a very good question, that doesn't have a clear answer. Some plugins (such as Qiskit) support arbitrary state preparation, and have their own code for decomposition. Others, such as Forest, don't, so would benefit from having this in PennyLane.
At the same time, we don't currently have a good framework to allow both options in PennyLane. Ideally, it would work as follows:

User creates a QNode which includes QubitStateVector

The device it is registered to communicates to the QNode which operations it supports.

If it supports QubitStateVector (e.g., IBM), the queue remains as is

If it doesn't support QubitStateVector, the QNode instead modifies the queue by calling (for example) ``QubitStateVector.decompose()` which uses the Mottonen result to decompose it into other PennyLane operations.

This is a similar approach to what we do in Strawberry Fields. Thoughts?
Thoughts? This si i

Honestly, it sounds like something that would best fit within the plugins themselves, since it is their responsibility to translate top-level circuits into hardware-compatible circuits.
If included as part of core PennyLane, we need to have a way to make clear to the user when there is a decomposition happening behind the scenes. If their circuit gives completely different results on two different hardwares, we want to make it as clear as possible how the execution might be different.

I just woke up and had the exact same thought @co9olguy, but you vocalised it before I had a chance 😆 This is something we should add to the plugins, which are designed to map PL operations to specific hardware frameworks.

Also agree that the implementation of QubitStateVector is up to the plugins, but would still like to see a proper state preparation routine in the Embedding. The reason is that for all practical purposes we need to prepare the state on a subregister of qubits, which QubitStateVector cannot do (at this stage).

Maybe it would be a good idea to have the MöttonenStatePrep somewhere (maybe in the templates) so that if you develop a plugin that has no direct support for state preparations you would not have to cook that code up for youself but you can then just call the MöttonenStatePrep (e.g. for the forst plugin).


Support the delimiter parameter and prefixes result field for bucket listing

See delimiter - this is necessary to be able to list "directories".
In addition to BlobListOption.delimiter(String) it'd be nice if there were an argument-less method that uses / as the delimiter, since that's what ~99% of usages will want. I'd suggest directories() as that method name, so users can write bucket.list("...", BlobListOption.directories()).

Actually, I just realized this is what BlobListOption.recursive() (which is, imo, not a very clear name) is supposed to do. However that method treats the delimiter argument as a boolean; instead it should be passing in /. As is, I don't think it does anything meaningful. Given that the method is broken, I'd vote to rename it directories() which I think more clearly conveys its intent.

Hi @dimo414, thanks again for your feedback.
You can set the delimiter through Storage's global options:
StorageOptions options = StorageOptions.builder().pathDelimiter("/").build();

By default "/" is used.
When you use BlobListOption.recursive(true) we take care of setting the delimiter option to the pathDelimiter you specified when you created the StorageOptions.
I agree that the option's name is counter-intuitive. In fact when set to BlobListOption.recursive(true) it does NOT list the content of subdirectories. We should probably make it such that BlobListOption.recursive(false) sets the delimiter option, or change the name. /cc @aozarov

Playing around with the API Explorer on the list doc page, I see my issue. I am trying to list "directories" which I now see are returned by the API in the prefixes field, not as part of the items field. I don't see a way to get the prefixes (unless, of course, I'm missing something):
Without a delimiter:
GET https://www.googleapis.com/storage/v1/b/my-bucket/o?prefix=dir%2F&fields=items%2Fname%2Ckind%2Cprefixes&key={YOUR_API_KEY}
{
 "kind": "storage#objects",
 "items": [
  {
   "name": "dir/1/foo"
  },
  {
   "name": "dir/2/bar"
  }
 ]
}

With delimiter /:
GET https://www.googleapis.com/storage/v1/b/my-bucket/o?delimiter=%2F&prefix=dir%2F&fields=items%2Fname%2Ckind%2Cprefixes&key={YOUR_API_KEY}
{
 "kind": "storage#objects",
 "prefixes": [
  "dir/1/",
  "dir/2/"
 ]
}

Is there a way to get dir/1/ and dir/2/ back via the gcloud-java API?
I'd agree changing the name of BlobListOption.recursive() would be helpful; it's totally unclear what it does presently.

Given that the method is broken, I'd vote to rename it directories() which I think more clearly conveys its intent.

Yes, I think we got it wrong here, and instead it should set the DELIMITER when "recursive" is false.
I am fine with renaming (the name now is consistent with the appengine_gcs_client),
however I don't think directories is a better name (especially because, as @dimo414 mentioned,
we only return blobs and don't have a notion of "directories").
Honestly, I am not sure we should add a notion of a directory in this layer (as such notion does not really exists in the underlying service) and string prefixes is a strange beast. Emulating directories is included, ,for example, in the nio contrib. I am open for suggestions though.

Yes, we could change blob listing to return a subclass of Page that also has an accessor for prefixes.
However, that is not going to play very great with iterateAll (maybe we can live with that).
Another, more "extreme" option, would be to create a Blob instance also for prefixes with no other
values than their name (suffixed with the delimiter) and their bucket.
Thoughts? @dimo414 @mziccard @BrandonY

Here's my workaround until there's a way to access the prefixes field; hopefully this demonstrates why it would be beneficial - without that field it's an O(objects) operation to compute the "subdirectories" in a "directory".
public static List<String> directories(Bucket bucket, String prefix) {
    checkArgument(prefix.endsWith("/"), "Prefix must end with a '/', was '%s'", prefix);
    ImmutableSet.Builder<String> builder = ImmutableSet.builder();
    Iterator<Blob> iter = bucket.list(BlobListOption.prefix(prefix)).iterateAll();
    while (iter.hasNext()) {
        String path = iter.next().name();
        String tail = path.replaceFirst("^" + prefix, "");
        int nextSlash = tail.indexOf('/');
        builder.add(nextSlash == -1 ? tail : tail.substring(0, nextSlash));
    }
    return builder.build().asList();
}

Yes, we could change blob listing to return a subclass of Page that also has an accessor for prefixes. However, that is not going to play very great with iterateAll (maybe we can live with that).

This could be a way of doing that but the behavior of iterateAll becomes a bit unexpected. Also I did a check with both prefix and maxResults options set, what happens is that the sizes of prefixes and items JSON arrays always sum up to maxResults (except for the last page) which makes me think they should be iterated as a whole.

Another, more "extreme" option, would be to create a Blob instance also for prefixes with no other
values than their name (suffixed with the delimiter) and their bucket.

This would be a good option but what happens if we then call delete, update or some other method on the prefix blob?

I lean towards leaving the List() call ignorant of delimiters, since they're a fairly uncommon use case outside of building user interfaces and otherwise exploring bucket structure. It does seem reasonable to expose the functionality, though, so perhaps introduce a ListDirectory-type method that assumes a '/' delimiter and returns either a Page structure or an Iterator (where ListEntry contains either a Directory or a Blob).

But the list() call is already aware of delimiters via the .recursive() option. Unfortunately it's only half-aware, you can list objects but not directories.

This would be a good option but what happens if we then call delete, update or some other method on the prefix blob?

API will treat it as any other blob, so delete is likely to return false, get would return null,...
If using a delimiter is a non common option, maybe a doc on its settings (see bellow) would be sufficient.
If we think that it is uncommon then I suggest to remove it from the storage options, remove "recursive" (which would be the default mode) and replace it with an explicit option for using the "non-recursive" option, I would actually call it delimiter (like the underlying API) or something more explicit such as simulateDirectories (and document that in this case directories are simulated as a Blob with only name, suffixed with the delimiter, and buckets are populated).

API will treat it as any other blob, so delete is likely to return false, get would return null,...

Yes my doubt was in fact that this might be confusing as we have no way to distinguish between blobs and directories other than the delimiter suffix. If you think that documenting this is enough (I agree since it seems to be an uncommon usage) then we can go with the solution you propose. I'll take care of this change.

Yes, that would be my vote. @mziccard I take it that is your vote too?
Summary of my reasoning:

Not a common setting.
Explicit and therefore could be well documented setting to enable this mode/behavior.

Do you think otherwise or have a different proposal @dimo414 @BrandonY ?

Apologies if I'm miss-reading the proposal, but I really don't think Blob should be overloaded to represent both actual blobs and path components. That just doesn't make sense, regardless of how easy to implement or rarely used it would be. I also don't agree with your premise that it's rarely used, it seems perfectly reasonable and common to want to inspect the hierarchy of your files.
More practically, it's also possible for there to be collisions between prefixes and actual blobs. For example when you hit "Create Folder" in the Storage Console it creates a 0-byte placeholder object. Providing a fake-Blob representing prefixes could easily collide with user's files.

More practically, it's also possible for there to be collisions between prefixes and actual blobs.

I think this can never happen. Prefixes always finish with the delimiter string while blob names do not. For instance consider the case where you have two blobs test- and test-file. Listing the blobs using - as a delimiter will return the following result:
{
 "kind": "storage#objects",
 "prefixes": [
  "test-"
 ]
}

Which respects the documentation of the delimiter option:

Returns results in a directory-like mode. items will contain only objects whose names, aside from the prefix, do not contain delimiter. Objects whose names, aside from the prefix, contain delimiter will have their name, truncated after the delimiter, returned in prefixes.

@dimo414 To better understand, your preference here would be adding a getIndexes method to Page?

It wouldn't collide with other results from the request, but it would confusingly match both a valid Blob and a prefix. There's also nothing stopping a caller from storing a fake-Blob in a variable or collection intended for actual Blob instances and then triggering the wrong behavior. These just seem like totally separate concepts, and treating them as the same type is asking for trouble, or at least user confusion.
I think adding a getPrefixes() (I assume that's what you meant?) method to Page is the least invasive option, but I'd be fine with other alternatives like a new method on Bucket and Storage. Practically, I just need some way to get the prefixes the backing API reports. Philosophically I don't think re-purposing Blob is a good way to do that.

@dimo414 The "premise that it's rarely used" comes from @BrandonY which I hope could back it up via server-side stats/monitoring.
We are talking about a service that does not have a notion of a folder (as a resource) and therefore I don't think that in the gcloud-java level we should deviate from it and create one.
Using Blob indeed feels like a "workaround" but on the other-hand it does make it clear that there
are no true folders. If this behavior (using a blob to represent a "folder") is only triggered by an explicit
setting that is well documentated then the "element of surprise" should not be an issue (in my opinion)
and people should know what to expect when they are dealing with the results.
Also, I think, the fact that the gcs tool is also using Blob with zero length to represent a "folder" should make it even less surprising.
I would be happy to hear also @BrandonY opinion about it.
I am also fine with the other suggestion of adding getPrefixes() to Page though this one also has 2 issues as mentioned above by @mziccard and myself (with iterateAll and fetchSize).
I don't think we should create a special method for it and/or special data structure to represent a folder.
Votes?

I don't like the idea of adding getPrefixes to (a subclass of) Page.
Adding a special method to list prefixes is not a good idea either (this makes also complex handling pagination and setting maximum number of results as both currentPage and maxResults refer to the combination of prefixes and actual blobs).
That said I am +1 to the compromise proposed by @aozarov of listing prefixes as Blob objects where only bucket and name are set (and name always ends with the delimiter). I agree this should be well documented.

First, I think the idea of pagination is an implementation detail that should be entirely hidden away from the users. Unless they are extremely interested in exactly having the data from a single server response, I would hide everything behind Iterators, and hide pages entirely.
I think you would want to have an option that offers iterators that are either backed by:

a single outstanding request, and if next() is used off the end of a page, a new request to get more data happens
repeated requests happening on another thread, so that the entire server list is eventually cached locally. Maybe this latter is simply a convenience Iterator backed by a Queue that reads from the above iterator until end.

I personally like the idea of offering a Collection at the bucket level, and offer some method that returns Collection at a prefix, so that you can emit storage.objects.list calls as well as do crazy things like bucket.objects().removeAll(bucket.objects("path/to/foo")), but perhaps that's for a different thread.
I could imagine offering both an objects and prefixes iterator, and letting either drive the pulling of additional pages from the server, at the cost if you do all iterators first, you will have a giant cache of objects. @BrandonY suggested we use a single iterator for both and have a union that is either a Blob or a prefix, which seems a little less fun (I like strong typing) at the cost of less weird caching.

+1 for pagination being opaque and using iterators.
Supporting custom delimiters is not useful based on service usage.  Everyone uses "/".
Supporting collections at a given prefix seems reasonable to me.
Intermingling Blobs and prefixes leads to pain.

After some offline discussion with @aozarov , I'd clarify by saying that while supporting collections at a prefix seems reasonable to me, I think that "simulating directories" tends to lead to a lot of pain because it's fundamentally a broken abstraction.
Thus, it seems like it should be handled in a layer above gcloud-java, if at all.

@mziccard lets remove the delimiter and recursive options for now (which are broken).
Though we didn't get a consensus I think we got a green light for either of these options:

Add currentDirectory option (hard-coded to '/') that returns Blob for prefixes with only bucket, name and a 0 lengths fields populated. Also, consider adding to Blob an isDirectory method that returns true only as a result of listing with currentDirectory option enabled and when the underlying blob does not exists.

Add listPrefixes method that accepts the same arguments as blob listing and returns Page<String> with only the prefixes.

If you don't feel comfortable with any of these 2 options we can leave the bug open (or create a new one with more specific details/title) but we should at least fix the current broken state.


[WIP] Spread the traffic to yr.no servers and remove yr.no from the default…

Description:
Related issue (if applicable): #5154
Checklist:
If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated in home-assistant.github.io

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

[ ] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[ ] New dependencies have been added to the REQUIREMENTS variable (example).
[ ] New dependencies are only imported inside functions that use them (example).
[ ] New dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
[ ] New files were added to .coveragerc.

If the code does not interact with devices:

[ ] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[ ] Tests have been added to verify that the new code works.

🐬

🐬
Hopefully this solves the excessive requests!


Random Forest and Ensemble Learning

I've recently been looking into adding Random Forest to linfa. Since Ensemble Learning is on the roadmap anyway I think the best way to do this would be to add Bootstrap Aggregation for any classifier rather than specialising the implementation to Decision Trees. I'm not totally sure what the design of this should look like though, especially since there don't seem to be any fixed conventions for implementing classifiers in linfa.
Would general bootstrap aggregation be a useful addition? If so I'm interested in other's opinions on how this should interface with existing/future classifiers in linfa along with any other design considerations.

In impl_dataset.rs we already have bootstrap aggregation code that produces sub-samples from a dataset. We just need a generalized way of fitting classifiers over the subsamples. We have the trait linfa::traits::Fit that represents the training of a model using a set of hyperparameters, and we have linfa::traits::PredictInplace representing prediction using a trained model. You can define a new ensemble classifier that's generic over these traits, similar to how cross_validate is defined. Its Fit impl fits its "inner" classifier/regressor multiple times over the subsamples, and its Predict impl averages/votes on predictions made across its inner models.

Here is a WIP PR for RF
https://github.com/rust-ml/linfa/pull/43

The work for that PR for ensemble learning ended up in #66 which didn't pan out for some reason. The current work is in #229.


Update the Site With Rebates & Info From the Inflation Reduction Act

Now that the Inflation Reduction Act has passed let's make sure to add incentives from the IRA to make it clear what incentives are available to help folks. This would likely slot in on the Take Action page.

A useful article we can link out to: https://www.fastcompany.com/90780252/how-to-decarbonize-your-house-inflation-reduction-act-incentives


"installation" key is missing. The installation ID cannot be determined.

Bug Report
Current Behavior
import { Probot } from "probot";

export default (app: Probot) => {
  app.on("push", async (context): Promise<void> => {
    app.log("Push event has just been fired!");

    const readmeContent = await context.octokit.repos.getContent({
      owner: context.payload.repository.owner.login,
      repo: context.payload.repository.name,
      path: "README.md",
    });

    app.log(`README.md content: ${Buffer.from((readmeContent.data as any).content, "utf-8").toString()}`);
  });
};

When I request against the API through octokit, I get some logs with a few errors, and the response in the last log, I mean, Everything is working fine and I can just ignore those errors but I would like to know if they would get me into some sort of problem later or not, And why does the "push" event fire twice?, what's the installation ID anyways?. Thanks!
Output:
INFO (server): Running Probot v11.4.1 (Node.js: v16.11.0)

INFO (server): Forwarding https://smee.io/--- to http://localhost:3000/

INFO (server): Listening on http://localhost:3000

INFO (server): Connected

INFO (probot): Push event has just been fired!

INFO (probot): Push event has just been fired!

INFO (http): POST / 200 - 3ms

INFO (server): POST http://localhost:3000/ - 200

ERROR (HttpError): Not found. May be due to lack of authentication. Reason: Handling a "push" event: an "installation" key is missing. The installation ID cannot
be determined
    HttpError: Not found. May be due to lack of authentication. Reason: Handling a "push" event: an "installation" key is missing. The installation ID cannot be determined
        at \node_modules\@octokit\request\dist-node\index.js:86:21
        at processTicksAndRejections (node:internal/process/task_queues:96:5)
        at async Job.doExecute (\node_modules\bottleneck\light.js:405:18)
event: {
    id: "ib6781e8-2e47-51ec-4e36-4m9bic46ac89"
    name: "push"
    payload: { ... }
}

status: 404
request: {
    method: "GET"
    url: "https://api.github.com/repos/my-org/my-repo/contents/README.md"
    headers: {
      "accept": "application/vnd.github.v3+json",
      "user-agent": "probot/11.4.1 octokit-core.js/3.5.1 Node.js/16.11.0 (win32; x64)"
    }
    request: {}
}

INFO (http): POST / 404 - 581ms

ERROR (server): Not Found
    Error: Not Found
        at Request.callback (\node_modules\superagent\lib\node\index.js:883:15)
        at IncomingMessage.<anonymous> (\node_modules\superagent\lib\node\index.js:1126:20)
        at IncomingMessage.emit (node:events:402:35)
        at IncomingMessage.emit (node:domain:475:12)
        at endReadableNT (node:internal/streams/readable:1343:12)
        at processTicksAndRejections (node:internal/process/task_queues:83:21)
status: 404

INFO (probot): README.md content: Hola mi amigos!

INFO (http): POST / 200 - 945ms

INFO (server): POST http://localhost:3000/ - 200

Expected behavior/code
The README.md file's content gets printed without any errors.
Environment

Probot version(s): v11.4.1
Node/npm version: Node v16.11.0/npm v7.20.0
OS: Windows 10

FYI this can occur when your smee.io url and/or secret are bad or out of sync with your local .env file.


Yaml editor : the orders of channels doesn't reflect the yaml composer

In the yaml composer, I've added a channel to an env, and changed their orders, to get this :

When I click on the yaml editor, the channels appear in the wrong order.
It's important the channels are sent to the API in the order the user defined (for both editing and creating an env)

PR: https://github.com/Quansight/conda-store-ui/pull/103

fixed


[Question] How to upload Android symbols to Crashlytics for symbolicated crashes

[REQUIRED] Please fill in the following fields:

Unity editor version: 2020.1.17f1
Firebase Unity SDK version: 8.1.0
Source you installed the SDK: .unitypackage
Problematic Firebase Component: Crashlytics
Other Firebase Components in use: Analytics
Additional SDKs you are using:
Platform you are using the Unity editor on: Mac & Windows
Platform you are targeting: Android
Scripting Runtime: IL2CPP

Hi,
I have integrated Crashlytics and Analytics into our Unity app and the integration appears to be working correctly:

crashes come though to the dashboard
Analytics events are being show on the dashboard

However crashes from C++/NDK land are not getting symbolicated so I am attempting to upload the symbols but the correct process for doing this is eluding me.
I have the unstripped symbols from zip file output by the build process and have located the stripped symbols in the Temp/gradleOut folder but I cannot work out how to upload them.
I have tried integrating the instructions here https://firebase.google.com/docs/crashlytics/ndk-reports into the Unity Gradle build but this generates other errors such as not being able to find the correct plugins)
https://github.com/firebase/quickstart-unity/issues/879 outlines a similar issues and one of the responses seems to indicate that the upload of the symbols should be handled by the Crashlytics Editor plugin, but I cannot find any reference in any documentation that confirms or denies this.
Quickly summarizing my questions are:

Should the Crashlytics Unity plugin upload generated symbols automatically

if so what approaches can I use to debug why it is not working?

Is there a recommended way to upload the generated symbols post build?
Is there any documentation that describes how to perform the symbol uploading

Exporting the project to and then building it in Android studio shows that no upload task is executed
`Executing tasks: [:launcher:assembleRelease] in project C:\temp\Mona.build

Configure project :launcher
WARNING: The option 'android.enableR8' is deprecated and should not be used anymore.
It will be removed in a future version of the Android Gradle plugin, and will no longer allow you to disable R8.

Task :launcher:preBuild UP-TO-DATE
Task :unityLibrary:FirebaseApp.androidlib:preBuild UP-TO-DATE
Task :unityLibrary:FirebaseCrashlytics.androidlib:preBuild UP-TO-DATE
Task :unityLibrary:preBuild UP-TO-DATE
Task :launcher:preReleaseBuild UP-TO-DATE
Task :unityLibrary:FirebaseApp.androidlib:preReleaseBuild UP-TO-DATE
Task :unityLibrary:FirebaseCrashlytics.androidlib:preReleaseBuild UP-TO-DATE
Task :unityLibrary:preReleaseBuild UP-TO-DATE
Task :unityLibrary:FirebaseCrashlytics.androidlib:compileReleaseAidl NO-SOURCE
Task :unityLibrary:packageReleaseRenderscript NO-SOURCE
Task :unityLibrary:FirebaseApp.androidlib:compileReleaseAidl NO-SOURCE
Task :unityLibrary:FirebaseCrashlytics.androidlib:packageReleaseRenderscript NO-SOURCE
Task :unityLibrary:FirebaseApp.androidlib:packageReleaseRenderscript NO-SOURCE
Task :unityLibrary:compileReleaseAidl NO-SOURCE
Task :unityLibrary:FirebaseCrashlytics.androidlib:compileReleaseRenderscript NO-SOURCE
Task :unityLibrary:FirebaseApp.androidlib:compileReleaseRenderscript NO-SOURCE
Task :unityLibrary:FirebaseCrashlytics.androidlib:generateReleaseResValues
Task :unityLibrary:FirebaseApp.androidlib:generateReleaseResValues
Task :unityLibrary:FirebaseCrashlytics.androidlib:generateReleaseResources
Task :unityLibrary:FirebaseApp.androidlib:generateReleaseResources
Task :unityLibrary:generateReleaseBuildConfig
Task :launcher:generateReleaseBuildConfig
Task :launcher:compileReleaseAidl NO-SOURCE
Task :unityLibrary:compileReleaseRenderscript NO-SOURCE
Task :launcher:compileReleaseRenderscript NO-SOURCE
Task :unityLibrary:generateReleaseResValues
Task :unityLibrary:generateReleaseResources
Task :launcher:mainApkListPersistenceRelease
Task :launcher:generateReleaseResValues
Task :launcher:generateReleaseResources
Task :launcher:createReleaseCompatibleScreenManifests
Task :launcher:extractDeepLinksRelease
Task :unityLibrary:FirebaseApp.androidlib:packageReleaseResources
Task :launcher:prepareLintJar
Task :unityLibrary:FirebaseCrashlytics.androidlib:packageReleaseResources
Task :launcher:checkReleaseDuplicateClasses
Task :unityLibrary:FirebaseApp.androidlib:generateReleaseBuildConfig
Task :unityLibrary:FirebaseApp.androidlib:parseReleaseLocalResources
Task :unityLibrary:packageReleaseResources
Task :launcher:mergeReleaseShaders
Task :unityLibrary:FirebaseApp.androidlib:processReleaseManifest
Task :unityLibrary:FirebaseCrashlytics.androidlib:generateReleaseBuildConfig
Task :unityLibrary:extractDeepLinksRelease
Task :unityLibrary:FirebaseCrashlytics.androidlib:extractDeepLinksRelease
Task :unityLibrary:FirebaseApp.androidlib:extractDeepLinksRelease
Task :unityLibrary:FirebaseApp.androidlib:compileReleaseLibraryResources
Task :unityLibrary:FirebaseApp.androidlib:mergeReleaseShaders
Task :unityLibrary:mergeReleaseShaders
Task :unityLibrary:FirebaseCrashlytics.androidlib:mergeReleaseShaders
Task :unityLibrary:FirebaseApp.androidlib:prepareLintJarForPublish
Task :unityLibrary:compileReleaseShaders
Task :unityLibrary:FirebaseApp.androidlib:compileReleaseShaders
Task :unityLibrary:FirebaseCrashlytics.androidlib:compileReleaseShaders
Task :unityLibrary:generateReleaseAssets
Task :unityLibrary:FirebaseApp.androidlib:generateReleaseAssets
Task :unityLibrary:FirebaseCrashlytics.androidlib:generateReleaseAssets
Task :unityLibrary:FirebaseCrashlytics.androidlib:processReleaseManifest
Task :unityLibrary:FirebaseApp.androidlib:packageReleaseAssets
Task :unityLibrary:FirebaseApp.androidlib:processReleaseJavaRes NO-SOURCE
Task :unityLibrary:FirebaseCrashlytics.androidlib:packageReleaseAssets
Task :unityLibrary:FirebaseCrashlytics.androidlib:processReleaseJavaRes NO-SOURCE
Task :unityLibrary:FirebaseApp.androidlib:mergeReleaseJniLibFolders
Task :unityLibrary:FirebaseCrashlytics.androidlib:mergeReleaseJniLibFolders
Task :unityLibrary:FirebaseApp.androidlib:bundleLibResRelease
Task :unityLibrary:FirebaseApp.androidlib:javaPreCompileRelease
Task :unityLibrary:FirebaseApp.androidlib:mergeReleaseNativeLibs
Task :unityLibrary:FirebaseCrashlytics.androidlib:compileReleaseLibraryResources
Task :unityLibrary:FirebaseCrashlytics.androidlib:bundleLibResRelease
Task :unityLibrary:FirebaseApp.androidlib:stripReleaseDebugSymbols
Task :unityLibrary:FirebaseCrashlytics.androidlib:parseReleaseLocalResources
Task :unityLibrary:FirebaseApp.androidlib:copyReleaseJniLibsProjectOnly
Task :unityLibrary:FirebaseApp.androidlib:generateReleaseRFile
Task :unityLibrary:FirebaseCrashlytics.androidlib:javaPreCompileRelease
Task :unityLibrary:FirebaseCrashlytics.androidlib:prepareLintJarForPublish
Task :unityLibrary:FirebaseCrashlytics.androidlib:mergeReleaseNativeLibs
Task :unityLibrary:FirebaseCrashlytics.androidlib:stripReleaseDebugSymbols
Task :unityLibrary:FirebaseCrashlytics.androidlib:copyReleaseJniLibsProjectOnly
Task :unityLibrary:FirebaseCrashlytics.androidlib:generateReleaseRFile
Task :unityLibrary:FirebaseApp.androidlib:compileReleaseJavaWithJavac
Task :unityLibrary:FirebaseApp.androidlib:bundleLibCompileRelease
Task :unityLibrary:FirebaseApp.androidlib:bundleLibRuntimeRelease
Task :unityLibrary:FirebaseCrashlytics.androidlib:compileReleaseJavaWithJavac
Task :unityLibrary:FirebaseCrashlytics.androidlib:bundleLibCompileRelease
Task :unityLibrary:FirebaseCrashlytics.androidlib:bundleLibRuntimeRelease
Task :unityLibrary:packageReleaseAssets
Task :unityLibrary:processReleaseJavaRes NO-SOURCE
Task :launcher:compileReleaseShaders
Task :launcher:generateReleaseAssets
Task :launcher:mergeReleaseAssets
Task :launcher:processReleaseJavaRes NO-SOURCE
Task :launcher:mergeReleaseJniLibFolders
Task :launcher:validateSigningRelease
Task :launcher:desugarReleaseFileDependencies

Task :unityLibrary:BuildIl2CppTask
Running il2cpp.exe in server GC mode.
Building libil2cpp.so with AndroidToolChain
Output directory: C:\temp\Mona.build\unityLibrary\src\main\jniLibs\arm64-v8a
Cache directory: C:\temp\Mona.build\unityLibrary\build\il2cpp_arm64-v8a_Release\il2cpp_cache
ObjectFiles: 238 of which compiled: 0
Total compilation time: 380 milliseconds.

Task :launcher:mergeReleaseResources
Task :launcher:mergeExtDexRelease

Task :unityLibrary:BuildIl2CppTask
Cleaned up 0 object files.

Task :unityLibrary:mergeReleaseJniLibFolders
Task :unityLibrary:compileReleaseLibraryResources
Task :unityLibrary:bundleLibResRelease
Task :unityLibrary:prepareLintJarForPublish
Task :unityLibrary:javaPreCompileRelease
Task :unityLibrary:processReleaseManifest
Task :unityLibrary:parseReleaseLocalResources
Task :unityLibrary:generateReleaseRFile
Task :launcher:processReleaseManifest
Task :launcher:processReleaseResources

Task :unityLibrary:compileReleaseJavaWithJavac
Note: C:\temp\Mona.build\unityLibrary\src\main\java\com\unity3d\player\UnityPlayerActivity.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

Task :launcher:mergeReleaseJavaResource
Task :unityLibrary:mergeReleaseNativeLibs
Task :unityLibrary:stripReleaseDebugSymbols
Task :unityLibrary:copyReleaseJniLibsProjectOnly
Task :unityLibrary:bundleLibRuntimeRelease
Task :unityLibrary:bundleLibCompileRelease
Task :launcher:javaPreCompileRelease
Task :launcher:compileReleaseJavaWithJavac
Task :launcher:compileReleaseSources
Task :launcher:lintVitalRelease
Task :launcher:dexBuilderRelease
Task :launcher:mergeReleaseNativeLibs
Task :launcher:stripReleaseDebugSymbols
Task :launcher:mergeDexRelease
Task :launcher:packageRelease
Task :launcher:assembleRelease

Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.8/userguide/command_line_interface.html#sec:command_line_warnings
BUILD SUCCESSFUL in 33s
90 actionable tasks: 90 executed`

When building from within Unity the log shows that it is generating/executing a task called "Performance Reporting Symbol Upload" but it is not clear if this is uploading the symbols I am interested in
Android PostProcess task "Creating staging area" took 1.1777 ms
Android PostProcess task "Generating Build Id" took 0.1694 ms
Android PostProcess task "Preparing Unity resources" took 100.8551 ms
Android PostProcess task "Managed Stripping: (Mono)" took 0.3912 ms
Android PostProcess task "Preparing Managed resources" took 743.4143 ms
Android PostProcess task "Splitting assets" took 1186.8907 ms
Android PostProcess task "Processing OBB assets" took 0.1868 ms
Android PostProcess task "Preparing Unity libraries" took 102.7898 ms
Android PostProcess task "Processing resources" took 0.5814 ms
Android PostProcess task "Preparing APK resources" took 57.4366 ms
Android PostProcess task "Processing plugins" took 389.7 ms
Android PostProcess task "Processing Android libraries" took 4.1611 ms
Android PostProcess task "Checking Graphics API compatibility" took 1.3258 ms
Android PostProcess task "Creating Android manifest" took 52.7882 ms
Android PostProcess task "Compiling resources" took 19.8643 ms
Android PostProcess task "GenerateIl2cppPlatformProviders" took 1.3895 ms
Invoking UnityLinker with response file. response.rsp contents: -out=C:/dev/bluemonkey.unity/Temp/StagingArea/assets/bin/Data/Managed/tempStrip -x=C:/dev/bluemonkey.unity/Temp/StagingArea/assets/bin/Data/Managed/../platform_native_link.xml -x=C:/Users/dbray/AppData/Local/Temp/5/tmp4ac94987.tmp -x=C:/dev/bluemonkey.unity/Temp/StagingArea/assets/bin/Data/Managed/TypesInScenes.xml -x=C:/dev/bluemonkey.unity/Assets/link.xml -x=C:/dev/bluemonkey.unity/Assets/Firebase/Plugins/Crashlytics/link.xml -d=C:/dev/bluemonkey.unity/Temp/StagingArea/assets/bin/Data/Managed --include-unity-root-assembly=C:/dev/bluemonkey.unity/Temp/StagingArea/assets/bin/Data/Managed/Assembly-CSharp.dll --include-unity-root-assembly=C:/dev/bluemonkey.unity/Temp/StagingArea/assets/bin/Data/Managed/Unity.RenderPipelines.Core.Runtime.dll --include-unity-root-assembly=C:/dev/bluemonkey.unity/Temp/StagingArea/assets/bin/Data/Managed/UnityEngine.UI.dll --dotnetruntime=il2cpp --dotnetprofile=unityaot --use-editor-options --include-directory=C:/dev/bluemonkey.unity/Temp/StagingArea/assets/bin/Data/Managed --editor-settings-flag=Development --rule-set=Conservative --editor-data-file=C:/dev/bluemonkey.unity/Temp/StagingArea/assets/bin/Data/Managed/EditorToUnityLinkerData.json --platform=Android --enable-engine-module-stripping --engine-modules-asset-file="C:/Program Files/Unity/Hub/Editor/2020.1.17f1/Editor/Data/PlaybackEngines/AndroidPlayer/Whitelists/../modules.asset"
C:\Program Files\Unity\Hub\Editor\2020.1.17f1\Editor\Data\il2cpp\build/deploy/net471/UnityLinker.exe exited after 5262 ms.
C:\Program Files\Unity\Hub\Editor\2020.1.17f1\Editor\Data\Tools/InternalCallRegistrationWriter/InternalCallRegistrationWriter.exe exited after 253 ms.
Invoking il2cpp with arguments: --convert-to-cpp --emit-null-checks --enable-array-bounds-check --dotnetprofile="unityaot" --compile-cpp --libil2cpp-static --platform="Android" --architecture="ARM64" --configuration="Release" --outputpath="C:\dev\bluemonkey.unity\Temp\StagingArea\assets\bin\Data\Native\arm64-v8a\libil2cpp.so" --cachedirectory="C:\dev\bluemonkey.unity\Assets\..\Library\il2cpp_android_arm64-v8a/il2cpp_cache" --additional-include-directories="C:/Program Files/Unity/Hub/Editor/2020.1.17f1/Editor/Data/PlaybackEngines/AndroidPlayer/Tools\bdwgc/include" --additional-include-directories="C:/Program Files/Unity/Hub/Editor/2020.1.17f1/Editor/Data/PlaybackEngines/AndroidPlayer/Tools\libil2cpp/include" --baselib-directory="C:/Program Files/Unity/Hub/Editor/2020.1.17f1/Editor/Data/PlaybackEngines/AndroidPlayer\Variations\il2cpp\Release\StaticLibs\arm64-v8a" --avoid-dynamic-library-copy --tool-chain-path="C:/Program Files/Unity/Hub/Editor/2020.1.17f1/Editor/Data/PlaybackEngines/AndroidPlayer/NDK" --profiler-report --map-file-parser="C:/Program Files/Unity/Hub/Editor/2020.1.17f1/Editor/Data/Tools/MapFileParser/MapFileParser.exe" --directory=C:/dev/bluemonkey.unity/Temp/StagingArea/assets/bin/Data/Managed --generatedcppdir=C:/dev/bluemonkey.unity/Temp/StagingArea/Il2Cpp/il2cppOutput
C:\Program Files\Unity\Hub\Editor\2020.1.17f1\Editor\Data\il2cpp/build/deploy/netcoreapp3.0/il2cpp.exe exited after 20409 ms.
Android PostProcess task "IL2CPP" took 31117.1405 ms
Android PostProcess task "Build native Unity binary" took 7881.5695 ms
Android PostProcess task "Zipping symbols" took 926.5253 ms
Android PostProcess task "Performance Reporting Symbol Upload" took 0.3277 ms
Android PostProcess task "Preparing streaming assets" took 75.1488 ms
Android PostProcess task "Creating APK expansion package (OBB)" took 0.13 ms

HI @deighvyd2,
Unfortunately, NDK + Unity implementation is not yet officially supported. While you might be able to configure your own solution if you follow the NDK integration information directly in the exported Android Studio project, there’s no guarantee it will work.
Let me know if this is a feature you want implemented.

Hi,
I was looking into manually uploading the symbols however I have had to put that aside for a while
This would be a feature that I would like implemented as it would save a great deal of time and it is supported out of the box on iOS

Hi @deighvyd2,
As of version 8.6.0 of the SDK, you may now upload symbol files for your builds so that the symbolicated IL2CPP stack traces can be displayed in the Crashlytics console.


LINQ to SQL translation not updated?

According to the example in the docs, the LINQ Take are translated to TOP, but it doesn't seems right, the tests that I did Skip and Take are translated to OFFSET and LIMIT.
Examples:
_cosmosDbService.GetQueryable().Where(x => x.Id == "**").Skip(2);
Is translated to
"SELECT VALUE root FROM root WHERE (root[\"id\"] = \"**\") OFFSET 2 LIMIT<PHONE_NUMBER> "
And
_cosmosDbService.GetQueryable().Where(x => x.Id == "**").Skip(2).Take(2);
Is translated to
"SELECT VALUE root FROM root WHERE (root[\"id\"] = \"**\") OFFSET 2 LIMIT 2 "

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

ID: 7af26f57-f473-916a-bd4d-0918ef9eefcd
Version Independent ID: b553182a-4d34-96d6-219e-1abbd031c642
Content: LINQ to SQL translation in Azure Cosmos DB
Content Source: articles/cosmos-db/sql-query-linq-to-sql.md
Service: cosmos-db
GitHub Login: @timsander1
Microsoft Alias: tisande

@jpcrs Thank you for letting us know and raising a pull request to update the documentation.
This is being assigned to the content author to evaluate and update as appropriate.

Thanks @jpcrs! I just approved this PR so should be merged shortly.

Thanks, going to close the issue.

@timsander1 Sorry about that, I've closed the issue/PR before it was merged :)
Feel free to merge whenever you want.


[Bug]: BarSet parsing raises AttributeError when raw_data is empty

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
Traceback
 File "C:\Users\zheng\PycharmProjects\alpharius\venv\lib\site-packages\alpaca\data\historical\stock.py", line 99, in get_stock_bars
    return BarSet(raw_bars)
  File "C:\Users\zheng\PycharmProjects\alpharius\venv\lib\site-packages\alpaca\data\models\bars.py", line 73, in __init__
    parsed_bars[symbol] = [Bar(symbol, bar) for bar in bars]
  File "C:\Users\zheng\PycharmProjects\alpharius\venv\lib\site-packages\alpaca\data\models\bars.py", line 73, in <listcomp>
    parsed_bars[symbol] = [Bar(symbol, bar) for bar in bars]
  File "C:\Users\zheng\PycharmProjects\alpharius\venv\lib\site-packages\alpaca\data\models\bars.py", line 43, in __init__
    BAR_MAPPING[key]: val for key, val in raw_data.items() if key in BAR_MAPPING

Expected Behavior
The request should return empty BarSet
SDK Version I encountered this issue in
0.7.0
Steps To Reproduce
This error can be reproduce by sending the following request

StockBarsRequest(
  symbol_or_symbols='SE',
  start=Timestamp('2017-02-27 05:00:00'),
  end=Timestamp('2017-02-28 04:59:59'),
  limit=None,
  timeframe=TimeFrame(5, TimeFrameUnit.Minute),
  adjustment=None,
  feed=None)

### Filled out the Steps to Reproduce section?

- [X] I have entered valid steps to reproduce my issue or have attached a minimally reproducible case in code that shows my issue happening; and understand that without this my issue will be flagged as invalid and closed after 30 days.

### Anything else?

_No response_

The same issue is also present with get_stock_trades()/StockTradesRequest() when there are no trades in the requested interval. A simple fix would be to change the following lines in data/models/trades.py:
for symbol, trades in raw_data.items():
    parsed_trades[symbol] = [Trade(symbol, trade) for trade in trades]

to this:
for symbol, trades in raw_data.items():
    parsed_trades[symbol] = [Trade(symbol, trade) for trade in trades if trade]

Similarly, data/model/bars.py can be changed to the following:
for symbol, bars in raw_bars.items():
    parsed_bars[symbol] = [Bar(symbol, bar) for bar in bars if bar]

cleaning up some issues since there are duplicates
follow along here
https://github.com/alpacahq/alpaca-py/issues/317


Differences k and k[1]

Whats the Difference between those two and what is the Look Back Periode in both?
Is there Any way to append the kdj indicator?
Thank you for your awesome Work!

Hello
Placed in front of any indicator [1] gives the data of the last closed candle, otherwise it returns the online data.
In the website below, you can see all the indicators supported by Trading View.
https://tradingview.brianthe.dev/


Update ozy-captive.php

needed change in order to work with freeradius 3 :)

Thanks for your work, really appreciated.
Unfortunately I cannot test this for the next two or three weeks so I can't merge it right now.
I'll merge a bit later.

Thank you for your awesome work, took me 3 days to figure it out :), let me
know when you test it, it worked out great for me after the changes with
freeradius 3 and pfsense 2.3.4.
On Mon, Jul 10, 2017 at 1:09 PM, Orsiris de Jong<EMAIL_ADDRESS>wrote:

Thanks for your work, really appreciated.
Unfortunately I cannot test this for the next two or three weeks so I
can't merge it right now.
I'll merge a bit later.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/deajan/pfSense-cp-auth-onestep/pull/6#issuecomment-314204938,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AZlHvsaH9IqJPeWxxD84FGyTAZFgZN1lks5sMnb0gaJpZM4ORjyD
.

Again, thanks (even if it took more than a year for me to notice I've never merged your patch)