fix formatting in fluentd-elasticsearch

What this PR does / why we need it:
@monotek
fix formatting
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
N/A
Special notes for your reviewer:
N/A

Thanks! I think you have to raise the chart version to 0.6.4 too.

And you need to sign the CLA, see the message of the bot above...
Thanks for your pull request. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).
memo Please follow instructions at https://git.k8s.io/community/CLA.md#the-contributor-license-agreement to sign the CLA.

I have signed the CLA and fixed the author email/name.

/assign @scottrigby

/ok-to-test

/assign

/lgtm


[Bug] bindings-v9.2.4-electron-v80-win32-x64 crashes Atom plugin

First off, thanks for this amazing library. I've been using it for a while, but have run into issues when using it in Atom.
To reproduce

Create new Atom package
npm install serialport
Add import 'serialport' to lib/my-package.js
Download and unzip bindings.node from release to<EMAIL_ADDRESS>Crash

node module version: 80 // from console.log(process.versions.modules) in package
serialport: 9.2.4
@serialport/bindings: 9.2.5

Fingers crossed I'm doing something wrong.
Ps. the issues template supports proposal and documentation requests, but not reporting of bugs. Is this intentional?

Thanks for the quick reply.
How are bindings downloaded in an Electron environment? Is it possible? Currently I'm using a customized version of prebuild-install to detect the module version inside of Electron. I then grab the bindings with prebuild-install's download` function. It's not pretty but for VSCode it works. Alas Atom is another story.

Hi @reconbot completely missed your reply. Sorry!
I had a look at the releases, but there are no v87 versions which is needed for Atom.
Eg. for Windows, you would need this file to use serialport i Atom.
https://github.com/serialport/node-serialport/rele…2.8/bindings-v9.2.8-electron-v87-win32-x64.tar.gz


No unit test

You need to write unit tests for no code

I started a notest repository for NoCode
https://github.com/Dynatrace-BrianWilson/nocode-notest-repository


implement GetSystemInformation

Would you please paste in the valgrind output for this build?

Meant to include this; I did run it before the pull request:
==25876== LEAK SUMMARY:
==25876==    definitely lost: 0 bytes in 0 blocks
==25876==    indirectly lost: 0 bytes in 0 blocks
==25876==      possibly lost: 0 bytes in 0 blocks
==25876==    still reachable: 2,550 bytes in 16 blocks
==25876==         suppressed: 0 bytes in 0 blocks
==25876==
==25876== For counts of detected and suppressed errors, rerun with: -v
==25876== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
make: *** [mem] Error 201
denverm@dm-lt:~/code/github/ds3_c_sdk/test$


WIP: Fix and improve "type at cursor" command; show errors in phantoms

Don't merge this, it's not ready yet!  I just wanted to make sure it was on your radar before it's done.
Hi there!  I found this package in my preparation to do a bunch of OCaml dev in Sublime.  I'm glad it's here :)
However, I found that the "type at cursor" text command didn't seem to work, and the related context menu command was kind of lacking.  This PR should provide a better interface for accessing types.  While I was doing this, I also moved errors into phantoms to get rid of bottom pop-up altogether.
Here are my changes in action on a sample cat program:

Important caveat: this DOES NOT work properly in the current "stable" version of ST3, since phantoms have a major bug that sometimes causes them to display the incorrect content.  However, it does work properly on the latest dev build. UPDATE: A new stable ST3 just got released that fixed this bug.
Remaining to-do

[ ] Figure out if there's a way to limit the width of a phantom - otherwise warnings/errors sometimes run offscreen
[ ] Decide the best way to highlight error/warning regions (currently it's using an underline, but that's sometimes confusing)
[ ] Fix the gutter dot color for warnings
[x] Add a command to "expand" the currently-displayed type
[ ] General cleanup

I didn't realize it, but this would close #19 I suppose.

That looks very cool! I am tempted to switch to st3 :)

Hey @bluepichu, thank you for taking time to contribute to this project! Let me know when I can start reviewing your changes. :raised_hands:

@cynddl - you can review this whenever you're ready :)

@bluepichu Great work! I made a few cosmetic changes and one fix (https://github.com/cynddl/sublime-text-merlin/commit/3bf022ddb328b4abfd6330b8ab89c97a00ab9972):

(cosmetic) update HTML string interpolation to Python "".format() syntax
(cosmetic) rename show_errors and display_errors functions,
(cosmetic) use os.path.join instead of manually concatenating paths,
(fix) the selection under the cursor was not working when the cursor was exactly at the beginning or the end of a word. I relaxed the selection.

I feel like the main file is getting bigger and bigger and would appreciate if we can separate display functionalities (eg. showing phantoms) from commands and event listeners. Maybe by creating a merlin/phantom.py file with all the display-related code. Let me know if you can do that, otherwise I'll see if I have time this week.
Thanks again! 🎉

Hi @cynddl -- looks great!  I definitely won't have time for the remainder of this week, so definitely don't wait on me for any restructuring you want to do.


Implement sketching with adapter.

Same as https://github.com/dmlc/xgboost/pull/7960 . Started a new PR to avoid the docker cache on Jenkins.
Part of the effort to implement https://github.com/dmlc/xgboost/issues/7890 .

https://xgboost-ci.net/blue/organizations/jenkins/xgboost/detail/PR-8019/1/pipeline/
https://xgboost-ci.net/blue/organizations/jenkins/xgboost-win64/detail/PR-8019/1/pipeline/

@RAMitchell

In theory we can just wrap DMatrix in an adapter right? Although performance could be worse.

External memory might be problematic.


Heroku security setting up

Hello Everyone,
Is it possible to set "Auth with login and password" for security while deploying via heroku?
Best Regards,

Hello!
Check this: https://labelstud.io/guide/#Auth-with-login-and-password

@yemregundogmus

Hello!
Thank you very much for your answer.
I was wondering could i make direct changes in "one click heroku deploy" instead of change in config file.

I think we need to do some preparations in docker. Can you add additional environment variables for login & password on heroku?

@yemregundogmus

@yemregundogmus

Setup USERNAME=xxx and PASSWORD=zzz
Run image heartexlabs/label-studio:0.7.5


Fix Accordion becoming inaccessible when an id is passed to AccordionHeader or AccordionPanel

Closes #3911

LGTM 👍
Should there be a story to show custom IDs in action? And is this something that should be included in the docs/examples? Currently no mention of support for custom IDs (that I can see, anyway 🤷 )

It's not really something that should be used... this just updates our component to be more correct.


refactor: move "home" to root

Blueprint and Entities should follow the "new" app folder structure.
Move "system/SIMOS" to root.
Also consider using DM-cli for import instead of custom script

system/SIMOS should be under an "app" folder inside the root DMSS folder - same structure as other repos like create-dm-app


Update README.md to on-board new packages

The pull request adds steps how to update helm-chart repos.

In every occurrence of the pull request please change it to the Pull Request with a capital letter at the beginning. It should be used like that.

I would prefer to merge this document soon and fix the issues which will raise , later on. WDYT @ljavorsk ?

Sounds good to me 👍


Avoid changing the hosts file if the relevant hosts are already present

If a VM uses a domain but that domain has been manually added then it should not attempt to modify the hosts file

if the ip and host match something already in there we don't add it do we? i thought there was already a check in gh for that. if not that's an easy add

if the ip and host match something already in there we don't add it do we? i thought there was already a check in gh for that. if not that's an easy add

no there isn't a check for that reason there was added also the clean command.
GH was adding multiple times the same rules for the same ip but adding another same domain.

no there isn't a check for that reason there was added also the clean command.
GH was adding multiple times the same rules for the same ip but adding another same domain.

We can do this check from the vagrant plugin in this way:
require 'socket'
IPSocket::getaddress('www.google.com') #=> "<IP_ADDRESS>"

So it is needed to add this check with a loop for all the domain using the ip and in case of failure to execute goodhosts.
In this way there is not sudo or admin permission requests.

this should be in the main branch now


Add modifiers to ICD-10 diagnosis ontology

It should have the same modifiers as the ICD-9 diagnosis ontology.

The main question here is at what level in the hierarchy should we start including modifiers. I think it's best to include them as close to the root of the diagnosis hierarchy as possible. Due to the structure of the ICD10 ontology that we obtained, I believe you'll need to add them starting at c_hlevel 1 (because the concepts at c_hlevel 1 are containers not draggable folders).

going by the modifiers for icd9Diagnosis hierarchy, the modifiers look different in the latest aiw-i2b2-etl project compared to the ones in the ACT ontology. like for example the only modifier in the aiw-i2b2-etl ontology is diagnosis priority with no children stating principal/secondary. Attached a screenshot. the ACT modifiers are many more. attached a screenshot of that as well

Do we just need diagnosis priority modifier for now?

Per F2F discussion, we want diagnosis priority and diagnosis source modifiers.


feat(deps): update renovate/renovate docker tag to v35.1

This PR contains the following updates:

Package
Update
Change

renovate/renovate
minor
35.0 -> 35.1

⚠ Dependency Lookup Warnings ⚠
Warnings were logged while processing this repo. Please check the logs for more information.

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

:tada: This PR is included in version 3.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Call activity template associations broken

Describe the bug

As a web and desktop modeler user, I expect existing BPMN documents with Call Activity templates applied to still have these templates successfully linked when I open again
Instead, the template can't be found (screenshot below) even though the template is still in the project (see screenshot)

I also expect to be able to apply Call Activity templates to existing Call Activity Tasks
Instead, my Call Activity templates to not appear in the search results after clicking the wrench or shapes/Change element button (see video)

https://github.com/camunda/camunda-modeler/assets/7648845/07a6f65f-1ea9-4c20-8c1e-ab40ba7748c0
Steps to reproduce

Add the Call Activity element template to your project (or resources folder for Desktop Modeler)
Build New RC, Generation, Cluster.json
Open BPMN file with Call Activity template associated
Connectors Artifact Release.bpmn.txt
Click on Task with Call Activity template associated

Expected behavior

As a web and desktop modeler user, I expect existing BPMN documents with Call Activity templates applied to still have these templates successfully linked when I open again
Instead, the template can't be found (screenshot below) even though the template is still in the project (see screenshot)

I also expect to be able to apply Call Activity templates to existing Call Activity Tasks
Instead, my Call Activity templates to not appear in the search results after clicking the wrench or shapes/Change element button (see video)

https://github.com/camunda/camunda-modeler/assets/7648845/07a6f65f-1ea9-4c20-8c1e-ab40ba7748c0
Environment

OS: macOS 13.6.5
Camunda Modeler Version: 5.18.0
Execution Platform: Camunda 8
Installed plug-ins: None

Additional context
No response

Thanks for opening this report. We'll have a look.

Hi,
The reason why template is marked as "Not found" in 5.18.0 is that the support for zeebe:CalledElement binding was added only in 5.19.0. The template with unsupported binding type is invalid to the Modeler, and because of that not loaded. You can notice this in the output panel:

I am closing this as non-issue. Feel free to comment if I got anything wrong.

I also had a look at the BPMN and the template that you provided, and the BPMN does not contain any reference to the template of ID 0a8f9c33-a829-4b42-b2f7-f1f4af63748f, but there is an element with a template with another ID in UUID format: zeebe:modelerTemplate="f57a6fa9-d77a-4c0e-b303-41c0958cb9ae"


Unable to export to espdl format (AIV-736)

Checklist

[X] Checked the issue tracker for similar issues to ensure this is not a duplicate
[X] Read the documentation to confirm the issue is not addressed there and your configuration is set correctly
[X] Tested with the latest version to ensure the issue hasn't been fixed

How often does this bug occurs?
always
Expected behavior
I expect the ONNX file to be exported into the espdl format.
Actual behavior (suspected bug)
Instead, espdl_quantize_onnx successfully quantized the model but failed to export it to espdl format
Error logs or terminal output
!  cse12111103@ailab01  ◰eye  ~/.x/c/t/test  python test.py        (eye) 1.8m  15:35:56

    ___________ ____        ____  ____  ____
   / ____/ ___// __ \      / __ \/ __ \/ __ \
  / __/  \__ \/ /_/ /_____/ /_/ / /_/ / / / /
 / /___ ___/ / ____/_____/ ____/ ____/ /_/ /
/_____//____/_/         /_/   /_/    \___\_\

load random calibration dataset
[15:37:42] PPQ Quantization Fusion Pass Running ...       Finished.
[15:37:42] PPQ Quantize Simplify Pass Running ...         Finished.
[15:37:42] PPQ Parameter Quantization Pass Running ...    Finished.
Calibration Progress(Phase 1): 100%|███████████████████████████| 8/8 [00:07<00:00,  1.10it/s]
Calibration Progress(Phase 2): 100%|███████████████████████████| 8/8 [00:10<00:00,  1.29s/it]
Finished.
[15:38:02] PPQ Quantization Alignment Pass Running ...    Finished.
[15:38:02] PPQ Passive Parameter Quantization Running ... Finished.
--------- Network Snapshot ---------
Num of Op:                    [106]
Num of Quantized Op:          [103]
Num of Variable:              [229]
Num of Quantized Var:         [223]
------- Quantization Snapshot ------
Num of Quant Config:          [327]
ACTIVATED:                    [115]
OVERLAPPED:                   [138]
PASSIVE:                      [61]
FP32:                         [13]
Network Quantization Finished.
Analysing Graphwise Quantization Error(Phrase 1):: 100%|███████| 1/1 [00:00<00:00,  1.11it/s]
Analysing Graphwise Quantization Error(Phrase 2):: 100%|███████| 1/1 [00:02<00:00,  2.83s/it]
Layer    | NOISE:SIGNAL POWER RATIO
Conv_13: | ████████████████████ | 184.897%
Conv_16: | ███████████████████  | 171.792%
Conv_10: | ████████████████     | 149.795%
Conv_19: | ████████████████     | 145.506%
Conv_3:  | █████████████        | 125.246%
Conv_65: | █████████████        | 118.245%
Conv_69: | ███████████          | 104.715%
Conv_20: | ███████████          | 104.423%
Conv_7:  | ███████████          | 100.389%
Conv_23: | █████████            | 83.162%
Conv_52: | █████████            | 82.598%
Conv_73: | █████████            | 82.564%
Conv_66: | ████████             | 75.942%
Conv_15: | ███████              | 70.589%
Conv_12: | ███████              | 69.057%
Conv_55: | ███████              | 64.928%
Conv_67: | ███████              | 62.850%
Conv_9:  | ██████               | 60.892%
Conv_58: | ██████               | 60.277%
Conv_6:  | ██████               | 59.703%
Conv_0:  | ██████               | 59.442%
Conv_54: | ██████               | 59.400%
Conv_64: | ██████               | 55.584%
Conv_46: | ██████               | 55.096%
Conv_2:  | ██████               | 54.922%
Conv_27: | █████                | 51.858%
Conv_63: | █████                | 50.873%
Conv_30: | █████                | 46.682%
Conv_26: | █████                | 46.574%
Conv_40: | ████                 | 38.313%
Conv_22: | ████                 | 36.211%
Conv_61: | ████                 | 35.590%
Conv_51: | ████                 | 34.362%
Conv_33: | ███                  | 34.152%
Conv_37: | ███                  | 34.051%
Conv_70: | ███                  | 33.993%
Conv_34: | ███                  | 30.639%
Conv_45: | ███                  | 28.762%
Conv_57: | ███                  | 28.549%
Conv_39: | ███                  | 27.286%
Conv_36: | ██                   | 24.548%
Conv_60: | ██                   | 23.834%
Conv_80: | ██                   | 21.970%
Conv_79: | ██                   | 21.622%
Conv_29: | ██                   | 19.146%
Conv_71: | █                    | 15.954%
Conv_68: | █                    | 12.539%
Conv_75: | █                    | 8.505%
Conv_74: |                      | 6.308%
Conv_76: |                      | 3.941%
Conv_77: |                      | 3.933%
Conv_78: |                      | 3.042%
Conv_72: |                      | 2.411%
Analysing Layerwise quantization error:: 100%|███████████████| 53/53 [01:23<00:00,  1.58s/it]
Layer    | NOISE:SIGNAL POWER RATIO
Conv_0:  | ████████████████████ | 13.383%
Conv_29: | ██████████           | 6.708%
Conv_15: | ████████             | 5.617%
Conv_3:  | █                    | 0.695%
Conv_51: | █                    | 0.515%
Conv_12: |                      | 0.331%
Conv_6:  |                      | 0.270%
Conv_9:  |                      | 0.244%
Conv_54: |                      | 0.232%
Conv_36: |                      | 0.190%
Conv_26: |                      | 0.159%
Conv_19: |                      | 0.140%
Conv_60: |                      | 0.120%
Conv_22: |                      | 0.083%
Conv_39: |                      | 0.077%
Conv_33: |                      | 0.076%
Conv_40: |                      | 0.072%
Conv_7:  |                      | 0.070%
Conv_78: |                      | 0.064%
Conv_2:  |                      | 0.046%
Conv_45: |                      | 0.039%
Conv_79: |                      | 0.037%
Conv_76: |                      | 0.032%
Conv_61: |                      | 0.025%
Conv_75: |                      | 0.018%
Conv_27: |                      | 0.012%
Conv_37: |                      | 0.012%
Conv_80: |                      | 0.010%
Conv_68: |                      | 0.009%
Conv_30: |                      | 0.008%
Conv_10: |                      | 0.007%
Conv_34: |                      | 0.006%
Conv_57: |                      | 0.006%
Conv_69: |                      | 0.006%
Conv_20: |                      | 0.005%
Conv_70: |                      | 0.005%
Conv_52: |                      | 0.005%
Conv_23: |                      | 0.004%
Conv_71: |                      | 0.004%
Conv_55: |                      | 0.003%
Conv_46: |                      | 0.003%
Conv_16: |                      | 0.003%
Conv_77: |                      | 0.002%
Conv_66: |                      | 0.002%
Conv_13: |                      | 0.001%
Conv_58: |                      | 0.001%
Conv_73: |                      | 0.000%
Conv_74: |                      | 0.000%
Conv_72: |                      | 0.000%
Conv_65: |                      | 0.000%
Conv_64: |                      | 0.000%
Conv_63: |                      | 0.000%
Conv_67: |                      | 0.000%
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_11 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_6 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_12 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_7 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_2 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_10 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_5 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_1 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_9 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_4 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_0 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_8 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_3 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_11 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_6 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_12 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_7 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_2 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_10 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_5 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_1 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_9 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_4 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_0 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_8 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_3 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_11 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_6 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_2 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_10 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_5 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_12 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_7 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_1 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_9 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_4 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_0 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_8 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_3 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  skip not QuantableOperation
[INFO][ESPDL][2024-12-24 15:39:29]:  skip not QuantableOperation
[INFO][ESPDL][2024-12-24 15:39:29]:  skip not QuantableOperation
[INFO][ESPDL][2024-12-24 15:39:29]:  skip not QuantableOperation
[INFO][ESPDL][2024-12-24 15:39:29]:  skip not QuantableOperation
[INFO][ESPDL][2024-12-24 15:39:29]:  skip not QuantableOperation
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_11 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_6 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_2 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_10 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_5 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  skip not QuantableOperation
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_12 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_7 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_1 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_9 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_4 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_0 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_8 because it's not exportable
[INFO][ESPDL][2024-12-24 15:39:29]:  Skip PPQ_Variable_3 because it's not exportable
[WARNING][ESPDL][2024-12-24 15:39:29]:  412 does not bind exponents parameter
[WARNING][ESPDL][2024-12-24 15:39:29]:  408 does not bind exponents parameter
[WARNING][ESPDL][2024-12-24 15:39:29]:  410 does not bind exponents parameter
Traceback (most recent call last):
  File "/home/cse12111103/.xdb/codes/third_eye/test/test.py", line 54, in <module>
    quant_ppq_graph = espdl_quantize_onnx(
                      ^^^^^^^^^^^^^^^^^^^^
  File "/home/cse12111103/miniforge3/envs/eye/lib/python3.12/site-packages/ppq/core/defs.py",
 line 54, in _wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/cse12111103/miniforge3/envs/eye/lib/python3.12/site-packages/ppq/api/espdl_inte
rface.py", line 270, in espdl_quantize_onnx
    PFL.Exporter(platform=target_platform).export(
  File "/home/cse12111103/miniforge3/envs/eye/lib/python3.12/site-packages/ppq/parser/espdl_e
xporter.py", line 138, in export
    model: ModelT = self.export_graph(
                    ^^^^^^^^^^^^^^^^^^
  File "/home/cse12111103/miniforge3/envs/eye/lib/python3.12/site-packages/ppq/parser/espdl_e
xporter.py", line 260, in export_graph
    _nodes.append(self.build_operator_proto(op))
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/cse12111103/miniforge3/envs/eye/lib/python3.12/site-packages/ppq/parser/espdl_e
xporter.py", line 384, in build_operator_proto
    op_proto = helper.make_node(
               ^^^^^^^^^^^^^^^^^
  File "/home/cse12111103/miniforge3/envs/eye/lib/python3.12/site-packages/ppq/parser/espdl/h
elper.py", line 86, in make_node
    make_attribute(key, value)
  File "/home/cse12111103/miniforge3/envs/eye/lib/python3.12/site-packages/ppq/parser/espdl/h
elper.py", line 394, in make_attribute
    raise TypeError(f"'{value}' is not an accepted attribute value.")
TypeError: 'dims: 1
data_type: 1
raw_data: "\000\000\000\000"
' is not an accepted attribute value.

Steps to reproduce the behavior

install the latest ppq using pip install git+https://github.com/espressif/esp-ppq.git
Write a simple test.py

import os
from typing import Iterable

import torch
from ppq import QuantizationSettingFactory
from ppq.api import espdl_quantize_onnx
from torch.utils.data import DataLoader
from ppq.api.interface import load_onnx_graph
import onnx
from onnxsim import simplify

BATCH_SIZE = 32
INPUT_SHAPE = [3, 640, 640]
DEVICE = (
    "cpu"  #  'cuda' or 'cpu', if you use cuda, please make sure that cuda is available
)
TARGET = "esp32s3"
NUM_OF_BITS = 8
ONNX_PATH = "fumo_n_640_640.onnx"  #'models/onnx/mobilenet_v2.onnx'
ESPDL_MODLE_PATH = "fumo_n_640_640.espdl"

# -------------------------------------------
# Prepare Calibration Dataset
# --------------------------------------------
print("load random calibration dataset")

def load_random_calibration_dataset() -> Iterable:
    return [torch.rand(size=INPUT_SHAPE) for _ in range(BATCH_SIZE)]

# Load training data for creating a calibration dataloader.
dataloader = DataLoader(
    dataset=load_random_calibration_dataset(), batch_size=BATCH_SIZE, shuffle=False
)

def collate_fn(batch: torch.Tensor) -> torch.Tensor:
    return batch.to(DEVICE)

# -------------------------------------------
# Quantize ONNX Model.
# --------------------------------------------

quant_setting = QuantizationSettingFactory.espdl_setting()

quant_ppq_graph = espdl_quantize_onnx(
    onnx_import_file=ONNX_PATH,
    espdl_export_file=ESPDL_MODLE_PATH,
    calib_dataloader=dataloader,
    calib_steps=8,
    input_shape=[1] + INPUT_SHAPE,
    target=TARGET,
    num_of_bits=NUM_OF_BITS,
    collate_fn=collate_fn,
    setting=quant_setting,
    device=DEVICE,
    error_report=True,
    skip_export=False,
    export_test_values=False,
    verbose=5,
)

The onnx file can be downloaded from model.zip

run python test.py and you'll get the error log.

Project release version
latest
System architecture
Intel/AMD 64-bit (modern PC, older Mac)
Operating system
Linux
Operating system version
Ubuntu 20.04.6 LTS (Focal Fossa)
Shell
Fish
Additional context
I successfully quantize tools/quantization/models/torch/mobilenet_v2_relu.onnx and export it to espdl using the test.py.

Check the log; it indicates that the attribute type of an operator is not supported. Currently, esp-ppq supports the ONNX opset version v13. If you are using PyTorch's torch.onnx.export interface, you need to set the parameter opset_version=13. I suspect that the opset version of the ONNX file you exported is not compatible.


Restructuring poisoning branch

The poisoning/intoxication branch may require additional structuring/hierarchy, previously discussed on #3002
I will be evaluating some review articles to assess if there are common hierarchies that are used within this area that we can utilize for this branch.

Hi @laurenechan would you like to work on this or I can reassign someone else, as I know you have a lot on your plate :)

Hi! If anyone else can take this on, that would be awesome! Happy to help contribute some thoughts, but likely cannot take this on as a project on my own at this time. Thanks @nicolevasilevsky !

Sure thing, I totally understand. :)

Maybe the new to-be-hired curator could work on this.


fix: add credentials env

Add two credentials.

Tested: https://ci2.pingcap.net/blue/organizations/jenkins/dm_ghpr_integration_test/detail/dm_ghpr_integration_test/12625/pipeline


AreaBody3D don't detect RigidBody3D's with body_entered

RigidBody3Ds are not detected by the body_entered signal, or the area_entered signal in AreaBody3D's, even if I toggle the "Areas detect Static Bodies."
They worked under Godot Physics.

Would you mind providing a repro? It seems to work just fine for me.

Found the problem. In Godot Physics, collision shapes with one value as zero still lets you collide with it, but with Jolt the value must be above zero.
For example, if I have an Area3D with a width of 2, 3, 0.01, it will detect collisions. If it's 2, 3, 0, it wont detect any.

Right, yes. I should probably emit a warning for things like that. I've had other people run into other issues as a result of that as well.


Website: skip to content on left hand navigation positioning issue

Summary of the bug
The focus around the skip to content is overlaying the top nav.
🧐 Expected behaviour
Enough padding should be provided around it so that the focus indicator doesn't overlay anything else
📸 Screenshots or code

This is no longer an issue as the 'Skip to page content' link now uses an ic-link component - so there is no longer a focus indicator:


Application level command for minimizing

These docs are fantastic, however it does not list all actions towards the window itself. For example, a keybinding for toggling a minimized terminal.
When referencing to the application, you would assume to have the availability to do actions such as: maximize, minimize & close, Some of these actions are presented alongside the Application level commands. For Hyper, you can use Hyperterm-summon to quickly bind a key combo to summon your terminal. Great for Power users.
Has this been implemented / is it just not added yet?

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

ID: 9f8ea878-10c3-84e3-1122-5d41d6ea360b
Version Independent ID: c752eba5-6680-16bc-7a4b-67de156a0f96
Content: Windows Terminal Key Bindings
Content Source: TerminalDocs/customize-settings/key-bindings.md
Service: terminal
GitHub Login: @cinnamon-msft
Microsoft Alias: cinnamon

@DanielTamkin That's not something that's implemented yet. I'd go check out microsoft/terminal#653.


Conditional Menus

Question regarding having a different menu for each top-level section of a site.
My template currently looks like
<ul class="site-menu-items">
  {{ range .Site.Menus.main }}
    {{ template "menu-node" . }}
  {{end}}
</ul>

Essentially I would like to dynamically set .Site.Menus.menu1, .Site.Menus.menu2 etc. based on whether a page is a child of domain.com/menu1 or domain.com/menu2
I've tried playing around with IsMenuCurrent and HasMenuCurrent but get getting wrong type for value; expected MenuEntry; got PageOutput
Any help would be much appreciated!

Hello, please search for or open a thread on the Discussion forums at https://discuss.gohugo.io/ - GitHub Issues are only used and intended for bug reports.
You may also find a solution in the hugo docs, especially the menu section at https://gohugo.io/extras/menus/


Leaflet will not display a Path with a stroke color

Go to tester.
create a new path with stroke color set to 255,255,0,1 (solid yellow).
Add to map.
The line will not draw.   The problem is the stroke width is being set to NaN in leafLet.utils.geoJson.mergeGeoJSONProperties.   This occurs during the construction of the Leaflet object in
leafLet.internalPrivateClass.GeoJsonFeature._createFeature.  This will occur if strokeWidth is not set and the color is set.

Fixed by adding a default line width = 3 inside the mergeGeoJSONProperties function.

test case:
Use branch 240:
Use Leaflet
Plot a path with a stroke color and no stroke width,. The test is a success if the path renders on the map.

Reintegrate

Merged into the dev branch. Closing this issue.


Mapped port can only be obtained after the container is started

Hi,
I am trying to use PostgreSQLContainer to perform some integration tests. To try out the library, I am replicating the examples provided in the readme, but I keep running into this error.
Mapped port can only be obtained after the container is started
java.lang.IllegalStateException: Mapped port can only be obtained after the container is started
	at org.testcontainers.shaded.com.google.common.base.Preconditions.checkState(Preconditions.java:174)
	at org.testcontainers.containers.ContainerState.getMappedPort(ContainerState.java:125)
	at org.testcontainers.containers.PostgreSQLContainer.getJdbcUrl(PostgreSQLContainer.java:62)
	at com.dimafeng.testcontainers.JdbcDatabaseContainer$class.jdbcUrl(JdbcDatabaseContainer.scala:11)
	at com.dimafeng.testcontainers.PostgreSQLContainer.jdbcUrl(PostgreSQLContainer.scala:5)
	at org.example.PostgreSQLSpec$$anonfun$1.apply$mcV$sp(PostgreSQLSpec.scala:15)
	at org.example.PostgreSQLSpec$$anonfun$1.apply(PostgreSQLSpec.scala:12)
	at org.example.PostgreSQLSpec$$anonfun$1.apply(PostgreSQLSpec.scala:12)
	at org.scalatest.OutcomeOf$class.outcomeOf(OutcomeOf.scala:85)
	at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
	at org.scalatest.Transformer.apply(Transformer.scala:22)

The logs indicate that the container has started and Postgres is waiting for requests.
I did some further debugging and found that the issue is essentially a Precheck in ContainerState (clearly indicated by the stack trace above) to check the containerId before getting the mapped ports. Where is this containerId set and most importantly, what I am doing wrong?
Using Scala 2.11 with Maven.
Code :
class PostgreSQLSpec extends FlatSpec with ForEachTestContainer {
  override def container =
    PostgreSQLContainer()

  it should "do something" in {
    Class.forName(container.driverClassName)
    val connection = DriverManager.getConnection(
      container.jdbcUrl,
      container.username,
      container.password
    )
  }
}

To add, this works without any issue with the new API spec.
Closing this issue as it is exactly same as #134 (but for PostgresSQLContainer).

In my case changing override def container = PostgreSQLContainer() by a val solved the problem (actually the examples use a val but IntelliJ overrides with a def by default).


C++ objects within structure allocated via calloc()

Describe the bug
C++ objects should be created via new and removed via delete. This ensures that their constructors and destructors are properly called.
The v2g_context structure in EvseV2G is mostly pointers and basic types where use of calloc() to create the structure is fine.
However there are some std::string objects included that are not correctly constructed. When free() is called on the v2g_context pointer the strings are not destructed and hence there could be a memory leak.
One option would be to split the v2g_context structure into parts that can be managed via calloc/free and parts that require new/delete.
Starting points:

v2g.hpp for the v2g_context definition
v2g_ctx.cpp and v2g_ctx.hpp for functions creating and releasing v2g_context

EVerest Domain
ISO15118
Affected EVerest Module
EvseV2G
To Reproduce
Present in the 2024.3.0 release
Anything else?
No response

Would it be possible to just use a unique_ptr for the v2g_context struct, so that default ctor/dtors are used?

Most of the v2g_context needs to be zero initialised. A unique_ptr on it's own doesn't address this.
auto v2g_context = std::make_unique<v2g_context>();
std::memset(v2g_context.get(), 0, sizeof(v2g_context));

would have the problem of overwriting what any constructor would have done.
auto v2g_context = {{0, nullptr, ...},{{},{} ...};

would be a pain to maintain.
My suggestion would be to wrap the v2g_context in a class so that the C structures can be safely zero initialised and any C++ objects constructed as usual (and kept apart from the C structures/unions).
That would then be constructed via std::make_unique ...
The functions in v2g_ctx.cpp would become methods and called on construction/deletion/
It may even be possible to minimise the code changes needed by overloading ->
As it stands it isn't a big problem since it looks like v2g_context is only constructed once and std::string is the only class used (at the moment).

std::make_unique<T> does value initialization (https://en.cppreference.com/w/cpp/language/value_initialization), as it is basically just calling new T, which would result in zero-initialization for primitive types and default construction for class types.  So it should actually do what is needed, right?

no idea - from reading that it implies that int *p; would mean p == nullptr. A quick bit of sample code and it might be nullptr depending on other things.
From your link:
void f()
{
    A a = A(); // not zero-initialized according to the standard
               // but implementations generate code for zero-initialization nonetheless
}

my take on this - it might be fine. I've no idea.

The example you're referring to uses a class A which has a defined non-default constructor, which leads to no zero-inititialization (which makes sense, because if you define a constructor by yourself, you probably want to setup things specifically).
But for normal POD types like simple data structs, which have no constructors defined, zero-initialization is guaranteed to happen (in this case it would be actually aggregate initialization).  Furthermore if the default constructor is non-trivial (which is the case here, because the struct contains std::string, which has a non-trivial default constructor), then also default-initialization happens after zero-initialization (yielding the proper setup of the string objects).
Also note that even now the std::string objects can potentially yield undefined behavior as their constructor is not called when using calloc (this should be done with in place new).


Improvements in FileUtils

Unused createTempFile removed
remove() is simplified by using JDK8 API
exceptions intercepted in remove()

Coverage remained the same at 46.984% when pulling a50e313d2bec06969181953f5241e214c908c02d on fileutils into 07d30caa8b4b6760876176db82902401dd952666 on master.


Can't use GPU

Hi,
I was able to test the synthesize function (synthesize.py) on CPU with success.
But when I tried to use GPU, I have faced with different issues.
First, I tried to use tensorflow-gpu==1.3.0, but according to this chart: https://www.tensorflow.org/install/source#gpu, it requires CUDA 8, and according to this list: https://gitlab.com/nvidia/container-images/cuda/blob/master/doc/supported-tags.md, I could use only Ubuntu 16.04 with an nvidia docker base image for CUDA 8.0, but I have failed with the installation of the requirements on Ubuntu 16.04.
As a second step, I have tried to use tensorflow-gpu==1.5.0 with CUDA 9, but the Nvidia base image for Ubuntu 18.04 support only CUDA 9.2, and not 9.0, and those looks uncompatible...
As a third step, I have tried tensorflow-gpu==1.13.1 with CUDA 10.0, with a CUDA 10.0 based Ubuntu 18.04 base docker image.
Finally, tensorflow can detect the GPU, but the session initialization (sess,run()) takes forever, and eats up all the GPU memory.
I have tried to limit the memory usage, and then the session initialization could finish after more than 4 minutes, but the Feed Forward just stuck at the very beginning, no progress at all within a few minutes.
Any ideas or suggestion? What am I doing wrong?
Thanks!

I have tried to use the dc_tts model...


Resolves issues - 11333 and 11261

11333 ( https://github.com/adobe/brackets/issues/11333 ) and 11261 ( https://github.com/adobe/brackets/issues/11261 )
Closes the modal bar only when escape is pressed and modal bar is having focus .This removes the problem in find operations as losing the focus of the bar will not close the modal bar until 'escape' key is pressed..

@gitexperience  thank you for contributing to brackets. You could join the brackets slack channel and brackets dev google groups for discussions with the brackets community.

PR updated,!! now it is localized to find bar ..

This is now implemented as part of instant search.
@gitexperience thanks for the PR.
Starter bugs- issues and other features in trello can be picked up if you wish to contribute more. :+1:

Issue #11333 still persists


Matmul Transpose Functionality

Added transpose features to jax.numpy.matmul.
Behaviour should be similar to how transpose is handled with in TensorFlow. User can optionally choose to pass in arguments transpose_a and transpose_b to change the contraction dimensions that simulate a similar behaviour.
Example
a = np.random.random((3, 2))
b = np.random.random((3, 2))
c = jnp.matmul(a, b, transpose_b=True)

The above should be functionally and mathematically equivalent to
c = jnp.matmul(a, jnp.transpose(b))

However, the first code uses less instructions to accomplish the same task.
>>> jax.make_jaxpr(lambda a, b: jnp.matmul(a, jnp.transpose(b)))(a, b)
{ lambda  ; a b.
  let c = transpose[ permutation=(1, 0) ] b
      d = dot_general[ dimension_numbers=(((1,), (0,)), ((), ()))
                       precision=None ] a c
  in (d,) }
>>> jax.make_jaxpr(lambda a, b: jnp.matmul(a, b, transpose_b=True))(a, b)
{ lambda  ; a b.
  let c = dot_general[ dimension_numbers=(((1,), (1,)), ((), ()))
                       precision=None ] a b
  in (c,) }

I have found that the removal of this unnecessary, explicit transpose helped improve performance quite a bit for very large matrices.
Testing
Created additional matmul test to verify that it produces expected behaviour. Ran all pytest -n auto tests/lax_numpy_test.py to verify that all previous behaviour is consistent.
Help
Not sure if my testing is sufficient. If anybody could help check them and if they are not sufficient, maybe guide me on how to properly add tests to this repo, that would be great.
Also, not sure how to update the jax.numpy.matmul documentation. If someone could please help with that, that would be awesome.

We could do this, but I would lean towards preserving NumPy's interface for matmul and leaving advanced manipulations like this to einsum (which lowers to a mix of dot_general and transpose).
Unfortunately einsum doesn't do the desired thing here -- instead it adds another transpose afterwards:
>>> jax.make_jaxpr(lambda a, b: jnp.einsum('ij,kj->ik', a, b))(a, b)
{ lambda  ; a b.
  let c = xla_call[ backend=None
                    call_jaxpr={ lambda  ; a b.
                                 let c = dot_general[ dimension_numbers=(((1,), (1,)), ((), ()))
                                                      precision=None ] b a
                                     d = transpose[ permutation=(1, 0) ] c
                                 in (d,) }
                    device=None
                    donated_invars=(False, False)
                    name=_einsum ] a b
  in (c,) }

This could possibly be improved with some digging, however.

@shoyer Adding the optional transpose functionality does to a certain degree preserve the NumPy interface as all new arguments have default values and were positionally added to the end. No previous usages of the matmul function would have to change. Only going forward, the user would have slightly more control over the contraction dimensions than before. The motivation for doing this obviously would be that TensorFlow exposes this functionality in it's matmul function.
I still think it's a good idea to do this. What are your thoughts?

Another reason that it doesn't necessarily make sense to add functionality like transpose to matmul is that in JAX you have the freedom to form these kinds of composite ops using jit.
e.g., you can easily write things like
my_matmul = jax.jit(lambda x, y: x @ y.T)

I don't think "fewer instructions" is necessarily a good metric for better or worse code; under a jit, XLA will perform whole-program optimizations, and it may end up fusing the transpose with the dot anyway.

@hawkinsp its not about fewer instructions per-say. It's about performance. I submitted the PR because I found the change to have quite a bit of performance impact with large matrices. Sometimes the jax.jit operator does not optimize these out enough. e.g.
>>> a = np.random.random((7, 2, 3))
>>> b = np.random.random((7, 2, 3))
>>> my_matmul = jax.jit(lambda x, y: jnp.matmul(x, jnp.transpose(y, [0, 2, 1])))
>>> jax.make_jaxpr(my_matmul)(a, b)
{ lambda  ; a b.
  let c = xla_call[ backend=None
                    call_jaxpr={ lambda  ; a b.
                                 let c = transpose[ permutation=(0, 2, 1) ] b
                                     d = dot_general[ dimension_numbers=(((2,), (1,)), ((0,), (0,)))
                                                      precision=None ] a c
                                 in (d,) }
                    device=None
                    donated_invars=(False, False)
                    name=<lambda> ] a b
  in (c,) }

Clearly, the jit did not optimize out the transpose in favour of changing the dot_general contraction dimensions. The additional explicit transpose can have performance implications, especially if the transposed matrix multiplication is used frequently and on large matrices.

XLA will perform whole-program optimizations, and it may end up fusing the transpose with the dot anyway.

In my experience, while this can happen, it does not always reliably do so. Having the option to explicitly change the contraction dimensions just makes it a lot easier and more reliable.

jax.make_jaxpr shows JAX IR before optimization, so I wouldn't expect it to have any transpose/dot folding.
If you want to view the optimized XLA HLO (note: internal API use):
>>> print(jax.lib.xla_bridge.get_backend().compile(jax.xla_computation(my_matmul)(a, b)).hlo_modules()[0].to_string())
HloModule xla_computation__lambda___6.14

ENTRY %xla_computation__lambda___6.14 (parameter.1: f32[7,2,3], parameter.2: f32[7,2,3]) -> (f32[7,2,2]) {
  %parameter.1 = f32[7,2,3]{2,1,0} parameter(0)
  %parameter.2 = f32[7,2,3]{2,1,0} parameter(1)
  %transpose = f32[7,3,2]{2,1,0} transpose(f32[7,2,3]{2,1,0} %parameter.2), dimensions={0,2,1}, metadata={op_type="transpose" op_name="xla_computation(<lambda>)/jit(<lambda>)/transpose[ permutation=(0, 2, 1) ]" source_file="<ipython-input-44-e6e04a279036>" source_line=3}
  %dot = f32[7,2,2]{2,1,0} dot(f32[7,2,3]{2,1,0} %parameter.1, f32[7,3,2]{2,1,0} %transpose), lhs_batch_dims={0}, lhs_contracting_dims={2}, rhs_batch_dims={0}, rhs_contracting_dims={1}, metadata={op_type="dot_general" op_name="xla_computation(<lambda>)/jit(<lambda>)/dot_general[ dimension_numbers=(((2,), (1,)), ((0,), (0,)))\n                                                     precision=None ]" source_file="<ipython-input-44-e6e04a279036>" source_line=3}
  ROOT %tuple.13 = (f32[7,2,2]{2,1,0}) tuple(f32[7,2,2]{2,1,0} %dot)
}

In this case you are right: XLA's CPU backend has not chosen to fuse the transpose with the dot. I filed a bug with the XLA folks, given that the underlying kernel does support fused transposes.
(By contrast, on TPU, XLA will fuse these operations, particularly if the matrices are larger.)
I'd also agree with @shoyer that we want to be cautious about extending NumPy's API. It's possible we could change einsum to try even harder to avoid adding a transpose to the output.

@hawkinsp That is fine. If the API change is a big deal, I'll just change the contraction dimensions explicitly in my code. I look forward to this being resolved internally in the future so that I don't have to do it manually. Thanks for your timely responses!

The XLA folks noted that this optimization appears not to be implemented for batched matrix multiplications at the moment. But it will happen for unbatched ones. e.g., if I remove the batch dim from your example, I get:
HloModule xla_computation__lambda___2.14

ENTRY %xla_computation__lambda___2.14 (parameter.1: f32[2,3], parameter.2: f32[2,3]) -> (f32[2,2]) {
  %parameter.1 = f32[2,3]{1,0} parameter(0)
  %parameter.2 = f32[2,3]{1,0} parameter(1)
  %dot.1 = f32[2,2]{1,0} dot(f32[2,3]{1,0} %parameter.1, f32[2,3]{1,0} %parameter.2), lhs_contracting_dims={1}, rhs_contracting_dims={1}, metadata={op_type="dot_general" op_name="xla_computation(<lambda>)/jit(<lambda>)/dot_general[ dimension_numbers=(((1,), (0,)), ((), ()))\n                                                     precision=None ]" source_file="<ipython-input-8-81b4a98a625c>" source_line=3}
  ROOT %tuple.13 = (f32[2,2]{1,0}) tuple(f32[2,2]{1,0} %dot.1)
}

@hawkinsp I see. Is there a ticket for getting it implemented for batched matrix multiplications? Especially when it comes to high-performance ML, having fast batched operations is ideal. While it is possible to implement this functionality manually by explicitly calling lax.dot_general and specifying the contraction dimensions, it would be nice if it was conveniently made available within the package.

I've reported a bug and hopefully they will fix it. The relevant XLA compilation pass is here:
https://cs.opensource.google/tensorflow/tensorflow/+/master:tensorflow/compiler/xla/service/transpose_folding.h?q=transpose_folding.h&ss=tensorflow%2Ftensorflow
Note we weren't ruling out exposing transposed matmuls, just expressing caution about extending NumPy's API and expressing a desire to use composition where possible.

https://github.com/tensorflow/tensorflow/commit/19db1548e8b6b614377dbc314207eab92652ae94 fixed the XLA transpose folding and #4507 incorporates it into jaxlib. (We'll need to make a jaxlib release or you'll need to build from source to see it, though.)

@hawkinsp Awesome! I'll be sure to try it out. Do you know when the next jaxlib release is going to be?

We're going to try to make a jaxlib release in the next few days.


AMD (MI250X) support

PR adds AMD support via the following:

split nvlink check logic to branch on device name, as reported by torch - it looks for amd in the device name and uses rocm-smi --showtopotype instead of the nvidia-smi one, for AMD.
rewrite the build_rope_cache to use a vectorized approach instead of indexing into the nonzero mask - I did not bench performance vs. main, but should be quicker as well as a bonus. The previous code did not work on my hardware, probably due to device detection issues, and resulted in build_rope_cache receiving device=None which then tries the nonzero indexing on the meta device and fails because of missing custom kernels :man_shrugging:
added debug prints in build_rope_cache, since there was no logger (will remove once reviewed, if you have preferences on how to log, let me know)
reformatted the edited files via isort and black - let me know if you prefer the unlinted versions. Alternatively we could add the optional pre-commit in a separate PR

tests results on my machine (linux with a 4090):
1337 passed, 40 skipped, 70 xfailed, 2 xpassed, 381 warnings in 430.23s (0:07:10) ========================================================

Testing finetune_lora with llama 3.1 8B  on a 8xMI250X node and seems to run so far with ~65-75% utilization. I am frankly quite shocked this runs quicker than our accelerate FSDP out of the box :)

the failing test works for me locally, but cannot restart the CI here

Thanks for the PR. Just reading through your commens, the premise is great actually. Before merging, we need to check (with some concrete numbers) that this doesn't impact CUDA performance though, but it sounds like it may actually even be a positive impact here 😊.

reformatted the edited files via isort and black - let me know if you prefer the unlinted versions. Alternatively we could add the optional pre-commit in a separate PR

Yes, could you  please revert those style edits back? It makes reviewing code a bit harder because there are so many additional changes. I also had many discussions with colleagues on that internally, and the general preference seems to be not to use a linter like black.

Thanks for the PR. Just reading through your commens, the premise is great actually. Before merging, we need to check (with some concrete numbers) that this doesn't impact CUDA performance though, but it sounds like it may actually even be a positive impact here 😊.

reformatted the edited files via isort and black - let me know if you prefer the unlinted versions. Alternatively we could add the optional pre-commit in a separate PR

Yes, could you please revert those style edits back? It makes reviewing code a bit harder because there are so many additional changes. I also had many discussions with colleagues on that internally, and the general preference seems to be not to use a linter like black.

Sounds good, i will reproduce some of the config hub fine-tunes on CUDA and A6000s, but don't have any hardware running that would be a good test for multi-GPU and multi-node FSDP at the moment.

Thanks! And no worries, I can help with multi-GPU comparisons on CUDA

Rebased and reverted the import style back to single-line, as discussed.
Please have a look at the perf benchmark with CUDA (4090) with config_hub/finetune/llama-3.2-3B/lora.yaml below
This branch:
Training time: 262.61s
Memory used: 9.67 GB
Validating ...
Final evaluation | val loss: 0.994 | val ppl: 2.701
0.5.0
Training time: 264.34s
Memory used: 9.67 GB
Validating ...
Final evaluation | val loss: 0.993 | val ppl: 2.700

Nice, thanks for the numbers! I will also do a run on multi-GPU to confirm, but this looks awesome!

frankly quite shocked this runs quicker than our accelerate FSDP

May I ask what the accelerated FSDP method is? Is this vanilla FSDP from PyTorch or some other method? Just curious if there's maybe some trick that we can add here to make it even faster.

Nice, thanks for the numbers! I will also do a run on multi-GPU to confirm, but this looks awesome!

frankly quite shocked this runs quicker than our accelerate FSDP

May I ask what the accelerated FSDP method is? Is this vanilla FSDP from PyTorch or some other method? Just curious if there's maybe some trick that we can add here to make it even faster.

is FSDP ever vanilla ? :sweat_smile:  I cannot share the accelerate configs or more details on that unfortunately, but i will share some stats from llama 70B and 405B fine-tunes, if i get them to run with litgpt on larger datasets.
I am not a big fan of HF/Accelerate/TRL UX and code quality, so will be more than happy to port everything to fabric now ^~

@TensorTemplar I reverted all the style changes in the non-relevant codes and just see your push overrode these again 😅. Could you please roll those back to make the reviewing easier and focus the PR just on the RoPE improvemenets and NVLink/AMD tests?

@TensorTemplar I reverted all the style changes in the non-relevant codes and just see your push overrode these again 😅. Could you please roll those back to make the reviewing easier and focus the PR just on the RoPE improvemenets and NVLink/AMD tests?

Sorry, though i squash some of the commits and merge new tests and overrode without checking that you committed into my branch

Sorry, thought i squash some of the commits and merge new tests and overrode without checking that you committed into my branch. Style changes now reverted.

No worries, and thanks for updating that!
Actually, I was trying to run the code before and after your PR on an 8xA100 machine and noticed issues with the code before your PR:
adjusted_theta[mask_low_freq] = theta[mask_low_freq] / factor
  File "/home/sebastian/miniforge3/envs/litgp2/lib/python3.10/site-packages/torch/_meta_registrations.py", line 2883, in meta_index_Tensor
    nonzero = index.nonzero()
  File "/home/sebastian/miniforge3/envs/litgp2/lib/python3.10/site-packages/torch/utils/_device.py", line 77, in __torch_function__
    return func(*args, **kwargs)
NotImplementedError: aten::nonzero: attempted to run this operator with Meta tensors, but there was no abstract impl or Meta kernel registered.

I must admit that I didn't run the updated RoPE code in multi-GPU settings, only single GPU training. So yes, we should definitely merge your PR 😊

Sorry, thought i squash some of the commits and merge new tests and overrode without checking that you committed into my branch. Style changes now reverted.

No worries, and thanks for updating that!
Actually, I was trying to run the code before and after your PR on an 8xA100 machine and noticed issues with the code before your PR:
adjusted_theta[mask_low_freq] = theta[mask_low_freq] / factor
  File "/home/sebastian/miniforge3/envs/litgp2/lib/python3.10/site-packages/torch/_meta_registrations.py", line 2883, in meta_index_Tensor
    nonzero = index.nonzero()
  File "/home/sebastian/miniforge3/envs/litgp2/lib/python3.10/site-packages/torch/utils/_device.py", line 77, in __torch_function__
    return func(*args, **kwargs)
NotImplementedError: aten::nonzero: attempted to run this operator with Meta tensors, but there was no abstract impl or Meta kernel registered.

I must admit that I didn't run the updated RoPE code in multi-GPU settings, only single GPU training. So yes, we should definitely merge your PR 😊

Oh i thought this was an issue with missing custom cuda kernels on AMD, since i didn't see this on my local test machines.


AnyObject removal preparations

This is the next step in the subclass existential saga after https://github.com/apple/swift/pull/8685:

Migrate more code over to using ExistentialLayout, especially in IRGen.
Ensure that the recently-added generic signature layout constraints are plumbed through the right places
Introduce a primitive AnyObject type that will soon replace the standard library's AnyObject protocol

@swift-ci Please test

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - 6028a3d9ffba8f40111116ba10b615dc591b6816
Test requested by - @slavapestov

Build failed
Jenkins build - Swift Test Linux Platform
Git Commit - 6028a3d9ffba8f40111116ba10b615dc591b6816
Test requested by - @slavapestov

@swift-ci Please test

@swift-ci Please test

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - 86f34645d7c0b299c6e3e22fd19ca3df4624d45d
Test requested by - @slavapestov

Build failed
Jenkins build - Swift Test Linux Platform
Git Commit - 86f34645d7c0b299c6e3e22fd19ca3df4624d45d
Test requested by - @slavapestov

@swift-ci Please test

@swift-ci Please test

Build failed
Jenkins build - Swift Test Linux Platform
Git Commit - 070832378f34ccf8a7ab12b722e6e0bc38f37043
Test requested by - @slavapestov

https://github.com/apple/swift-lldb/pull/181
@swift-ci Please test Linux

Build failed
Jenkins build - Swift Test Linux Platform
Git Commit - 070832378f34ccf8a7ab12b722e6e0bc38f37043
Test requested by - @slavapestov

https://github.com/apple/swift-lldb/pull/181
@swift-ci Please test Linux

Build failed
Jenkins build - Swift Test Linux Platform
Git Commit - 070832378f34ccf8a7ab12b722e6e0bc38f37043
Test requested by - @slavapestov

https://github.com/apple/swift-lldb/pull/181
@swift-ci Please test Linux


DOCS-6650-generate-scaffold-of-updated-api-spec-ie

@fermujica Can you review this PR? I wasn't sure if we needed to use the word "scaffold" or not--seems to me that "generate a flow" is still accurate?

I'm going to close this pull request and resubmit--there's no info in the ticket I didn't see.

I'm going to close this pull request and start over--there was new info in the ticket I didn't see.


support overriding settings.gui_config with an empty table

fix: #1372

@Endvour dont forget to lint the code~


category's order: miscellaneous at the end

sonstiges/miscellaneous should be at the end of the list, not in the middle. What is the order of the categories? Why? Why not alphabetical?

Done. The german 'Sonstiges' (en: Miscellaneous) is at the end and the other categories are orders by their german name.


Add Cookie Banner

Since we are using YT Embeds.

one option is using yotube-nocookie.com - which is an official youtube URL.
but then we lose out on the algo juice from people watching, esp if people expect their logged-in youtube to work

Here is the


Chain.cell_items() returns incorrect value if gross bases are involved

Replace == 'cbase' with a startswith() check

solved


Add tomli to library requirements

Adding tomli to requirements since it isn't a default package in all python environments

Can you make the requirement conditional on python version < 3.11 - like here: https://stackoverflow.com/questions/19559247/requirements-txt-depending-on-python-version
And then for the import in >= 3.11 you can use stdlib:
try:
    import tomllib as tomli  # python >= 3.11
except ImportError:
    import tomli  # python < 3.11


Find a way to typecheck the snippets in markdown

Ideally we'd type check the snippets in readme's and on the website.

https://scalameta.org/mdoc/docs/docusaurus.html


Added ConnectionId and ConnectionType to API GW method integration

Docs: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-connectionid

Thanks!


V1.6.3

See https://github.com/Unidata/netcdf4-python/pull/1237

@jswhit the artifacts are in https://github.com/ocefpaf/netcdf4-win-wheels/actions/runs/4314995476
We can setup an automatic upload to PyPI in the CIs in the future.

The tests here are passing and I downloaded the artifacts and tested them locally. Everything seems to be working as expected. Merging this.


Diff uses P4V's diff tool even if a different diff tool is specified in P4V's preferences

Since this plugin is for visual studio, I wanted my diffs to also appear in visual studio, instead of opening in a seperate program. However, the diffs seem to always open using P4V's diff tool, even if I specify for them to use Visual Studios' diff tool in P4V's preferences.
P4EditVS should either allow configuration to open diffs in Visual Studio, or it should respect whatever is set in P4V preferences.

Hey, it should use what is set in P4V. It definitely does for me.
Did you do a PC restart after changing the value?
All P4EditVS does is execute p4vc diffhave <file>.

Right, looks like a restart was needed to make the changes take affect. Sorry about that!


Converting into protobuf class object not working

Whats your runtime?

Dozer version: 6.2.0-SNAPSHOT
OS version: Ubuntu 17.14
JDK version: OpenJDK 8

Whats the problem?
I cannot seem to get the Protocol Buffer conversion to work. It works with normal classes but not with protobufs for some reason. I saw the tests in the repo and it seems to work there. But for me it doesn't
@Test
    public void convertGeneric() {
        Broker b = new Broker("chickenboy", false, false);
        TestBroker f = conv.convertGeneric(b, TestBroker.class);
        assertEquals(b.getUsername(), f.getUsername()); //succeeds

        PBBroker pbf = conv.convertGeneric(b, PBBroker.class);
        assertEquals(b.getUsername(), pbf.getUsername()); //fails
    }

the code above calls this
public GRPCTypeConverter() {
        mapper = DozerBeanMapperBuilder
                .create()
                .withMappingFiles("dozer-mappings.xml")
                .build();
    }

    public void convertGeneric(Object source, Object dest) {
        mapper.map(source, dest);
    }

mapping file looks like this
<configuration>
        <stop-on-errors>true</stop-on-errors>
        <date-format>MM/dd/yyyy HH:mm</date-format>
        <wildcard>true</wildcard>
    </configuration>

proto definition is this
message PBBroker {
  int64 id = 1 ;
  string username = 2 ;
}

class Broker{
private String username;
private String password;
//...

@pascalwhoop ; can you provide a github repo, which can be cloned with a simple example / unit test. Makes looking into problems easy.
@jbq ; any ideas?

@garethahealy I did. Thanks for the help.
https://github.com/pascalwhoop/protobuf-dozer-example

Hi @pascalwhoop, happy to help.  There is a mistake in your pom.xml you didn't add a dependency to dozer-proto that's why the test fails to map to protobuf classes.
See my fork of your code: https://github.com/jbq/protobuf-dozer-example

@pascalwhoop ; i presume above answer has solved your issue. closing.


How to reset when the video is out of screen

I'm using the library together with listview. When a row with youtube video moves out of the screen, the video stops playing. But when I scroll back,  the control state and progress bar are not updated. They still show the playing state and time. I need to tap again to resume the playing.
I want the video component to reset itself when moved out of screen. Not remembering its state or taking any memory.
Any suggestions on how to do this?  Thanks!

The iOS and Android versions acts different to being clipped inside a ScrollView (ListView).
Anyway this has to do more with react than this repo. If you want the component to reset when clipped I guess you should find a way to unmount it and mount again when shown.
Try to see what removeClippedSubviews prop do in the ListView


Add volume mapping for Docker credentials

Fix https://github.com/apache/openwhisk/issues/4787
Additional information you deem important:
An operator can make invokers access to a private registry by adding this:
invoker_docker_volumes:
  - ~/.docker:/root/.docker

Codecov Report

Merging #4791 into master will decrease coverage by 6.64%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #4791      +/-   ##
==========================================
- Coverage   85.18%   78.53%   -6.65%
==========================================
  Files         197      197
  Lines        8843     8843
  Branches      610      610
==========================================
- Hits         7533     6945     -588
- Misses       1310     1898     +588

Impacted Files
Coverage Δ

...core/database/cosmosdb/RxObservableImplicits.scala
0% <0%> (-100%)
:arrow_down:

...n/scala/org/apache/openwhisk/common/CausedBy.scala
0% <0%> (-100%)
:arrow_down:

...enwhisk/connector/kafka/KamonMetricsReporter.scala
0% <0%> (-100%)
:arrow_down:

...e/database/cosmosdb/cache/ChangeFeedConsumer.scala
0% <0%> (-100%)
:arrow_down:

...ore/database/cosmosdb/cache/CacheInvalidator.scala
0% <0%> (-100%)
:arrow_down:

...core/database/cosmosdb/CosmosDBArtifactStore.scala
0% <0%> (-96.23%)
:arrow_down:

...sk/core/database/cosmosdb/CosmosDBViewMapper.scala
0% <0%> (-93.85%)
:arrow_down:

...tabase/cosmosdb/cache/CacheInvalidatorConfig.scala
0% <0%> (-92.31%)
:arrow_down:

...e/database/cosmosdb/cache/KafkaEventProducer.scala
0% <0%> (-77.78%)
:arrow_down:

...whisk/core/database/cosmosdb/CosmosDBSupport.scala
0% <0%> (-74.08%)
:arrow_down:

... and 10 more

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 1e7b6ec...6d11ccf. Read the comment docs.

It's ready to review.


Add support for platforms without exceptions

Also allows controlling the use of exceptions on platforms with exceptions.
Fixes #18

Hi,
Thanks for your PR. It would be nice to support fno-exceptions, I didn't took the time to do it yet for this library.
Could you check out how it was done for the other tsl projects (like in tsl::robin_map) for example) and check if it can eventually be done the same way in the PR for coherence?
Thanks

I've pushed the following changes:

TSL_ENABLE_EXCEPTIONS -> TSL_NO_EXCEPTIONS.
Detection of the default even without CMake.

I think a few things are better in this PR as compared to the code in robin_map:

throw_ is a function rather than a macro.
std::abort is used std::terminate, because std::terminate is not available on some platform without exceptions.
printf instead of cout avoids the heavy iostreams dependency. Also, this always prints the error message (the other version does so only if TSL_DEBUG is defined).

Thank you for the update. A few comments.

Could you use the SH (sparse hash) like tsl_sh_assert instead of `SM´?

