Unexpected making connection time cost during high concurrency.

Our company did some load tests on a service implement by finatra. And we found some strange issue. Our restful service use nginx as a reverse-proxy, and nginx's access log show that the $upstream_connect_time of some requests were nearly 1 second, but the real process time is hundreds milliseconds. Here is nginx log example(1.001 is $upstream_connect_time, 1.303 is $request_time and $upstream_response_time):
<IP_ADDRESS>|-|29/Dec/2016:19:08:47 +0800|GET /teacher/search?q=Zachary HTTP/1.1|200|2699|-|Go-http-client/1.1|-|1.303|1.303|<IP_ADDRESS>:8888|1.001

And I reproduce the problem using a simple use case:
@Singleton
class LoadController extends Controller with Logging {
  val ret = """{"timeout":false,"took":3}"""
  val pool = FuturePools.unboundedPool("RequestPool")
  get ("/teacher/search") { req: Request =>
    pool {
      info("req received.")
      Thread.sleep(300)
      response.ok(ret)
    }
  }
}

I reproduce it under 2.1.6 and 2.7.0. Mostly requests as expected, but some spent nearly 1 second to make a connection.
Our controller use a unbounded pool to work with some blocked method. I use a Thread.sleep to simulate this. The qps is 1600, and few cpu usage. So I don't think it have reached the performance limit.
I'm not familiar with finagle. So is there anything to optimize this?

Using Thread.sleep is an anti-pattern in evented systems like Finagle/Netty. Here's more information about it: https://finagle.github.io/blog/2016/09/01/block-party/
To change your test you can use Future.sleep instead.

Hi, @kevinoliver I change the test case to:
@Singleton
class LoadController extends Controller with Logging {
  val ret = """{"timeout":false,"took":3}"""
  val pool = FuturePools.unboundedPool("RequestPool")
  get ("/teacher/search") { req: Request =>
    pool {
      info("req received.")
      Future.sleep(300 milliseconds)
    }
  }
}

But it still have some requests spent nearly 1s to make connections. Even the amount is very few(784/1,000,000), but the cpu usage is very low. That's not make sense. I suppose finagle dealing with network connections and processing callbacks with the same event loop? So if more and more high level future callback event emit, there is a chance low level network event would be delayed?
In our real scenarios, we encapsulate the blocking operation(such as db/elasticsearch requests) in Scala Promise/Future. The logical layer using Await to control timeout and wait for future composition done. And finatra's controller work with our blocking logical layer through a FuturePool.unboundedPool.
Speaking to Future, lots of 3rd scala library using the official future. Even if finatra 2.7 support scala future by converting it to twitter future, it is painful to mix two kind of future in the same project. So since scala future is the officially implement, does twitter have any plan to use scala future instead of twitter future in the future?

possibly an unrelated question but how does your upstream proxy configuration look like? do you have HTTP 1.1 enabled and keepalive configured ?

The logical layer using Await to control timeout and wait for future composition done

sounds like you may have other explicit blocking happening on the event threads. what do your metrics for scheduler/blocking_ms show? there may also be implicit blocking happening that isn't measured in that metric. best way to look for that might be to look at some stack traces when you are running your test (see /admin/threads)

So since scala future is the officially implement, does twitter have any plan to use scala future instead of twitter future in the future?

no plans for this. over time, scala's future implementation has gotten closer to what ours has which is great. i believe there is still functionality missing around interruptions.

@odinliu You can find more information on the differences between Scala and Twitter futures and why Twitter futures exist here.


Adding IXS A1

Hi, any chance we can add the IXS A1 in the YANG browser too ?
Thanks,
Bastien

should be possible, indeed. Maybe starting with 25.3


What is the recommended way of deploying a Sparkjava app?

The docs don't talk much about what a deployment environment would look like, except for this. How would I, for example, go about deploying a Sparkjava app on a classic on premise Ubuntu server? Do I need an Application Server? Do I copy an uber jar to the server and write systemd unit file?

Just create a jar with dependencies and run it as any other jar (java -jar file). There is a tutorial on the web page for deploying to Heroku.

This? I don't know how this applies to people not deploying on Heroku.

It's the same procedure more or less anywhere. Just build a fat jar and run it.

Either you run it as java -jar myServer.jar or you can setup spark to run on something like a Tomcat server if you setup a tomcat server you can also setup gradle/maven to build the project as a war. Its even possible to configure both if you want to run a local and deployment based versions,

So do you ssh into your server, java -jar myApp.jar, and hope that the ssh connection doesn't crash? That the app doesn't crash and doesn't need to be restarted?

@p-h I think the question is more deployment environment than Spark specific. If you deploy as a runnable JAR, you should write a service wrapper (quick googling turned up for example this: https://dzone.com/articles/run-your-java-application-as-a-service-on-ubuntu). I guess daemontools and/or supervise would also be worth looking into.

@jakaarl Thank you, that's what I was looking for. 👍

gg


Feature Request: Option to close debug panel on success

I use a debug configuration to run my mocha tests. This is my current configuration in my .vscode/launch.json:
{
    // Use IntelliSense to learn about possible Node.js debug attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Mocha Tests",
            "program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
            "args": [
                "-u",
                "tdd",
                "--timeout",
                "999999",
                "--colors",
                "${workspaceRoot}/test/**/*.spec.js"
            ],
            "internalConsoleOptions": "openOnSessionStart"
        }
    ]
}

When I run the Mocha Tests, the debug panel always remains open even if all the tests succeed. I'd like it to automatically close the panel when all tests succeed (on 0 exit code) maybe even after n seconds. I envision a new config:
{
    // Use IntelliSense to learn about possible Node.js debug attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Mocha Tests",
            "program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
            "args": [
                "-u",
                "tdd",
                "--timeout",
                "999999",
                "--colors",
                "${workspaceRoot}/test/**/*.spec.js"
            ],
            "internalConsoleOptions": "openOnSessionStart",
            "closeConsoleOnSuccess": 5
        }
    ]
}

Where closeConsoleOnSuccess could be a Boolean or a Number for number of seconds (or go with milliseconds) if you don't interact with the panel and it will close when exit code is 0.

We try to do the least amount of automatic ui updates in vscode.
Though let's keep this feature request open and see if more users are asking for it.
An alternative is to introduce a setting similar to debug.openExplorerOnEnd, debug.closeConsoleOnEnd

Same here. Is there any other ways to run mocha tests in vscode?

fix it or close it.

This one I prefer to keep open for now.


SmileLock Integration

I am new in Xcode..  I added pod 'SmileLock' into my pod file successfully. Now How can I implement UI in my Viewcontroller. Please explain in details.

Please give me an ideas to implement!!

How can I implement this? Please give me a sample code in detail

I did not get any answers from author.. Totally disappointed!


Feature request: plugins

It would be great if the app supported updating sbt plugins.

Added support :)

FWIW this doesn't seem to work for me.  Have usual project/plugins.sbt but it didn't notice an upgraded scalajs plugin.


JSON file created by New-GuestConfigurationPolicy can not be imported into Azure policy

