:gift_heart: Vendorless codegen via shell scripting

Changes

:gift_heart: Vendorless codegen via shell scripting

/kind enhancement
Fixes https://github.com/knative/hack/issues/385
Release Note
From now on, it is possible to have a Knative project that uses code-gen, without the need of the vendor directory

/test all

/test all

/test all

/test unit

/test unit-tests,build-tests

/retest

/test unit-tests

/test unit-tests

/test unit-tests

/test unit-tests

/test unit-tests
Expected to have one failure. Still working on it...

/test unit-tests
The tests should pass now :crossed_fingers:

Retesting to check stability at Prow CI:
/test unit-tests

Retesting (2nd time) to check stability at Prow CI
/test unit-tests

/test all

This is tested versus Eventing and Client projects:

https://github.com/knative/client/pull/1953 - tests this PR with multi-module project, without vendor dir
https://github.com/knative/eventing/pull/8056 - tests this PR while still having vendor dir
https://github.com/knative/eventing/pull/8054 - tests this PR without vendor dir

/hold
Until we get acceptance for upcoming changes to downstream projects (can be done at own pace), see: https://github.com/knative/hack/pull/386#issuecomment-2218334178

/test unit-tests

/test unit-tests
I have seen errors like this one before: https://prow.knative.dev/view/gs/knative-prow/pr-logs/pull/knative_hack/386/unit-tests_hack_main/1811030615403794432 However, they weren't common. I will file an issue to this test somehow, although I have no quick idea how to do it. Furthermore, I already added this to prevent those kinds of errors: https://github.com/cardil/knative-hack/blob/bugfix/codegen-vendorless-hacky/test/unit/sharedlib_test.go#L34

/test unit-tests
Retesting to see the stability. The fail rate now is 1/7: https://prow.knative.dev/view/gs/knative-prow/pr-logs/pull/knative_hack/386/unit-tests_hack_main/1811030615403794432

/test unit-tests
Second fail: https://prow.knative.dev/view/gs/knative-prow/pr-logs/pull/knative_hack/386/unit-tests_hack_main/1811038449793241088
The fail rate is 2/8, currently. The failure is also present only on Prow. Let me run it a couple of times more to see what a rate is. If the rate is <= 10%, I think it should be acceptable to merge as it is, and fix it in follow up.

/test unit-tests
Third fail: https://prow.knative.dev/view/gs/knative-prow/pr-logs/pull/knative_hack/386/unit-tests_hack_main/1811040323325923328
Fluke rate: 3/9 :disappointed:

/test unit-tests
Pass: https://prow.knative.dev/view/gs/knative-prow/pr-logs/pull/knative_hack/386/unit-tests_hack_main/1811064378137513984
Fluke rate: 3/10.

Another fail: https://prow.knative.dev/view/gs/knative-prow/pr-logs/pull/knative_hack/386/unit-tests_hack_main/1811067964271628288
Fail rate: 4/11. I think it's too much to merge. Let me dig into...

/test unit-tests

5th fail: https://prow.knative.dev/view/gs/knative-prow/pr-logs/pull/knative_hack/386/unit-tests_hack_main/1811071802152062976
Fail rate: 5/12
/test unit-tests

Pass: https://prow.knative.dev/view/gs/knative-prow/pr-logs/pull/knative_hack/386/unit-tests_hack_main/1811075244455104512
Fluke rate: 5/13.

The f103e9a997ba82e3f96c1e4090e7cedf4c46358c should fix the fluke for good. I've relaxed the check, to not fail when there is additional output (the download lines from failed tests), so it shouldn't fail anymore.

/test all

/test unit-tests

As evidenced with #386 PR History the f103e9a997ba82e3f96c1e4090e7cedf4c46358c fixed the flaky test for good.

Running unit tests under test/ leaves go.work.sum file modified.  I guess it shouldn't happen

That's unfortunately true. I couldn't find the reason why the unit tests are removing the go.work.sum file. However, rerunning them works, and running test/hack/update-deps.sh restores the file.
I'm going to take another look at this quirk.

Also, running the tests with Golang 1.22.5 for the first time, the tests fail with: https://gist.github.com/mgencur/01e9fe4aeeac5a41727e8a5c98026c83 Running with 1.22.5 for a second time made the tests pass but the go.work.sum is still left as modified.

That shouldn't happen, for sure. I had some issues on Prow, which also has clear GOPATH, but I didn't notice your problem, neither on GH action, or Prow, or on my own box.
I'll take a look at this, and try to reproduce...

@mgencur can you maybe provide a way to reproduce test failures you've had?
I tried, but I couldn't get it to fail. I was removing GOCACHE and GOMODCACHE, but tests still passed...

@mgencur can you maybe provide a way to reproduce test failures you've had?
I tried, but I couldn't get it to fail. I was removing GOCACHE and GOMODCACHE dirs, but tests still passed...

Reproduced by running rm -rf $(go env GOPATH)/pkg/mod and running go test ./...

@mgencur: Reproduced by running rm -rf $(go env GOPATH)/pkg/mod and running go test -count=1 ./...

Are you sure about that?! I have a different outcome - the unit tests in the test submodule aren't even executed. See:
$ chmod -R u+w "$(go env GOMODCACHE)"
$ rm -rf "$(go env GOMODCACHE)"
$ go test -count=1 ./...
ok  	knative.dev/hack	0.001s
ok  	knative.dev/hack/cmd/script	0.001s
?   	knative.dev/hack/pkg/constraints	[no test files]
?   	knative.dev/hack/pkg/retcode	[no test files]
?   	knative.dev/hack/pkg/utest/assert	[no test files]
?   	knative.dev/hack/pkg/utest/require	[no test files]
--- FAIL: TestShort (0.00s)
    short_test.go:23: Expecting to have short flag set for unit tests
FAIL
FAIL	knative.dev/hack/foo	0.001s
ok  	knative.dev/hack/pkg/inflator/cli	0.001s
ok  	knative.dev/hack/pkg/inflator/extract	0.001s
ok  	knative.dev/hack/shell	1.183s
FAIL

Ok. I was able to reproduce it with the following (see: output):
$ chmod -R u+w "$(go env GOMODCACHE)"
$ rm -rf "$(go env GOMODCACHE)"
$ go test -count=1 ./test/...

Although that fail doesn't occur when running with test/presubmit-tests.sh --unit-tests. That's because the presubmit script uses gotestsum to run unit tests, so it is already downloaded when the unit tests are started.
I can add it to the prefetch method, but IDK is that worth it?!? Hmm...

@mgencur The issue of removal of go.work.sum file after test run was eliminated in https://github.com/knative/hack/pull/386/commits/f617a189bde4d84a9fd207b8f1f660e662313c3c

Nice! Everything seems to work now.

LGTM

/assign @upodroid
@mgencur already reviewed this PR, and https://github.com/knative/hack/pull/386#issuecomment-2218334178 shows PRs to Eventing and Client that pass with this change, both with vendor dir and without it.

/unhold


add Cesde

@cast-away2 First stage of verification passed, official domain for Cesde - Centro de Estudios Especializados is cesde.edu.co as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@cast-away2 Thank you for your patience while waiting for a review and processing your request. Pull request merged.


Update repository

Codecov Report

Merging #346 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #346   +/-   ##
=======================================
  Coverage   84.97%   84.97%
=======================================
  Files          22       22
  Lines        1338     1338
=======================================
  Hits         1137     1137
  Misses        201      201

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 6ddc574...43e9040. Read the comment docs.


[Bug][UI Next][V1.0.0-Alpha] Workflow execution error

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
Workflow execution error

If this ” execType“  field is not false, it will fail, otherwise it will succeed

path:/executors/start-process-instance

What you expected to happen
normal operation
How to reproduce
Click Run workflow
Anything else
No response
Version
dev
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

I'll work out this issue.

I will fix it.


Delay in wallet click

This is an oldie but it's a goldie.
On the 'Change / Add wallets page ("Wallets")' if you have a lot of wallets, only the right caret '>' of each wallet item can be selected for the first couple of seconds, then after a delay the whole item becomes selectable. Sometimes you just have to click twice. It's been like this for quite a while but haven't tried to diagnose it.

Likely caused by android:descendantFocusability="blocksDescendants" in the parent layout (@id/container)

Likely caused by android:descendantFocusability="blocksDescendants" in the parent layout (@id/container)

Sounds quite likely. Could you try it?


Add explorer "View only" mode for mlir debugging

We want to enable tt-mlir developers to visually debug different mlir passes. Tho this is possible with the current state of tt-explorer it might be a bit hard to use and there are a lot of features that are not needed.
I'm proposing that we implement a new model explorer adapter that will only parse tt mlir graphs and not have any perf related features. This will make tt-explorer view mode very lightweight and not dependent on the rest of the compiler / runtime.

Pushing this effort to Q1 2025 since it's not a perf related feature.


[NEXT-21477] check deliveries for length

1. Why is this change necessary?
Possible fix for
https://issues.shopware.com/issues/NEXT-21477
2. What does this change do, exactly?
Check the array for length
3. Describe each step to reproduce the issue or behaviour.
See issue tracker
4. Please link to the relevant issues (if any).
5. Checklist

[ ] I have written tests and verified that they fail without my change
[ ] I have created a changelog file with all necessary information about my changes
[ ] I have written or adjusted the documentation according to my changes
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[ ] I have read the contribution requirements and fulfil them.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@pakeil Can you accept the CLA?

@pakeil thanks again for your contribution, your changes were merged! :blue_heart: :tada:


Feat: Implement the functions in the Precision library.

Description
Implement the internal apply_factor_u128 function in the Precision library.
File: src/utils/precision.cairo.
Function signature:
    /// Applies the given factor to the given value and returns the result.
    /// # Arguments
    /// * `value` - The value to apply the factor to.
    /// * `factor` - The factor to apply.
    /// # Returns
    /// The result of applying the factor to the value.
    fn apply_factor_u128(value: u128, factor: u128) -> u128;

Implement the internal apply_factor_i128 function in the Precision library.
File: src/utils/precision.cairo.
Function signature:
    /// Applies the given factor to the given value and returns the result.
    /// # Arguments
    /// * `value` - The value to apply the factor to.
    /// * `factor` - The factor to apply.
    /// # Returns
    /// The result of applying the factor to the value.
    fn apply_factor_i128(value: u128, factor: i128) -> i128;

Implement the internal apply_factor_roundup_magnitude function in the Precision library.
File: src/utils/precision.cairo.
Function signature:
    /// Applies the given factor to the given value and returns the result.
    /// # Arguments
    /// * `value` - The value to apply the factor to.
    /// * `factor` - The factor to apply.
    /// # Returns
    /// The result of applying the factor to the value.
    fn apply_factor_roundup_magnitude(value: u128, factor: i128, roundup_magnitude: bool) -> i128;

Implement the internal mul_div function in the Precision library.
File: src/utils/precision.cairo.
Function signature:
fn mul_div(value: u128, numerator: u128, denominator: u128) -> u128;