std::abort is used instead of std::terminate, because std::terminate is not available on some platform without exceptions.

Yes, we can use std::abort instead but could you then rename TSL_SM_THROW_OR_TERMINATE to TSL_SH_THROW_OR_ABORT

fprintf instead of cerr avoids the heavy iostreams dependency.

Could you only print when TSL_DEBUG is enabled? I would like to avoid importing cstdio and printing to stderr by default.

I would prefer to avoid having an extra exceptions.h file if possible, can't we have everything defined in sparse_growth_policy.h? I know it is a bit confusing to add the functionality there compared to the name of the file but we need these to be defined before the exceptions usage in sparse_growth_policy.h.

Is the CMake detection really useful compared to the detection in the header? Is there really a case where someone would want to use tsl::sparse_map with exceptions enabled while they disable them for them?

Thanks

I modified a bit your PR to address some of my comments, mainly moving things to sparse_growth_policy.h to avoid a new file, renaming to TSL_SH_* prefix and adapting the test to run an extra -fno-exceptions CI. Hope it is alright for you.
I will merge the PR, thanks.

Thanks for following up on my PR!


[Add]  Share on Social Media

Details
I would like to implement a "Share on Social Media" feature. This feature will allow users to easily share content from our platform to various social media platforms, thereby increasing the reach and visibility of our content.
Screenshots
No response
Type of Contribution