In following link (https://learn.microsoft.com/en-us/azure/governance/machine-configuration/how-to-create-policy-definition#publish-the-azure-policy-definition) it instructs to use New-AzPolicyDefinition cmdlet to create Policy Definition based on file generated by New-GuestConfigurationPolicy cmdlet (https://learn.microsoft.com/en-us/azure/governance/machine-configuration/how-to-create-policy-definition#using-parameters-in-custom-machine-configuration-policy-definitions).  Issue is that policy file geneated is not well formed this process will fail with error below.
Set-AzPolicyDefinition: C:\Users\Administrator\Documents\software\update-policydefinition.ps1:2:1
Line |
   2 |  Set-AzPolicyDefinition -ID $policyID -Policy ".\policies\deployifnote …
     |  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | InvalidPolicyRule : Failed to parse policy rule: 'Could not find member 'properties' on object of type 'PolicyRuleDefinition'. Path 'properties'.'. CorrelationId: 8ae5ca9c-b941-4012-a609-930180116d9c

JSON file which is generated by New-GuestConfigurationPolicy contains object called properties and parameter name name while actuall contents of the file shall be contents of properties object.
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 7c48416a-3cf3-b0e6-171e-99263de96a78
Version Independent ID: ff4a3518-acee-b03f-6c1d-e0cb05488fb3
Content: How to create custom machine configuration policy definitions
Content Source: articles/governance/machine-configuration/how-to-create-policy-definition.md
Service: machine-configuration
GitHub Login: @michaeltlombardi
Microsoft Alias: mlombardi

@artisticcheese
Thanks for bringing this to our attention.
I'm going to assign this to the document author so they can take a look at it accordingly.


[QUESTION] Request on location event is a anti-pattern?

Your Environment

Plugin version: 0.5.3
Platform: Android
OS version: 9
Device manufacturer and model: Samsung S8
Running in Simulator: No
React Native version: 0.56
Plugin configuration options:

BackgroundGeolocation.configure({
      startOnBoot: true,
      startForeground: true,
      stopOnTerminate: false,
      notificationTitle: 'Some text',
      desiredAccuracy: BackgroundGeolocation.HIGH_ACCURACY,
      notificationText: '',
      stationaryRadius: 10,
      distanceFilter: 5,
    });

Link to your project:

Context
Currently, i don't use the options.url attribute to do some request with this lib. Instead, i use Location Event, like this:
BackgroundGeolocation.on("location", ({latitude, longitude}) => {
      console.log('[INFO] BackgroundGeoLocation location:', latitude, longitude);
      this.getNearbyClients(latitude, longitude);
    });

This approach have any downsides or create problems? First time using your lib, and my approach is working as expected

I am using the lib like you, the url is not set, but doing some logic in callback function. Processing the location data, updating state variables and sending the coors if needed.
Only one important thing, what do not forget:
BackgroundGeolocation.on('location', (location) => {
  // handle your locations here
  // to perform long running operation on iOS
  // you need to create background task
  BackgroundGeolocation.startTask(taskKey => {
    // execute long running task
    // eg. ajax post location
    // IMPORTANT: task has to be ended by endTask
    BackgroundGeolocation.endTask(taskKey);
  });
});

Currently, we don't support iOS right now.
startTask is iOS only? I can't find anything about this on the README :(
Sometimes, i have the feeling that my app is "freezed" while on background after i put foreground location. Maybe this would help.
Thanks man!


Update code samples in 5.x docs to use const

This update the code samples in 5.x alpha documentation to use the modern keyword const instead of var
Please review @crandmck @dougwilson :)

Seems reasonable to me.
@dougwilson @wesleytodd Do you have an opinion?

Since he made Doug's suggested change, I'm going to merge.
@RamirezAlex sorry for the delay.


SLING-3737 - Instance Sling Identifier may be randomly reset on restart

add unit test to cover the use case
read the file completely using org.apache.commons.io.FileUtils
fix the writeSlingId method not taking the passed identifier into account

Fix has been integrated, closing.


Vcpkg dependency management

Well detailed description of the change :

Added VCPKG manifest file to the project, and setup CMake to be able to include libcurl from vcpkg, as an optional feature.
Presets are also added for building with VCPKG.
Type of change:

[x] New feature

Housekeeping

[ ] Tests have been updated to reflect the changes done within this PR (if applicable).

[x] Documentation has been updated to reflect the changes done within this PR (if applicable).

Preview (Screenshots) :

Thanks for this as well!

You're welcome


Jason support ?

Hi, do you plan to release support ouf thé json1 sqlite extension ?

What is Jason?

There's no json1 extension anymore. From https://www.sqlite.org/json1.html

The JSON functions and operators are built into SQLite by default, as of SQLite version 3.38.0 (2022-02-22). They can be omitted by adding the -DSQLITE_OMIT_JSON compile-time option. Prior to version 3.38.0, the JSON functions were an extension that would only be included in builds if the -DSQLITE_ENABLE_JSON1 compile-time option was included. In other words, the JSON functions went from being opt-in with SQLite version 3.37.2 and earlier to opt-out with SQLite version 3.38.0 and later.

But I understand that you're probably also asking, "will there be first-class support for the json functions". Although I have no plans to implement that functionality, I would welcome contributions, and would gladly assist, if someone wanted to design that API and implement it.


Is the first test case skipped?

When adjusting the tests for #146 I noticed that I almost never needed to adjust the first test case in each test.json but all the others. It almost felt as if the first one was being skipped since it is so unlikely that all other test cases needed slight adjustments but the first one always perfectly matched. Can someone quickly check if everything works as intended there? Could very well be chance as well but just to make sure.

Seemed like chance, just checked.


UMD

Hi Marc,
I want to use your sets of behaviors on a RequireJS project. I added some wrappers. I did test on a CommonJS project and it looks like it is working also for a RequireJS project.
Is is still WIP because lines 6 to 8 (on lib/index.js) doesn't make sense at all. I am wondering if you could give me a hand to fix this to avoid put hard-coded paths.
Let me know what do you think!
Thanks!

You can use ?w=1 to check the diff without whitespace :)
https://github.com/lemieux/marionette.behaviors/pull/4/files?w=1

I was able to use this lib as AMD package with this config:
packages: [
        {
            name: 'marionette-behaviors',
            location: '../bower_components/marionette.behaviors/lib',
            main: 'index'
        }
    ],

Not sure why it doesn't work with the regular path object:
paths: {
        // Bower components
       [...]
        'marionette-behaviors': '../bower_components/marionette.behaviors/lib/index'
}

Oh well, it should be ready to merge now. Please take note of the switch of onShow to onRender for the bootstrapValidator-behavior.

all good?

Yeah, ready to merge if it looks good to you!

version bumped, npm and bower released!


Skeleton for odo delete component command

What type of PR is this:
/kind feature
What does this PR do / why we need it:
This PR creates the common code for issues #5478 and #5479
Which issue(s) this PR fixes:
Fixes partially #5409
PR acceptance criteria:

[ ] Unit test

[ ] Integration test

[ ] Documentation

How to test changes / Special notes to the reviewer:

/lgtm
/approve


[Performance]: Is kv cache implemented globally in vllm， It can be shared by multiple concurrent inferences?

Proposal to improve performance
Is kv cache implemented globally in vllm， It can be shared by multiple concurrent inferences?
if it is not supported yet, is there any plan to support it?
For example, some long prompt words have the same long prefix，whether it can be optimized?
Report of performance regression
No response
Misc discussion on performance
No response
Your current environment (if you think it is necessary)
The output of `python collect_env.py`