Implement the internal mul_div_ival function in the Precision library.
File: src/utils/precision.cairo.
Function signature:
fn mul_div_ival(value: i128, numerator: u128, denominator: u128) -> i128;

Implement the internal mul_div_inum function in the Precision library.
File: src/utils/precision.cairo.
Function signature:
fn mul_div_inum(value: u128, numerator: i128, denominator: u128) -> i128;

Implement the internal mul_div_inum_roundup function in the Precision library.
File: src/utils/precision.cairo.
Function signature:
fn mul_div_inum_roundup(value: u128, numerator: i128, denominator: u128, roundup_magnitude: bool) -> i128;

Implement the internal mul_div_roundup function in the Precision library.
File: src/utils/precision.cairo.
Function signature:
fn mul_div_roundup(value: u128, numerator: u128, denominator: u128, roundup_magnitude: bool) -> u128;

Implement the internal apply_exponent_factor function in the Precision library.
File: src/utils/precision.cairo.
Function signature:
fn apply_exponent_factor(float_value: u128, exponent_factor: u128) -> u128;

Implement the internal to_factor_roundup function in the Precision library.
File: src/utils/precision.cairo.
Function signature:
fn to_factor_roundup(value: u128, divisor: u128, roundup_magnitude: bool) -> u128;

Implement the internal to_factor function in the Precision library.
File: src/utils/precision.cairo.
Function signature:
fn to_factor(value: u128, divisor: u128) -> u128;

Implement the internal to_factor_ival function in the Precision library.
File: src/utils/precision.cairo.
Function signature:
fn to_factor_ival(value: i128, divisor: u128) -> i128;

Implement the internal float_to_wei function in the Precision library.
File: src/utils/precision.cairo.
Function signature:
fn float_to_wei(value: u128) -> u128;

Implement the internal wei_to_float function in the Precision library.
File: src/utils/precision.cairo.
Function signature:
fn wei_to_float(value: u128) -> u128;

Implement the internal basis_point_to_float function in the Precision library.
File: src/utils/precision.cairo.
Function signature:
fn basis_point_to_float(basis_point: u128) -> u128;

Acceptance criteria

Function is implemented and well commented.
Associated unit tests (nominal and failure) are implemented and passing.

Resources

applyFactor function in GMX repo
applyFactor function in GMX repo
applyFactor function in GMX repo
mulDiv function in GMX repo
mulDiv function in GMX repo
mulDiv function in GMX repo
mulDiv function in GMX repo
mulDiv function in GMX repo
applyExponentFactor function in GMX repo
toFactor function in GMX repo
toFactor function in GMX repo
toFactor function in GMX repo
floatToWei function in GMX repo
weiToFloat function in GMX repo
basisPointsToFloat function in GMX repo

Can I take this one?

Of course! Assigned 🚀

I changed the name of the function for the last function
basis_points_to_float


KernelExplainer, Tensorflow / Keras, and multiple inputs

When you have multiple input nodes in Keras you pass them as a list. My inputs are one group of numerical features and then a number of features that get passed to an embedding layer.
DeepExplainer handles a list as an input fine but when I try to pass a list to KernelExplainer I get
AssertionError: Unknown type passed as data object: <class 'list'>
That doesn't seem completely model agnostic ; ]

haha, well it is agnostic to any function that works on a vector :) ...I will add this as a todo, since I think having multiple inputs as a list might be a nice interface to provide. (you could of course write a simple wrapper that packed and unpacked things into a single vector, but that is a pain)

Somehow my models always end up having multiple inputs and outputs so I need to wrap the models anyway =)
Maybe it's better to just have a section in the tutorial about how to go about it. I can send you a link to an example when I'm happy with it.

Somehow my models always end up having multiple inputs and outputs so I need to wrap the models anyway =)
Maybe it's better to just have a section in the tutorial about how to go about it. I can send you a link to an example when I'm happy with it.
Edit: For my sake you can close this issue

Dear @grofte ,
Can you please give a link or explain how to pass several inputs to a KernelExplainer? Would be very helpful)
Also, is it possible to use multiple inputs in DeepExplainer? I have seen an exaple in this thread but it gives an error even though the full code and data is included. I am also trying to explain a model with both numerical and embedded-categorical inputs (Wide&Deep), and can't make SHAP work unfortunately.

Update: I managed to solve this problem with a slice() layer. Basically, you concatenate your data into one chunk, and then slice it back inside the model. Problem solved and SHAP works fine!
input = Input(shape=(data.shape[1], ))
x1 = Lambda( lambda x: slice(x, (0, 0 ), (-1, 11)))(input)      # deep continuous variables (11)
x2 = Lambda( lambda x: slice(x, (0, 11), (-1, 1)))(input)       # embedding (1)
embed1 = Embedding(input_dim = sub_grade_unique+2, output_dim = 8)(x2)
embed1 = Reshape(target_shape=(8,))(embed1)
concat = keras.layers.concatenate([x1, embed1])
Big thanks to @grofte for suggesting it!


Enable remaining objection detection and speech recognition examples to 2.0

Signed-off-by: Wang, Chang1<EMAIL_ADDRESS>Type of Change
feature or bug fix or documentation or validation or others
API changed or not
Description
detail description
JIRA ticket: xxx
Expected Behavior & Potential Risk
the expected behavior that triggered by this PR
How has this PR been tested?
how to reproduce the test (including hardware information)
Dependency Change?
any library dependency introduced or removed

https://inteltf-jenk.sh.intel.com/job/intel-lpot-validation-top-mr-extension/4204/

https://inteltf-jenk.sh.intel.com/job/intel-lpot-validation-top-mr-extension/4206/

https://inteltf-jenk.sh.intel.com/job/intel-lpot-validation-top-mr-extension/4207/

https://inteltf-jenk.sh.intel.com/job/intel-lpot-validation-top-mr-extension/4211/
https://inteltf-jenk.sh.intel.com/job/intel-lpot-validation-top-mr-extension/4212/

yolo_v3: https://inteltf-jenk.sh.intel.com/job/intel-lpot-validation-top-mr-extension/4216/


Model Performance Related Issues

Hi！the performance of the model I trained using your code is 40.95, but the performance of the model you provided is 41.15, I want to know why? In addition, your model seems to be obtained in the second epoch, but your code shows that the model is saved from the third epoch. I am also very confused about this. I look forward to your reply, thank you very much!

Hi,  please try to finetune the best model obtained at the first stage.

much appreciated! But the highest accuracy of the model verification set I got in the first stage is 39.47 (the 6th epoch), and the accuracy of fine-tuning in the second stage is all lower than the accuracy of the first stage, which is not the same as what you described ! (experiment on MSVD-QA)

Much appreciated! But the highest accuracy of the model verification set I got in the first stage is 39.47 (the 6th epoch), and the accuracy of fine-tuning in the second stage is all lower than the accuracy of the first stage, which is not the same as what you described! (experiment on MSVD-QA)

Not sure the problem here, please try to tune the learning rate, 1e-5 or 5e-5 ...

Now I have some problems with experimenting on NExT-QA. According to the video features of NExT-QA you provided (region_feature shape: 3870, 16, 4, 20, 2048), each video has K=16 clips, do I have to make the following changes in the videoqa.py file?
#num_clip, num_frame, num_bbox = 8, 8*4, 10
num_clip, num_frame, num_bbox = 16, 16*4, 20

At the same time, I set batch_size = 32, max_qa_length = 37, and bbox_num = 20, but in this case the performance of the trained model has dropped by 1 percentage point. Is there anything I am missing?

Hi, your setting seem correct. How about a batchsize 64?

Thank you very much for your help. After multiple experiments, I have achieved the expected results on the Next-QA dataset. Now, I am facing many problems and difficulties in video feature extraction on the MSRVTT dataset. So, I would like to ask if you could provide me with the modified code for feature extraction (region, appearance, and motion features)? Thank you again for your selfless sharing!

Hi, you can find the feature for MSRVTT-QA here.

Thank you for your prompt response! In the MSRVTT dataset you provided, the "clip" dimension for region features is 8, while for appearance and motion features it is 16. This inconsistency may cause some errors during the training process. Additionally, the height and width of the videos in the MSRVTT dataset are not defined in the CSV file. What should they be set to?
Load ../data/msrvtt//region_feat_n/acregion_8c10b_train.h5... (6513, 8, 4, 10, 2048) Load ../data/msrvtt//frame_feat/app_feat_train.h5... (6513, 16, 4, 2048) Load ../data/msrvtt//mot_feat/mot_feat_train.h5... (6513, 16, 2048)

Hi, all videos in msrvtt have the same frame size: width x height: 320 x 240. Please try to keep all clip dimension as 8 ([::2]) to run the code.. I can only find this version for the region feature at this moment (borrow from VGT). The difference should be small as this dataset factors little temporal information for answer.

Sincerely thank you for your help and sharing! I have achieved the expected results.


"Error Loading Recognizer" / Unhandled Page Fault

I installed the latest released apk, 0.3.42, set it as my default voice assistant, opened Fennec (F-Droid Firefox build), tapped the icon by the URL bar, and I get a toast saying "Error Loading Recognizer". Firing up adb I see this:
$ adb -s "wa6d93236" logcat | grep vosk
03-25 12:58:31.719   763   779 I ActivityTaskManager: START u0 {act=android.speech.action.RECOGNIZE_SPEECH cmp=org.vosk.demo/org.vosk.service.ui.SpeechRecognizerActivity (has extras)} from uid 10250
03-25 12:58:27.728     0     0 D org.vosk.demo: unhandled page fault (11) at 0x00000000, code 0x005
03-25 12:58:27.728     0     0 W Pid     : 30776, comm:        org.vosk.demo

SM-G900V running Android 11 (Lineage)
A couple of other questions:
(1) The AOSP keyboard has a microphone button built in, but it doesn't seem to bring this up, no error, no message in ADB. Should that work? Or I guess rather, does anyone have any theories of why that isn't working, but Fennec's assistant-mic button does?
(2) Does this have a model packed in with it? I'm assuming so since there are no directions to download one.

The AOSP keyboard has a microphone button built in, but it doesn't seem to bring this up, no error, no message in ADB. Should that work? Or I guess rather, does anyone have any theories of why that isn't working, but Fennec's assistant-mic button does?

Not sure about AOSP keyboard, one can look in the sources. We have recent fixes after which it reported to work with AnyKeyboard:
https://github.com/alphacep/vosk-android-service/issues/32

(2) Does this have a model packed in with it? I'm assuming so since there are no directions to download one.

I think you need to download model first by starting the app and selecting the langauge

I think you need to download model first by starting the app and selecting the language

Okay, so I needed that fact, I thought it was just a freestanding service. Trying to open it though I seemed to get a #11 , which presumably is related to the adb log messages above. That is from the release in this repo, 0.3.42.
I then tried building from current state of the repo (same blank-screen behavior, did not check adb log); finally I tried @sogaiu 's builds mentioned in #11 , here and those did work, I get a list of models to download. I shall carry on using that build, but FWIW.