[ ] Update to an existing Animated Button
[ ] Adding a new Button
[ ] Resolving a bug
[X] Proposal to the Repository
[ ] Changes related to documentation or README.md
[X] Other Changes

Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I am willing to work on this issue
[X] I am a GSSoC'23 contributor

Hello @Nishusk
Can you please tell your approach about this issue?

@Nishusk Are You Still Interested In It?

I'm sorry, sir. I was interested, but these days, I haven't had much time as I've been very busy.

Hey @Spyware007,  Please assign this issue to me

@Kedarnath-Rothe Glad to hear that you're interested in out repo. It would be great if you can explain how you will add this feature

Hey @Spyware007 please assign this issue to me


[Compile failure]: Maybe this jar forgot to upload to the central repository?  “com.perfma.xlab:xpocket-jline”

Maven build info

[WARNING] The POM for com.perfma.xlab:xpocket-jline:jar:2.1.0-RELEASE is missing, no dependency information available

JAR：https://mvnrepository.com/artifact/com.perfma.xlab

If this jar package is uploaded to the central warehouse, it can help developers compile successful projects.

Hello, sorry for this failure. [com.perfma.xlab:xpocket-jline] this is a inner module of the project. But we set a wrong version of this module (2.1.0-RELEASE expect : 2.1.1-RELEASE). We are going to fix this problem. I will update this issue when we are haven done. Thanks for reporting.