Im not sure what you mean by "shared by multiple concurrent inferences"
If you run with --enable-prefix-caching, then vLLM keep around KV tokens in an LRU cache and try to share them across prompts

If there are multiple users sending concurrent requests for inference to the same physical machine, even though the requests come from different users, as long as the inference is being performed on the same physical machine, those requests can share the KVcache if theyhave the same prefix？


Barcode and Face recognition not recognized on some Xiaomi devices

Overview
I can't to scan barcode and recognize face on some Xiaomi devices with google_ml_kit's example app. The Xiamoi devices that can't recognize are as follows:

Redmi Note 10 JE (Android 12)
Redmi 9T (Android 10)

Other android devices and IOS devices can scan barcodes as expected. The same goes for facial recognition.
Steps to Reproduce

Execute flutter run on the code sample
tap "Vision APIs"
tap "Barcode Scanning" or "FaceDetection"
If you tap "Barcode Scanning", hold the barcode over the camera. If you tap "Face Detection", capture your face on the camera.

Expected results:
Barcode scanning and facial recognition results by google_ml_kit should be displayed on the screen.
Actual results:
Nothing responds when you hold up a barcode or your face to the camera.
Code sample
I use example of google_ml_kit, commit hash is 19a31d731eaa890bcde49192f707192f8f39d6b4.

Logs
[✓] Flutter (Channel stable, 3.0.1, on macOS 12.4 21F79 darwin-arm, locale ja-JP)
    • Flutter version 3.0.1 at /Users/genki.takeyoshi/fvm/versions/3.0.1
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision fb57da5f94 (6 weeks ago), 2022-05-19 15:50:29 -0700
    • Engine revision caaafc5604
    • Dart version 2.17.1
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
    • Android SDK at /Users/genki.takeyoshi/Library/Android/sdk
    • Platform android-32, build-tools 32.1.0-rc1
    • ANDROID_HOME = /Users/genki.takeyoshi/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.4.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] VS Code (version 1.68.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.42.0

[✓] Connected device (3 available)
    • M2101K6R (mobile) • 75046e77 • android-arm64  • Android 11 (API 30)
    • macOS (desktop)   • macos    • darwin-arm64   • macOS 12.4 21F79 darwin-arm
    • Chrome (web)      • chrome   • web-javascript • Google Chrome 103.0.5060.53

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

This seems to be related to my comment on issue https://github.com/bharat-biradar/Google-Ml-Kit-plugin/issues/285
It is related to the output coming from the camera plugin.

This sounds related to my issue here: https://github.com/flutter/flutter/issues/118350

Use ImageFormatGroup.nv21 for Android and ImageFormatGroup.bgra8888 for iOS as in this example.
In this comment: https://github.com/flutter-ml/google_ml_kit_flutter/issues/287#issuecomment-1549828057
Someone reported that the native apps are using that for MLKit and when doing the same in Flutter solved the issue for Android. That was merged in this PR https://github.com/flutter-ml/google_ml_kit_flutter/pull/454. Update to the latest plugin version.


Missing required prop / Cannot read properties of undefined. To summarize: problem with useAsyncData/useFetch or with premature rendering

Environment

Operating System: Linux
Node Version:     v16.14.2
Nuxt Version:     3.0.0
Nitro Version:    1.0.0
Package Manager<EMAIL_ADDRESS>Builder:          vite
User Config:      -
Runtime Modules:  -
Build Modules:    -

Reproduction
https://stackblitz.com/edit/nuxt-starter-6ep3af?file=pages/users/[id].vue
Describe the bug
When entering a specific task by directly entering the url, the problem does not occur (domain.com/todos/3).
However, when using nuxt navigation, there is a problem when wanting to go to a specific task from the user's page.

Click on any user
Click on any todo in user page
You will get many errors in the console

This seems like a fairly common case and a basic thing that doesn't work though.
Additional context
No response
Logs
No response

I'm experiencing this issue, pretty similarly but having to do with loading data from Storyblok. I put it as an issue here https://github.com/storyblok/storyblok-nuxt/issues/211#issuecomment-1401957011 on the Storyblok Github.

I am experiencing the same issue, and it seems like there is a similar issue here: https://github.com/nuxt/nuxt/issues/18565

I also see this error in Sentry, but without any data fetching. I think it can happen when an item that is used in a component is deleted from the store. The component somehow still tries to access it, which should not happen, bc according to typescript the object can never be undefined if it is required...

This is now resolved with the latest suspense fixes.


importing-modules python tutorial

Populate using-modules/importing-modules.py with a tutorial and challenge.
Should show ways to import some standard python modules

@funbeedev can I be assigned to this one ?

@sabderemane of course


Game doesn't start on Nexus 9

Version of Boardwalk: 1.0.6

Version of Android: 5.0.1
Device model: Nexus 9
Description of the problem: Error

Giving a more descriptive title may help, such as 'Game doesn't open on Nexus 9'.

duplicate of #66


Prepare the ML Model for recognizing water bodies in aerial images.

Description
Prepare a Machine Learning Model for recognizing water bodies in aerial images.
Create the Model Architecture and propose the algorithm, procedure and code for the implementation.
Requirements
Jupyter Notebook or Python script for accessing aerial images from the directories and training & validating the asked model with best accuracy.

I would like to work on this

I would like to work on this

Assigning @ritikchinu

Assigning @ritikchinu

I would like to work on this

do you want some help with this?
@kahanikaar can we make a team for this?

I would like to work on this

do you want some help with this?
@kahanikaar can we make a team for this?

Update @ritikchinu

Update @ritikchinu

@kahanikaar I want to work on this issue.

@kahanikaar I want to work on this issue.

@kahanikaar is this issue still open ?

@kahanikaar is this issue still open ?

Assigning to @kritikaparmar-programmer

Assigning to @kritikaparmar-programmer

Assigning to @kritikaparmar-programmer

I wanted to work on this.

Assigning to @kritikaparmar-programmer

I wanted to work on this.

Assigning to @kritikaparmar-programmer

I wanted to work on this.

Team contributions do not align with the contributing guidelines, I can assign if you plan to work alone.

Assigning to @kritikaparmar-programmer

I wanted to work on this.

Team contributions do not align with the contributing guidelines, I can assign if you plan to work alone.

Assigning to @kritikaparmar-programmer

I wanted to work on this.

Team contributions do not align with the contributing guidelines, Issues can only be assigned if you plan to work alone.

well you assigned it to kritika so I will look for another issue

Assigning to @kritikaparmar-programmer

I wanted to work on this.

Team contributions do not align with the contributing guidelines, Issues can only be assigned if you plan to work alone.

well you assigned it to kritika so I will look for another issue

Assigning to @kritikaparmar-programmer

I wanted to work on this.

Team contributions do not align with the contributing guidelines, Issues can only be assigned if you plan to work alone.

well you assigned it to kritika so I will look for another issue

Sure! Go for it!
All the best!

Assigning to @kritikaparmar-programmer

I wanted to work on this.

Team contributions do not align with the contributing guidelines, Issues can only be assigned if you plan to work alone.

well you assigned it to kritika so I will look for another issue

Sure! Go for it!
All the best!

Update @kritikaparmar-programmer

Assigning to @Cpt-Karthik

Assigning to @Cpt-Karthik

ah Great!

Update @Cpt-Karthik


Add support for a retry timeout

Hello
I'm currently working on a project, which sometimes has a bad connection to the server. Therefore it can happen that the web-socket gets closed. In the current implementation, when the socket is closed, it will not recover anymore, even in case the connection comes back. So what about introducing a timeout, which starts in the moment the socket gets closed because of an error. When the timeout is expired, it tries to reconnect to the socket?
I already did an implementation for that and can provide a PR, if you think that this is a valuable feature.
Best regards

Bump; This would also be useful in my current project. You said you could provide a PR, could you potentially fork and create a PR? This would save me valuable time doing it myself :D

This slipped under my radar, sorry!
Definitely sounds like a very important feature to include. I haven't been using leptos_server_signal recently in any projects, so haven't dedicated time to implementing things like this, but a PR would absolutely be welcomed for this

Here is the PR: https://github.com/tqwewe/leptos_server_signal/pull/19/files


Authoring: No reason to start the GitContinuousUpdater before we successfully cloned the repo.

/cf-test


Hugging Face Notebook Improvements

Description
We received user feedback on the Hugging Face notebook, which we have incorporated. Principally, it involves:

Additional text in the markdown cells
Options to train smaller models on reduced datasets for resource constrained (e.g. cpu only) machines.
Displaying progress bars while training.

This feature branches off the current open PR #2334
Fixes # no current issue is associated.
Type of change
Please check all relevant options.

[x] Improvement (non-breaking)
[ ] Bug fix (non-breaking)
[ ] New feature (non-breaking)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Testing
Please describe the tests that you ran to verify your changes. Consider listing any relevant details of your test configuration.

Current ART CI testing suite.

Test Configuration:

OS: Mac OS
Python version: 3.8
ART version or commit number: ART 1.16
TensorFlow / Keras / PyTorch / MXNet version: TensorFlow 2.10, pytorch: 1.13

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] My changes have been tested using both CPU and GPU devices

