Resolve browser/headless browser strategy for automated ALM tests

Problems with PhantomJS not being able to locate dynamically generated web elements are being seen. We either have to resolve these issues for PhantomJS or select another headless browser strategy.
Note other related issues raised here: https://github.com/angular/protractor/blob/master/docs/browser-support.md

Another tool to look at while we finalize the test architecture:
https://github.com/nightwatchjs/nightwatch
nightwatch - Automated testing and continous integration framework based on node.js and selenium webdriver

Problems with PhantomJS seem to be resolved - now looking at issue/question as to running headless Firefox on CI.

Closing a a duplicate of: https://github.com/almighty/almighty-ui/issues/201


[TASK] Release Catalog BB 1.18.0

Description
Release Catalog BB v 1.18.0.
This will be done after dev deployment.
Deployment to TEST and PROD instances.
Acceptance Criteria
CatalogBB is deployed to PROD and working fine.

Tested catalog BB in TEST instance. Html input field validations working. Details view page wordings change reflected.
API endpoints working.
POST https://api-test.rokwire.illinois.edu/contributions/admin/reviewers for adding BingZhang.
Awaiting confirmation from Bing to proceed to PROD.

Proceeding to PROD.

Works fine in TEST instance. Deployed to PROD. Works fine in PROD.


fix output addon_profile not supported in provider 3.10.0

The addon_profile has been removed in this version of the provider:
https://github.com/hashicorp/terraform-provider-azurerm/blob/main/website/docs/guides/3.0-upgrade-guide.html.markdown#data-source-azurerm_kubernetes_cluster
Tested with provider version 3.10.0
terraform {
  required_providers {
    azurerm = {
      source  = "hashicorp/azurerm"
      version = "~> 3.10.0"
    }
  }

  required_version = ">= 1.1.0"
}

Fixes the following failure:
 Error: Unsupported attribute
│
│   on .terraform/modules/aks/outputs.tf line 91, in output "addon_profile":
│   91:   value = try(azurerm_kubernetes_cluster.main.addon_profile.0, null)
│
│ This object has no argument, nested block, or exported attribute named "addon_profile".

Thanks @zioproto for opening this pr. The addon_profile is an object containing multiple sub arguments including http_application_routing_enabled and azure_policy_enabled. Would a new object type addon_profile in the output file be better so we can save effort for the users who're using this object.
Since the incoming new tag version will be a major version upgrade, I'm working on refactor the code with some breaking changes too. I'll submit my pr next week, may I ask for your review then? Thanks!

@lonegunmanb OK for me. Please assign to me the new PR for review and I will close this one. Thanks

@puru45 please look into PR #188 that deprecates this PR. I am going to close this one without merging because PR #188 takes care of this.


RAM cleanup

@bendyer @pavel-kirienko This should help a bunch as it frees 8K in the system. The right fix is still to fix UAVCAN though. The firmware server runs 800 bytes off a 3.5K stack - Ben, what is the output of "top" after running a firmware update?

@bendyer With this branch I can start full UAVCAN and a 2nd MAVLink connection with QGC via USB and still have 15K RAM left. Its not great, but should be workable.

Thanks, that helps. I have rebased on top of this branch; the new build system is so much nicer!


Added email client, send email FROM

I added methods adds from in email sender.

Functionality was moved to 3.0.0


fix: AttributeError for Non-Prediction Objects in Retriever

Suggestion/Fix for this issue - https://github.com/stanfordnlp/dspy/issues/166
The retrieve function, seems to get the passages (as a Prediction object) during the use of certain retrievers - this breaks the downstream flow.
I have added a check to determine if its a Prediction object (currently I'm doing it by checking the attribute, but i feel there must be a better way - will check!)
Please let me know if there's something I should consider or have missed out.

Hi @koshyviv , thanks for raising this. I think we'll need to account for a better way to handle this in the WIP refactor so feel free to raise this in #390 as needed! closing for now


middleware "foo@file" does not exist

Do you want to request a feature or report a bug?
Bug
What did you do?
defined basic-auth middleware in central traefik.yml file:
http:
  middlewares:
    kk16auth:
      basicAuth:
        realm: "KK16"
        users:
          - "..."

then tried to use/reference this middleware in the docker swarm docker-compose file:
    deploy:
      labels:
        - traefik.enable=true
        - traefik.http.routers.openhab.rule=Host(`...`)
        - traefik.http.services.openhab.loadbalancer.server.port=8080
        - traefik.http.routers.openhab.middlewares=kk16auth@file
        - traefik.docker.network=...

What did you expect to see?
labeled docker-container using basic auth using referenced middleware, as documented here
https://docs.traefik.io/middlewares/overview/#provider-namespace

Referencing a Middleware from Another Provider

What did you see instead?
time="2019-10-19T14:59:54+02:00" level=error msg="middleware \"kk16auth@file\" does not exist" entryPointName=http routerName=kapacitor@docker

also tried the other way around file@kk16auth, because that was said in some old v2-alpha issue which lead to the same results:
time="2019-10-19T14:59:54+02:00" level=error msg="middleware \"file@kk16auth\" does not exist" entryPointName=http routerName=openhab@docker

Output of traefik version:
current latest image from https://hub.docker.com/_/traefik which is
Version:      2.0.2
Codename:     montdor
Go version:   go1.13.1
Built:        2019-10-09T19:26:05Z
OS/Arch:      linux/amd64

What is your environment & configuration
traefik.yml
entryPoints:
  web:
    address: ":80"
  web-secure:
    address: ":443"

api:
  dashboard: true
  insecure: true

providers:
  docker:
    endpoint: "unix:///var/run/docker.sock"
    swarmMode: true
    exposedByDefault: false

http:
  middlewares:
    kk16auth:
      basicAuth:
        realm: "..."
        users:
          - "..."

certificatesResolvers:
  letsencrypt:
    acme:
      email: ...
      storage: /etc/traefik/acme.json
      httpChallenge:
        entryPoint: web

global:
  sendAnonymousUsage: false
  debug: false
  logLevel: "INFO" #DEBUG, INFO, WARN, ERROR, FATAL, PANIC

docker-compose.yaml excerpt
# https://hub.docker.com/r/openhab/openhab/
  openhab:
    image: openhab/openhab:latest-alpine
    ports:
      - "8080:8080"
    # - "8443:8443" # no need for HTTPS
      - "5007:5007" # LSP
    environment:
      - "TZ=Europe/Berlin"
      - "EXTRA_JAVA_OPTS='-Duser.timezone=Europe/Berlin -Xmx4g'"
    volumes:
      - "/etc/localtime:/etc/localtime:ro"
      - "/etc/timezone:/etc/timezone:ro"
      - "./openhab/addons:/openhab/addons"
      - "./openhab/conf:/openhab/conf"
      - "./openhab/userdata:/openhab/userdata"
      - "./openhab/init:/etc/cont-init.d"
    # The command node is very important. It overrides the "gosu openhab tini -s ./start.sh" command from Dockerfile and runs as root!
    command: "tini -s ./start.sh server"
    deploy:
      labels:
        - traefik.enable=true
        - traefik.http.routers.openhab.rule=Host(`...`)
        - traefik.http.services.openhab.loadbalancer.server.port=8080
        - traefik.http.routers.openhab.middlewares=kk16auth@file
        - traefik.docker.network=kk16_default
        # - traefik.http.routers.openhab.tls.certresolver=letsencrypt

Hi! I'm Træfiker :robot: the bot in charge of communication regulation.
Thanks for your interest in Traefik!
We dedicate the issue tracker to bug reports and feature requests only. My advanced AI has spotted that your issue might be a configuration problem or relates to something that doesn't look like a bug.
To confirm this, please join our Community Forum and reach out to us on the Traefik section.
In case I'm wrong (well, that would be embarrassing :sweat_smile:), my developers will re-open the issue and fix me!
In the meantime, you can double check Traefik's documentation.

To anyone else falling upon this issue, I thought i'd cross-post the solution, so someone else can find it much faster than I did.
The issue is around the fact that the http definition doesn't actually live in the main config file, but instead in a separate file, referenced to as a file provider. What you basically want to do is https://github.com/RealOrangeOne/docker-networking-playground/commit/f84c163b5292803716d8572536bf6c49cc6c60a9
Personally, I think it'd be great if that were made far more obvious, or even if traefik rejected superfluous configuration keys, which would stop this issue happening.
Ref:
https://community.containo.us/t/help-migrating-to-v2-0-wildcard-acme-and-non-existent-middleware/1854
https://community.containo.us/t/alpha7-https-redirection/615


Add headless mode ?

I'm trying to use register the plugin manually to be able to use it in a background process with background_locator. (I need to get more than one location update in some cases with this plugin's background function)
It seems that the geolocation plugin cannot be registered headless. See this similar issue : https://github.com/transistorsoft/flutter_background_fetch/issues/12
I'm getting the same error.
It works with the geolocator plugin but for some reasons the location updates are not working as expected when I use this plugin.
Could it be possible to add this 'headless registration' feature please ? Thanks !