best wishes to the community  😁

fix this problem


outdated docker-compose file

The dependencies now require PHP 8. But the current docker-compose file uses PHP 7.4: https://github.com/event-engine/php-inspectio-cody/blob/master/docker-compose.yml#L7
See also https://github.com/proophboard/php-cody-tutorial/issues/1

Both issues should be fixed now. I followed your suggestion and improved the sed command ;)


Verbatim macro confused HTML conversion

Description
The TeX source included \verb |\section|, but the HTML conversion got confused, started a new section, and dropped the rest of the paragraph.
(Optional:) Please add any files, screenshots, or other information here.
Here is the HTML rendering, and below is the PDF:

Compare to the PDF:

(Required) What is this issue most closely related to? Select one.
Other
Internal issue ID
0e17ca78-4440-4f9e-90e7-b4e5a7b2c8e8
Paper URL
https://arxiv.org/html/2402.08954v1
Browser
Chrome/<IP_ADDRESS>
Device Type
Desktop

Duplicate of #478

Hi @duetosymmetry, I linked this to the #478. This should be fixed in the next release.  We appreciate the issue report, thank you for taking the time to document it and attach images!


Fails to install hadolint package

I have hadolint v2.10.0 on my ~/.tool-versions file. When I run rtx install it stops midway due to:
rtx: Installing runtime<EMAIL_ADDRESS>* Downloading hadolint release v2.10.0...
curl: (22) The requested URL returned error: 404
asdf-hadolint: Could not download https://github.com/hadolint/hadolint/releases/download/vv2.10.0/hadolint-Darwin-x86_64
rtx: error command ["/Users/pedropombeiro/.local/share/rtx/plugins/hadolint/bin/download"] exited with code 1
rtx: Run with RTX_DEBUG=1 for more information.