Codecov Report

Merging #2338 (9adff85) into dev_1.17.0 (337a15f) will decrease coverage by 22.27%.
Report is 41 commits behind head on dev_1.17.0.
The diff coverage is 61.53%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files

@@               Coverage Diff               @@
##           dev_1.17.0    #2338       +/-   ##
===============================================
- Coverage       85.62%   63.36%   -22.27%
===============================================
  Files             324      324
  Lines           29323    29335       +12
  Branches         5405     5027      -378
===============================================
- Hits            25108    18587     -6521
- Misses           2837     9644     +6807
+ Partials         1378     1104      -274

Files
Coverage Δ

art/estimators/classification/pytorch.py
85.61% <100.00%> (-0.75%)
:arrow_down:

art/estimators/classification/tensorflow.py
63.03% <33.33%> (-19.70%)
:arrow_down:

art/estimators/classification/hugging_face.py
90.59% <0.00%> (-2.39%)
:arrow_down:

... and 128 files with indirect coverage changes


[Netty 5] Project Structure and Artifacts

ee https://gist.github.com/Scottmitch/2ca3950f646c071952b868eb8cad5c56 for more context in general
In general this includes multiple things which are kind of related:

Versioning

We would like to follow SemVer more strictly. The goal is to more
effectively communicate when changes may be necessary to adapt changes, while also allowing us to break APIs more quickly. This may require breaking up the project into individually versioned components.

Namespacing

We would like to propose re-namespacing Netty to avoid ABI compatibility
issues with 4.x. This strategy will be followed when ever there are API breaking changes. In combination with the versioning changes this also provides more justification for breaking the project into individually versioned components.

Independently versioned components

As discussed above we would like to break up Netty into smaller independently versioned artifacts. This will help us evolve the Netty project by reducing the scope of API breaking changes and clarify the support contract of different modules (experimental, internal, not supported by the core team, etc...).

Continuous SNAPSHOTs and nightly HEAD builds/releases?
Merge some modules ?

We would like to investigate how we can more strictly follow SemVer versioning, evolve the project without causing ABI compatibility issues, but also keeping the overhead low for Netty developers/users. While we all agreed that we should aim to do this its not clear yet what exactly needs to be done.
What we agreed on so far is that we want to use different name spacing for the next major version of Netty (just as we did between 3.x and 4.x). This will also allow users to use different Netty versions at the same time which is the only way how an upgrade can be done step by step.
Beside this we want to investigate what modules we may be able to merge, but will do so with care to avoid over consolidation of independent modules. We would also like to move some existing code into a community supported or “incubating state” due to its current lack of support. Separation of the project will allow us to clarify the SLA for each module, and promote modules after they are stable and have reliable maintainers.

fwiw i get a 404 for the link above: https://gist.github.com/Scottmitch/2ca3950f646c071952b868eb8cad5c56

A few ideas:

My impression is that we need a switch to a better build tool to make all these proposed changes happen without pain.
To make independent versioning work, we need to provide a BOM. However, our users may still have hard time figuring out what's going on once version conflict occurs.

We'll need a BOM regardless we introduce independent versioning anyway because it's useful.


Set muscle excitations

Describe the bug
During a simulation in sconpy, I try to set the excitation of a single muscle in order to make it contract. However, when I set the excitation, it just seems to vanish (nothing happens), and I can't see this value in any of the muscle excitation array / muscle activation array / muscle excitation / muscle activatoin / actuator input, even if I advance the simulation about a timestep. On the other hand, setting excitations using the set_actuator_inputs() does work.
To Reproduce
Steps to reproduce the behavior:

load the model: model: model  = sconepy.load_model('data/H0918_osim4.scone')
reset model to initial state: model.reset() [as in sconepy_example.py]
Initialize the model: model.init_state_from_dofs() [as in sconepy_example.py]
set excitation to single muscle: model.muscles()[0].set_excitation(1)
call model.muscles()[0].excitation() --> will return zero
call model.muscle_excitation_array() --> will also return zeros

Expected behavior
When I set the muscle excitation for one / more muscles, I would expect to get that value returned when I call .excitation(), and to observe the activation of that muscle during the following timesteps.
Desktop (please complete the following information):

Windows 10
SCONE Version <IP_ADDRESS>21

Thank you for reporting this. The Muscle.set_excitation() function is from a previous iteration and is no longer supported because of performance issues. Instead, you should set the inputs for all actuators simultaneously using the model.set_actuator_inputs() function. If you only wish to excite a single muscle, simply set the other values to zero.
Muscle.set_excitation() will be removed in the next release to avoid confusion. Sorry for the inconvenience.


Building dscord dub, dirSeparator not found

......\AppData\Roaming\dub\packages\dscord-0.0.9\dscord\src\dscord\util\storage.d(6,8): Error: module std.file import 'dirSeparator' not found

exact commands in the order they were typed:
dub fetch dscord
dub build dscord
I am new to the D language, and only just found Dub after finding your project. My only education of Dub comes from their in-line help. Thanks for any help guys, hope this is helpful.

Can you grab the DMD version by running dmd --version?

@b1naryth1ef sure man:

oops lol

Try building off the master version of this repo, you can do this by adjusting the version in the dub.json file to:
"dscord": "~master"

I have yet to cut a release with the latest changes, but I'll work on doing that soon.

@b1naryth1ef I'm just going to go make a dual-boot with Grub and Antergos, then afterwards I'll make the attempt. Can't wait to use the lib man, thanks.