any idea ?


Fix: Bring lockfile up to date

Your lockfile is not up to date.
This patch fixes this.

Do you think this is worth a patch release?

It seems to be working with cargo install --locked cargo-check-external-types, so I don't really see a good reason to push out a release at the moment.

I found this because I was not able to build this crate with nix because of the out-of-date lockfile. But well, that's only a portion of your users and they all can build from master (which is what I am doing right now)... so :shrug: fine with me. :+1:


Change driver in start_session

In confix.mix I set default driver to phantomjs
config :hound, driver: "phantomjs"
but in some tests I want to use chrome_driver.
How to do it?
start_session %{browser: "chrome_driver"}
don't work, it's for browser only, not for driver
start_session %{driver: %{browserName: "chrome_driver"}}
don't work too.

try start_session(driver: "chrome_driver")


FR: ability to not show PHP use statements

First, thanks for this, great work, I love it!
I would love the ability to not show the use statements.

This would be a great enhancement if there is no way in current build.

Instead of making a language-specific change, I think a more general request could be to add a setting that would allow filtering.


demoBebopVisioGUI.py problem

so I'm trying to run this script and I get this error:
[00007f96e6b71070] videotoolbox decoder: Using Video Toolbox to decode 'h264'
[00007f96e6b71070] main decoder error: buffer deadlock prevented
libpng error: Read Error
[00007f96e6b71070] main decoder error: buffer deadlock prevented
[00007f96e6b71070] videotoolbox decoder: Using Video Toolbox to decode 'h264'
[00007f96e6b71070] videotoolbox decoder: vt cvpx chroma: 420v
Basically from what I can tell the VLC video playback is not working, the image is being saved tho. Any ideas as to what might this be? I've already updated libpng

it works fine.  It just puts out a lot of information from VLC.  the ffmpeg version does the same thing.  Lots of output!  But the images are fine.


Many methods added

Codecov Report

Merging #3 (ce11f0e) into main (6ba541d) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##              main        #3   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           14        15    +1
  Lines          362       413   +51
  Branches        24        34   +10
=========================================
+ Hits           362       413   +51

Flag
Coverage Δ

unittests
100.00% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

src/picartoapi/model/channel_video.py
100.00% <100.00%> (ø)

src/picartoapi/model/video.py
100.00% <100.00%> (ø)

src/picartoapi/public_client.py
100.00% <100.00%> (ø)

tests/model_builder_test.py
100.00% <100.00%> (ø)

tests/public_client_test.py
100.00% <100.00%> (ø)

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 6ba541d...ce11f0e. Read the comment docs.


Add Onnxruntime parity checks into MIGraphX CI

Need to identify when code changes break parity changes with onnxruntime's code changes for their parity operations which are used in DeepLearning Models
Add a CI stage as part of onnxruntime run  in parallel to CI unit tests, to determine if MIGraphX changes break DLM related checks/tests
We're already building onnxruntime we just need to add support to build the python wheel as well as support for the current libraries we're pulling that DLM uses.
This should give us a heads up between

test_gelu_parity --no_optimize

test_parity_layernorm --no_optimize

test_parity_huggingface_gpt_attention.py

[ ] Move control of libraries into MIGraphX repo that are required to run parity tests into CI

[ ] Split out unit testing in build_and_test.sh

[ ] Build onnxruntime wheel as part of onnxruntime build for install

[ ] Add CI stage in parallel for parity tests

[ ] Mirror what DLM is doing without tracking perf (just look at pass/fail)

Just needs to pass review now

Still in review. Seeing failures due to Jenkins changes. Moving to current sprint

Will handle this in next Innovation day. Target with other CI changes to Onnxrt since we're trying to reduce workloads through CI right now.
Onnxrt seems to be a blocker when using vega nodes.


Upgrade fullscreen video UI and add missing features

got a screenshot of what it looks like now?

nvm


README.md prevents "clasp push"

(Please search existing issues before creating a new one.)
Expected Behavior
"clasp push" should push all files.
Actual Behavior
When I have a project with "README.md" file and it's not excluded in ".claspignore" it throws an error:

Steps to Reproduce the Problem
Any project with README.md file does it. New OR cloned.
Specifications

Node version (node -v): v8.11.3
Version (clasp -v): 1.4.0
OS (Mac/Linux/Windows): Mac OS High Sierra - 10.13.4 (17E199)

I don't think that Apps Scripts projects can have .md files. (https://developers.google.com/apps-script/guides/projects). Are you able to make one through the UI?

Hey, sorry about that! That issue where it didn't give an error message has been fixed (see https://github.com/google/clasp/pull/239/files). Essentially this is what was happening:
          // In the following code, we favor console.error()
          // over logError() because logError() exits, whereas
          // we want to log multiple lines of messages, and
          // eventually exit after logging everything.

I don't think it's been pushed out to npm yet, but should be coming soon!

Perfect! Glad to hear that. We can close this one then, thanks!

Thanks!

Just a note that I think I'm running into the 'blank error message' issue as well on clasp push, so publishing a new version with the above fix or giving any kind of workaround here would be awesome.  Otherwise I'm just kind of drawing a blank on what's wrong.

@IanWhalen Same here. The project is relatively easy to build from source:
git clone https://github.com/google/clasp.git
cd clasp
npm install
npm run build
npm pack # google-clasp-1.4.1.tgz
cd ~/your-project/
npm install ~/clasp/google-clasp-1.4.1.tgz

Turns out I forgot to enable the Apps Script API !
https://script.google.com/home/usersettings

I'll look into preventing these errors next week.

Doh, usersettings was totally it.  I just skipped over that line in the readme.  Sorry!  But yes, an error message indicating that's the problem would certainly be helpful if possible.

Hey all, have you tried with version 1.4.1? It seems to be working now giving this error if the API hasn't been enabled:
Push failed. Errors:
User has not enabled the Apps Script API. Enable it by visiting https://script.google.com/home/usersettings then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.

This was fixed in this commit: https://github.com/google/clasp/commit/272c1df69dfdddc037dba5826524327370c949fa
See similar issue here: https://github.com/google/clasp/issues/256

I think I'm going to close this issue in favor of #256 since the problem was usersettings.

Sorry, guys! I use 2.2.1 version but  I have the same problem on push:

Error: User has not enabled the Apps Script API. Enable it by visiting

node version is v10.16.0
vscode  as editor


Use CaaSP 3.0.0 image with latest updates

An alternative to https://github.com/SUSE-Cloud/socok8s/pull/164

@evrardjp sorry, but where in the deployment guide are we currently sharing that information?

We are currently not doing it, because we said "deploy caasp". Now that we have more requirements, we should express them in docs. https://github.com/SUSE-Cloud/socok8s/blob/master/doc/source/deploy-guide/prepare-targets.rst would be a good place.

@jsuchome close this? or do we want to still investigate this path?

Closing, at least for now


Question about events and pipelineRuns

In Jenkins, with the multiBranchPipeline plugin, that most people these days use against their git repos, one can choose if a push to a branch that has a pull request should trigger two executions, i.e. one for push and one for pull request, or if only the one for the pull request should be triggered. In the same situation in Tekton PAC, both events will come and I can get separate runs for both events.
Would it at be possible to get the same kind of option in Tekton PAC as in Jenkins, i.e. that I configure my Repository to suppress "push" if there is also a "pull_request" event for the same branch? Or that my pipelineRun could have a flag that is read and understood that it wants to run for "push" but only if no "pull_request" event also has the same origin?

hello, sorry i forgot to reply to this issue..
i was not aware that jenkins had that option, and that's a nice solution to a problem that always bugged me but never spent too much time on it.... this will solve the issue wheen sending a push from a branch on the same repository generating a push pipeline...
i am not sure we need to make it optional we can just say that a push to a branch who has a pull request open will only generate a pull request event..
'
let's keep this issue open if you don't mind and let's see if we can implement this