It looks like it doesn't like the v prefix in the version, but asdf wants it. It would be nice to have this working so that it is possible to run asdf and rtx on the same project (different team members can have different preferences).

asdf doesn't seem to require the v:
❯ echo 'hadolint 2.10.0' >> .tool-versions

~
❯ asdf install hadolint
* Downloading hadolint release 2.10.0...
hadolint 2.10.0 installation was successful!
hadolint 2.10.0 is already installed

I could also strip v as any prefix but I'm worried that might have unintended consequences down the road. I think for now the best solution is not to use v in .tool-versions.

@jdxcode I don't know if at one point the asdf list all hadolint returned versions with the v prefix, which is how that got into my .tool-versions file. Nowadays that seems to be fixed, so I would say we can close this.


investigate switching KDTree usage from SciPy to CuPy

CuPy's main branch now has a KDTree implementation (cupyx.scipy.spatial.KDTree). It is not released for CuPy 13.x, but we should investigate whether it provides benefit over falling back to the host side implementation from SciPy.
Functions currently replying on SciPy for use of KDTree are:

cucim.skimage.feature.corner_peaks
cucim.skimage.feature.peak_local_max  (via private utility function cucim.skimage._shared.ensure_spacing)

Other functions that use it in scikit-image, but for which CuPy has an alternative CUDA kernel is the _prune_blobs helper function used by