The AOSP keyboard has a microphone button built in, but it doesn't seem to bring this up, no error, no message in ADB. Should that work? Or I guess rather, does anyone have any theories of why that isn't working, but Fennec's assistant-mic button does?

Yeah... see #32. I haven't done a full deep dive, but messed around with AOSP + vosk-a-serv. My working theory is that it's due to AOSP looking for an IME service, not a speech recog service that handles the recognition Intent.
For this #11 issue, weird. If you don't set it as your voice assistant, does it work ok? I hadn't actually been using it this way, but when tinkering set it to voice assistant and then it doesn't work quite right (but still wasn't getting the blank screen). I would logcat with the new build from the current state of the repo, just to make sure whatever is breaking isn't something new.

Current page fault.
Logcat from my own build of the current state of the repo looks the same, unhandled page fault on app open; blank screen.
03-27 08:51:21.022   763  2403 I ActivityTaskManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=org.vosk.service/.ui.selector.ModelListActivity bnds=[36,90][288,385]} from uid 10147
03-27 08:51:16.683     0     0 D rg.vosk.service: unhandled page fault (11) at 0x00000000, code 0x005
03-27 08:51:16.683     0     0 W Pid     : 14727, comm:      rg.vosk.service
03-27 08:51:21.242   763   790 I ActivityTaskManager: Displayed org.vosk.service/.ui.selector.ModelListActivity: +180ms

This is an older device (Galaxy S5) so I'm using the armabi-v7a in case that makes a difference. So the sogaiu build is the only one that does not pagefault for me on app open, and the only one that gives a list of models to download (as among 0.3.42, sogaiu build, my gradle build of current state of repo). Seems like a bug existed, was fixed, and then was reintroduced? Hard to say for sure but superficially that's what it looks like.
Sogaiu build pagefault / Fennec. From within Fennec (Firefox F-Droid), calling Vosk as an assistant, even with the sogaiu build with EN-US model downloaded, I get no "Error Loading Recognizer" but do see a pagefault, logcat:
03-27 09:03:21.430 17967 17967 I ResolverListAdapter: Add DisplayResolveInfo component: ComponentInfo{org.vosk.service/org.vosk.service.ui.SpeechRecognizerActivity}, intent component: ComponentInfo{org.vosk.service/org.vosk.service.ui.SpeechRecognizerActivity}
03-27 09:03:23.582   763  1778 I ActivityTaskManager: START u0 {act=android.speech.action.RECOGNIZE_SPEECH flg=0x3000000 cmp=org.vosk.service/.ui.SpeechRecognizerActivity (has extras)} from uid 10250
03-27 09:03:19.295     0     0 D rg.vosk.service: unhandled page fault (11) at 0x00000000, code 0x005
03-27 09:03:19.296     0     0 W Pid     : 16584, comm:      rg.vosk.service
03-27 09:03:24.013  7059  7059 V GrantPermissionsActivity: Permission grant result requestId=-1354698035177607463 callingUid=10268 callingPackage=org.vosk.service permission=android.permission.RECORD_AUDIO isImplicit=false result=5
03-27 09:03:24.014  7059  7059 V GrantPermissionsActivity: Permission grant result requestId=-1354698035177607463 callingUid=10268 callingPackage=org.vosk.service permission=android.permission.WRITE_EXTERNAL_STORAGE isImplicit=false result=1
03-27 09:03:24.014  7059  7059 V GrantPermissionsActivity: Permission grant result requestId=-1354698035177607463 callingUid=10268 callingPackage=org.vosk.service permission=android.permission.READ_EXTERNAL_STORAGE isImplicit=true result=1

I'm not totally sure what the permissions messages are there, but it does ask for mic permissions and I grant them. In app info, mic is then shown as "always allowed" and no other permissions were requested (i.e., none shown as "denied").
What does work is to use the sogaiu build as a service for Kõnele, either using Kõnele's digital-assistant mode or its speak & swipe keyboard. It's slow -- it takes two seconds to load the model -- the accuracy is quite low (compared to the large vosk model using nerd-dictation that I'm used to on my laptop; this is a small model on a slower device), but it works. Logcat for that, while I'm here (not sure what these minor/major faults are?)
03-27 09:10:55.213 16584 16584 D VoskRecognitionService: /data/user/0/org.vosk.service/files/models/vosk-model-small-en-us-0.15/vosk-model-small-en-us-0.15
03-27 09:10:55.579   763 23922 E ActivityManager:   2.7% 16584/org.vosk.service: 0.4% user + 2.2% kernel / faults: 3331 minor 156 major
03-27 09:10:59.695 16584 22087 I VoskAPI : ReadDataFiles():model.cc:248) Loading i-vector extractor from /data/user/0/org.vosk.service/files/models/vosk-model-small-en-us-0.15/vosk-model-small-en-us-0.15/ivector/final.ie
03-27 09:11:01.692 16584 22087 I VoskAPI : ReadDataFiles():model.cc:281) Loading HCL and G from /data/user/0/org.vosk.service/files/models/vosk-model-small-en-us-0.15/vosk-model-small-en-us-0.15/graph/HCLr.fst /data/user/0/org.vosk.service/files/models/vosk-model-small-en-us-0.15/vosk-model-small-en-us-0.15/graph/Gr.fst
03-27 09:11:10.860 16584 22087 I VoskAPI : ReadDataFiles():model.cc:302) Loading winfo /data/user/0/org.vosk.service/files/models/vosk-model-small-en-us-0.15/vosk-model-small-en-us-0.15/graph/phones/word_boundary.int
03-27 09:11:30.592   763 24909 I ActivityManager:   vis    BFGS  607774: org.vosk.service (pid 16584) service
03-27 09:11:30.592   763 24909 I ActivityManager:                        org.vosk.service/.VoskRecognitionService<=Proc{20249:ee.ioc.phon.android.speak/u0a266}
03-27 09:11:30.592   763 24909 I ActivityManager:                        ee.ioc.phon.android.speak/.service.WebSocketRecognitionService<=Proc{16584:org.vosk.service/u0a268}
03-27 09:11:46.427   763 25083 E ActivityManager:   0% 16584/org.vosk.service: 0% user + 0% kernel / faults: 692 minor 15 major

I'm worried this is a bug that hasn't been addressed. It seems like @sogaiu's build isn't completely immune to the aforementioned issues. And, since @sogaiu's build, there have been few substantive changes to master (just substantive issues with how the locale is detected, and the gradle version was up'd to 7.6).
I'm still confused about the 2nd error case, @xenotropic. when you open fennec, how are you invoking the service? Are you trying to use aosp or another board? Do you only have the service installed as the only method of input

Okay, so using universal from building latest does give a dialog and allows for a download, and does not page fault. Good suggestion. But it still doesn't work (except via Konele).
Anysoftkeyboard seems to have changed at some point to only support Google voice-to-text. The mic icon gives a popup saying "Voice is not installed" with an "install" button that takes me to the Play store for "com.google.android.voicesearch". I don't see any settings in it to choose a voice to text service. See also https://github.com/AnySoftKeyboard/AnySoftKeyboard/issues/3230
Yes Fennec case is invoking as system assistant. The browser has a "mic" button by the URL bar that seemingly invokes the default digital assistant for stt purposes. It works with Google voice tying, works with Konele (using vosk-android-service as the service); it does not work with vosk invoked directly. Vosk-android-service shows up as a possibility as a handler for it though: I get a "complete action using" dialog with Vosk as an option, it brings up a UI element (see "Behavior is that the assisant pop-up..." in my last comment), but then I still get the "Error Loading Recognizer".
I also tried Swiftkey (Microsoft's keyboard) which has similar behavior to Fennec, brings up a black mic with "Vosk" / "Try Saying Something" and a toast "Error Loading Recognizer", and no text recognition.
The full noisy log, invoking from Switftkey, is here. The main thing that jumps out at me is
03-27 13:48:59.771 28130 28130 E RecognitionService: call for recognition service without RECORD_AUDIO permissions

It did ask for mic permissions when I first launched it, though. Going and looking in Vosk's app permissions it has "Microphone" as "Allow all the time" and "No permissions denied".

See also https://github.com/AnySoftKeyboard/AnySoftKeyboard/issues/3230

Oooh interesting. Haven't dug far into the source code but for k6nele, but looks like it should implement the ime service framework based on the manifest. Confusing enough that it also does the speech recognition service (see #32 as well), but something is afoot.

Anysoftkeyboard seems to have changed at some point to only support Google voice-to-text. The mic icon gives a popup saying "Voice is not installed" with an "install" button that takes me to the Play store for "com.google.android.voicesearch". I don't see any settings in it to choose a voice to text service.

.... This will be the most asinine suggestion. If you don't make vosk-android a device assistant and open up the app before you start using the keyboard in e.g. texting, does it work?
(Nasty surprise on my end: it's only working if I activate the app itself prior to using any other app with it.
Must have always needed to open it up first for whatever debugging i was doing, and then just never turned my phone off after.)

Yes Fennec case is invoking as system assistant. The browser has a "mic" button by the URL bar that seemingly invokes the default digital assistant for stt purposes. It works with Google voice tying, works with Konele (using vosk-android-service as the service); it does not work with vosk invoked directly. Vosk-android-service shows up as a possibility as a handler for it though: I get a "complete action using" dialog with Vosk as an option, it brings up a UI element (see "Behavior is that the assisant pop-up..." in my last comment), but then I still get the "Error Loading Recognizer".

Interesting too. This is starting to make sense a little bit. TBF, from the fenix source, looks like it is doing everything through the intent framework (which should be compatible with v-a-s). Consequently though, that should mean that you shouldn't have to use v-a-s as a device assistant.
... I'm wondering if this is somewhat derivative of my comment above too (ie. is v-a-s not getting identified by default for some reason, and then the natural work flow - either naive or fenix-driven - is to make it the system manager which doesn't work.)
For the record, on my side, making it the device assistant means v-a-s still works/is callable. But keeps the mic on. Another issue I have to post.

The full noisy log, invoking from Switftkey, is here.
It did ask for mic permissions when I first launched it, though. Going and looking in Vosk's app permissions it has "Microphone" as "Allow all the time" and "No permissions denied".

Thanks for the log. The other thing that's now sticking out is the first line of these three:

03-27 13:48:59.530 24222 24222 V GrantPermissionsActivity: Permission grant result requestId=107861796779005561 callingUid=10271 callingPackage=org.vosk.service permission=android.permission.RECORD_AUDIO isImplicit=false result=5
03-27 13:48:59.531 24222 24222 V GrantPermissionsActivity: Permission grant result requestId=107861796779005561 callingUid=10271 callingPackage=org.vosk.service permission=android.permission.WRITE_EXTERNAL_STORAGE isImplicit=false result=1
03-27 13:48:59.531 24222 24222 V GrantPermissionsActivity: Permission grant result requestId=107861796779005561 callingUid=10271 callingPackage=org.vosk.service permission=android.permission.READ_EXTERNAL_STORAGE isImplicit=true result=1