@b1naryth1ef sorry for really long response delay. After changing the file dub.json to use master, as you proposed, I still get the following error.
D:\Projects\atomic>dub run

## Warning for package libasync, configuration 32mscoff ##

The following compiler flags have been specified in the package description
file. They are handled by DUB and direct use in packages is discouraged.
Alternatively, you can set the DFLAGS environment variable to pass custom flags
to the compiler, or use one of the suggestions below:

-m32mscoff: Use --arch=x86/--arch=x86_64/--arch=x86_mscoff to specify the target architecture

## Warning for package libasync, configuration 32mscoff ##

The following compiler flags have been specified in the package description
file. They are handled by DUB and direct use in packages is discouraged.
Alternatively, you can set the DFLAGS environment variable to pass custom flags
to the compiler, or use one of the suggestions below:

-m32mscoff: Use --arch=x86/--arch=x86_64/--arch=x86_mscoff to specify the target architecture

WARNING: A deprecated branch based version specification is used for the dependency dscord. Please use numbered versions instead. Also note that you can still use the dub.selections.json file to override a certain dependency to use a branch instead.
Selected package dscord 0.0.9 does not match the dependency specification ~master in package atomic. Need to "dub upgrade"?
Performing "debug" build using dmd for x86.
opus 0.0.2: target for configuration "library" is up to date.
dcad 0.0.9: target for configuration "library" is up to date.
shaker 0.0.8: target for configuration "" is up to date.
vibe-d:utils 0.7.30: target for configuration "library" is up to date.
vibe-d:data 0.7.30: target for configuration "library" is up to date.
vibe-d:core 0.7.30: target for configuration "libevent" is up to date.
diet-ng 1.2.0: target for configuration "library" is up to date.
vibe-d:http 0.7.30: target for configuration "library" is up to date.
vibe-d:diet 0.7.30: target for configuration "library" is up to date.
vibe-d:mail 0.7.30: target for configuration "library" is up to date.
vibe-d:mongodb 0.7.30: target for configuration "library" is up to date.
vibe-d:redis 0.7.30: target for configuration "library" is up to date.
vibe-d:web 0.7.30: target for configuration "library" is up to date.
vibe-d 0.7.30: target for configuration "libevent" is up to date.
dscord 0.0.9: building configuration ""...
C:\Users\Stephanie\AppData\Roaming\dub\packages\vibe-d-0.7.30\vibe-d\source\vibe\http\server.d(282,33): Deprecation: alias diet.traits.FilterCallback is deprecated - Use SafeFilterCallback instead.
C:\Users\Stephanie\AppData\Roaming\dub\packages\dscord-0.0.9\dscord\src\dscord\util\storage.d(6,8): Error: module std.file import 'dirSeparator' not found
dmd failed with exit code 1.

Note: this is as bare-bones as any project could be, and your library is it's only dependency.

I have this same issue when building dscord.
.dub/packages/dscord-0.0.9/dscord/src/dscord/util/storage.d(6,8): Error: module std.file import 'dirSeparator' not found

I just pushed v0.010 which should have the correct import path, please dub upgrade and try building off that.

Not sure if this is an issue on my part, but now I get this.
Performing "debug" build using dmd for x86_64.
dscord 0.0.10: building configuration "dscord-linux-static-x64"...
Error: Error reading file '../../usr/lib/x86_64-linux-gnu/libsodium.a'
dmd failed with exit code 1.

Built correctly on Windows. I'm probably just doing something wrong on Linux.

Closing this because its stale, but just for those who may stumble upon it in the future:
Versions of dscord prior to v1.0.0 had a builtin implementation of voice which required libsodium (provided via another lib of mine shaker). Ignoring the reasons why building shaker can be filled with pain, I decided to rip this out in v1 to reduce the maintenance footprint and potentially make space for including support around something like telecom.
All that to say this should no longer be an issue.


Fix circular links

https://github.com/rancher/rancher/issues/1851
https://github.com/rancher/rancher/issues/2394


chore: part 1 fixing MacOS case-insensitive mess

Deleting smdk directory in single commit
part 2 will re-add directory with correct casing
Adding ability to skip CI checks for merge

bors r+

bors r+

bors r+


The official Windows builds are much slower than the static Clang builds

Release builds for Windows are much slower than static Clang builds, especially for fast speeds
ProcProfile64:
clang v0.9.0 [cjxl e1 lossless]
119,771,153 -> 52,094,805: 43.49%. Cpu 349 mb/s (0.327 sec), real 318 mb/s (0.359 sec) = 91%. ram 401144 KB, vmem 569556 KB
git build v0.8.1 [cjxl e1 lossless]
119,771,153 -> 51,493,245: 42.99%. Cpu 78 mb/s (1.453 sec), real 78 mb/s (1.452 sec) = 100%. ram 402340 KB, vmem 569940 KB

I noticed this too. Binaries produced from MSVC are a lot slower than clang build. Also, clang 16 builds are faster than clang 15.

Can you check if this is still the case with version 10.1? We reduced the number of allocations, which could explain some of those speed differences.

There are a little bit of differences in higher efforts, but lower efforts are more pronounced, but probably fast enough to not be noticed.
https://0x0.st/H7us.txt

There are a little bit of differences in higher efforts, but lower efforts are more pronounced, but probably fast enough to not be noticed.
0x0.st/H7us.txt

Would you be able to verify whether the build artefacts in https://github.com/libjxl/libjxl/actions/runs/8146246627 solve the issue?

v0.10.1 release and Github artifacts binaries comparison
bench_github.txt
Clang-cl build is faster at e1, but then is slightly slower and sometimes slightly faster. Maybe there are some commits that slowed it down.
I compared my local MSVC and Clang-Cl build with the same commit, and the result is consistent, with Clang-Cl being faster.
bench_local.txt
Default build, no additional compiler flags, just -DCMAKE_BUILD_TYPE=Release

Intel Core i5-7200U

There are a little bit of differences in higher efforts, but lower efforts are more pronounced, but probably fast enough to not be noticed.
0x0.st/H7us.txt

Would you be able to verify whether the build artefacts in https://github.com/libjxl/libjxl/actions/runs/8146246627 solve the issue?

Looking at the configure step of the Github actions, it seems like it was still being compiled by MSVC, not Clang-Cl. That explains this discrepancy.

Clang-cl build is faster at e1, but then is slightly slower and sometimes slightly faster. Maybe there are some commits that slowed it down.
https://github.com/libjxl/libjxl/actions/runs/8146246627/job/22264345808


Honor completion-category-defaults and completion-category-overrides

This is how the minibuffer normally filters candidates.
It looks like the partial-completion doesn't work with Selectrum, but if some day that gets fixed, it would be useful to choose a special completion style for files. Another possible interesting case would be the consult-location category, where I personally would like to use a "semi-flex" style that basically replaces spaces by .*?
Now, with that said, I would like to embed a basic Emacs question here: isn't it a bit strange/inflexible that the minibuffer merges completion-styles with the styles stipulated in completion-category-defauts/overrides (cf. completion--styles function)? I think it be useful if the merging didn't happen when the appropriate styles entry of completion-category-overrides ends with nil.

I am also using the same function in Consult, see https://github.com/minad/consult/blob/10f0f612799590cc2a6abc1eee7f5c3bd320a5aa/consult.el#L3022. I should also change it there if this is merged.
@astoff What is the exact effect of this change?