cucim.skimage.feature.blob_dog
cucim.skimage.feature.blob_doh
cucim.skimage.feature.blob_log

we can check if that kernel or the CuPy KDTree implementation is preferable.
If CuPy KDTree performance is good we can add implementation for the following scikit-image functions that primarily rely on it

skimage.metrics.hausdorff_distance
skimage.metrics.hausdorff_pair
skimage.transform.hough_circle_peaks

Hi, I am current investigate to replace scipy cKDTree with cupy KDTree, and could I provide which version of cupy provide the function?

in my first implementation for the blob algorithms I have used scipy's cKDTree - because it was a CPU solution it was a bottleneck.
I will give cupy's KDtree a try to see the performance
@cb11711211
it is not in the official release, but you find it already in the repository
you have to build cupy by yourself to test it


Allow subclasses for per_ems_worker_mixin

The PerEmsWorkerMixin.sync_workers method calls MiqWorker.find_current_or_starting when determining how many workers are running of any given type.  MiqWorker.find_current_or_starting calls
MiqWorker.server_scope to find the number of workers in the database and adds a where clause to select only those that are running or starting.  However, the MiqWorker.server_scope method does not take into account that the worker class may have been subclassed.
This is the case with MiqEventCatcherOpenstack and MiqEventCatherOpenstackInfra.  The MiqEventCatcherOpenstackInfra worker is a subclass of the MiqEventCatcherOpenstack worker.
When the MiqWorker.server_scope method builds the query to find all the MiqEventCatcherOpenstack methods, it includes MiqEventCatcherOpenstackInfra because of standard ActiveRecord STI functionality.
The problem manifests itself by killing running worker subclasses.  For instance, if there is an EmsOpenstackInfra record (and therefore should be a MiqEventCatcherOpenstackInfra worker), but there is not an EmsOpenstack record (and therefore should not be a MiqEventCatcherOpenstack worker). When MiqEventCatcherOpenstack.sync_workers is called (during the normal course
of worker management), it will erroneously detect the MiqEventCatcherOpenstackInfra worker and kill it.
Changing the method to restrict by record type limits the scope to only the worker and excludes the worker's subclasses.