Will try to look into if the result for the RECORD_AUDIO being different means in the next couple of days.

Update @xenotropic : still working on your particular bug (sorry, my day work has kept me quite busy the last couple of weeks). Have a couple of issues I opened up on here that should hopefully also make the ui/user workflow a little bit easier to miss some of the pitfalls you and I discussed.
Of note regarding the issue that you brought up with AnySoft somehow only being compatible with Google STT... , I figured out that AnySoftKeyboard (as of https://github.com/AnySoftKeyboard/AnySoftKeyboard/commit/498dab3a1cba1b197b7b48aea40e7e595c50d299) merely prioritizes Google STT when searching for the right voice recognition handler. But it's hardcoded in a way that is a little hard to find. I ... lol... put in a PR at ASK to just switch the priorities to make Google STT a fallback, and vosk easier to use. See https://github.com/AnySoftKeyboard/AnySoftKeyboard/pull/3689

Update @xenotropic : still working on your particular bug (sorry, my day work has kept me quite busy the last couple of weeks). Have a couple of issues I opened up on here that should hopefully also make the ui/user workflow a little bit easier to miss some of the pitfalls you and I discussed.
Of note regarding the issue that you brought up with AnySoft somehow only being compatible with Google STT... , I figured out that AnySoftKeyboard (as of AnySoftKeyboard/AnySoftKeyboard@498dab3) merely prioritizes Google STT when searching for the right voice recognition handler. But it's hardcoded in a way that is a little hard to find. I ... lol... put in a PR at ASK to just switch the priorities to make Google STT a fallback, and vosk easier to use. See AnySoftKeyboard/AnySoftKeyboard#3689

Hey, this is nice. Thanks for figuring this out!

@xenotropic, had some time to go through these issues more systematically. It, unfortunately, was more painful than I thought it was going to be. And, I don't have a satisfying answer so far.
In regards to your Mar 11 post about SwiftKey and after looking through the lineage/android source quite a bit, I still think that "result=5" flag is most suspicious for some incorrect setting of the permissions (on the OS part). Per the source for the GrantPermissionsActivity, that "5" setting corresponds to clicking an allow one time option; and it looks like the PermissionsChecker that the RecognitionService relies on check to see if it's equivalent to an always granted setting (a "0"). You mentioned that the app permission is granted all the time, but I can't tell if that actually reflects the right setting (I've seen this a couple of times when I've been debugging other related permissions problems for voice recognition recently). Also not sure if there's a trivial way to check what the "permission" setting for a given permission/app pair (e.g. I don't think a dumpsys call to list app permissions would work here). You could consider... ... reinstalling and verifying if always allow permission at every permission prompt for vosk helps the situation.
On my side in Android 12, I got the latest ASK and SwiftKey to work with v-a-s for voice input - both on a clean debug (android studio) environment and on my phone. My phone still continues to be a little buggy when using v-a-s with ASK, but the bugginess looks resolved w/the latest ASK in my debug env; I'm hoping that a new ASK apk gets pushed to f-droid/play soon. I may still try to debug this on an Android 11 environment if I can get the chance.


ResponseType WebAPI Annotation - List support C#

I have an endpoint which returns a list of objects in the HttpResponseMessage body. It would be nice to be able to set the ResponseType attribute to a List of objects, like in the snippet below.
[ResponseType(List<object>)]
Sorry, if I missed something when reading the docs, but I am not sure how to get around this issue.

Is this an NSwag issue?

Can you post some sample code and how you use NJsonSchema?

Here is an example endpoint which is modeled after something in our code.
[RoutePrefix("home")]
public class HomeController
{
    [Route("items")]
    [HttpGet]
    [ResponseType("200", typeof(List<Items>))]
    public HttpResponseMessage GetItems()
    {
            //This would return a list of items in the body of the response message
    }
}

As of now, I am not able to set the Response type property like in the code snippet above. I noticed that there is a class for observable dictionaries (Nswag.Collections.ObservableDictionary<>), but there is not one for List types.
I would rather not have to make a new model (i.e. ItemList) with a property of type List just for Swagger documentation to show that a list of Items is returned.
Thanks for helping me out with this!

How does your response json look like (sample)? Have you tried ResponseType attribute as described here: https://github.com/NSwag/NSwag/wiki/WebApiToSwaggerGenerator ?

Your usage of ResponseType correctly describes the response as an array of Items... can you post the generated Swagger?

Could you solve your problem?

This is an nswag issue, please create an issue there if the problem remains


Razor Static Web Assets feature is regressing build perf for large solutions

We are seeing perf regressions for large solutions that target .NET Core 3.0 instead of .NET Core 2.0.  We believe that the Razor static web assets feature is contributing to this.  The implementation for the static web assets feature calls the GetCurrentProjectStaticWebAssets target in dependent projects with _StaticWebAssetsSkipDependencies=true as a global property:
https://github.com/aspnet/AspNetCore-Tooling/blob/2e70e0cbd7d8b952313d1114cd750befca2b1453/src/Razor/src/Microsoft.NET.Sdk.Razor/build/netstandard2.0/Microsoft.NET.Sdk.Razor.StaticWebAssets.targets#L255-L264
Setting the new global property causes all of the transitively referenced projects to be re-evaluated, which can be expensive.  You can see where we had a similar issue here: https://github.com/microsoft/msbuild/issues/1276
@pranavkm @rynowak @mkArtakMSFT @rainersigwald

@dsplaisted do you have a binlog of a build that suffers from this? I'd like to take a deeper look.

@rainersigwald I hit it when building the WebLarge30 performance test solution: https://github.com/dotnet/BuildPerformanceTestAssets/tree/master/PerformanceTestProjects/WebLarge30
However, that's quite a big solution (129 projects).  You should be able to repro it with a vanilla 3.0 MVC project referencing a class library.

I'm going to be looking at this on Monday. The relevant piece of code is https://github.com/aspnet/AspNetCore-Tooling/blob/master/src/Razor/src/Microsoft.NET.Sdk.Razor/build/netstandard2.0/Microsoft.NET.Sdk.Razor.StaticWebAssets.targets
We are using that property precisely to try and prevent executing on the dependencies :(. I think we need to do a small change in this feature to avoid passing the property. Would that fix it?
I investigated a bit and we'll likely can fix this by capturing the information the first time we compute it and having an additional target that reads it back when needed.

https://github.com/aspnet/AspNetCore-Tooling/pull/958

I have a PR out for this, gets it down from 11s to 3s and removes the use of the custom property.

Fixed in https://github.com/aspnet/AspNetCore-Tooling/pull/958


do not use mat-label

treat no-template as a mat-select option. grey out if selected

close as mat-select doesn't work without passing in a value for mat-option with no template selected. By design no value assigned means value is null or undefined, and somehow it doesn't render the inner text of mat-option. people were complaining about it but there is still no fix github


pytorch3d access denied

While following the installation instructions, I've got this error.

I thought, ok, I'm usgin windows, which was not made to work with, so I went to the link from the pip installation, and I got this error

In any case, I'll try toinstall the default pytorch3d, but I wanted to let you knwo abiut what happaned, maybe it can help on somethng.

Hi @carlosedubarreto , PyTorch3D is an optional library that is required for the (future) visualization. If it doesn't work on your local workstation, you can skip the installation of PyTorch3D.

Oh great, thanks for the info.


Access logs for prod and dev app

Right now we (DaSL) can't see the logs from the prod and dev apps. Dan said it's something that could probably be done, but is not done yet.
For now we can ping Dan with any log requests

[ ] build logs are now available
[ ] app logs coming

DaSL now has access!
Shiny Logs: https://applogs.fredhutch.org/repo/shiny-cromwell
Build Logs: https://build-logs.fredhutch.org/project/39
Thanks @dtenenba !


Cloud Stream Episode 8

Fun talk!

Thanks for the commit! This looks like you are merging in the wrong direction. Merging main into your branch rather than merging your branch into main. That's why you have so many commits showing up. Let me know if you need a hand with this.

Yup Ignore this I was suppose to be in my fork :?.
On Wed, Aug 11, 2021 at 6:11 PM anthonyvetter @.***>
wrote:

Thanks for the commit! This looks like you are merging in the wrong
direction. Merging main into your branch rather than merging your branch
into main. That's why you have so many commits showing up. Let me know if
you need a hand with this.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/vmware-tanzu/tanzu-dev-portal/pull/1181#issuecomment-897195524,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADDLIQY3Y4RNFW4YYPVO4PLT4LYRRANCNFSM5B7HQ2KQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email
.


Reasoning behind version1_export logic

Hi, Andrej
Thanks for the great work, please, keep it coming :) One question, if I may. What is the resoning behind the version1_export "proper header" and weights export order rearanging?
For the context, I am just following your steps and trying to do it in proper Rust, for the sake of learning transformer magic and practicing language.
Thanks in advance!
Best,
Alexey

version 0 is super inflexible, and hard to extend, e.g. see the ugly hack I had to do to the negative vocab_size if the classifier is unshared.
version 0 is also not necessarily cache aligned (needs header of nice size), which helps simd instructions when the weights late get memory mapped.
version 0 has no magic/versioning information that easily identifies the file and allows iteration
mostly those two.

Thanks for the clarification :)


[FLINK-31602][table] Add built-in ARRAY_POSITION function.

What is the purpose of the change
This is an implementation of ARRAY_POSITION

Brief change log
ARRAY_POSITION for Table API and SQL
array_position(array, element) - Returns the (1-based) index of the first element of the array as long.
Syntax:
    array_position(array, element)

    Arguments:
    array: An ARRAY to be handled.

    Returns:
    Returns the position of the first occurrence of element in the given array as long.
    Returns 0 if the given value could not be found in the array.
    Returns null if either of the arguments are null

    > SELECT array_position(array(3, 2, 1), 1);
     3

See also
spark https://spark.apache.org/docs/latest/api/sql/index.html#array_remove
postgresql https://www.postgresql.org/docs/12/functions-array.html#ARRAY-FUNCTIONS-TABLE

Verifying this change
This change added tests in CollectionFunctionsITCase