Thanks for the answer. And this sounds good to me. Only getting one event sounds like what most user would want to happen.

Came looking to see if this was a discussion in progress already. Glad it is as seeing two runs is bugging me :D

thanks for the reminder @indiealexh i created a story in rht jira so this gets prioritized https://issues.redhat.com/browse/SRVKP-3512


Hello All, I just found a solution about critical error!!!

Hello, Good Morning Guys I just found a solution for all of you guys because I had the same problem.
I have made a small video for you:
https://youtu.be/FhCP9Hot6k0

thanks alot it is working now:)

I'm glad :)

I hope I can still recover using the current wallet...

U can

What happens when you have to do this every time you open the wallet. Takes forever to sync every time.

I suggest you download the wallet for Android or iPhone to your phone and transfer your balance there or keep it at TradeSatoshi

Starting to think that's what the bitcoinZ team wants. After having mined so many coins people no longer have access to them and they don't lift a finger to help.

I suggest to everyone download the wallet for android or apple and move your coin there from this wallet that has issues or move them to TradeSatoshi

stale issue - seemed to have been hashReserved issue addressed here: https://github.com/btcz/bitcoinz-win/commit/9bbfcd842081a35c6f9b96078da3078b721ecbef


Add StableLM model.

Only https://huggingface.co/stabilityai/stablelm-2-1_6b and https://huggingface.co/stabilityai/stablelm-2-1_6b work since the others have a head_dim of 80. Same with flashinfer enabled.

@janimo Thanks! It is merged.


Implement optimize algorithm for arithmetic circuits

See module ZkFold.Symbolic.Compiler.ArithmeticCircuit.
Function optimize should try to remove unnecessary constraints and variables from the ArithmeticCircuit object by removing linear constraints.

I think we can close this in favor of #350?


Shared persistor definitions plus adding ServiceInstance

Shared persistor definitions plus adding ServiceInstance. We need
thre definitions shared so we can use it both for AWS and k8s.
Depends on:

[ ] https://github.com/ManageIQ/manageiq-schema/pull/267

@miq-bot add_label @agrare
@miq-bot assign @agrare


Buy Order Partially Filled

My one of buy order is partially filled yesterday. Please complete my order of 400 monyx coin.

lmao.....that's not how it works! Redo your sell order or wait!


[Improvement] Bind gantt object to 'this' inside event handlers

When using on_date_change or on_click, there doesn't seem to be a way to access the gantt object without global variables. It would be nice to bind this to the gantt object, so the handlers may contain more complex behaviour (ex: highlighting all tasks with the same priority as the clicked task).
The fix would entail modifying the trigger_event in the Gantt class as follows:
trigger_event(event, args) {
  if (this.options['on_' + event]) {
    this.options['on_' + event].apply(this, args); // Changed from apply(null, args);
  }
}

Nice feature!
Implemented, but note that you can't use arrow functions to access this - you have to change the index.html functions to be normally defined.
The demo has been updated accordingly.


Message rename mode variant

Describe pull-request
Renaming the mode variant names to primary/secondary
Solving issue
In case of GitHub issue add # plus the number of the issue (for example #123) OR if it is Azure then AB# and number of ticket
Fixes: AB#3086

Warning and Success don't change colors when switching between primary and secondary.


PubSub in Visual Studio 2019

Routes: I've established two routes(Not using dotnet SDK).
app.Map("/testroute", DaprTestRoute);
app.Map("/dapr/subscribe", DaprSubscribe);
No matter what, I expected the "/dapr/subscribe" route to be called, but it never is.
Visual studio starts the containers before any code is run, so if the subscribe is called on sidecar startup, I'll never see it.
I do issue a publish to to the sidecar on startup, but again, nothing happens... am I missing something? BTW, I can manually call the two routes and both work.
I have the app and the sidecar in the docker compose as follows: Just showing one section of the docker-compose services
############################
ABA app + Dapr sidecar
############################
abasignalrmicroservicesnoorleans:
image: ${DOCKER_REGISTRY-}abasignalrmicroservicesnoorleans
build:
context: .
dockerfile: AbaSignalRMicroServicesNoOrleans/Dockerfile
abasignalrmicroservicesnoorleans-dapr:
image: "daprio/daprd:1.0.0"
command: ["./daprd",
"-app-id", "abasignalrmicroservicesnoorleans",
"-app-port", "80",
"-placement-host-address", "placement:50001",
"-dapr-http-port", "3500",
"-dapr-grpc-port", "50001",
"-components-path", "/components"]
volumes:
- "./components/:/components"
depends_on:
- abasignalrmicroservicesnoorleans
network_mode: "service:abasignalrmicroservicesnoorleans"

Ok, I found out what was wrong, and it was 2 things.

The reason Dapr never hit the breakpoint for subscribe is that in Visual Studio, once you debug the app once, it never initializes the dapr sidecar again. So breakpoints will never be hit.  What I had to do(while running my app) was to stop the sidecar and start it again, and the breakpoint is hit.
I wasn't returning an array, even though I had a single subscription, my bad, not paying close enough attention.

Everything works now!


Feature: Channel Isolation / Optimization Guide

I know most of this will be carrier specific, but I'm trying to determine how to optimize my connectivity. I've got a similar setup albeit a different carrier. I'm using the Waveshare 4G/5G Pihat with a RM502Q-AE. I can't seem to get speedtest above 20Mbit down.

What is your interface driver, MBIM, QMI, PPP? What is your network mode (WCDMA, LTE, NR NSA, NR SA) and servingcell info? Have you tested the same SIM in a phone or tablet to get a baseline for the expected Speedtest result?

No worries. With a result of 20Mbps that sounds like ModemManager maybe trying to use PPP (serial interface) for the connection instead of USB, or you have connected to a strong WCDMA cell. I would first check your modem status with mmcli:
mmcli -L will show the current numeric ID of the modem.
From there you can view the status:
mmcli -m [modem_ID]
Under 'System' section of the output it should show something like 'cdc-wdm0' as its 'primary port'. If it shows something else like 'ttyUSBx' then MM is connecting over raw serial and your QMI driver package is missing or otherwise not being used due to some missing or improper configuration.
If your 'primary port' is a 'cdc-wdm*' device then that confirms QMI is working and should rule out the interface type as a potential issue. I would next check your radio mode to try and rule out if the modem is connected over legacy WCDMA or not:
qcom AT+QNWPREFCFG=\"mode_pref\"
Ideally, that should return "+QNWPREFCFG: "mode_pref",LTE:NR5G", If it comes back showing "AUTO" or with a list that includes "WCDMA" I would then set it to LTE & NR only:
qcom AT+QNWPREFCFG=\"mode_pref\",LTE:NR5G
As most areas do not have NR SA fully live yet, you could also disable that to ensure the modem is using NR NSA which gives the best aggregate speed in most areas (this is covered in the repo README so maybe you have done this already):
qcom AT+CFUN=0
qcom AT+QNWPREFCFG=\"nr5g_disable_mode\",1
qcom AT+CFUN=1,1

From there I would retest and see if any of the changes made a difference. If not you should then obtain your serving cell info:
qcom AT+QENG=\"servingcell\"
If the modem is properly connected in NSA mode the output should have 3 lines. The first will say something like "NOCONN", the second will be your LTE anchor band, and the third will be the NR band you are aggregated with. Lines 2 and 3 will also include cell identifier and signal information which is helpful (i.e. if signal is bad, speeds will be bad).
If you have validated all of this and have a good signal from your serving cell then likely the issue lies with your carrier provisioning and/or some ID mismatch with the modem. Keep in mind that in the case of many carriers in the USA to have 5G speeds, you must be on a 5G plan with a 5G device IMEI and be using an appropriate 5G APN. If you are missing any one of these then you may see decreased speed, connect only on LTE (which would be evidenced in the "servingcell" output), or not connect at all.
Since I have no direct experience with the Waveshare hat, there is always a possibility of a hardware issue there on the USB interface as well but I doubt this since it is at least establishing a connection and achieving 3G/4G speeds.

  System   |                  device: /sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb2/2-1            |                 drivers: qmi_wwan, option1            |                  plugin: quectel            |            primary port: cdc-wdm0            |                   ports: cdc-wdm0 (qmi), ttyUSB0 (qcdm), ttyUSB1 (ignored),            |                          ttyUSB2 (at), wwan0 (net)