I am also using the same function in Consult, see https://github.com/minad/consult/blob/10f0f612799590cc2a6abc1eee7f5c3bd320a5aa/consult.el#L3022. I should also change it there if this is merged.
@astoff What is the exact effect of this change?

@minad I think you undestood now what it does. But for the sake of others:
The minibuffer normally chooses the active completion styles from the completion-styles variable, but this can be changed, on a per-category basis, by the completion-category-defaults and -overrides variable. The proposed change just makes Selectrum work the same way.

And I am also not supporting this in Consult

Following exactly the existing system would seem reasonable to me :-). I think consult-lines is one place where one might potentially want a filtering style different than the default.

orderless won't be used for the buffer, unicode-name, project-file and info-menu categories

You are saying this because those categories have entries in completion-category-defaults, right? But that's the thing: contrary to what the documentation may make you think, those styles are used in addition to completion-styles.
Anyway, we should definitely see what our minibuffer expert says.

@minad I think you undestood now what it does. But for the sake of others:
The minibuffer normally chooses the active completion styles from the completion-styles variable, but this can be changed, on a per-category basis, by the completion-category-defaults and -overrides variable. The proposed change just makes Selectrum work the same way.

And I am also not supporting this in Consult

Following exactly the existing system would seem reasonable to me :-). I think consult-lines is one place where one might potentially want a filtering style different than the default.

orderless won't be used for the buffer, unicode-name, project-file and info-menu categories

You are saying this because those categories have entries in completion-category-defaults, right? But that's the thing: contrary to what the documentation may make you think, those styles are used in addition to completion-styles.
Anyway, we should definitely see what our minibuffer expert says.

As @astoff says, completion-category-overrides is a bit of a misnomer, the styles listed there are used in addition to the styles listed in completion-styles. The reason it is called "overrides", is that the completion styles in that variable are tried first, before the styles in completion-styles. The first completion style to match something wins, so in that sense they do get a chance to "override".
In particular, with orderless, as soon as you have a space in your query you are extremely likely to be matching with orderless instead of one of the overriding styles. Even so, in my personal configuration I not only keep completion-category-overrides at its default value of nil, but I even set completion-category-defaults to nil too. (That last variable is like a default value for completion-category-overrides.)

As @astoff says, completion-category-overrides is a bit of a misnomer, the styles listed there are used in addition to the styles listed in completion-styles. The reason it is called "overrides", is that the completion styles in that variable are tried first, before the styles in completion-styles. The first completion style to match something wins, so in that sense they do get a chance to "override".
In particular, with orderless, as soon as you have a space in your query you are extremely likely to be matching with orderless instead of one of the overriding styles. Even so, in my personal configuration I not only keep completion-category-overrides at its default value of nil, but I even set completion-category-defaults to nil too. (That last variable is like a default value for completion-category-overrides.)

Thanks, @oantolin! I should probably also set completion-category-defaults to nil in my init.el. Nevertheless, I think the change proposed by @astoff here is good since it will align the completion with the default behavior.

Thanks, @oantolin! I should probably also set completion-category-defaults to nil in my init.el. Nevertheless, I think the change proposed by @astoff here is good since it will align the completion with the default behavior.

Thank you all, we also pass the metadata in selectrum-completion-in-region but missed it here.

Thank you all, we also pass the metadata in selectrum-completion-in-region but missed it here.

Nevertheless, I think the change proposed by @astoff here is good since it will align the completion with the default behavior.

I agree! I should have said that in the previous comment.

Maybe also mention completion-category-defaults in the orderless readme?

Sure.

Nevertheless, I think the change proposed by @astoff here is good since it will align the completion with the default behavior.

I agree! I should have said that in the previous comment.

Maybe also mention completion-category-defaults in the orderless readme?

Sure.

@astoff

It looks like the partial-completion doesn't work with Selectrum

It seems this is only for file completions, I will open an issue for it

@astoff

It looks like the partial-completion doesn't work with Selectrum

It seems this is only for file completions, I will open an issue for it

@clemera Exactly, and now it can be made active only for files :-)

@clemera Exactly, and now it can be made active only for files :-)

See #390 for how file completions are handled now in Selectrum, possible partial completion candidates are automatically provided when the dir path of your input does not exist.

See #390 for how file completions are handled now in Selectrum, possible partial completion candidates are automatically provided when the dir path of your input does not exist.

@clemera Nice!

@clemera Nice!


The ‘0175bike1_3.npy’ is all ''nan

The ‘0175bike1_3.npy’ generated by gen_seq_bboxes.py is all nan

Yes, exactly. Currently the proposed pre-processing can't work well in extremely dark conditions where the saliency detection model can't find interesting object. You can simply exclude this sequence during training.


Add several options to the encoder api

More to follow in next MR's

I am personally in favor of a very generic and simple encode option api that is just
JxlEncoderStatus JxlEncoderSetOption(const char* key, const char* value)

where the list of keys and their valid values are documented separately. Return type says whether the option is supported or not and if the value was valid.
That way, it will be really easy to ensure that cjxl and benchmark_xl but also imagemagick convert or libvips can use the same syntax for setting options — or at least the (key, value) pairs could be made the same across tools, even if they have different syntax for setting them: cjxl --key=value or benchmark_xl --codec=jxl:key=value or convert foo.png -set jxl:key=value foo.jxl or something like that.
Also the way they would implement option setting would be super easy that way: just pass any unknown options to the jxl encoder, choke on it if it says unsupported or error, otherwise fine and go on to the next option.
This also means we can add encoder options without changing the api, and we can have applications that can use fancy new encode options but still compile against older versions of the encoder too. It also means you can update libjxl and automatically get the new encode options in all applications that allow arbitrary option passing.
There are some disadvantages too of this approach, but overall I think that for encode options (only the optional options) the advantages outweigh the disadvantages.

For certain types of encoder options (those that don't affect the user's code, but affect internal encoder decisions, especially for more experimental options that may change with future encoder technologies), I agree with the premise of the above suggestions: having an individual function that must be maintained for everything the encoder can do can become a maintanance problem full of deprecated functions and functions that change behavior as new encoder algorithms are implemented or removed.
The string idea can be very flexible, but I'd say too flexible for low-level API, and I'd be cautious with parsing numeric values and not having data types. The string idea is useful to expose jxl encoder parameters to users of other libraries like imagemagick, it could directly translate command line flags to jxl encoder settings. However, I don't think the low level jxl encoder library needs to have this functionality.
The enum idea may be a good middle ground, as it's easier to add more enum values and deprecate existing ones, than whole functions.
Another middle ground may be string names, but the values are fixed types, such as:
JxlEncoderStatus JxlEncoderSetFloatOption(options, const char* key, float value)

This option still requires the programmer to know the type, but the string names are easy to add and deprecate.
However I think the enum idea is still the more long-term stable idea, the strings may end up creating a too chaotic ecosystem later without header documentation that documents what's deprecated, as it could do with enum values.