Does this pull request potentially affect one of the following parts:
Dependencies (does it add or upgrade a dependency): ( no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes )
The serializers: (no)
The runtime per-record code paths (performance sensitive): ( no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: ( no)
The S3 file system connector: ( no)

Documentation
Does this pull request introduce a new feature? (yes)
If yes, how is the feature documented? (docs)

rebase to fix conflict with array_remove which merged just now

hi @snuyanzin do you have time to review it again? thanks

Fix the link of ARRAY_POSITION in spark

@damumu0625 fixed the description of spark links

@luoyuxia fix your review and rebase master to verify whether it is affected by others.

fix the description, thanks for your review @luoyuxia


Update yml file to surround parameters with quotes

Hi, getting a php non fatal error being shown in error_get_last() due to a symfony deprecation.
Not quoting the scalar "%%PHINX_CONFIG_DIR%%/database/migrations" starting with the "%" indicator character is deprecated since Symfony 3.1 and will throw a ParseException in 4.0.

Info about this error: http://symfony.com/blog/new-in-symfony-3-1-yaml-deprecations#deprecated-starting-scalars-with-characters

Thank you.


Link to pyo3.rs/main from pyo3.rs/master?

We've renamed in #1130, but today I was reading the guide and accidentally used an old link to https://pyo3.rs/master rather than the up-to-date https://pyo3.rs/main. Perhaps we could add a prominent banner on the old master docs linking to the new ones, or even remove the old docs altogether?

Thanks for reporting. I think I can use a symlink to make the link transparent...

The docs on https://pyo3.rs/master now show the same content as https://pyo3.rs/main. Thanks again for the heads up.


Typo fix in uchiwa/README.md

In the table, Uchiwa sometimes is in capital, sometimes not.
It's better use the same.

/assign
/ok-to-test

/lgtm


RFE: support pushing images using zstd:chunked compression

The use of zstd:chunked compression can dramatically decrease the amount of data that needs to be pulled over the wire when the client is able to to do partial pulls.  See https://www.redhat.com/sysadmin/faster-container-image-pulls for details and an asciinema demo.
I believe support for pushing container images using zstd:chunked compression exists in newer versions of buildah, docker, and podman.
However, I think the big issue is that the ubuntu-latest GH runners have very old versions of all that software, so newer versions of the software would have to be installed into the runner before this option could be used/supported.

Hadn't heard of this, sounds cool. The actual pushing logic is in the CLI, so @gmpinder might want to take a look at this.

However, I think the big issue is that the ubuntu-latest GH runners have very old versions of all that software, so newer versions of the software would have to be installed into the runner before this option could be used/supported.

The action actually currently runs the build (and push) from inside a container with podman, so this wouldn't be a problem. Except that building inside a container is probably the biggest cause of #16, so we're currently working towards supporting building with docker directly instead...
Should probably investigate, though, if the GH runners have a newer version of docker that supports this feature (podman is on a very old version, that's why we can't use it directly here).

Also need to investigate whether rpm-ostree supports these new compression types yet.

I'm fairly certain the container handling code in rpm-osteee is using skopeo or the containers/image library, so I believe it will support the zstd compression as it is the same library that buildah and podman use.


Row and Column for Flame Components

Problem to solve
With Row and Column classes children Components could be placed and layouted correctly without overlapping and without having to care about repeating size and position calculations.
In my games i often have Components (Sprites, buttons, etc.) which have to be placed either in rows or columns, where it's always quite an effort to calculate their positions and sizes.
The goal of the suggested two classes would be to make these calculations transparent for the developer.
Proposal
Flutter-like Row and Column classes with alignment options for both axes (i.e. mainAxisAlignment and crossAxisAlignment).
Some ideas:

the new classes could extend PositionComponent themselves
children can possibly be all PositionComponent extending classes (since getting their size is important)
adding a child dynamically to a Row or Column would need to re-layout the component
another new class for adding gaps would make sense too (like SizedBox) - ok this can be accomplished by just adding a PositionComponent with a size defined

Sgtm, do you want to work on this?

@spydon I don't have that much spare time at the moment, therefore rather no, sorry.

I've a few things on my queue, but I could try tackling this after clear some space on it

Here are my first attempts:
import 'package:flame/components.dart';
import 'package:flame/game.dart';
import 'package:flutter/widgets.dart';

enum Direction { horizontal, vertical }

/// Super class for [ComponentRow] and [ComponentColumn]
abstract class LayoutComponent extends PositionComponent with HasGameRef {
  LayoutComponent(this.direction, this.mainAxisAlignment);
  final Direction direction;
  MainAxisAlignment mainAxisAlignment;
}

/// Allows laying out children in a row by defining an [MainAxisAlignment] type.
/// A relayout is performed when
///  - a new child is added
///  - an existing child changes its size
class ComponentRow extends LayoutComponent {
  ComponentRow({MainAxisAlignment mainAxisAlignment = MainAxisAlignment.start})
      : super(Direction.horizontal, mainAxisAlignment);

  @override
  Future<void>? add(Component component) {
    assert(
      component is PositionComponent,
      "The added component has to be a child of PositionComponent",
    );
    (component as PositionComponent).size.addListener(() {
      _layoutChildren();
    });
    // hack for having [component] in children
    // find a way to call _layoutChildren when component appears in children
    Future.delayed(const Duration(milliseconds: 500), () {
      _layoutChildren();
    });

    return super.add(component);
  }

  @override
  void remove(Component component) {
    assert(
      contains(component),
      "This component is not a child of this class",
    );
    (component as PositionComponent).size.removeListener(_layoutChildren);

    super.remove(component);
  }

  void _layoutChildren() {
    final list = children.whereType<PositionComponent>().toList();
    Vector2 currentPosition = Vector2.zero();
    double componentsWidth =
        list.fold(0, (previousValue, element) => previousValue + element.width);
    final widthAvailable = size.x != 0.0
        ? size.x - absoluteTopLeftPosition.x
        : gameRef.canvasSize.x - absoluteTopLeftPosition.x;

    if (mainAxisAlignment == MainAxisAlignment.start) {
      for (var child in list) {
        child.position = Vector2(currentPosition.x, currentPosition.y);
        currentPosition.x += child.width;
      }
    } else if (mainAxisAlignment == MainAxisAlignment.end) {
      for (var child in list.reversed) {
        currentPosition.x -= child.width;
        child.position = Vector2(currentPosition.x, currentPosition.y);
      }
    } else if (mainAxisAlignment == MainAxisAlignment.spaceBetween) {
      final freeSpacePerComponent =
          (widthAvailable - componentsWidth) / list.length;
      for (var child in list) {
        child.position = Vector2(currentPosition.x, currentPosition.y);
        currentPosition.x += (freeSpacePerComponent + child.width);
      }
    } else if (mainAxisAlignment == MainAxisAlignment.spaceEvenly) {
      final freeSpacePerComponent =
          (widthAvailable - componentsWidth) / (list.length + 2);
      currentPosition.x += freeSpacePerComponent;
      for (var child in list) {
        child.position = Vector2(currentPosition.x, currentPosition.y);
        currentPosition.x += (freeSpacePerComponent + child.width);
      }
    } else if (mainAxisAlignment == MainAxisAlignment.spaceAround) {
      final freeSpacePerComponent =
          (widthAvailable - componentsWidth) / (list.length + 1);
      currentPosition.x += freeSpacePerComponent / 2;
      for (var child in list) {
        child.position = Vector2(currentPosition.x, currentPosition.y);
        currentPosition.x += (freeSpacePerComponent + child.width);
      }
    } else if (mainAxisAlignment == MainAxisAlignment.center) {
      final freeSpace = widthAvailable - componentsWidth;
      currentPosition.x += freeSpace / 2;
      for (var child in list) {
        child.position = Vector2(currentPosition.x, currentPosition.y);
        currentPosition.x += child.width;
      }
    }
  }
}

It can be used like this:
final row = ComponentRow(mainAxisAlignment: MainAxisAlignment.start)
      //..size = Vector2(500, 200)
      ..position = Vector2(50,50);
    add(row);
    row.add(
      TextComponent(text: 'One',)
        ..textRenderer = TextPaint(
            style: const TextStyle(fontSize: 22, fontWeight: FontWeight.w600,
        ))
    );
    row.add(button);
    row.add(TextComponent(text: 'Two',)
      ..textRenderer = TextPaint(
          style: const TextStyle(fontSize: 32, fontWeight: FontWeight.w800, color: Colors.yellow
          ))
    );

I'm sure there are lots of things i didn't think of and which need to be considered.
But hopefully it's a start.

Now supports a constant gap between the children which can be changed dynamically:
import 'package:flame/components.dart';
import 'package:flame/game.dart';
import 'package:flutter/widgets.dart';

enum Direction { horizontal, vertical }

/// Super class for [ComponentRow] and [ComponentColumn]
abstract class LayoutComponent extends PositionComponent with HasGameRef {
  LayoutComponent(this.direction, this.mainAxisAlignment, this._gap);
  final Direction direction;
  final MainAxisAlignment mainAxisAlignment;

  /// gap between components
  double _gap;

  set gap(double gap) {
    _gap = gap;
    _layoutChildren();
  }

  double get gap => _gap;

  void _layoutChildren();
}

/// Allows laying out children in a row by defining an [MainAxisAlignment] type.
/// A relayout is performed when
///  - a new child is added
///  - an existing child changes its size
class ComponentRow extends LayoutComponent {
  ComponentRow({
    MainAxisAlignment mainAxisAlignment = MainAxisAlignment.start,
    double gap = 0.0,
  }) : super(Direction.horizontal, mainAxisAlignment, gap);

  @override
  Future<void>? add(Component component) {
    assert(
      component is PositionComponent,
      "The added component has to be a child of PositionComponent",
    );
    (component as PositionComponent).size.addListener(() {
      _layoutChildren();
    });

    component.mounted.then((_) => _layoutChildren());
    return super.add(component);
  }

  @override
  void remove(Component component) {
    assert(
      contains(component),
      "This component is not a child of this class",
    );
    (component as PositionComponent).size.removeListener(_layoutChildren);

    super.remove(component);
    // hack which needs to be resolved
    Future.delayed(const Duration(milliseconds: 50), () {
      _layoutChildren();
    });
  }

  @override
  void _layoutChildren() {
    final list = children.whereType<PositionComponent>().toList();
    Vector2 currentPosition = Vector2.zero();
    double componentsWidth =
        list.fold(0, (previousValue, element) => previousValue + element.width);
    double gapWidth = gap * (list.length - 1);
    final widthAvailable = size.x != 0.0
        ? size.x - absoluteTopLeftPosition.x
        : gameRef.canvasSize.x - absoluteTopLeftPosition.x;

    if (mainAxisAlignment == MainAxisAlignment.start) {
      for (var child in list) {
        child.position = Vector2(currentPosition.x, currentPosition.y);
        currentPosition.x += (child.width + gap);
      }
    } else if (mainAxisAlignment == MainAxisAlignment.end) {
      for (var child in list.reversed) {
        currentPosition.x -= (child.width + gap);
        child.position = Vector2(currentPosition.x, currentPosition.y);
      }
    } else if (mainAxisAlignment == MainAxisAlignment.spaceBetween) {
      final freeSpacePerComponent =
          (widthAvailable - componentsWidth - gapWidth) / list.length;
      for (var child in list) {
        child.position = Vector2(currentPosition.x, currentPosition.y);
        currentPosition.x += (freeSpacePerComponent + child.width + gap);
      }
    } else if (mainAxisAlignment == MainAxisAlignment.spaceEvenly) {
      final freeSpacePerComponent =
          (widthAvailable - componentsWidth - gapWidth) / (list.length + 2);
      currentPosition.x += freeSpacePerComponent;
      for (var child in list) {
        child.position = Vector2(currentPosition.x, currentPosition.y);
        currentPosition.x += (freeSpacePerComponent + child.width + gap);
      }
    } else if (mainAxisAlignment == MainAxisAlignment.spaceAround) {
      final freeSpacePerComponent =
          (widthAvailable - componentsWidth - gapWidth) / (list.length + 1);
      currentPosition.x += freeSpacePerComponent / 2;
      for (var child in list) {
        child.position = Vector2(currentPosition.x, currentPosition.y);
        currentPosition.x += (freeSpacePerComponent + child.width + gap);
      }
    } else if (mainAxisAlignment == MainAxisAlignment.center) {
      final freeSpace = widthAvailable - componentsWidth - gapWidth;
      currentPosition.x += freeSpace / 2;
      for (var child in list) {
        child.position = Vector2(currentPosition.x, currentPosition.y);
        currentPosition.x += (child.width + gap);
      }
    }
  }
}

To be used like this:
row = ComponentRow(mainAxisAlignment: MainAxisAlignment.center, gap: 20.0)
  //..size = Vector2(500, 200)
  ..position = Vector2(50,50);
add(row);
row.add(
  TextComponent(text: 'One',)
    ..textRenderer = TextPaint(
        style: const TextStyle(fontSize: 22, fontWeight: FontWeight.w600,
    ))
);
row.add(button);
//row.add(PositionComponent(size: Vector2(20,0)));
row.add(TextComponent(text: 'Two',)
  ..textRenderer = TextPaint(
      style: const TextStyle(fontSize: 32, fontWeight: FontWeight.w800, color: Colors.yellow
      ))
);

Future.delayed(const Duration(milliseconds: 2200), () {
  row.gap = 50;
});

Can we rename the Component to be RowComponent instead of ComponentRow?
That way it follows the current naming convention.

@alestiago Done

Is this feature available?

@mrbeardad Not really. At the moment there's only AlignComponent available, where additional layout components shall be added later.

Waiting for use now....

interesting... +1


chore(deps): update ci dependencies

This PR contains the following updates:

Package
Type
Update
Change

common-dev-assets

digest
6f24289 -> d366e67

github.com/IBM/platform-services-go-sdk
require
minor
v0.49.0 -> v0.50.2

github.com/gruntwork-io/terratest
require
minor
v0.43.13 -> v0.44.0

github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper
require
patch
v1.21.7 -> v1.21.10

Release Notes

IBM/platform-services-go-sdk (github.com/IBM/platform-services-go-sdk)
v0.50.2
Compare Source
Bug Fixes

Global Search/Tagging: regen services with latest API definitions (#279) (87e0507)

v0.50.1
Compare Source
Bug Fixes

Context-Based Restrictions: fix output to Operations (#278) (424b6b5)

v0.50.0
Compare Source
Features

Usage Reports: add billing snapshot config service to usage reports (#272) (c56989e)

gruntwork-io/terratest (github.com/gruntwork-io/terratest)
v0.44.0
Compare Source
Description

Updated minimal Go version to 1.21

Related links

https://github.com/gruntwork-io/terratest/pull/1339

terraform-ibm-modules/ibmcloud-terratest-wrapper (github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper)
v1.21.10
Compare Source
Bug Fixes

deps: update module github.com/ibm/platform-services-go-sdk to v0.50.1 (#651) (df3e66d)

v1.21.9
Compare Source
Bug Fixes

deps: update gomod (#650) (1835de4)

v1.21.8
Compare Source
Bug Fixes

fixes bug in workspace path when using upgrade path and implicit destroys.* Fixed a bug where the temp directory could be created in the wrong place (did not affect the functionality of the code).* Removed unused internal variable. (#648) (71af06a)

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.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

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

This PR has been generated by Renovate Bot.

/run pipeline

/run pipeline

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


the OneDrive download have no ResNet50 caffemodel

Amazing!! the  ResNet50 caffemodel was  disappear. so where did it go?

Any update ?
The oneDrive link is unaccessable.

Does anyone have a link for the ResNet50 model that isn't through Baidu?

I found something here and I hope it helps:
https://gitlab.com/vgg/vgg_classifier/tree/master/caffe/imagenet_resnet-50-128


How to get named exports ?

// files/b.js
export const myVar = 1;
export default function () {}

// files/a.js
import b from './b.js';
export default { b: b };

// index.js
import('files/a.js').then(a => {
	console.log(a.b.myVar); // NOT WORKING !!!
        console.log(a.default.b.myVar); // NOT WORKING !!!
        console.log(a.default.b.default.myVar); // NOT WORKING !!!
});

what am I doing wrong ?
Thanks!

This kind of support question is best not asked on the specification repository, whose issue tracker is meant for issues with the specification. I'd suggest a place like StackOverflow.

@domenic I think the question was more like: "how do we import named exports from modules?"
Is this possible with current spec? Or does it import the whole file no matter what's inside?

Named exports are properly supported in the current spec. The promises resolves to the namespace object of the imported module.
The original poster has an invalid code and could add some logs to quickly see the issue.
The function in b.js is available as a.default.b, the variable is not accessible from the resolved a.


Add github sponsors badge to readme

What does the pull request do?
Adds a badge for github sponsors to readme besides the open collective ones.
What is the current behavior?
no badge for github sponsors
What is the updated/expected behavior with this PR?
github sponsors are shown with a badge in the readme

How was the solution implemented (if it's not obvious)?
badge using shields.io is added. To better differentiate the open collective badges are now als used from shields.io because this way a logo for open collective can be shown in the badge.

vs.

there is also a logo for github sponsors, but I think the github logo is better for differentiation

Checklist

[ ] Added unit tests (if possible)?
[ ] Added XML documentation to any related classes?
[ ] Consider submitting a PR to https://github.com/AvaloniaUI/Documentation with user documentation

Breaking changes
none
Obsoletions / Deprecations
none
Fixed issues
none

I think it would be good if the donate section (https://github.com/AvaloniaUI/Avalonia#donate) would also mention github sponsors but that is better done by the Avalonia team for good formulating.

You can test this PR using the following package version. 11.0.999-cibuild0038842-beta. (feed url: https://nuget-feed-all.avaloniaui.net/v3/index.json) [PRBUILDID]


Show tooltip on hover

Improves usability.
Great tool by the way 👍

Hi,
Thanks for contributing!
I'm probably missing something, but can you share where this hover actually has effect?

Mmmh there's no need for the hover setting actually, only intersect false
Demo here https://bre7.github.io/examples/chartjs-hover.html
I'll send a new PR


Implement objectId support for ManagedIdentityCredential

closes #2131

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.Identity

/azp run net - identity - tests

This README section should be updated to show you can use object ID too: https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/identity/Azure.Identity/README.md#authenticate-with-a-user-assigned-managed-identity


Link Update and Spelling

Hello,
It looks like the link at point three under "Infrastructure before failover" is for a classic VNet-to-VNet setup.  Could that be updated to the current documentation?  That can be found here: https://docs.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-howto-vnet-vnet-resource-manager-portal
The first bullet point under "Site-to-site connection," in the parentheses (local-network) is misspelled as (local-ntwork).
If you have any questions, please feel free to reach out.
Best,
Steve Doroff
Azure Networking

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

ID: a69c921d-0f42-7b6c-88ef-e82ff2e2453b
Version Independent ID: 9f8b73b2-fa6a-cb9c-d22e-67ec625ce3d7
Content: Set up IP addressing to connect after disaster recovery and failover to Azure with Azure Site Recovery
Content Source: articles/site-recovery/concepts-on-premises-to-azure-networking.md
Service: site-recovery
GitHub Login: @mayurigupta13
Microsoft Alias: mayg

@sbdoroff Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

I have updated the link.

#close

#please-close


exportGraphics: new option to export raw uv-parameters

Honor the new exportRawParameters option in JsInterop::ExportGraphics and JsInterop::ExportPartGraphics.
itwinjs-core: https://github.com/iTwin/itwinjs-core/tree/da4/export-graphics-raw-uv

This seems wrong. The pattern map should correctly specify how to compute the UV params.
Does the texture look correct when viewing the iModel in a viewer like display-test-app? Are they only wrong when viewing the output of exportGraphics? If so, shouldn't we fix exportGraphics?
It's possible exportGraphics is attempting to work around this with glTF (following OpenGL conventions) being the target, based on this comment:
// TextureMapping::Trans2x3 inverts V so that the frontend doesn't need to flip textures
// on load. We need to invert back to match interchange conventions.

Does the texture look correct when viewing the iModel in a viewer like display-test-app?

Yes. DTA displays the user's testcase the same way as the texture is seen in Blender. The testcase is a bim file containing a single triangle with a patternMap texture with scale [1,-1] and Units.Meters.

Does it only look wrong when viewing the output of exportGraphics?

Yes. The user states the output of exportGraphics on their testcase doesn't look right in their viewer (based on HOOPS engine).
However, they state that on house_model.bim (sample from cra-template-desktop-viewer), exportGraphics produces meshes that do look right in their viewer. I'd like to view the output of exportGraphics on the user's bim file in a gltf viewer via test-apps\export-gltf, but I need help with that.

If so, shouldn't we fix exportGraphics?

Yes. If there is a problem with exportGraphics, it might be specific to the type of texture in the user's testcase. I don't know enough about texture parameters to know what exportGraphics should be returning for this texture and geometry. Neither does the user, but they suggested they might have better luck with raw parameters returned from exportGraphics. This PR doesn't change existing behavior; rather it provides a new option to exportGraphics for the user to try.

I'd like to view the output of exportGraphics on the user's bim file in a gltf viewer via test-apps\export-gltf, but I need help with that.

You can drag and drop glTF files into Paint3d, which comes installed on WIndows.

You can drag and drop glTF files into Paint3d, which comes installed on WIndows.

Cool! But my immediate problem is how to generate the glTF file using exportGraphics. Our test-app\export-gltf apparently does this, but how do I "run" it on the user's bim file?

Ask user to supply the iModel, ideally as a file, or at least as a link to it on the hub (and grant you access to it).
Then I guess ping me.


Bundle in graphql print and parse to fix Apollo Client react native issue

Ref: https://github.com/apollostack/apollo-client/issues/261

https://github.com/apollostack/graphql-tag/pulls

OK now need to publish this and integrate into client

Published in 0.1.8.


Use Kazan UI

For apps that adopt an interactive client-side (WebAssembly or Auto) rendering mode and enable the render mode for the entire app via the Routes component:
Place or move the layout and navigation files of the server app's Components/Layout folder into the .Client project's Layout folder. Create a Layout folder in the .Client project if it doesn't exist.
Place or move the components of the server app's Components/Pages folder into the .Client project's Pages folder. Create a Pages folder in the .Client project if it doesn't exist.
Place or move the Routes component of the server app's Components folder into the .Client project's root folder.


Survey url is not showing

In the student dashboard, there is no start and end survey url are not showing up.

Fixes start and survey url in student dashboard.

#edf1536


gonum: add Version query function

Please take a look.
Updates #260.

Are we OK with the format of the versions returned? Do we want to warn that this may change?

ping

PTAL

I have a little module in my local called latest_gonum. This could be place either as a module in gonum/gonum or could be put in gonum/tools. What do you think?

how would that work? it seems a bit cumbersome to anticipate the checksum of the whole gonum/gonum repo...
(hence my suggestion of breaking Version() into Version() + versionOf(b) so we could write tests using versionOf(b) with a manufactured *debug.BuildInfo we control...)

It's not for testing. It's a command that can be used to find the latest version. The version doesn't need to be anticipated, the go.mod can be artificially created with latest as the version.
I didn't break for testing because the complexity is not in the switch, but rather then debug.BuildInfo structure that debug.ReadBuildInfo can return. That's outside of our knowledge.

It's not for testing. It's a command that can be used to find the latest version.

ah. ok. on the basis that it would be a bit silly to install gonum.org/v1/gonum/cmd/latest_gonum to get that binary (but then, one could just look into the repo one had just installed), I'd err on putting it under gonum/tools.
but that's really just to break the tie.

I didn't break for testing because the complexity is not in the switch, but rather then debug.BuildInfo structure that debug.ReadBuildInfo can return. That's outside of our knowledge.

yes, but at least this would help understand what's going one if/when ReadBuildInfo returns some slightly different output. (under Go1 compatibility rules that shouldn't happen, of course...)
but ok, this can be left as is.

on the basis that it would be a bit silly to install gonum.org/v1/gonum/cmd/latest_gonum to get that binary

These would have the same effect. The latest_gonum module itself would be small, but would pull in the gonum/gonum module. But this is true also of the gonum/tools module approach.


[TV][NUI] Fix TextSample code

Decreased PointSize of components.
Initialized buttons with BackgroundImage  and TextColor

I've checked it only on emulator. I had no idea it is for real TV target.

@pkalota
Hello,
could you check this link ? : https://code.sec.samsung.net/confluence/display/GFX/How+to+use+VD+TV+emulator
you can see how to use tizen TV emulator and also Mobile emulator.
thank you.

@pkalota
Hello,
could you check this link ? : https://code.sec.samsung.net/confluence/display/GFX/How+to+use+VD+TV+emulator
you can see how to use tizen TV emulator and also Mobile emulator.
thank you.

@dongsug-song Hello, I'm already using TV and Mobile emulators. Basing on @Seoyeon2Kim comment I will close this PR since it might be smaple for real TV target.

@dongsug-song Hello, I'm already using TV and Mobile emulators. Basing on @Seoyeon2Kim comment I will close this PR since it might be smaple for real TV target.


Add command to toggle autoformatting

This is a convenient command if you want to limit your code contribution to existing code base focused.
(that's my fist nvim setting contib)

Thanks for your contribution but I don't think it's a good fit for this project at this time.


Bug fix: word splitting

Description
Bug fix: word splitting
Type of change

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

/lgtm
/approve


Find start and end of black frame sequences

I have a episodic series that has wrong chapters for the end of openings and the start of endings.
I'd like to recreate the correct OP and ED chapters, finding the ranges of the start and the end of the black frames sequences, that are after a OP and before the ED.
Is it possibile with your useful tool? If not, would you please add that feature?
There are 1000+ episodes, so finding them by hand is a big no.
Thank you!

Right now it would be a bit verbose but it is possible.  With the threshold detector, you can find ranges where there are black frame sequences.   However, by default, the output of this detector is a cut placed in the middle of the range.
This can be controlled by the fade bias parameter.   With that, you can run detection twice: once with fade bias at -1.0, and another at +1.0.  The first run would place the cuts at the start of the black frame sequence, and the second run would place them at the end.  The downside is you need to run detection twice and process multiple output files, but it is possible.

That being said, we are working on API improvements to support these kinds of use cases.  I don't know how long it will take for those to get to the CLI tool however, but you could hack this into a custom build pretty easily even as-is by logging timecodes at each fade-in/fade-out event in ThresholdDetector.
The fade-out trigger is here:
https://github.com/Breakthrough/PySceneDetect/blob/df85d7ddb3ff9532ec74e06ac4c1edf639425713/scenedetect/detectors/threshold_detector.py#L160-L162
And the fade-in trigger:
https://github.com/Breakthrough/PySceneDetect/blob/df85d7ddb3ff9532ec74e06ac4c1edf639425713/scenedetect/detectors/threshold_detector.py#L164-L177
In both cases, you could just print frame_num before any other processing happens there to quickly log the frames when the in/out events occur.

As I wrote in #388 QP output file would be more than welcome.


LEARNER-98, Renamed button text 'Find a mobile-friendly course' to 'Find a Course'.

LEARNER-98
Description

Renamed button text 'Find a mobile-friendly course' to 'Find a Course'.
Removed 'Can't find one of your courses' text and its dialog.

Screenshot

Codecov Report

Merging #930 into master will increase coverage by <.01%.
The diff coverage is 0%.

@@             Coverage Diff              @@
##             master     #930      +/-   ##
============================================
+ Coverage     16.69%   16.69%   +<.01%
  Complexity     1010     1010
============================================
  Files           466      466
  Lines         19814    19810       -4
  Branches       2284     2284
============================================
  Hits           3307     3307
+ Misses        16150    16146       -4
  Partials        357      357

Impacted Files
Coverage Δ
Complexity Δ

...ava/org/edx/mobile/view/MyCoursesListFragment.java
0% <0%> (ø)
0 <0> (ø)
:x:

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 a0d27a7...d0e3608. Read the comment docs.


CANT CONNECT MY DUALSHOCK BACK TO PS4

After I Install the program and play some games I tried to turn my ps4 on and it stopped working on it, even after I reset de dualshock and turn off the bluetooth from my PC. I still cant reconnect with the ps4 cause every time I press the PS bottom the dualshock tries to connect whit my PC. I think uninstalling the software and drivers would work, but the are no option to it. Can anyone help me?

Connect the DualShock 4 controller on PS4 using an USB cable.

Connect the DualShock 4 controller on PS4 using an USB cable.


More documentation

Add section about the Sublime Text PR to the README
Add "Using styled-components with existing CSS" doc (closes #85)
Move made-and-supported-by section to the top of the README

/cc @geelen and @samit4me for review (live preview)

I love all of these suggestions, thanks so much! Will get the docs updated asap!

Updated, I used your suggestions and slightly adapted them here and there – please give it another read!

Awesome, merged!


Saving simulation information from simu object

Hello Noe Group,
I followed your example from replica_exchange.ipynb up to the point where I was able to save a npy file containing XYZ positions for all my atoms per replica.
Given the current documentation, I am struggling to find a way to save this information into more commonly used file types (trajectories, restart coordinates, etc.), as well as output something similar to a .log file where I can see the temperatures and potential energies per recording per replica. While the source code suggests that simu_utils was sort of inspired by the simulation function in the base openmm documentation, it does not have similar functionality with respect to reporters.
True, having the atom positions may be all one needs to produce a landscape or a plot with respect to some reaction coordinate, but the output is not as functional as it would be with respect to NAMD, GROMACS, etc. Mainly because there is no resulting coordinate or trajectory files which could be used for future simulation/handling.
If I am missing something in the documentation, let me know. I am excited to try out reform for some REMD that I plan to do.
Cheers,
Austin

state can be accessed by:
state = simu._context.get_rep_state(getPositions=True, getVelocities=True, getForces=True, getEnergy=True)

You could convert a npy file to a MD trajectory using mdtraj:
from mdtraj.formats import XTCTrajectoryFile
with XTCTrajectoryFile('output.xtc', 'w') as f:
    f.write(data[0])

Just tested and can confirm! Thanks :)


Fields are not found for a default value of an input

Steps to Reproduce
input Input {
	foo: Boolean = true
}

type SomeType {
	fieldWithArgs(arg: Input = { foo: true }): String
}

Version and Environment Details
Operation system: MacOS
IDE name and version: IntelliJ IDEA 2019.3.1 (Ultimate Edition)
Build #IU-193.5662.53, built on December 17, 2019
Subscription is active until April 17, 2020
Runtime version: 11.0.5+10-b520.17 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.15.2
GC: ParNew, ConcurrentMarkSweep
Memory: 1979M
Cores: 12
Registry:
Non-Bundled Plugins: Lombook Plugin, PlantUML integration, com.intellij.kubernetes, com.intellij.lang.jsgraphql, com.thoughtworks.gauge, intellij.prettierJS, io.ktor.intellij.plugin, io.protostuff.protostuff-jetbrains-plugin, org.intellij.plugins.hcl, org.intellij.scala, org.jetbrains.kotlin, org.jetbrains.plugins.hocon, org.plugin.dot.id, org.sylfra.idea.plugins.linessorter
Plugin version: 2.3.0
Expected Behaviour
No red
Actual Behaviour
red, unknown field

I've found this error too, even though my version is 4.0.2

It's hard to say exactly when it was fixed, but it works in the latest releases.


How does this compare to Huggingface's Text Embedding Inference?

Hi,
Thank you for your amazing work!
We'd like to add an embedding template for users to deploy on RunPod, and we're deciding between Infinity and HF's Text Embedding Inference. How would you say Infinity compares, especially in performance?

Hey,
great question, tei is a great project that started slightly later than this, and i like it (apart from its license).
benchmarking is pretty subjective, e.g. a single sentence - 10 token query is nothing you should
we deploy typically Bert-large on Nvidia L4 instances.
Sending batches of ~256 with 380 tokens each, the performance (batch throughtput/latency) is likley the only metric you want to care about, since you need to serve under high load to get anything back for your money.
CPU:
CPU is around 3x faster, when using infinity with optimum engine. Candle/torch is not that great at cpu inference, onnx has an edge here.
CUDA:
TEI round 2-5% faster on 0.55 requests per second on TEI vs 0.52 on infinity. You will need to choose the right image for this, and know that e.g. 89 compute capability is what you should go for on Nvidia L4.
STARTUP:
The startup time is slightly faster / same order of magnitute. This is for the GPU image. For roberta large, its similar gap.
Additional features that TEI misses

runs on AMD GPUs (no docker image yet, but TEI likley never will)
Runs on MAC (afaik)
RUNs custom architectures and any new models with trust_remote_code=True
under an open license (apache)

might write a blogpost soon

@alpayariyak Invested like 4-5h on this and set up an extra doc: Can I please have your feedback on it? https://github.com/michaelfeil/infinity/blob/benchmarking/docs/benchmarks/benchmarking.md

@alpayariyak Invested like 4-5h on this and set up an extra doc: Can I please have your feedback on it? https://github.com/michaelfeil/infinity/blob/benchmarking/docs/benchmarks/benchmarking.md

The benchmark link seems dead, could you please repost ?

Fixed!

Your project is amazing ! :rocket:
I :heart: your LICENSE that is better respect the one of TEI (:-1:)
Have you ever though to add an API endpoint that can serve as well as TextSplitter ?
It would replace the need to load in memory the same model for the text Chunker and the Embedder
https://python.langchain.com/docs/modules/data_connection/document_transformers/split_by_token#sentencetransformers

@Jimmy-Newtron Can you open another issue for that?

https://github.com/michaelfeil/infinity/issues/193

Are the integrations into Langchain?
What would be the expected usage? To count tokens?

great question, tei is a great project that started slightly later than this, and i like it (apart from its license).

https://github.com/huggingface/text-embeddings-inference/issues/232
https://github.com/huggingface/text-embeddings-inference/commit/3c385a4fdced6c526a3ef3ec340e343a2fa40196
Does this means that there will be a convergence of the 2 projects?

Hi @michaelfeil,
Some time has passed, what do you think about the comparison to TEI nowadays?
So far I'm very happy with infinity, was using it for text embedding with GPU.
Now for a use case for text classification on CPU, with small load. I'm wondering what solution to take, what is more future proof.
Thanks!


warn about leaky laplacians

we shuold warn loudly about our implementation of the laplacian mechanism not actually being differentially private; see:
#173

implemented a more secure version and added some words to the function docs.


Create out-of-place workflow

Right now everything is implemented in-place in order to be memory efficient for the PDE solving. This is great for the forward PDE runs, but we need an out-of-place version to be run with AD, particularly for ReverseDiff.jl.
This implies to basically reproduce the same workflow as in place, changing all functions like SIA2D! -> SIA2D, to indicate that it's out-of-place. All the code is available in the current ODINN.jl repo.

I implemented this is my Huginn.jl fork using the out-of-place implementation of the PDE (no UDE) forward model. This consisted in creating the same functions for the in-place case but without with out-of-place evaluation. Now two set of separate test are being run
@testset "Halfar Solution (in-place)" halfar_test(; rtol=0.02, atol=1.0, inplace=true)

@testset "Halfar Solution (out-of-place)" halfar_test(; rtol=0.02, atol=1.0, inplace=false)

We can see the difference in performance between the two methods using BenchmarkTools.jl. This first example is using the in-place option:

And the same ODE problem but with out-of-place allocation memory:

We can see the difference in memory storage. However, what I find odd is that the in-place method is just slightly faster than the out-of-place... I was expecting the difference between the two to be more notorious.
Between the functions I implemented for the out-of-place we have

run\_0(). Ideally this should be called just run`, but that is an existing function in Julia base. Any suggestion for a better name?
simulate_iceflow_PDE()
initialize_iceflow_model()
SIA()
avg_surface_velocity()
surface_V()

@facusapienza21 We should post this on Discourse in order to better understand why the in-place workflow doesn't provide a significant speed up wrt the out-of-place. There are clear differences in memory usage, though.

@facusapienza21 What's the status on this? Have you created the Discourse post?


[Feature request] Highlight current line

Please add highlight current line. Maybe some grey color of the line.

It is nice to have but it is a low piority work item for now.

Yes I understand that, but please keep it in mind.

@swiatlyk
This feature has been implemented by @soumyamahunt in this PR: https://github.com/JasonStein/Notepads/commit/71f35c0e78e81770dc58dc66ecd4dffac6dcca81
It will be available in Notepads v<IP_ADDRESS>


Vegamovies - TensorFlow: A Comprehensive Overview

-> Vegamovies - TensorFlow Website
-> Vegamovies - TensorFlow Website
-> Vegamovies - TensorFlow Website

Vegamovies - TensorFlow is one of the most popular open-source libraries used for machine learning and deep learning tasks. Developed by the Google Brain team, Vegamovies - TensorFlow has become an essential tool for researchers, developers, and data scientists looking to build complex models for tasks ranging from image classification to natural language processing (NLP). Vegamovies - TensorFlow This guide provides a detailed overview of TensorFlow, its features, and how to get started with building machine learning models using this powerful library.
Table of Contents

What is Vegamovies - TensorFlow?
Key Features of Vegamovies - TensorFlow
Installing TensorFlow
Core Concepts in TensorFlow

Tensors
Operations (Ops)
Graphs
Sessions

Basic Example: Building a Simple Neural Network
TensorFlow 2.0: Eager Execution and Keras
Advanced Features of TensorFlow

TensorFlow Serving
TensorFlow Lite
TensorFlow.js

Best Practices for Using TensorFlow
Conclusion

What is Vegamovies - TensorFlow?
Vegamovies - TensorFlow is an open-source machine learning library developed by Google that provides a comprehensive ecosystem for building, training, and deploying machine learning models. TensorFlow was designed to work at scale, with a focus on flexibility, performance, and ease of use. It is widely used in industries for a variety of tasks, including image and speech recognition, natural language processing (NLP), and predictive analytics.
Key Features:

Flexibility: TensorFlow supports a range of machine learning and deep learning models, including neural networks, reinforcement learning, and decision trees.
Scalability: TensorFlow can scale across multiple processors and GPUs, making it suitable for large-scale machine learning workloads.
Cross-platform: TensorFlow can run on various platforms, from mobile devices to distributed computing environments.
Ecosystem: TensorFlow offers an entire suite of tools, including TensorFlow Hub, TensorFlow Lite, and TensorFlow.js, to streamline the process of model development, deployment, and optimization.

Key Features of TensorFlow

TensorFlow Lite: Optimized for mobile and embedded devices, allowing you to run machine learning models on smaller devices with limited computational power.
TensorFlow.js: A JavaScript library that enables running machine learning models directly in the browser or on Node.js.
Eager Execution: In TensorFlow 2.x, operations are evaluated immediately (eagerly), making the code more intuitive and interactive.
Keras API: High-level API in TensorFlow for building and training neural networks with minimal boilerplate code.
TensorFlow Extended (TFX): A set of libraries and tools for managing the end-to-end production pipeline of machine learning models.

Installing TensorFlow
To get started with TensorFlow, you first need to install it on your system. TensorFlow can be installed using pip, Python's package manager.
Installation via pip:
pip install tensorflow

Could you please provide more information/context about the issue which you are re facing. And also if you are facing the issue during the installation of TensorFlow, please follow the steps which are mentioned in the below official document.
https://www.tensorflow.org/install/pip#step-by-step_instructions
Thank you!

Please don't spam


Renaming a variable

Hello!

Type: bug fix | new feature
Link to issue: https://github.com/phalcon/zephir/issues/1660

[] I have read and understood the Contributing Guidelines
[x] I have checked that another pull request for this purpose does not exist.
[ ] I wrote some tests for this PR.

Small description of change:
return_value and this_ptr will be replaced by _zephir_return_value and _zephir_this_ptr.
Thanks

Thank you


Charge too slowly

Put any Terminal into Charger.Them charge slowly....
(I paint the texture for WCT,I'm not good at painting.....)

ummm.....another problem here.(so i need to open 2 issues?)
When you put Infinity Booster Card into terminal.Them will cost more energy(may this is your setting)
When you put out the card.Terminal still cost more energy.
And player stay in the range of Wireless Access Point, the "terminal with Infinity Booster Card" still cost more energy.
Sorry,my english is not very good....

The second problem may you put in the card,they will add a NBT on terminal.
when you put out the card,they can't take the NBT away form terminal.

The second problem may you put in the card,they will add a NBT on terminal.
when you put out the card,they can't take the NBT away form terminal.

this is because it stores the actual itemStack.
when you take out the item, it will store the empty ItemStack

ummm.....another problem here.(so i need to open 2 issues?)
When you put Infinity Booster Card into terminal.Them will cost more energy(may this is your setting)
When you put out the card.Terminal still cost more energy.
And player stay in the range of Wireless Access Point, the "terminal with Infinity Booster Card" still cost more energy.
I very recently did some changes to the power usage (it was way of from where it should be)

It should now work like this:
when in range of a wireless access point: draw the same amount of power as the wireless terminal
when out of range: draw twice the amount of power as the wireless Terminal at maximum range (512 blocks)
there is still a bug with how it draws this power, but it should on average work like this

@Mari023 Thanks your work,sir.
And though my test,
THOSE NUMBER IS NOT 100% RIGHT.
no the card:
In the range of Wireless Access Point:32AE
Out of the range:5AE
512 blocks away fo the range:5AE
put in card:
In the range of Wireless Access Point:24AE
Out of the range:11616AE
512 blocks away fo the range:11616AE
put out the card:
In the range of Wireless Access Point:39AE
Out of the range:5AE
512 blocks away fo the range:5AE
ummm....those may help you.
At the last,I ONLY test on the latest version.not do test on the version before you change some things about power.
(how about the texture pack of WCT,i want get a feedback...)

So I did some testing myself, and for me it worked like expected:
if in range of an access point it draws exactly the same amount of power like the wireless terminal from ae2
if out of range it draws twice the amount of power it would draw if it were at 512 blocks away


Fix AcasPresenter

The mapping for security services had been changed and didn't match
up with the presenter. Fixed and added a regression test to catch
in the future.

nice one! :+1:

@dan-palmer please review.
added a spec to catch such mismatches again and used fetch to blow up in future too making tracking the problem more straightforward if it somehow slips through.


Tool Tips not appearing when responsive=false

Bugs and Questions
Checklist

[x] This is a victory-native specific issue. (Issues that also appear in victory should be opened here)

[x] I have read through the FAQ and Guides before asking a question

[x] I am using the latest version of victory-native

[x] I have checked to make sure that my versions of react-native and react-native-svg are compatible with this version of victory-native. Read about version requirements

[x] I've searched open issues to make sure I'm not opening a duplicate issue

The Problem
Issue: Setting the following to a VictoryChart results in tool tips not showing at all.  I've tested this locally removing pieces until I found this occurring.  I've also tested on Victory's site by editing a sample that it is seemingly not an issue there.  I'm aware that they blink on iOS, but this is nothing at all showing.
Expected Behavior: Tooltips should render correctly regardless of the responsiveness of the chart.
Reproduction
Attempt to add tooltips via labelComponent={<VictoryTooltip />} while the chart's containerComponent has responsive off.
victory-native: ~0.18.2
react-native: 0.55.4
react-native-svg: ~6.1.3
render() {
    const { screenHeight, screenWidth } = this.state;

    return (
      <View style={style.container} onLayout={this.onContainerLayout}>
        <VictoryChart
          width={screenWidth}
          height={screenHeight}
          padding={{ top: 89, bottom: 30 }}
          containerComponent={<VictoryContainer responsive={false} />}>
          <VictoryAxis />
          <VictoryAxis dependentAxis />
          <VictoryBar
            data={[
              { x: 0, y: 0, label: 'foo' },
              { x: 1, y: 1, label: 'bar' },
              { x: 2, y: 2, label: 'baz' },,
            ]}
            labelComponent={<VictoryTooltip />}
          />
        </VictoryChart>
      </View>
    );
  }

@alburdette619
That's odd. It sounds like Victory's portal is being rendered incorrectly when responsive={false}. I will investigate. In the meantime, you can try setting labelComponent={<VictoryTooltip renderInPortal-{false}/>}