It's probably good that you don't have experience with the waveshare hat. I had to solder 2 of the antenna connectors back on to the board, it appears they couldn't support the weight of themselves. I did order a dual nic board with integrated m2 slot but it requires a cm4 module which are in short supply still.
Looks like preference mode was set to auto, I've adjusted that.
I did try disabling NR SA as you had to in the write-up but I since factory reset as i didn't see a difference. I'll try it again.
My SIM is from a t-mobile home internet router that is supposed to have 5g capabilities (FAST 5688W) so there shouldn't be a provisioning issue there.

root@piwan:~# mmcli -m 0 --signal-get
  ----------------------
  Signal | refresh rate: 10 seconds
  ----------------------
  LTE    |         rssi: -68.00 dBm
         |         rsrq: -20.00 dB
         |         rsrp: -107.00 dBm
         |          s/n: -4.80 dB
  ----------------------
  5G     |         rsrq: -17.00 dB
         |         rsrp: -112.00 dBm
         |          s/n: 0.00 dB

root@piwan:~# speedtest
Retrieving speedtest.net configuration...
Testing from T-Mobile USA (<IP_ADDRESS>)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Summit Broadband (Orlando, FL) [15.99 km]: 76.109 ms
Testing download speed................................................................................
Download: 42.06 Mbit/s
Testing upload speed......................................................................................................
Upload: 2.21 Mbit/s

A little better maybe....
I'm disabling the NR SA now. Is this something you know from the industry and a bit of experimentation?
Is there a way to dump out all the 'QNWPREFCFG' parameters?

           |                   state: connected
           |             power state: on
           |             access tech: lte
           |          signal quality: 75% (cached)

Selecting best server based on ping...
[124.94 km]: 67.702 ms
Testing download speed................................................................................
Download: 38.00 Mbit/s
Testing upload speed......................................................................................................
Upload: 4.45 Mbit/s

previous was access tech: 5g, this one is LTE - still about the same speeds   :/
Going to try a different carrier.

FAST 5688W

What APN are you using with the SIM when used with the RM502Q-AE? Also, have you "repaired" the modem so it's IMEI is matching the gateway? There may be some difference when attaching to the T-Mobile network when using a TMHI SIM inside a non-TMHI approved device. At the very least, if you have a phone or tablet SIM to test with alongside the TMHI SIM, it might give some insight. You may also want to try updating your modem firmware and/or changing the MBN to Generic (vs Commercial-TMO which is likely auto-selected for you based on SIM).
I am going to go ahead and close this one out since it seems to be related to modem configuration and/or specific service provisioning as opposed to any flaws in the build instructions but feel free to reply with any updates as they might be instructive to others using your Waveshare hardware with TMHI.

Grabbed an AT&T SIM - it's even worse throughput wise.
I've also got a new waveshare board that's 4g/5g dual nic but requires a pi CM4, which it probably going to be impossible to get.
root@piwan:~# qcom at+qrsrp

+QRSRP: -97,-103,-111,-104,LTE
+QRSRP: -115,-112,-108,-109,NR5G

OK
root@piwan:~# qcom at+qsinr

+QSINR: -8,0,9,-5,NR5G

OK

# qcom AT+QENG=\"servingcell\"

+QENG: "servingcell","NOCONN"
+QENG: "LTE","FDD",310,410,AD2AD08,61,1000,2,3,3,330D,-98,-20,-60,7,5,210,-
+QENG: "NR5G-NSA",310,410,762,-110,1,-15,651360,77,6,1

Very odd. If repair/magic has been done and you have tested with the generic MBN then I am at a loss to explain the poor performance as compared to the same SIM in its native device. As a sanity check I would recommend trying to pull the signal stats from the native device to compare with your signal on the Waveshare setup and possibly reflash the modem with the latest available firmware update. Hopefully, the new Waveshare host board will show improvement.

Got the new waveshare board and was able to score the 8GB WiFi CM4 by way of Germany and a parcel forwarding service....

Anyone looking to do a build I recommend going the Integrated CM4 board over the pi hat due to construction quality.
root@piwan:~# qcom AT+QENG="servingcell"
+QENG: "servingcell","NOCONN"
+QENG: "LTE","FDD",310,410,ACC13CB,227,67086,66,3,3,3303,-106,-11,-79,15,9,20,-
+QENG: "NR5G-NSA",310,410,762,-101,20,-11,651360,77,6,1
Either way it should do in a pinch as a backup connectivity method should my primary fail.
Also wanted to share a little update to the TTL script since the newer OpenWRT has moved to nft for the firewall.
/etc/config/firewall  Append to the end
config include         option path '/etc/firewall.user'         option fw4_compatible '1'
/etc/firewall.user New File
nft add rule inet fw4 mangle_forward oifname wwan0 ip ttl set 65


Change module kind from plain to umd for use with Node.js

Thank you for creating JavaScript version.
I tried using this product with Node.js, but I could not use it.
If module kind is set to umd, it can correspond to various module kinds including CommonJS, so please change the module kind and publish it.
Best regards.

Thanks!

Thanks :-)
I confirmed the change. It's working.


[JS-Controller 3.x] Object control.fan_power is invalid: obj.type has to exist

This object will not be created in future versions. Please report this to the developer.

undefined2020-04-08 20:43:27.389 - info: host.ioBroker "system.adapter.mihome-vacuum.0" enabled
--
2020-04-08 20:43:27.406 - info: host.ioBroker instance system.adapter.mihome-vacuum.0 started with pid 8752
2020-04-08 20:43:28.067 - warn: mihome-vacuum.0 (8752) Object mihome-vacuum.0.info.dnd is invalid: obj.common.type has an invalid value (switch) but has to be one of number, string, boolean, array, object, mixed, file, json
2020-04-08 20:43:28.067 - warn: mihome-vacuum.0 (8752) This object will not be created in future versions. Please report this to the developer.
2020-04-08 20:43:28.203 - info: mihome-vacuum.0 (8752) starting. Version 2.0.7 in /opt/iobroker/node_modules/iobroker.mihome-vacuum, node: v10.19.0, js-controller: 3.0.3
2020-04-08 20:43:28.229 - info: mihome-vacuum.0 (8752) Expert mode enabled, states created
2020-04-08 20:43:28.229 - info: mihome-vacuum.0 (8752) Create state clean_home for controlling by cloud adapter
2020-04-08 20:43:28.235 - info: mihome-vacuum.0 (8752) Disconnect
2020-04-08 20:43:28.254 - info: mihome-vacuum.0 (8752) change states from State control.fan_power
2020-04-08 20:43:28.254 - info: mihome-vacuum.0 (8752) extend state mop for State control.fan_power
2020-04-08 20:43:28.255 - info: mihome-vacuum.0 (8752) New generation or new fw detected, create new states goto and zoneclean
2020-04-08 20:43:28.261 - info: mihome-vacuum.0 (8752) Connected
2020-04-08 20:43:28.273 - info: mihome-vacuum.0 (8752) create states for water box
2020-04-08 20:43:28.274 - info: mihome-vacuum.0 (8752) create states for water box filter
2020-04-08 20:43:28.757 - info: mihome-vacuum.0 (8752) set next timer: not available
2020-04-08 20:43:30.254 - warn: mihome-vacuum.0 (8752) Object control.fan_power is invalid: obj.type has to exist
2020-04-08 20:43:30.255 - warn: mihome-vacuum.0 (8752) This object will not be created in future versions. Please report this to the developer.
2020-04-08 20:43:31.248 - info: mihome-vacuum.0 (8752) create state for carpet_mode

Is this really still valid?
The message about info.dnd was fixed in #116 and the control.fan_power object has a type defined (since years) (https://github.com/iobroker-community-adapters/ioBroker.mihome-vacuum/blame/master/io-package.json#L441) and I don't see this warning message in my logs.

no was a false positive by controller


Updated bundle according to strict standard to ~2.1.

Closes #59

Needs connections bundle update to pass tests.


⚠ ClamAV has degraded performance

In 12b66b7, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 69 ms

Resolved: ClamAV performance has improved in 347ff05.


Translations in queued emails

We really need a solution to allow queued emails to be translated. A previous thread was opened before, but closed for no apparent reason. So I'm opening a new issue and referencing it (apologies if that's not the done thing, but it needs addressing as lots of people are struggling with this).
Please see previous issue...
https://github.com/laravel/framework/issues/8392

Thanks, but we don't process feature requests here. Please review our contribution guidelines.
In all honesty, I think the actual best way to approach this would be to render the views before queuing, then only queue the actual sending part. That's what I have in a private application.
Feel free to open an issue in the correct place to that effect, and try to convince Taylor.