Enum keys have the disadvantage that something will still need to map string to enum, and it also requires updating all those string to enum tables in all applications that want to expose optional encode param setting, each time an option gets added. It's better than having one function per option, but it still doesn't really allow future-proof parameter passing (unless you want to encourage applications to allow passing raw numeric enum values and leave it up to users to remember that option 42 is for configuring the foobar heuristic).
As for the option values: I get that parsing numeric values from strings does seem a bit risky and out of scope for an encode library, but OTOH it is likely that in most cases, that needs to be done somewhere anyway, and then it might be better to implement it robustly in one place than ask all applications to do it, which will have the effect of causing more bugs overall but technically those are then bugs in the applications and not in libjxl so it's not our problem.
In some cases though, you might have the values in a number type already, and of course it would be silly to ask applications to print them to a string then.
So maybe an approach could be to have
JxlEncoderStatus JxlEncoderSetStringOption(options, const char* key, const char* value);
JxlEncoderStatus JxlEncoderSetFloatOption(options, const char* key, float value);
JxlEncoderStatus JxlEncoderSetUintOption(options, const char* key, uint32_t value);

where the SetStringOption does the relevant parsing depending on key (or returns without trying to parse anything if key is unknown) and calls the corresponding numeric type function?

There could be a separate function that maps a string to an enum value or returns unknown/deprecated if not known or deprecated
Then the setting of the option is still with enum value, but there exists a method to map a string to one for those applications where you'd want to expose encoder settings to external users

I don't the char* key is a good idea. There doesn't always need to be something that maps strings to enum values; that only needs to happen if you want to map an API like a command like generic key=value; but that's not required. For code using our c API and C functions they have access to the enum values.
It is also not necessarily true that setting new options doesn't require updating anything else. What if we set an option that lets you offset the x0,y0 of your frame? or telling that the data comes in some other format (like XYB instead of RGB) for optimization purposes?
char* key has the disadvantage that you can misspell keys and get them ignored. In the context of the C API I don't think a char* key and a char* value are a good idea (unless the setting is actually a string). Converting strings to numbers is its own problem; specially when you don't know if you expect a float or an int, depending on the setting.

I have updated this MR with an enum to represent the option id, and the function JxlEncoderOptionsSetIntegerOption to set an option using the enum as option id.
This MR only introduces this for the new options. A next MR will also use this for the existing options (effort, distance, ...).
PTAL

I think it would be useful to also include a mapping between strings and enum values, e.g. with a function that converts a string to an enum and a function that converts an enum to a string (returning an error status in both cases if it gets an unknown input).
The reason is that otherwise we are encouraging applications to make their own mapping if they need it (e.g. to do passthrough of command line options to encoder option settings), which means two things:

they have to come up with their own strings, and will likely all pick different strings (e.g. cjxl calls it resampling, benchmark_xl calls it rs, imagemagick calls it resample, ffmpeg calls it upsampling, libvips calls it sampling-factor etc)
they need to update their mapping each time something changes or gets added

If we provide the mapping, it is more likely that we get uniform parameter names (reducing confusion and frustration) and that applications that want to allow parameter passing can implement it once and have something that keeps working with newer encoders.

The "strings" for the options won't be localized to any language, so not very user friendly as a solution to allow pass-through of options from command line. I don't think that encouraging a pass-through of options from a higher level to the API is a good idea; depending on the option may result in unexpected things happening or misuse of the API/bugs/exploits.
For applications that already have settings that map to one of our enums it would make more sense for those applications to use their name rather than our proposed one.

The "strings" for the options won't be localized to any language, so not very user friendly as a solution to allow pass-through of options from command line. I don't think that encouraging a pass-through of options from a higher level to the API is a good idea; depending on the option may result in unexpected things happening or misuse of the API/bugs/exploits.
For applications that already have settings that map to one of our enums it would make more sense for those applications to use their name rather than our proposed one.

Is localization a thing for the command line options in CLI tools? Are there any relevant tools that do that? (ImageMagick? ffmpeg? libvips? GIMP scripts?)
I just think it will be annoying to have to update things in many places if a new optional encoder param gets exposed in the api. It means we have to keep cjxl, benchmark_xl, imagemagick convert, ffmpeg, libvips, etc. all in sync and have mappings from strings to enum values in all of them.
In terms of exploits: I only suggest to do this for optional encoder parameters, not basic ones like setting the source image or color profile. What kind of exploits could it lead to? A security-critical application can always choose not to allow unknown option passing and only use fixed enum values. Even without string maps, an application could implement arbitrary option passing by allowing to set options by their integer enum value, which is possibly what they will do if there is no other way to future-proof an integration.


[4.0] Switch on key paths.

Explanation: Turns on the key path feature, now that the proposal has been accepted and an initial implementation is in place.
Scope: New feature.
Issue: rdar://problem/30957490
Risk: Low. Though this is a major new feature, there's little to no interaction with code that does not take advantage of it.
Testing: Swift CI

@swift-ci Please test

@ematejska Requesting your review to enable keypaths in 4.0—are we all good?

Build failed
Jenkins build - Swift Test Linux Platform
Git Commit - fc94b4ad93296e85d0e5767d0d1ea7c3b9e09c8a
Test requested by - @jckarter

@swift-ci Please test

@swift-ci Please smoke test

@swift-ci Please test

Build failed
Jenkins build - Swift Test Linux Platform
Git Commit - d98d7c28a5d8506336de09ea2c3b28d82d19b7e0
Test requested by - @jckarter

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - d98d7c28a5d8506336de09ea2c3b28d82d19b7e0
Test requested by - @jckarter

@swift-ci Please test

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - d98d7c28a5d8506336de09ea2c3b28d82d19b7e0
Test requested by - @jckarter

Build failed
Jenkins build - Swift Test Linux Platform
Git Commit - d98d7c28a5d8506336de09ea2c3b28d82d19b7e0
Test requested by - @jckarter

@swift-ci Please test

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - 2b548cac95624410fc0c003b62332c430d947dbd
Test requested by - @jckarter


Support DICOM metadata

/azp run

Is it possible to split this pr into two PRs. the first one is to modify the existing fhir code to a common code. and the second one is to add support for dicom? So it would be clearer.

By offline discussion, it would be hard to separate them into different PRs.


Single key to enter a combo?

I am coming from Breevy. Because the software is discontinued, I am looking for an alternative. Would beeftext be able to support a single key combo confirmation (I use Ctrl on Breevy). Could a user select per-combo if it will be automatic or combo-key dependent?

Hi.
Thank you for your suggestion. I will introduce an new option where the combo is not triggered before you press the space bar. Subscribe to issue #282 to be informed when it is implemented.
Use a configurable key (especially modifier keys like control) would be problematic in many case.


Boba SDK

ToDo:

Plug & Play deployment of AWS endpoint, e.g.:

sam deploy \
  --template-file turing.yml \
  --stack-name priceFeed \
  --capabilities CAPABILITY_IAM

NPM package for common use cases (KYC, Turing Examples Price Feed, etc.) --> all of them should have a ready to deploy template file for AWS.

DevOps / VCS / Tests pipeline, etc. whatever is needed for safe usage.

AWS example here: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-getting-started-hello-world.html


Question about fine-tuning

After reading the paper, it appears that you mentioned using 10 images as support data for fine-tuning the bias. However, upon reviewing your code, I noticed that fine-tuning was conducted on more than 10 images. Could you clarify this inconsistency? Additionally, could you explain the purpose of the released fine-tuning checkpoints and specify the dataset on which they were fine-tuned? 🤔