@Fryguy, @jrafanie please review
@tenderlove, @matthewd:  any better railsy way to handle binding to a specific type in a query to avoid STI pulling in subclasses?

D'oh ... test failures from tests that are relying on the exact functionality I'm trying to change.  I'm guessing that those tests were setup like that simply out of convenience and not because there's other functionality in the system that depends on this.
I'll fix those tests and see how far it gets locally...

@blomquisg Stupid question.  Why did we not rename MiqEventCatcherOpenstack to MiqEventCatcherOpenstackCloud so that it better matches MiqEventCatcherOpenstackInfra?
@matthewd Will this kind of stuff be addressed or easier to manage with the Pluggable Provider work you are doing?

@tenderlove, @matthewd: any better railsy way to handle binding to a specific type in a query to avoid STI pulling in subclasses?

not that I know of. I'd write the same code.

@tenderlove, @matthewd: any better railsy way to handle binding to a specific type in a query to avoid STI pulling in subclasses?

not that I know of. I'd write the same code.

@tenderlove, @matthewd: any better railsy way to handle binding to a specific type in a query to avoid STI pulling in subclasses?

not that I know of. I'd write the same code.

This specific approach isn't going to work.  The MiqQueue.get method depends on the MiqWorker.server_scope method to return all subclasses and not be restricted to the current worker class.
I'm moving to adding a separate scoping method that can be used in conjunction with server_scope.  Oh!     @Ladas has an open PR to start adopting the Provider -> Ems relationship for OpenStack.
I think I wanna wait until we get that in and maybe even until after @matthewd's work with renaming the entire world.  Then, we can reformat the OpenStack legacy stuff as OpenStack cloud (and probably legitimately introduce OpenStack common instead of having OpenStackInfra inherit from OpenStack in some places).

@Fryguy and @jrafanie
Rebased with some renaming and limiting the scope of the new, uh, scope...  Take a peek and lemme know what you think.

and probably legitimately introduce OpenStack common instead of having OpenStackInfra inherit from OpenStack in some places

+1

Something still seems off about this.  Can we chat tomorrow?

@blomquisg @Fryguy I am starting to think that abstracting the common stuff to a module and just not inheriting from worker classes will be easier. ( we will just document the fact :-) )

@ladas, yeah ... that's a fast track to get the openstack infra events working.  Can you put in that PR?  Should be quick, I think.
There is still a larger problem around subclassing that exists here.  I don't think we should close this PR until we figure that out.

@blomquisg Oook :-)
I plan to tackle the events after I finish the fleecing.

Bump.  @blomquisg let's discuss this one.

@Fryguy: actually .. let's close this and make an issue for it ... this was more of a band-aide.  I think you were seeing larger problems here.


Audio: Design a growling sound for the appearing boss and sidechain into the music

Doesn't sound too great either, better keep this in a separate example, just for the sake of covering sidechaining


The design of ShutdownListener and WrapUpListener

For code example:
func main() {
	w1 := proc.AddShutdownListener(func() {
		fmt.Println("stop db")
	})
	defer w1()

	w2 := proc.AddShutdownListener(func() {
		// graceful time gap for handilg remaining requests
		time.Sleep(time.Second)
		fmt.Println("stop svc")
	})
	w2()
}

the purpose maybe stop svc first, then db.
So, why can we using FILO when stop and do not using goroutine?
https://github.com/zeromicro/go-zero/blob/448029aa4b76a5d4c0fea8095ae766003549e73e/core/proc/shutdown.go#L87
And for most case, when all WrapUp notify done, the process exist, maybe there's no opportunity to run Shutdown related notify. Shall we provide a signal to mark both has been done?

FILO is working like defer in Go.
shutdown listeners are called in the latest version.

In practice, the close order maybe svc --- mq --- db --- log.

In practice, the close order maybe svc --- mq --- db --- log. For go-zero, when svc killed with graceful, the process exist, but the mq, db, log may still has some data to flush.

It's user's responsibility to make sure the shutdown callbacks being called before exit.
like calling w1() and w2() at the end of main function.


Top level await is problematic

There is a top level await here: https://github.com/ethereumjs/rustbn-wasm/blob/master/src.ts/rustbn.ts#L159
This top level await is probematic. For build tools like vite and rollup it requires a special top level await plugin to be used correctly. For next.js with app router it throws a very confusing error

A simple solution is to just wrap this await in a class
class RustBn {
   ready() {
      return true if instanciated
   }
   constructor() {
      // instanciate async here
   }
}

There might be better solutions for dealing with this with wasm that I'm unaware of.
Not wrapping it is a breaking change and would require changes to ethereumjs uses of this too. Would be nice if we could remove the top level await without breaking change

Looked more into this and it is possible to instanciate the wasm module syncronously. But it's generally not ideal because it would make it impossible to use this library on the main thread in the browser as it would block the main thread with an expensive wasm compile.


Anticipate bump of Clamav to 1.3.1-r0 that will come with next Alpine release 3.21 in November

Hello !
Based on their release cycle, Alpine will release the edge branch into 3.21 in November.
Edge branch bump clamav from 1.2.2-r0 to 1.3.1-r0
I don't have the skills to do it myself, but It would be nice if someone could test there is no regression in clamav-rest with clamav 1.3.1-r0 before then :)

After bumping to alpine 3.21 (it initially broke the build), it installs clamav 1.4.1, have successfully tested the functionality, and the PR #62 produces a functioning version (that builds) once reviewed and merged. Although, the security issue if you send multiple files to the /scan endpoint and the first file is clean, a 200 OK will always be returned, regardless of the status of the files following the first, is still there. #50 fixes that but is still awaiting review by @davosian.


feat: try to rename first to preserve metadata

Checklist

[x] Used only camelCase variable names.
[x] If functionality is added or modified, also made respective changes to the
readme.
[x] Used conventional commits keywords.

The current code uses vim.loop.fs_copyfile() instead of vim.loop.fs_rename(). This has some issues:

Files can lose metadata, such as file modification dates.
Moving large binary files will incur a cost.

This code just tries vim.loop.fs_rename() first, and falls back to vim.loop.fs_copyfile() if it doesn't work.

LGTM, thanks!


[1.18.2] framed drawers' custom texture reverts to framed texture the next time the game is opened

Functional Storage ver: 1.1.4
I used Ecologics coconut log & planks for the framed drawers. It was fine yesterday when I placed everything, but when I come back today the textures disappear. I'm able to destroy and replace to fix the textures, to test I quickly quit the game and come back and it does stay...so idk if the difference is I just went to main menu while I quit the whole game last time.

If its worth mentioning, when I first set in it seemed like some of them kept their custom texture, only to revert to framed when I broke one a couple blocks away..could of just been loading the reversal.

it seemed to fix itself if I just quit the whole game again

it seems to fix itself after quiting the game & coming back, so I guess it was just some hiccup.


1623 add i18n for administration

Short description
As I expect this to lead to discussions, this is only an inital PR to discuss the prefered solution before putting a lot of effort into implementation
Proposed changes

Added i18n to administration
Applied it only to one file, just to show how it will be applied

To be discussed / implemented:

change the application data from being handled and saved as json to proper objects and database columns

Side effects

May break everything especially things releated to applications

Testing

tdb
Resolved issues

Please let me know if you are happy with the i18n approach, it is mostly what is recommended in the docs, but changed the handling of translation files to not be fetched by the BackendHandler.
Please let me know, if I can proceed with the backend refactoring.
Fixes: #1623

For the applications i would store the i18n labels in the json structure and resolve them in the frontend instead of saving the particular values (as it is now). i don't see the whole database redesign in this verein360 project to be honest even it will be a bit ugly to reconstruct the application data json after receiving the data from the verein360 endpoint. I think we then need proper tests for this reconstructing function.
I think we may extract the personal data (that will be more or less the same for all projects) at a later point and only store application depending data in the json format if we also want to maintain and store user data for long term.
Its even not sure if frankfurt will come and at the moment its not clear if we then need additional functionality which can not be provided with the current (json) solution.
The initial i18n implementation looks fine to me