In all honesty, I think the actual best way to approach this would be to render the views before queuing, then only queue the actual sending part. That's what I have in a private application.

I think that's a sensible approach, however you could argue that 'Mail::queue' should be doing that as default and this therefore is viewed as a bug in our eyes, because we expect translations to 'just work'.

@GrahamCampbell I don't think this is a "feature" request. It's an essential necessity that has been overlooked by American/English developers! :) What is the status on this? Has a feature request been made for this? I hate to develop this for my app now and 2 weeks later you come out with an update implementing it!
In all honesty, I would have assumed that you pass the original locale into any queue/job! Why would anyone NOT want that? I agree with @glennjacobs that this is a bug! Can you please re-open this?


Notify of a new available version

With an icon and a dialog box that alerts the user about a new available version.
label: "An update of the application is available on www.edrlab.org"

See:
https://www.electron.build/auto-update


upstream h2 liveiness check

Optionally, for stale connections, wait for an H2 ping response before sending a request on a connection which may be stale to save both bandwidth and avoid failed non-idempotent requests

@RyanTheOptimist do you remember offhand what it means to be stale in this case? Is it roughly time since data was last received from the peer or a more complicated metric?

This sounds similar to what Chrome does. But I don't think Chrome blocks the request, I think it just closes connections more aggressively. I can summarize what the similar chrome logic is. When a request is going to be sent on an HTTP/2 connection has not read any data in 10 seconds, then a PING is sent just before the request is sent. The request is immediately sent, but a 10s timer is started. If no response has been received (either to the PING or the request, or anything else for that matter) when the timer goes off, the connection is closed. What do you think?
Here are some snippets of relevant code.
const int kDefaultConnectionAtRiskOfLossSeconds = 10;
// If there has been no read activity in the session for some time,
// then send a preface-PING.
if (time_func_() > last_read_time_ + connection_at_risk_of_loss_time_)
WritePingFrame(next_ping_id_, false);
const int kHungIntervalSeconds = 10;
// The amount of time that we are willing to tolerate with no activity (of any
// form), while there is a ping in flight, before we declare the connection to
// be hung. TODO(rtenneti): When hung, instead of resetting connection, race
// to build a new connection, and see if that completes before we (finally)
// get a PING response (http://crbug.com/127812).
base::TimeDelta hung_interval_;


How to share a parameter between modules in FLAX

HI
Hi, I need to share a parameter between two modules,  I still could not make it work, my previous question (https://github.com/google/flax/issues/2240#issuecomment-1167026441) is closed so I reopen it here, I did as below, but I am getting Invalid type annotation '<instance of Callable>' for param [invalid-annotation] Not a type, what is the type for Module.param in FLAX? thanks!
class Foo(nn.Module):
  def setup(self):
    self.dense = nn.Dense(3)
    self.shared = self.param("external_memory_bias", nn.zeros,(6,), "float32")
    self.A_enc = A(shared=self.shared, is_shared=False)
    self.C_enc = A(shared=self.shared, is_shared=True)

  def __call__(self, x, y):
    x = self.dense(x)
    y = self.dense(y)
    y = self.A_enc(y)
    return x, y

class A(nn.Module):
  is_shared: bool
  shared: Optional[nn.Module.param] = None

  def setup(self, is_shared=False, shared=None):
     if is_shared:
       self.param = shared
     else:
      self.param = self.variable(
        'database', 'key_db', functools.partial(jnp.zeros, dtype=jnp.float32), (4))

  def __call__(self, x):
    return x*self.param

I think this should be of type jnp.DeviceArray? module.param has return type T def param(self, name: str, init_fn: Callable[..., T], *init_args) -> T:  and if one uses jnp.zeros for init_fn, then it should be jnp.DeviceArray as return type, is this correct? thanks

The old issue was converted to a discussion please follow up there

Hi @jheek  please do not close this, as I am still looking for answer, the one I posted there did not work at the end! thanks

thanks. Fixed


Fixed some issues and added log enhancements

The PR is to check adding edge clusters to cloud can update the edge cluster configmap by adding neighbors
Running cloudcore in cloud
export KUBECONFIG=/etc/kubernetes/admin.conf
nohup _output/local/bin/cloudcore >> cloudcore.logs 2>&1 &

Running edgecore in a newly added cluster
export KUBECONFIG=/etc/kubernetes/admin.conf
nohup _output/local/bin/edgecore --edgecluster >> edgecore.logs 2>&1 &

Verify that the edge cluster has been added in cloud
root@cloud-master:/home/ubuntu/go/src/github.com/fornax# tail -f cloudcore.logs
I0420 20:29:08.935223   20003 signcerts.go:100] Succeed to creating token
I0420 20:29:08.935287   20003 server.go:44] start unix domain socket server
I0420 20:29:08.935846   20003 uds.go:71] listening on: //var/lib/kubeedge/kubeedge.sock
I0420 20:29:08.936043   20003 server.go:64] Starting cloudhub websocket server
I0420 20:29:10.813686   20003 upstream.go:63] Start upstream devicecontroller
I0420 20:29:28.819999   20003 messagehandler.go:293] edge node edge1-master for project e632aba927ea4ac2b575ec1603d56f10 connected

Verify that the configmap has been updated in cloud
root@cloud-master:~/go/src/github.com/fornax# kubectl get configmap cluster-gateway-config -o json
{
    "apiVersion": "v1",
    "data": {
        "gateway_host_ip": "<IP_ADDRESS>",
        "gateway_name": "cloud_gateway",
        "gateway_neighbors": "edge1_gateway=<IP_ADDRESS>"
    },
    "kind": "ConfigMap",
    "metadata": {
        "annotations": {
            "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"data\":{\"gateway_host_ip\":\"<IP_ADDRESS>\",\"gateway_name\":\"cloud_gateway\"},\"kind\":\"ConfigMap\",\"metadata\":{\"annotations\":{},\"name\":\"cluster-gateway-config\",\"namespace\":\"default\"}}\n"
        },
        "creationTimestamp": "2022-04-20T20:01:20Z",
        "name": "cluster-gateway-config",
        "namespace": "default",
        "resourceVersion": "3265",
        "uid": "2e23fa5a-a0f1-4606-ad5a-9a80b9d18693"
    }
}

Verify that the configmap has been updated in the edge cluster
root@edge1-master:~/go/src/github.com/fornax# kubectl get configmap  cluster-gateway-config -o json
{
    "apiVersion": "v1",
    "data": {
        "gateway_host_ip": "<IP_ADDRESS>",
        "gateway_name": "edge1_gateway",
        "gateway_neighbors": "cloud_gateway=<IP_ADDRESS>"
    },
    "kind": "ConfigMap",
    "metadata": {
        "annotations": {
            "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"data\":{\"gateway_host_ip\":\"<IP_ADDRESS>\",\"gateway_name\":\"edge1_gateway\"},\"kind\":\"ConfigMap\",\"metadata\":{\"annotations\":{},\"name\":\"cluster-gateway-config\",\"namespace\":\"default\"}}\n"
        },
        "creationTimestamp": "2022-04-20T19:23:51Z",
        "name": "cluster-gateway-config",
        "namespace": "default",
        "resourceVersion": "58750",
        "uid": "0387947d-d637-4f92-965d-11b8bdc9f548"
    }
}

please add more info to the description and how this was tested.

please add more info to the description and how this was tested.

Added more info and test cases


When running an execute resource as an alternate user in Windows (chef local-mode), the environment isn't updated to reflect the alternate user's profile

Description
When running an execute resource as an alternate user the environment (eg. USERNAME, USERPROFILE, USER, APPDATA, etc) remains the same as the user who originally executed the chef-client rather than the user specified in the execute resource.  I've assigned the SeAssignPrimaryTokenPrivilege to the user executing the script and this doesn't seem to make a difference.
There's a chance that because I'm running this as part of a domain-joined PC, that there's some other group-policy-related stuff happening here to screw things up...
Chef Version
14.5.33
Platform Version
Windows 7 x64
Replication Case
We output the log to a text file because otherwise the output is hidden (due to resource being sensitive)
# Add 'SeAssignPrimaryTokenPrivilege' for the user
Chef::ReservedNames::Win32::Security.add_account_right(<username>, 'SeAssignPrimaryTokenPrivilege')

hasReplaceTokenRight = Chef::ReservedNames::Win32::Security.get_account_right(<username>).include?('SeAssignPrimaryTokenPrivilege')
log "hasReplaceTokenRight = #{hasReplaceTokenRight}" do
  level :warn