I guess you have confused about the dset_size argument and shot argument. The dset_size of FinetuneDataset has been set to be more than 10 to control the number of iterations per epoch (due to using the pytorch lightning). Inside the __getitem__ of the FinetuneDataset, you can check that only shot number of data are indexed.
Also, the fine-tuned checkpoint for each fold are fine-tuned with the specified task in the checkpoint name, which is used to report the few-shot learning performance.

I guess you have confused about the dset_size argument and shot argument. The dset_size of FinetuneDataset has been set to be more than 10 to control the number of iterations per epoch (due to using the pytorch lightning). Inside the __getitem__ of the FinetuneDataset, you can check that only shot number of data are indexed. Also, the fine-tuned checkpoint for each fold are fine-tuned with the specified task in the checkpoint name, which is used to report the few-shot learning performance.

Thanks for your reply.
So, can I understand it this way:
When fine-tuning, you use just 10 images but repeat them several times within one epoch. Then, during testing, you use the same 10 images as the support set. Are these 10 images fixed based on the random seed or the meta_info/*.pth? (I'm not certain if this is correct.)
Additionally, the results you reported in Table 1 are solely based on the 10 selected support images. You use these 10 support images for fine-tuning, and also as the support set when testing all images in the test split. Is my understanding accurate?

Support images are fixed by the pre-defined permutation indices stored in meta_info directory.
Yes, the selected support images are both used for fine-tuning and testing, and no other images are used during the stages.

Thank you very much for your reply! Hope I can contribute a citation to your work🤣


v0.1.28 Release

pending changes
Fix describe broker test (#2238)
remove from travis integration-tests which are now running in prow (#2237)
add mailing list to README (#2241)
Fix typo. (#2240)
Add ginkgo tests for svcat get classes (#2230)
Add svcat command to create user-defined cluster-scoped classes (#2190)
Add jberkhahn to OWNERS (#2245)
Include namespaced brokers in svcat get brokers (#2227)
Make the last col of get-classes and get-plans wider so we're at least 80 cols (#2226)
Enable namespaced brokers by default (#2248)
Add some dependency logic around generators. (#1966)


Increasing the stress test number of messages to 1 milion

Causes a stack overflow for me.

Done by 3d7aec16ba712b251b1d8ef6045ec11069fe3748 and the overflow fixed by bf565b5fa6a31326b731fe02bc7f17db64ba9131.


Push Notifications Do NOT work in this Q-municate Android version.

Hello,
I have the same issue #134 with Android Notifications, I have create the application in FireBase, and generated the JSON file, I have follow the steps copying from google-services.json value of field "project_number" to your gradle.properties file to field devPushRegistrationAppID (prodPushRegistrationAppID) and value "current_key" set in QuickBlox admin panel to "Google Cloud Messaging (GCM) API key" section.
I have test "current key" with the JSON file data, the firebase console old server key, and the new firebase new server key. And nothing, the send script from Quickblox app console does not arrive to Android devices. In fact, the device is not subscribed to any channel.
But if I test the firebase console send notification script, the notifications arrives to the device.
I can not figure out what is happening, can you help me please?

to fix this issue, follow these steps

Put the old server key in the Quickblox admin dashboard and then also set the keys in the gradle.properties file.
Go the the class "com.quickblox.q_municate.tasks.QBGCMRegistrationTask"
In the "getRegistrationId()" method, look for the line of code "gcm.register();"
Supply the register method with the senderID from your firebase project console. It is the number beside the server key. Make it a string by putting it in quotes and supply it to the gcm.register method so it looks like this gcm.register("1234567890");
Run the app after UNINSTALLING and then check the dashboard if your user successfully subscribed. Please confirm that it works. It worked for me tho.

Regards,
Mujib.

Hello,
I have follow the aliumujib steps in the previous post and it keeps the same issue. I can test firebase console Push Notifications with success, but the user is not subscribed to Quikcblox GCM channel.
I have modified an old project without success, and I have make a new one project and configured every variable as new, new Android Studio project, new GCM google api project and New FireBase project too, without success.
So I do not know why Firebase sends the push nots, and the app receives them, but the user is not subscribed at all.
I need some help here.

Hello wazowski78,
Interestingly those steps worked for me but before that, I discovered the error by modifying the method signature of "getRegistrationId()". If you look at the method "getRegistrationID" it throws an Exception that is handled somewhere that I didn't bother to fish out, instead, I removed the "throws IOException" line from the code so that I could control where the exception is thrown and printing the error to the log. So the method definition effectively goes from:
public void getRegistrationID(...) throws IOException
to
public void getRegistrationID(...)
by doing that the IDE (Android Studio) prompts you to catch the exception where it occurs inside the method and handle it yourself. You can use that to fish out the error and then go from there. Just remember to change back when you're done. Let me know how that goes.
Regards,
Mujib.

I will do it but the method is not throwing an exception, in fact I get a RegistrationID, it is very weird, because iOS notifications are working properly from Quickblox notification sender in Test and Live, and the subscription works as well. But Android notifications are only working from firebase notification sender. I think I will use other solution, because this is going to be quite long for me.

Hello @wazowski78, there is Auto subscription feature beginning from version SDK 3.2.0. Also you can take a look at sample with this feature implemented.

Hi, and thank you for your reply!
I think, I may fail but, the last public Q-municate SDK is 2.1, so the Auto-subscription does not work. As I said before, it is possible I misunderstood something, right?
I have see the link of Auto-subscription you have tell me, but the results are the same or worst, because instead of depurate one Android app, I have to modify the complete solution for iOS too.
Of course I know Q-municate is a template and share to us for free and we should not ask for updates, but at this moment the cross functioning with Push Nots between iOS and Android are not working.
And what I think is a bug for Android Q-municate version is that Push Notifications subscription is not working.

In the near future will be released new version Q-municate with latest version SDK. So, stay tuned!

So the problem exists right now, Q-municate is and obsolete demo app, and the solution for this issue is wait for an update or a DIY option.

@RomanPronin , that sounds good! Can you give be more specific on "near future" release date when this will be resolved? Cheers.

Approximately, new version Q-mun will be released in about a month.

@wazowski78 I have same issue

Please remove your app and install it again, then signin to the app and provide us full logs from start app to finish loading all dialogs.

long time inactivity

the android version is not subscribing for push notification with new firebase version(11.0.4) now.

I can not receive any push from qb admin panel or firebase admin panel.
Pls help me

Hi, @Jinqianv. How did you update firebase version? You should follow push guide. Namely, in order to use version higher than in SDK, you should just add explicit dependency.


add more continue commands

Add a helper for when you want to append the response
[pre-commit.ci] auto fixes from pre-commit.com hooks
Respond to pull request feedback
Add more commands from continue

All the continue stuff generally makes sense. Had a few questions, but otherwise once we resolve the merge and get this rebased should be good. :+1:

Looks good thanks!


Progress bar doesnt show up on the rise presentation

Add the notebook link here to test it.?

This following code on Rise presentation mode doesn't work
from tqdm.auto import tqdm

for i in tqdm(range(1000)):
    pass

It works on my PC, using Microsoft Edge, it might be to do with web browsers.  Try in Microsoft Edge. I am testing on Google Chrome now....

It also works on Google Chrome.  No issues at my end :)

https://github.com/allenai/ir_datasets/issues/208#issuecomment-1235944338
related Issue.