Thanks for your feedback.
@steffenkleinle

Is there any reason you did not stick to the format/structure we use in integreat, i.e. using one file to store translations for all languages? That way, we could reuse existing tools and scripts and therefore our whole translation process.

Valid question. I thought about this, too and decided to stick to the solutions described in the documentation rather then to the integreat solution. The reasons for this is the integreat solution is a lot complexer, e.g. needing functions to merge the language documents into one translation file. This makes sense for integreat where we have this whole import / export translations logic, but not really for entitlement card furthermore the out of the box functionality of i18next is absolutely sufficient for the use cases of the entitlementcard and needs no enhancements like we use in integreat.

One other question: Do you know why it is not necessary anymore to wrap the app in a I18nProvider or similar? Is that just an unnecessary thing we do in Integreat or it became obsolete with some update in the past?

The I18nextProvider does take an i18next instance and passes that down using contexts. As we do not consume the translations for context, but by using the useTranslation() hook, it is not needed. I am not quite sure, if we still have occurences in Integreat where we use translations from context, if not, it should be save to delete this Provider.

Looks good. One finding telephone label is missing in translations file

Thanks for testing. Please approve if only small things needs fixing. Also maybe you do not want to publish your adress on github?


Increase default r_pts

I think we should increase the default r_pts from 10. E.g.
import pybamm
import numpy as np

model = pybamm.lithium_ion.DFN()

chemistry = pybamm.parameter_sets.Ecker2015
parameter_values = pybamm.ParameterValues(chemistry=chemistry)

var = pybamm.standard_spatial_vars
npts = [10, 20, 25, 30, 40, 50]

solver = pybamm.CasadiSolver(mode="fast")
t_eval = np.linspace(0, 3800, 200)

sols = []
for N in npts:
    var_pts = {var.x_n: 20, var.x_s: 20, var.x_p: 20, var.r_n: N, var.r_p: N}
    sim = pybamm.Simulation(
        model, solver=solver, parameter_values=parameter_values, var_pts=var_pts
    )
    sol = sim.solve(t_eval=t_eval)
    print("N={}: {} s".format(N, sol.solve_time))
    sols.append(sol)

pybamm.dynamic_plot(sols, ["Terminal voltage [V]"], time_unit="seconds", labels=npts)

gives
N=10: 0.15861007800413063 s
N=20: 0.235911022995424 s
N=25: 0.29073380999761866 s
N=30: 0.31032642299396684 s
N=40: 0.4951283990012598 s
N=50: 0.5220356229983736 s

My vote would be somewhere between 20 and 30

Wow, that is bad. Definitely at least 30 required.


[management] config

Add a config for management purposes. Lots of goodies here:

new config file
eliminate direct dependence on secure storage
cleanup some code here and there
unify everything to leverage the config

:umbrella: The latest upstream changes (presumably d7cb8c02b52422a4c6475048c5ebbd778d4605f9) made this pull request unmergeable. Please resolve the merge conflicts.

@bors-libra r=gregnazario

:pushpin: Commit 9b0c059 has been approved by gregnazario

:hourglass: Testing commit 9b0c05927add506dbbb97cb5866b8e0577793ed7 with merge 21e79de51d66503b8b7bcc00201aff736137b4a5...

:broken_heart: Test failed - checks-circle_commit_workflow

@bors-libra r=gregnazario

:pushpin: Commit 0a70609 has been approved by gregnazario

:hourglass: Testing commit 0a70609add2cbd146ea74083b3643bdab5febd04 with merge 8a0822a4ec3d276b036c39150ab23544fe1fbbdc...

:broken_heart: Test failed - checks-circle_commit_workflow

@bors-libra retry

:hourglass: Testing commit 0a70609add2cbd146ea74083b3643bdab5febd04 with merge b55f8cf08b5a468f442332aafc34c4c80e7c667f...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: gregnazario
Pushing b55f8cf08b5a468f442332aafc34c4c80e7c667f to master...


Fix broken links in docs

Fixes #97
Fixes a broken link to pointer_id, and removes a link to set_callbacks that doesn't exist (not here nor in history, any idea what it should have pointed to?).
It doesn't seem like internal links are used anywhere else in the documentation... Perhaps we should go in and add [] around all inline code blocks referring to some type/function to make that link official?
For other improvements, how about using #[doc(alias = "ANative...")] on all safe wrapper functions to make them searchable by their native variant?

I assume it should be data_callback

Yup, added proper doc links for that in #108. Couldn't resist and ended up converting the whole file over, it's pretty relaxing. Don't want to spend a whole bunch of time clearing up every other file though, feel free to make a tracking issue covering the rest and #[doc(alias)] suggestion :slightly_smiling_face: .

I assume it should be data_callback

Yup, added proper doc links for that in #108. Couldn't resist and ended up converting the whole file over, it's pretty relaxing. Don't want to spend a whole bunch of time clearing up every other file though, feel free to make a tracking issue covering the rest and #[doc(alias)] suggestion :slightly_smiling_face: .


Filter parse of fluentd failed to remove additional escaped character added by fluentbit forward protocol.

Check CONTRIBUTING guideline first and here is the list to help us investigate the problem.
fluentd or td-agent version.
td-agent-bit-0.13.3-1.x86_64 ( Fluent Bit v0.13.3 )
td-agent-3.2.0-0.el7.x86_64
Environment information, e.g. OS.
Cent OS 7
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-327.13.1.el7.x86_64
Architecture: x86-64
Your configuration
< source > // source
@ type forward
bind <IP_ADDRESS>
port 24224
@ id input_forward
tag media
< /source > // end of source
< filter media.** > // filter media
@ type parser
format json
key_name Message
remove_key_name_field true
tag filtered
< parse>
@ type json
< /parse>
hash_value_field Result
< /filter > // end of filter
< match filtered > // match media
@ type stdout
< /match > // end of match media
-- Filters and plugins:
application side: integrate two plugins:
fluentbit -intput--> lib
fluentbit output--> forward protocol
Fluentd side
input --> in-forward
parse--> filter parser
output--> stdout
Your problem explanation. If you have an error logs, write it together.
the message sending by fluent-bit via forward protocol includes the escaped string, which is mandate for JSON syntax. the filter parser couldn't remove these escaped string and convert to original string. more backslash was added in the final output.
Following is the output ofthe td-agent log regarding of filter parser initialization.
2018-07-20 14:37:19 -0400 [warn]: parameter 'tag' in
@ type forward
bind "<IP_ADDRESS>"
port 24224
@ id input_forward
tag Powermedia
is not used.
2018-07-20 14:37:19 -0400 [warn]: parameter 'format' in <filter Powermedia.**>
@ type parser
format json
key_name "Message"
remove_key_name_field true
tag filtered
hash_value_field "Result"
< parse >
@ type "json"
< /parse >
is not used.
2018-07-20 14:37:19 -0400 [warn]: parameter 'tag' in <filter Powermedia.**>
@ type parser
format json
key_name "Message"
remove_key_name_field true
tag filtered
hash_value_field "Result"
< parse>
@ type "json"
< /parse>
is not used.
2018-07-20 14:37:44 -0400 [trace]: #0 [input_forward] connected fluent socket addr="<IP_ADDRESS>" port=46210
2018-07-20 14:37:44 -0400 [trace]: #0 [input_forward] accepted fluent socket addr="<IP_ADDRESS>" port=46210
101 2018-07-20 14:37:44 -0400 [warn]: #0 dump an error event: error_class=Fluent::Plugin::Parser::ParserError error="pattern not match with data '{"Content"=>"CdrCtrlChannelClient::onResponse() data : {\n\t\"cdrFileDuration\" : 1,\n\t\"activeCdrAge\" : 1, \n\t\"maxCdrDiskSpace\" : 4096\n}"}'" location=nil tag="Powermedia" time=1532111861.061555 record={"Timestamp"=>"2018-07-20 14:37:41.061551", "Host"=>"xms.dialogic.com", "Module"=>"CdrServer", "LogLevel"=>"DEBUG ", "context"=>"Context = ", "Message"=>{"Content"=>"CdrCtrlChannelClient::onResponse() data : {\n\t"cdrFileDuration" : 1,\n\t"activeCdrAge" : 1,\n\t"maxCdrDiskSpace" : 4096\n}"}}
2018-07-20 14:37:44 -0400 [trace]: #0 no patterns matched tag="Powermedia"
input string after input-forward of fluentd
"Message":{"Content": "2018-07-20 14:37:41.061518 DEBUG CdrCtrlChannelClient::onResponse() location : "/services/cdrserver/config"
2018-07-20 14:37:41.061545 DEBUG CdrCtrlChannelClient::onResponse() data : {
"cdrFileDuration" : 1,
"activeCdrAge" : 1,
"maxCdrDiskSpace" : 4096
}}
Expected behavior
the final output after filter parser should look like following, without escaped string anymore.
2018-07-20 14:37:41.061518 DEBUG CdrCtrlChannelClient::onResponse() location : "/services/cdrserver/config"
2018-07-20 14:37:41.061545 DEBUG CdrCtrlChannelClient::onResponse() data : {
"cdrFileDuration" : 1,
"activeCdrAge" : 1,
"maxCdrDiskSpace" : 4096
}
[Note: escaped character "" should be removed.]

Check the following line in your debug log:

101 2018-07-20 14:37:44 -0400 [warn]: #0 dump an error event: error_class=Fluent::Plugin::Parser::ParserError error="pattern not match with data '{"Content"=>"CdrCtrlChannelClient::onResponse() data : {\n\t"cdrFileDuration" : 1,\n\t"activeCdrAge" : 1, \n\t"maxCdrDiskSpace" : 4096\n}"}'"

This line basically states that the Message field contains a string
that cannot be intepreted as JSON. You can also see the exact data
that was passed to Fluentd in the line:
'{"Content"=>"CdrCtrlChannelClient::onResponse() data : {\n\t\"cdrFileDuration\":
1,\n\t\"activeCdrAge\" : 1, \n\t\"maxCdrDiskSpace\" : 4096\n}"}'

As you can see, it's not a proper JSON string (deliminated by =>, not :).
So my guess is that your input data has been mangled somehow (possibly
before transferred to Fluentd), and you first need to make sure that the
Message field of each record contains a valid JSON string.


Visual studio Remote SSH and Alpine

Based on link here VScode has issues with Alpine images and this means none of optimized dev images will work with it.
Would it be possible to add required vs libraries to optimized images?

👋 hey @saberistic probably "no". I think generally the goal here is to have some good starting point images, not to build/maintain images for all versions/platforms/situations.
That said, you can easily use your own image of course! Something like the following would probably work (I dont know for sure, I dont use vscode):
FROM debian:bullseye

RUN set -x && apt-get update -y && DEBIAN_FRONTEND=noninteractive apt-get install -y \
    ca-certificates vim && \
    rm -rf /var/lib/apt/lists/*

WORKDIR /app

There really isn't a lot more to the base container images than the above depending on your language/tools of choice.

Hey @carlmontanari Thanks for quick reply.
Right, we relied on our own image for having VSCode work. I was just hopping to get the benefits of optimized images alongside VSCode compatibility. It's understandable if this is out of scope of work here.