end

batch "Capture environment running as username" do
  code "set > C:/temp/env.txt"

  user <username>
  password <password>
end

Client Output
I haven't replicated the file output as part of this step; suffice to say that this output file is pretty much identical to running the same command below directly as the user running the chef-client.
Starting Chef Client, version 14.5.33
resolving cookbooks for run list: ["test"]
Synchronizing Cookbooks:
  - zipfile (0.1.0)
  - test (0.1.0)
Installing Cookbook Gems:
Compiling Cookbooks...
Converging 3 resources
Recipe: test::default
  * chef_gem[rubyzip] action install (up to date)
Recipe: test::install_visual_assist
  * log[hasReplaceTokenRight = true] action write[2018-09-26T08:45:39+10:00] WARN: hasReplaceTokenRight = true
[2018-09-26T08:45:39+10:00] WARN: hasReplaceTokenRight = true

  * batch[Capture environment running as username] action run
    - execute sensitive resource

Running handlers:
Running handlers complete
Chef Client finished, 2/3 resources updated in 11 seconds

The CreateProcessWithLogonW documentation states that only if the environment argument is NULL, does the new process use an environment created from the profile of the user specified by the username argument.
If I force env = nil in MixLib::ShellOut::Process, the output is as expected, reflecting the specified user's profile.
It looks like Mixin::ShellOut::shell_out (and probably other places) automatically add fields to the environment, meaning that the process will NEVER use the user's profile as it is currently written.
An alternative may be to call CreateEnvironmentBlock which "Retrieves  the environment variables for the specified user.", merge it with the environment passed in from chef and then use that environment the the CreateProcessWithLogonW call

#4338 is related.  #5169 may also be related.


Working example of fwd_gradient

Do you have a running example of tff.math.fwd_gradient either in the notebook or somewhere in the tests, only saw a very contrived one in https://github.com/google/tf-quant-finance/blob/39a1c03cc9938c6e08fceb63e405eff0fda835be/tf_quant_finance/math/integration/integration_test.py
Mainly for the purposes of calculating:
a) first order greeks
b) higher order greeks

Yes, we have a pending PR for this.
https://github.com/google/tf-quant-finance/pull/24

Thanks I'll take a look at it. Meanwhile do you have some high level docs or maybe can you explain in a few words which parts of the FD scheme are parallelized on the GPU, since it's mostly a sequential algorithm where you need to loop over each timestep and solve the tridiagonal system step by step as the solution of N+1 depends on the solution of N.Do you constraint the types of schemes to be used (maybe just implicit) or? I was reading through the code but it's not immediately apparent. Thanks!

The primary benefit of the GPU probably comes from the tridiagonal solver. We wrote a GPU kernel for that which we upstreamed to TensorFlow core (https://www.tensorflow.org/api_docs/python/tf/linalg/tridiagonal_solve) The rest of the computation is pretty serial as you say.

@saxena-ashish-g do you have more details on the implementation or the cuda kernel? I couldn't see it  in  the  TF repository

It is located under tensorflow/core/kernels/tridiagonal_solve_op.cu.cc but you can't find it on github because of the size of the kernels directory which causes truncation in the directory listing. If you clone the repo, you should be able to find it there.
Where it ought to be:
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/kernels/tridiagonal_solve_op.cu.cc

Hi Feras,
GPU kernel for tridiagonal solver is imported from cuSparse :
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/kernels/tridiagonal_solve_op_gpu.cu.cc
As I remember, the solver should be this one:
https://docs.nvidia.com/cuda/cusparse/index.html#gtsv
As for the forward gradient, we had to have a crack on differentiating the while loop to make it performant (as I assume you are interested in Greeks for Monte Carlo). I'll try to send a hack colab version tomorrow but it will take some time before we check it in properly.

Thanks Cyril, I took a look but the Nvidia docs don't suggest the algorithm used for the solver:

Seems they use Cyclic reduction on a GPU since the documentation for cusparse<t>gtsv_nopivot() says:
"The routine does not perform any pivoting and uses a combination of the Cyclic Reduction (CR) and the Parallel Cyclic Reduction (PCR) algorithms to find the solution." I am not sure you can get the implementation details.  The parallelism should be along the batch as well as within the algorithm as well and the decision on how to parallelize is decided by the algorithm itself.
As for the gradient, you can differentiate through the PDE solver but it is not cost free. Say,
you have a matrix function A = A(a), then (A^{-1})' = A^{-1} A' A^{-1}, that is tridiagonal solver needs to be invoked twice. Used within an algorithm, automatic differentiation of tridiagonal solver might still give you substantial performance gains.
Please pay attention that the gradients need to be aggregated (see the pull request Ashish mentioned above)
Here is an example of gradient computation:
import tensorflow as tf
import tf_quant_finance as tff

dtype = tf.float64
d = tf.constant([1, 1, 1], dtype=dtype)
super_d = tf.constant([0.1, 0.1, 0.1], dtype=dtype)
sub_d = tf.constant([0.2, 0.2, 0.2], dtype=dtype)
rhs = tf.constant([2, 2, 2], dtype=dtype)

# This is the function you are going to differentiate.
def f(super_d):
  return tf.linalg.tridiagonal_solve([super_d, d, sub_d], rhs, diagonals_format='sequence')

# Here is a gradient with aggregation df/d super_d[0] + df/d super_d[1] + df/d super_d[2]
gradient.fwd_gradient(f, super_d)
# Outputs : <tf.Tensor: shape=(3,), dtype=float64, numpy=array([-1.31076389, -1.47569444,  0.29513889])>

#which equals to the limit of
e = 0.00001
(f(super_d + e) - f(super_d)) / e
# Outputs: <tf.Tensor: shape=(3,), dtype=float64, numpy=array([-1.31074852, -1.47570059,  0.29514012])>

# Here is a gradient without aggregation, simply df/d super_d[0]
gradient.fwd_gradient(f, super_d, input_gradients=tf.constant([1, 0, 0], dtype=dtype))
# Outputs : <tf.Tensor: shape=(3,), dtype=float64, numpy=array([-1.48871528,  0.30381944, -0.06076389])>

#which equals to the limit of
e = 0.00001
e1 = tf.constant([e, 0, 0], dtype=dtype)
(f(super_d + e1) - f(super_d)) / e
# Outputs: <tf.Tensor: shape=(3,), dtype=float64, numpy=array([-1.48871838,  0.30382008, -0.06076402])>

Hope this helps. Do not hesitate to reach out.

Thank you @cyrilchim this is basically the perfect testbed code to try a more comprehensive sample and compare the gradient delta and speedup between the two approaches.

Thanks @cyrilchim , your example is actually a lot more detailed than the PR, but since the solver returns some kind of tuple how do you differentiate without aggregation through it? I assume you return tf.Variable(estimate[:,-1]) or you have to differentiate over the entire grid regardless that we care only about the final time step?
    (estimate_values, estimate_grid, _, _) = \
        pde.fd_solvers.solve_backward(
        start_time=expiry,
        end_time=0,
        values_transform_fn=values_transform_fn,
        coord_grid=grid,
        values_grid=final_values_grid,
        time_step=time_delta,
        boundary_conditions=[(lower_boundary_fn, upper_boundary_fn)],
        second_order_coeff_fn=second_order_coeff_fn,
        first_order_coeff_fn=first_order_coeff_fn,
        zeroth_order_coeff_fn=zeroth_order_coeff_fn,
        dtype=dtype,
        )
    return (estimate_values, estimate_grid[0])

Another side question that I have is that  it seems the grid is fixed per batch, regardless of what vol, timestep and spot are present in the batch.  What scheme do you use internally to guarantee convergence and avoid ill defined grids, or that's up to the caller to ensure ? (which would depend on the scheme you use)

Thank you, @Shellcat-Zero Indeed, JAX has native forward-mode differentiation. It is definitely possible to add this functionality to TensorFlow but it requires quite a bit of effort. For now you could use tff.math.fwd_gradient
It is indeed true that JAX and TensorFlow have a lot of overlap (there is even JAX to TF converter) as they both can use XLA compiler. We stick to TensorFlow as it has a lot of production level infrastructure (e.g., TF serving), community support, as well as more core ops (for example, I am not sure if JAX has tridiagonal solver that is used to for numerical PDE methods)

Hi @cyrilchim ! As the Monte Carlo algorithm mainly use tf.whil_loop to simulate different time steps. I am wondering if tf.while_loop can do forward gradient?

Hi @cyrilchim ! As the Monte Carlo algorithm mainly use tf.whil_loop to simulate different time steps. I am wondering if tf.while_loop can do forward gradient?

Hi @luweizheng,
Yes, you can do forward gradient through the while loop. You can do some experimenting in the colab example here.
It can be more efficient/beneficial to use custom for_loop for which we have a better gradient implementation. Example of using the custom loop is in the aforementioned colab.

Hi @luweizheng,
Yes, you can do forward gradient through the while loop. You can do some experimenting in the colab example here.
It can be more efficient/beneficial to use custom for_loop for which we have a better gradient implementation. Example of using the custom loop is in the aforementioned colab.

Thank you so much for all these information. I'm not familiar with auto differentiation and computation graph.
So in your explanation, the custom for_loop has better performance. And in the colab example which calculates European options. I read some source code and find that if watch_params is not None, tff will use custom for loop. This custom for loop is mainly for monte-carlo sampling and only need forward gradient (forward gradient for greeks)?
And tf.while_loop may have some performance issues. I guess, mainly because the time of building graph needs lots of time?

That is about correct. Just a few notes:

I don't think that while_loop has any performance issues and should not affect graph construction time (it is a just an op in a graph).
When you use JAX and invoke compilation, it also creates a graph. There is also an op for the while loop.
JAX has native forward differentiation mode (see this example for an explanation of the forward and backward differentiation modes).
Custom for-loop was designed for the forward gradient only. This is because backward gradient thorough a while loop requires going through the loop twice (first computing values in a forward mode and then getting backward gradients).

Hope this helps


Added the maven-compiler-plugin with the useIncrementalCompilation set to false

This change will make sure that when recompiling your code, it doesnt have to recompile all the files when it detects a change in only one file. Now it only has to compile that one file. This significantly speeds up the compilation time.

It looks like theres a maven bug open for this: https://issues.apache.org/jira/browse/MCOMPILER-209 where false is true and true is false. This should be put in a comment in the pom.xml.

Is there a reason why this MR is not accepted? It would speeds up compilation time significantly without any downside to my knowledge. The RuneLite client alone already has over 700 classes and it takes over 10 seconds to compile. This hampers the development speed a lot.
Think of having a bug in your code. If you try to find where it is with some log statements, it would be nice to not have to wait more than 10 seconds every time you add a log statement to a different part of your code.

You can use hot reloading.

That would work in most circumstances, but that doesn't help if issues only happen during startup. For instance, if I start Runelite in debug mode and then add log.info("Hello hot reloading"); to the main method, this doesn't get executed.

Therefore, in situations where you actually need to compile again, this change would be beneficial.
(Ps: still thanks for the tip. This hot reloading does still help in a lot of situations.)

It just reloads the method bodies, not the class variables and imports.

Comparison:
Compile time using maven's compile goal with this change: 15.807 s
Compile time using maven's compile goal without this change: 46.594 s

@raiyni I understand that. And therefore it would be nice to also be able to compile fast if you can't use your hotswapping trick.

You sure keep your approved PRs open for a long time...

Ok fair point. When adding or changing methods without changing their signature, useIncrementalCompilation can be off, but when changing the method signature or when removing the method, this isn't safe. Got it. Maybe a profile with this turned on could be added instead for those that know what it does and know when it is safe to use. Because it does speed up compilation a whole lot.

I'll close this PR for now. Feel free to add such a functionality in a profile if you feel like you need it.


Where is this rt-local-usb-bridge is define?

Could advice where is this rt-local-usb-bridge being define?   I see it being search using:
let usbBridge = await osap.nr.find("rt-local-usb-bridge", graph)

Any idea?
Thanks,
KN

It's being defined here: https://github.com/modular-things/modular-things/blob/main/js/local/osapSerialBridge.js#L27
It's the OSAP vertex for the local serial bridge.

Seems like it does not see this vertex during execution of this command,  is there a way to list all the OSAP vertices in the graph?  Do I need to change anything in the code to run?
osap.nr.find("rt_local-usb-bridge", graph)
Thanks, KN

I re-clone from your repo and it work, seem like the file in Jake repo is bad.


Fix custom function for net.IP

A custom function for a type that is internally a slice/array is now
used instead of populating the array with random members.
Refs: #202

I made some updates but i think in general what you found makes sense. v6.17.0


At least do something with scroll offset when zooming

This is not really the "right" fix (see added footnote) but I think doing nothing is worse because it suggests that you don't need to worry about scroll offset when zooming. (If there's anything written somewhere about what Chrome does, we can add that to the footnote if you'd like.)

I think you also need to adjust active_tab_scroll in Browser.increment_zoom.

Ok, I thought about this, and I think there's no need to change active_tab_scroll in increment_zoom, because we only want the new scroll position after the tab re-renders at the larger size. So instead what we need to do is set scroll_changed_in_tab when incrementing zoom so that the Tab can overwrite the active_tab_scroll when it commits the zoomed layout.


Some more cleaning and refactoring.

This PR doesn't add any new feature. Its intention is to clean the code.

Code formatting.
Refactoring hearing conditions.
Whitespace and comment alignment.

Thx for the cleanup! I guess the index file is also way to big so we need to fix that as well. But not in this PR

I'll look if everything is working tomorrow and start contributing as well 😉

@Randynamic Till now I have not looked to modify the logic of the program. Its basic formatting and some variable substitution, really. If you pull down the code and look at it in your editor, you won't feel that there are big changes.
And I am keeping things in multiple commits, so that when you review commits, it'd be easier.


Corrupted Guild Settings json file

Describe the bug
Using commands that modify the guild settings somehow corrupt it
To Reproduce
Wasn't able to reproduce the bug

Fixed in f88404b


Users are not logged out of Auth0 when logging out through medusa

I noticed that after logging out from Medusa and logging back in through Auth0, users are returned to an OTP prompt (if using MFA) instead of having to specify email + password.
It seems that users are not logged out of auth0.
I think we would have to implement this step: https://auth0.com/docs/authenticate/login/logout/log-users-out-of-auth0#logout_hint
Or maybe I am missing something?
I would like to have a go at creating a PR for this, but I would love some feedback on how to approach it @adrien2p

If I am right, the pr should include a custom logout route that would logout the user from the provider he as connected with and then apply the core logout. wdyt?


share memo vocal

thanks for the package , can you add sharing vocals ?

Did you mean sharing an audio file or record?


Ability to request Enso benchmark runs on our standarized runner through GH

This task is automatically imported from the old Task Issue Board and it was originally created by Radosław Waśko.
Original issue is here.

We have a suite of benchmarks written in Enso, the test/Benchmarks/ project.
We run them from time to time to check performance of various mechanisms from the library. In the future they will probably need to be restructured a bit, but for now it would be useful if we can schedule a run on our standarized runner of a specific suite. To do so we need Enso to be built and we need to run the runner with the proper project path and path to a particular file, for example:
sbt bootstrap
sbt buildEngineDistribution
./built-distribution/enso-engine-0.0.0-dev-linux-amd64/enso-0.0.0-dev/bin/enso --in-project test/Benchmarks/ --run test/Benchmarks/src/Vector/Vector.enso

The test/Benchmarks/src/Vector/Vector.enso should be customizable so that we can select which suite we run. This probably should be parameter to provide during manual workflow dispatch on GitHub.

Was done.


Would it be possible to implement the "bundled mail" feature of Inbox?

Gmail Inbox was actually a Gmail implementation with Pin, Snooze, Reminders, Bundles, several additional auto labels and a tighter Google assistant API integration.
The most important for me was actually the possibility to bundle and add notes on mails. They really helped a lot to reduce cluttering. The bundling is in essence showing mails with the same label as one item. I think its basic functionality could be emulated in two ways:

"Skip inbox" specific labels and insert a "mails in label" count item in the mail list;
Just bundle mails in the view with specific labels without "skip inbox".

Would it be possible to have bundling implementation in this project?
Thanks!
Best
Bin

As things stand right now it would be really hard to do that. Inboxer just packages gmail as a desktop app, i.e., it displays the webpage provided by gmail and parses the html for notifications and such. What you suggest requires Inboxer to query gmail about email data (somehow), and then render it itself.
There's been talk of implementing something like this to try to replicate Inbox on top of gmail. However, there has been no progress to this day (see #77, #95, #98). We look forward to your contributions.

I want to close this project. Take a look at the explanation: https://github.com/denysdovhan/inboxer/issues/101
If you still need this project, please, fork the repo.


Email validation passes invalid emails

Currently it is not validated whether the TLD is already typed in, for example on:
http://1000hz.github.io/bootstrap-validator/
The following e-mailadres would work:
test@test (without TLD).

The spec says that's valid. See #31

The spec says:
The value must follow the ABNF production: 1*( atext / "." ) "@" ldh-str 1*( "." ldh-str )
So 1 or more atext followed by a single @ followed by a ldh-str and 1 or more .ldh-str.
How would test@test fit that definition? The first test would conform to the atext, the @ is obviously there, and then follows the ldh-str, but it lacks the 1 or more .ldh-str afterwards.

Yeah, I think you're right according to that spec. However, Wikipedia states that it's valid
https://en.wikipedia.org/wiki/Email_address#Valid_email_addresses
Regardless, this plugin defers to the browser's HTML5 validation API, so this is up to the browser vendors to decide.

Wikipedia is often enough wrong, would rather stick to a spec tbh. Regardless, I just tested the 'native' validation of Firefox, and it also accepts test@test as a valid e-mailaddress. So the current implementation of the validator indeed is correct (or atleast in line with how Firefox validates).
Maybe an idea to be able to configure this? Like a strict and non-strict setting which defaults to strict? I assume most developers were/are under the impression that test@test, for example, is invalid. Or at the very least, the majority of end-users is.
Notably, PHP also asserts it as not being a valid email address using filter_var('test@test', FILTER_VALIDATE_EMAIL).

How can this be? We all can reasonably agree that test@test is not a valid email address. Why do browsers allow this to pass? This makes no sense to me...

Again, it's in the spec.
For clarification, It looks like the bit quoted above copied from MDN (via #31) is incorrect or from an old copy of the spec. It includes an erroneous 1* instead of just *. Here's the section straight from final W3C spec:
http://w3c.github.io/html/sec-forms.html#valid-e-mail-address


Indicate when baseline image was missing/created

When the CI runs our visual tests then I assume that we have baseline images for all of our cases. However images can be forgotten to be pushed, accidentally deleted, screen resolution changes and with it the file name, etc.
In all these cases our tests will pass, because the check function silently creates the baseline image and returns a result with misMatchPercentage: 0. It would be great if the result could contain an additional property like baselineImageCreated: 1 to indicate what happened. Our test code could react to it and fail the test in a CI scenario.

Moved to correct project: https://github.com/wswebcreation/webdriver-image-comparison/issues/127


Replace default "Bolt CEP" names in CEP config with user-defined extension name

Hi Justin, finding that I'm often creating several extensions with display names of "Bolt CEP" from not having run a yarn build after manually adjusting the cep.config file which causes only the first to display in app. We could skip the need for the user to insert the name they've already chosen for their extension like so:

Hearing that @fartinmartin has a PR handling this as an effect, should close


ocs-ci: Don't add user to /etc/passwd

Nobody seems to know why this is required and the
ocs-ci run fails because of insufficient permissions
to do this. Removing this to see where exactly it fails.
Signed-off-by: N Balachandran<EMAIL_ADDRESS>

/hold

@nbalacha Is this required any longer?


Quote column names in the addIndex() method - Postgres

Issue similar to https://github.com/robmorgan/phinx/pull/1041
The addIndex method did not quote the column names, which resulted in error if one of the columns being added to the index was camel case.
Test provided.

@fracz thanks for the test 👍

Sorry but this one  breaks the functional indexes e.g ->addIndex('tsrange(start_time,end_time)',


Multiple Cursors in the E-Toys activity

Hey @llaske , I noticed a bug in the Etoys Activity where both the normal as well as sugarized cursor are visible and they overlap.
I guess we should hide the original pointer when present in the Etoys Activity.
https://user-images.githubusercontent.com/75615092/224798205-e160920b-f26d-435a-a94c-47e6b1bef500.mov
What do you think ?

E-Toys activity is deprecated an no longer distributed with the app.


Error when multiple lines selected

There is an error on Webstorm 2021.1.1. when trying to replace written text with dummy fake latin text from the plugin:
Ill just leave you the screenshots:

Oh forget it, the file was locked by webstorm...sorry


adbwinapi.dll was not found.

smartphone - lg v30 plus
laptop - acer aspire a7
installed the scrcpy zip file and extracted it in C:\windows:\system32. Then executed scrcpy but showed an error,
ERROR: "adb push" returned with value<PHONE_NUMBER>

Download adb pack from google

put 3 file (name start with: adb ) in same folder with scrcpy

They are already included in the scrcpy release.

Why you put at system32 ? Maybe bropblem with read/execute permisions


Add support for Postgres materialized views

:+1:

Closing this in favor of SchemaPlus/schema_plus_views#9


Add js extension to import/export

TypeScript Version:  2.5.2
Code
export { MyClass } from './a/b' // This is a file

In Chrome 61 Modules are supported out of the box. Node knows that this is a file, but when run in Chrome it thinks it is a directory and then it fails when it is loaded because it is trying to load index.js instead of b.js.
When changed to:
export { MyClass } from './a/b.js'

Chrome loads the file correctly. Is there a way to have the compiler add the .js extension on import/export without having to hard code it into all the files?

The compiler does not rewrite module names for you. a module name is a resource identifier, and will be emitted verbatim in most cases.
You should write the module name as you expect it to work at runtime; the compiler should also be able to understand that ./a/b.js points to ./a/b.ts at design time.

Please see similar discussions in https://github.com/Microsoft/TypeScript/issues/18951 and  #16640

Such thing really should be done by loaders, until TS approach doesn't break any standards.

Automatically closing this issue for housekeeping purposes. The issue labels indicate that it is unactionable at the moment or has already been addressed.

I'm having this issue in two directions:

I started the development without any extension.
I could write test and run them with jest perfectly.
When I tried to compile the modules and load them as ES6 modules in Chrome it didn't work because they had no extension.
I added .js extension manually to all imports.
Now it compiles and runs in Chrome but jest complains:

Cannot find module './math.js' from 'vector.ts'
The only solution I see is for the compiler to add .js to import statements, maybe can this be under a flag?
I've seen the related issues but this is different since it's only related to the extension Typescript is changing. We're not talking here about paths, but if tsc is creating a .js file for each .ts file it makes sense to change/add the extension on the import statements, right?

The compiler does not rewrite module names for you. a module name is a resource identifier, and will be emitted verbatim in most cases.

Concern noted and devastatingly overruled by The Absolute Governing Principle Of Software Transformation Tools: THOU SHALT NOT EMIT CODE THAT THOU TRIVIALLY KNOWETH TO BE BROKEN.


issue in laravel 5.2.38 and updated packages

hello,
i have updated my packages,
but after update , elocryptfive does not decode automatic the db results.
please fix this.
thanks.

this issue only happens on version 1.5.2
the version 1.5 working well.
pelase fix it.

I don't use Laravel 5.2. If you discover what the problem is and contribute a pull request then I will merge it.


DVC icon doesn´t show up in left bar after install.

Hello there.
Trying to install the extension  v0.6.11 from scratch to reproduce some experiments for a workshop.
The DVC icon in the left bar doesn´t show up even though it appears as installed from the Marketplace, and it is unclear how to access the workspace, table, and plots...
Tried.

Reload.
Disable / Enable
Install Previous Versions
Install other extensions that have access also from the Lateral left bar -Docker and Google Cloud Code- and they work

https://user-images.githubusercontent.com/24204714/221409774-7e92d3be-8941-4116-8cc9-e21dba0fc539.mp4
Any ideas of what I might be doing wrong/missing?
Thanks in advance

Solved. Nothing to do with extension .


bump commander.js to v6

Currently, the project depends on commander.js v2 while we have v6 as the latest stable release. We can safely bump the package.

npm install commander@latest

https://github.com/madlabsinc/mevn-cli/blob/develop/src/cli.js
@@ -89,9 +89,11 @@ program
       .then(console.log);
   });

-program.arguments('<command>').action((cmd) => {
+// Validation for unknown commands
+program.on('command:*', ([cmd]) => {
   program.outputHelp();
-  console.log(`  ` + chalk.red(`\n  Unknown command ${chalk.yellow(cmd)}.`));
+  console.log();
+  console.error(` Unknown command ${chalk.yellow(cmd)}.`);
   console.log();
   suggestCommands(cmd);
 });

@jamesgeorge007 Can you please elaborate the issue, I want to work on this.

working on this