Matrix autodiff type

This is a new version of the design doc for a matrix autodiff type in Stan.
Rendered version
(This is a follow up to the original pull here)

A few extra things about this design doc.

Most of what is written here for Math is already in Math. That might seem to defeat the meaning of doing a design doc, but our excuses are:
a. We did not introduce changes in the Stan language
b. We did not remove the old stuff (the interface here is backwards compatible)
c. We're still happy to discuss the stuff we already put in Stan Math

Though we haven't merged anything into Stanc3 yet, there is a prototype compiler, and we can get about a 2x speedup on a simple hierarchical model using the new autodiff types here (here)

The old design doc is here. No need to read it -- just a link for convenience. Most of the conversation is still really relevant.

I didn't see any discussion of "varmat comprehensions". Was that idea abandoned?

I think since it's possible to get mileage out of this without that function, it's been ignored. In GP examples and stuff building the matrices with normal autodiff is expensive though, so the uses are out there for sure.
Looking at the example in the link, we'd need to do some compiler things here to make this work:
matrix matrix_comprehend(real(int, int) f, int M, int N) {
  matrix[M, N] y;
  for (n in 1:N)
    for (m in 1:M)
      y[m, n] = f(m, n);
  return y;
}

If we want the output to be a varmat type, then we'd need to somehow make sure that the function f wasn't acting like a matvar function (emitting scalar autodiff variables). However, if f is a function from Math, it will do just that (emit var_value<double> variables and put callbacks on the autodiff stack that expect those var_value<double> things to be used).
With user-defined functions we could probably do something. User-defined functions would probably be the main use case.
This seems harder than I expected now that I think about it.

@nhuurre Thanks for doing a review.
I made a couple edits and added responses. Should be ready to go again

Looks good to me.

Cool thanks @nhuurre. Did the repo not let you leave an approving review? We can up your Github permissions if you want em'.
Otherwise @rok-cesnovar can click the button and collect the delicious Github points.


[CI] Reduce wheel size by not shipping debug symbols

Due to #3792, we cannot ship wheels greater than 100MB in size. However, the latest wheel build from v0.4.2 https://github.com/vllm-project/vllm/commit/8d8357c8ed1f3ddb6a0e8f3287ec669a13d77df1 generated wheel is 103MB. This is pretty strange as my locally built wheel with the same environment generated wheel of size 97MB. The two wheels have exactly the same set of kernels for same set of sms.
Rather than comparing the binaries, I found if debug info is stripped, the wheel size can be greatly reduced. Therefore, until we figure out other approaches to reduce the debug info for the wheel build, the PyPI packages will live without debug symbols 😢

The size built within docker container is <100MB. But the wheels generated by github action runner is >100MB

I will continue work on #4299 but it might take some time....


Proximity trigger is active despite being turned off in AndroidManifest

:writing_hand: Describe the bug
I noticed that hovering/waving over the phone's camera triggers the Sentinel to show up even though I have it disabled in AndroidManifest.xml. However, after visiting the Sentinel's UI settings and exiting them (without changing anything), the trigger seems to stop being active.
:bomb: Steps to reproduce

Cold-start the application with the proximity trigger being off in AndroidManifest.xml
Wave over the device -> the UI will show up
Go to the Settings (cog icon) -> observe that the trigger is shown as "off".
Exit the settings and close the Sentinel UI
Waving over the device no longer triggers the UI.

:wrench: Expected behavior
The device should not react to the proximity trigger when turned off.
:iphone: Tech info

Device: Pixel 7
OS: Android 13
Sentinel version: 1.3.0

@simicmarin I would consider this a high-priority bug. It happens on every app startup, which is quite annoying, and everyone using development builds is affected by this.

@simicmarin I would consider this a high-priority bug. It happens on every app startup, which is quite annoying, and everyone using development builds is affected by this.

I'll try to prioritise it. Thank you for your input 👍

Fixed for release https://github.com/infinum/android-sentinel/releases/tag/1.3.2


Environment variables not loading correctly using dotenv

Bug description
When watching a project from a specified root, any dotenv configs that should be loaded from that root are ignored. Thus environement variables are not available to be used in the application. In other solutions similar to tsx, such as ts-node-dev, the environment variables are loaded correctly.
Reproduction
Reproduced bug
Environment
System:
  OS: macOS 12.6.1
  CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
  Memory: 94.16 MB / 16.00 GB
  Shell: 5.8.1 - /bin/zsh
Binaries:
  Node: 16.13.0 - /usr/local/bin/node
  npm: 8.1.0 - /usr/local/bin/npm

Can you contribute a fix?

[ ] I’m interested in opening a pull request for this issue.

This is expected behavior as per ESM spec and is reproducible in Node.js as well in ESM mode.
In ESM, all imports in a file resolved and executed before the code in the file, even if the import happens at the end of the file.
In this demo, notice how 2 is logged before 1, despite console.log(1) being before the import.
So your file main.ts:
import * as dotenv from "dotenv";

dotenv.config({ path: "./.env" });

import { EXTERNAL_IMPORT } from "./external";

console.log(`EXTERNAL_IMPORT: ${EXTERNAL_IMPORT}`);

Is getting executed as:
import * as dotenv from "dotenv";
import { EXTERNAL_IMPORT } from "./external";

dotenv.config({ path: "./.env" });

console.log(`EXTERNAL_IMPORT: ${EXTERNAL_IMPORT}`);

That said, dotenv is not loading the .env dotenv file until after ./external is loaded.

Thanks for the explanation @privatenumber, I've worked around this by adding the dotenv import and initialization to a separate module env.ts, which I import first from main.ts. This leads to correct behaviour since the imported module is executed first. Appreciate the help!
main.ts:
import "./env";
import { EXTERNAL_IMPORT } from "./external";

console.log(`EXTERNAL_IMPORT: ${EXTERNAL_IMPORT}`);

env.ts:
import * as dotenv from "dotenv";

dotenv.config({ path: "./.env" });

external.ts:
export const EXTERNAL_IMPORT = 1;

console.log(`process.env.TSX_TEST: ${process.env.TSX_TEST}`);

If your dotenv file is actually called .env, you should be able to replace import ".env" with import 'dotenv/config' so you can remove env.ts.

Thank you! In another monorepo project I'm using an additional .env from an ancestor directory so the default import isn't sufficient but in this case that's perfect.


Remove "s" from read/write/format settings

Latest improvements:
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR.
[ ] The OpenAPI Hub was used for checking validation status and next steps.

ARM API Review Checklist

[ ] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

Automation for azure-sdk-for-python

+@KeynesY , @davidzhaoyue, @shawnxzq to help review this change.

Automation for azure-sdk-for-go

Can one of the admins verify this patch?

Hi, @anuchandy , because the AUX of our product has been released to customers serval months ago, so we have to rollback before change (it was breaking change on existed customers) to keep backward compability here, that's why we remove the "s" from write/read/format settings. This change has been agreed by our product leaders team. Please help review and signoff this change, thanks.

@yuzhangyi this is a breaking change in the SDK level. Also usually we use settings for configuration properties not setting. Is this change necessary?

We released SDKs with s in the model names, e.g. .NET SDK
https://github.com/Azure/azure-sdk-for-net/blob/8a7d510c4f7dc88ad6a68bc77f859f0247a71089/sdk/datafactory/Microsoft.Azure.Management.DataFactory/src/Generated/Models/StoreReadSettings.cs#L22
Nuget packages here: https://www.nuget.org/packages/Microsoft.Azure.Management.DataFactory/
Trying to understand your message so we have to rollback before change (it was breaking change on existed customers) to keep backward compability here:
now that we already released it, what do we meant by backward compatibility? sorry if I'm missing some context here.

Hi, @anuchandy and @AutorestCI, based on newest information get from azure powershell team, our change with breaking change in public swagger has been released to customers. So we choose to let our product AUX handling both "setting" and "settings" to workaround now, so close this PR review, thanks for your help.


Search engines generate short URL's with p'n's

YOURLS version: 2
PHP version: 7.0.15-0ubuntu<IP_ADDRESS>

Search engines index links like http://sho.rt/index.php?url=http://long.com/ and create new short URL's by itself. How to forbid it?
I think the best way, write it in robots.txt, but how?
Thank you in advance!

I guess a robots.txt directive like "Disallow: /index.php" may work, but in the first place I don't get how search engines come across such URLs ...

I'm also don't know. May be from browsers of other users or maybe anywhere somebody write about it and post a link.
Thank you! I hope it will not have negative effect foe indexing other links and all site?


[Suggestion] Add Elite and Champion bots

Bug type

[ ] Ability
[ ] Item
[ ] Hero
[x] Bot
[ ] UI
[ ] Other

Describe
Add a toggle to the options screen that add an "elite" modifier to 3 dire bots and a "champion" modifier to 1 dire bot on game start that boosts their stats, or adds passive ability, similarly to player attributes.
Expected behavior
I think the challenge being less symmetrical would add variance to game play, there would be more reason to adjust strategy depending on which enemy bots get buffed and would make single-target important as well as AoE. Increasing gold multiplier for bots stops making the game harder, since that also increases kill bounty and players are more gold efficient.
To Reproduce
I would suggest putting bots into groups and giving bonuses that are effective endgame e.g.
Tank
%Incoming Damage Reduction, %Max Hp/Mp
Marksman
Attack Range, %Max Hp/Mp
Fighter
Movement Speed, Status Resist, %Str & Agi
Mage
Cast Range, Cooldown Reduction
Screenshots
If applicable, add screenshots to help explain your problem.

Implemented in #1138


Using "next_page_token" on "tweetLikedBy"

Is your feature request related to a problem? Please describe.
When I'm using "v2.tweetLikedBy" I need to pass argument asPaginator:true and I cannot pass "next_page_token". typescript yells and does not work.
Describe the solution you'd like
I would like to have the "next_page_token" param available to user.
Describe alternatives you've considered
I don't think there's an alternative on here, I might have missed tho.
I've check this issue but not applicable for "v2.tweetLikedBy" https://github.com/PLhery/node-twitter-api-v2/issues/393
Additional context
When I get likes of the tweet after getting "429" I'd like to continue where I've left off.

Hi,
How about pagination_token?
No parameter is named next_page_token for this endpoint (please see documentation https://developer.twitter.com/en/docs/twitter-api/tweets/likes/api-reference/get-tweets-id-liking_users).

Running into the same issue.


actions.changeRole causes dropped audio track on role change

Describe the bug
I have 3 roles for my 100ms meeting (admin, guest, and waiting room).
For public meetings, the admin has an useEffect hook that monitors HMSNotificationTypes.PEER_JOINED in the waiting room. It automatically calls actions.changeRole upon getting the notifications.
Periodically (3/10 times) waiting room users upgraded to guest users will have their audio track not changeRoles with them.
They will still appear to have an audio track on their side, but on the admin side, it will look like they are muted and have no audio track.
To Reproduce
Steps to reproduce the behavior:

Go create 3 roles
For the admin role, have a useEffect that immediately calls actions.changeRole
See that the audio track on the guests role does not transfer roles

Expected behavior
The audio works as expected.
Desktop (please complete the following information):

OS: MacOS
Browser chrome
Version latest.

Pulled this conversation into Discord: https://discord.com/channels/843749923060711464/843752786196693012/1039907872521343028

Resolved with https://github.com/100mslive/100ms-web/commit/df9f834d2e64bbac27532f1c89a5e17f7578c24a


MODELIX-791: enable coverage reporting in PR pipelines

Adds code coverage reporting via a PR comment. A hopefully uncontroversial change is included to demonstrate the per-file reporting in this PR.
JS reporting is unfortunately not too easy and excluded here.
The PR job artifacts include the full HTML coverage report.
Feel free to merge if the PR is ok as is.
Fixes: MODELIX-791

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


Add boxes theme

What does this accomplish? The boxes theme isn't really a theme, at least not in the sense of the other Beamer themes. It's identical to the default theme but with the addition of \addheadbox and \addfootbox commands (for which there are other ways to provide the same functionality).

You're right, I hadn't compared the two, sorry.


I found that my serial port could not receive data normally after working for a period of time

I found that my serial port could not receive data normally after working for a period of time.
Working for two hours or so is unacceptable.

This problem doesn't contain any information that can be used for analysis (what does "could not receive data normally actually mean?). I've used it on other projects for a long period of time, receiving data from remote targets and it works as I'd expect.
Closing for a lack of information.
If you can provide a more specific case of what the problem you're seeing (specify the inputs to your application, the outputs), I can investigate it further. For a good bug report, see the Wiki. a good example is #104


Interpretation of '.seq' files is not matching with sequence designed on PyPulseq

What happened?
First, thank you for your nice repository, I found it very useful.
However, I am struggling with an issue regarding the interpretation of '.seq' files. Apparently, KomaMRI interpretates each block of gradient built in PyPulseq, with the need to start and finish at 0.
Here are the full concatenated blocks I want to perform in the simulations. However, as you can see they have unexpected behavior of going to zero between each block of gradients design in the Pypulseq.

Here are an example of block 1 and 2 for Gz:
Block 1 - Koma

Block 1 - Pulseq

Block 2 - Koma

Block 1:2 - Koma

Block 1:2 - Pulseq

I feel like this shouldn't be the case, as I need to simulate the '.seq' and don't want to edit it in the Koma environment as it would make it a different sequence from the one I will design for further scanning.
Should I do something different, or is this something that needs to be update?
Best
ZemaTimoteo
Environment
OS x86_64-w64-mingw32
Julia 1.9.4
KomaMRIPlots 0.7.8
KomaMRI 0.7.5
KomaMRICore 0.7.6

Hi!
Thanks for using Koma :smile:!
This issue is related to #205. While it looks weird, it is more of a plotting bug, as it has no impact on the simulations. The worst thing that it could do is to add a sample with amplitud 0 and duration 0 to the simulation, which has no effect.
Having said that, I don't think it is a hard one to solve. Could you provide this pulseq file to do some tests?
In the meantime, we have tools to check what is actually being simulated. Take a look at the results of  plot_seqd(seq) (see it in the docs). It would be good to update anyway as we recently fixed a bug #315 that could have an impact in the simulation.
Cheers!

I believe we found a case where this could affect the simulation, opened #321 to fix it.

Having said that, I don't think it is a hard one to solve. Could you provide this pulseq file to do some tests?

I attatch the seq file that is give me this trouble. It is a simple MSE sequence.

MSE_test_KomaMRI.zip

I tried to run the code plot_seqd(seq) but i got the following error message:

`ERROR: MethodError: no method matching discretize(::Sequence; sim_params::Dict{String, Any})
Closest candidates are:
discretize(::Sequence; simParams) got unsupported keyword argument "sim_params"
@ KomaMRICore C:\Users\filia.julia\packages\KomaMRICore\wY77R\src\datatypes\simulation\DiscreteSequence.jl:53`

Hi @ZemaTimoteo!
Thank you for your MSE sequence we are going to perform some tests with it 😃.
Can you please update your KomaMRI version? That is why you see  ERROR: MethodError: no method matching discretize ...

Hi, to give an update on this. What we were doing differently. We hadn't added the heuristic that Pulseq uses for the first and last samples (more info here https://github.com/JuliaHealth/KomaMRI.jl/pull/321#issuecomment-2020348649j). It is an easy fix and should be solved this week.

This has been solved in the current dev version of Koma (master). In some cases, the samples first sample is not exactly the same, but the difference was very small and only happened when the sample duration dt=0, so it had no effect in the simulation.
plot_seq

plot_seqd

Please let us know if you encounter any other issues!


feat(docs): Expose tooling for rule developers

Motivation
We need more input from new contributors. Currently, we are relying more and more on a lot of internal and external tools to write our rules. Not everybody may know them, while they are so helpful to create better rules.
I think we should have something like a "Great tools for rule writers" page to bring the rule writing practices from the 2000s to the 2020s.
And maybe even end with a full-fledged "rule writing walkthrough" that strings all the tools together to create a sample rule (could be moved to a separate issue if we want to do that).
Proposed solution
At least, we could make a list of useful tools and links to them.
For example:

CRS-toolchain (would link to our own upcoming documentation page about the new regexp assembler)
go-ftw (link to our own upcoming documentation)
https://regex101.com - This is essential
https://onecompiler.com/mysql - live running MySQL commands (great site btw)
https://onecompiler.com/mongodb - live running MongoDB commands
https://sqliteonline.com - live running SQLite commands
https://onecompiler.com/redis - live running Redis commands
...anything else that you love?

At best we could have the list, and also create a 'walkthrough' for creating a rule that goes from:

a payload
to one of the online IDEs above to play with payload variances and backend behavior with regards to spacing, comments, etc.
to thinking of a regexp
to making and testing it in regex101
when to modify an existing rule and when to create a new rule (which should be somewhat discouraged unless it's really a new attack technique.)
then to create a regexp-assemble data file
generate the rule with crs-toolchain
testing the rule (link to our own upcoming documentation on go-ftw)

Alternatives
Karel always just does a web search for 'execute postgres online'. But there's a bigger chance that people might give up.
Additional context
N/A

Shall we move this one to https://github.com/coreruleset/documentation ?

It's a great proposal btw.


Reimplementing string_compare / copy

Check out kernel/kernel/kshell.c and kernel/libk/string.c... Replace the 'local' string algorithms in kshell with string.c ones. Also check if string.c/string.h implements all the the standard string functions

Branch is user_mode


Fix code gen

This is a tested fix for issues with the code-gen module so that it properly handles all four permutations of GraphQL LIST arguments, which are:
Nullable List Type: [] e.g. [String]
Nullable List of Non-null Types: [!] e.g . [String!]
Non-null List Type: []! e.g. [String]!
Non-null List of Non-null Types: [!]! e.g [String!]!
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Out of curiosity, can anyone explain to me why the ci/circledci: test is failing?  It says "isRequired.ts[8, 3]: misplaced 'else'\n\n',"
The code is syntactically good, as far as I can tell, and I tested this code as well.  So is the linter just complaining about a style of bracing?

@yuth
Okay, this PR is now passing the CI tests (tslint was picky about spacing/bracing/etc).


Doesn't work on Travis anymore

Travis currently has Java 7 as default, since the v6 release we required Java 8, since that is now the minimum supported by vnuvalidator. For Travis Java projects its possible to specify the JDK version: https://github.com/jzaefferer/grunt-html/blob/545caebe6858d8a624fd6a8320cba5424893b0db/.travis.yml#L10-L11
But this doesn't work for node (see https://github.com/jquery/jquery-ui/pull/1674 ), and I don't think its acceptable to ask everyone to change their node projects to java and specify the node dependency manually.
Would be nice if Travis would just update the default JDK to 8. Not sure what else to do. Any ideas, @XhmikosR, @jawshooah, @LaurentGoderre?

I haven't got the time to work around this myself, but it's an upstream issue nevertheless.
Having said that https://github.com/twbs/bootstrap/pull/19029
Another solution I want to try is https://github.com/travis-ci/travis-ci/issues/4090#issuecomment-184864134

Thanks @XhmikosR for the pointers!
Seems like this could work:
sudo: required
dist: trusty

That's supposed to have a JDK 1.8.0_60, so it should fix this issue. Will try that.

@jzaefferer: the Trusty image seems to work fine. I switched to that in a few of my projects.

@jzaefferer: shouldn't we close this? I mean, it's not an issue with grunt-html per se.

Example commit for a working setup: https://github.com/jquery/jquery-ui/commit/ff3769272bb5530b224297fa5d2add1865acbb7f
Let's add a note to the readme about this.


Feature

Please check out the changes to the code and point to weak spots or errors I should fix / work on.

The title of the pull request just states "feature". Ideally, this should be something more descriptive in case there are several active pull requests.

@svenwillger
I have adapted the code a bit, but I don't have reference containers right now on my system. Could you please checkout this version and test it (creating cache, extracting a reference file)?


[struct_json] is compatible with msvc versions

The purpose of this change is to ensure compatibility with different versions of the Microsoft Visual Studio (MSVC) compiler. The _MSC_VER macro is used to determine the compiler version, allowing the code to handle differences between Visual Studio 2019 (MSVC 14.2x) and Visual Studio 2022 (MSVC 14.30+). This is particularly important because VS2022 introduces full support for C++20 features, while earlier versions require a fallback implementation.
What is changing
The code now includes conditional checks for _MSC_VER:

When _MSC_VER >= 1930 (Visual Studio 2022 or newer), the code leverages C++20 features such as generic lambdas and fold expressions.
For older versions like VS2019 (_MSC_VER >= 1920 && _MSC_VER < 1930), the code falls back to an alternative implementation to maintain compatibility.

This ensures that the code can be compiled with both VS2019 and VS2022 while taking full advantage of C++20 features where available.
Example
For example, the following macro-based logic ensures that the code behaves correctly in both compilers:
#if __cplusplus >= 202002L
  #if _MSC_VER >= 1930
    // Code that uses C++20 features, supported in VS2022
  #else
    // Fallback code for VS2019, which lacks full C++20 support
  #endif
#else
  // Code for non-C++20 environments
#endif

按照+号的缩进，手动编辑一下吧

 按照+号的缩进，手动编辑一下吧


Improve informations about possible usage of nameof operator

I would be nice , when this article have a table or a text that contains information about usable elements for nameof operator.
e.g.
name of namespace = yes/no ?
name of class = yes
name of function = yes
value =  no
operator = no
.....

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

ID: 8d6e6220-cbdf-c81c-1f3f-eceaac577b3d
Version Independent ID: d7516eb5-db45-8651-70a3-21115a4ba432
Content: nameof  (C# Reference)
Content Source: docs/csharp/language-reference/keywords/nameof.md
Product: dotnet-csharp
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

@TobiasSekan Thanks for the feedback.  I am going to close this, because I think all the information from your table is in the first sentence of this article:

Used to obtain the simple (unqualified) string name of a variable, type, or member.

Mapping to your table items
name of namespace = no
name of class = yes (it's a type)
name of function = yes (it's a member)
value = no
operator = no
If you disagree, you can reopen this issue and add more details about what you are looking for.


Fix: Hide mobile menu on button click

This pull request addresses the issue where the mobile menu remained visible after a user clicked the toggle button

PR Merged 🥳


Session forms attributes doesn't display

Describe the bug
OOTB SFRA session forms values are not showing up
To Reproduce
Steps to reproduce the behavior:

Have registered account with the saved address
Login into this account and add the random product to the cart
Go to checkout and pick the shipment
Go to the billing page and validate values from the Dev Tools

Expected behavior
It should show values behind form session values
Screenshots

Desktop (please complete the following information):

OS: macOS Big Sure
Browser Chrome
Version Version 94.0.4606.61 (Official Build) (x86_64)

Additional context
Investigating bug that in the SFRA country and state is wiped out after adding new payment method and hitting CheckoutServices-SubmitPayment found out that plugin was not able to support me and show form values from the session on the page load.

The fix was about to increase maxDepth as the default one was just 3. Would it make sense for time to make a PR and increase default value?


[BUG] For python3.8 and python3.9, dooit cannot startup normally.

Describe the bug 🐛
Met error when using python3.8 or 3.9 to run dooit.
To Reproduce 🐣
Steps to reproduce the behavior:

Use python3.8 or python3.9.
Under the root of dooit, python main.py

Expected behavior  🤔
dooit starts up normally.
Screenshots 🧐
For python3.8
Traceback (most recent call last):
  File "main.py", line 1, in <module>
    from dooit.__init__ import main
  File "/home/weissle/learn/dooit/dooit/__init__.py", line 3, in <module>
    from .ui.tui import Dooit
  File "/home/weissle/learn/dooit/dooit/ui/tui.py", line 4, in <module>
    from dooit.utils.watcher import Watcher
  File "/home/weissle/learn/dooit/dooit/utils/__init__.py", line 4, in <module>
    from .keybinder import KeyBinder
  File "/home/weissle/learn/dooit/dooit/utils/keybinder.py", line 57, in <module>
    configured_keys = DEFAULTS | configured_keys
TypeError: unsupported operand type(s) for |: 'dict' and 'dict'

For python3.9
Traceback (most recent call last):
  File "/home/weissle/learn/dooit/main.py", line 1, in <module>
    from dooit.__init__ import main
  File "/home/weissle/learn/dooit/dooit/__init__.py", line 3, in <module>
    from .ui.tui import Dooit
  File "/home/weissle/learn/dooit/dooit/ui/tui.py", line 6, in <module>
    from dooit.ui.widgets import WorkspaceTree, TodoTree, StatusBar, HelpScreen
  File "/home/weissle/learn/dooit/dooit/ui/widgets/__init__.py", line 2, in <module>
    from .sort_options import SortOptions
  File "/home/weissle/learn/dooit/dooit/ui/widgets/sort_options.py", line 14, in <module>
    class SortOptions(Widget):
  File "/home/weissle/learn/dooit/dooit/ui/widgets/sort_options.py", line 23, in SortOptions
    name: str | None = None,
TypeError: unsupported operand type(s) for |: 'type' and 'NoneType'

Desktop (please complete the following information):  🤖

OS: WSL
Version Ubuntu 20.03

Additional context 📝

I see. Thanks for the PR! I thought that the match statements were the only thing keeping it from running on lower versions of python :confused:
Would you like to work on this @Weissle ?

Will take a look when I have time.


WSL 2 hangs on startup

Windows Version
Microsoft Windows [version 10.0.22621.1992]
WSL Version
<IP_ADDRESS>
Are you using WSL 1 or WSL 2?

[X] WSL 2
[ ] WSL 1

Kernel Version
No response
Distro Version
Ubuntu 22.10
Other Software
No response
Repro Steps
Launch WSL
Expected Behavior
WSL should start properly
Actual Behavior
WSL hangs indefinitely, with 100% disk usage (reads hundreds of megabytes per second). Most of the time no write is happening (less than 100 Kb/s) but sometimes it goes up to dozens of Mb/s.
Diagnostic Logs

Closing this, turned out after debugging that it was caused by dockerd starting at startup and using a crazy amount of resources for some reason.


Adding Bloomberg connector for Power BI

Adding Bloomberg connector for Power BI

Acknowledging this - do not merge until approved.


Consider creating an eslint rule/plugin

As mentioned on Twitter, the fact that one has to read from another variable than they are writing to, is quite confusing.
I understand the reasoning behind it. But that reasoning doesn't change the developer experience.
Hence I suggest to consider creating an eslint plugin. So that the developer will be protected from accidental mistakes.
This would be similar to what the react eslint plugin does for misused hooks (think dependency array / conditionally calling of hooks).

This is a very nice suggestion. Hadn't thought about it, but yes it should be able to do like react-hooks rule.
I wish someone would volunteer for developing this.

@Aslemammad made it! https://github.com/pmndrs/eslint-plugin-valtio
This is just the first version and there might be some unknown issues and obvious improvements, but it's a very good start.
Closing this issue, if someone finds any issues with it, please open a new issue here or there.

@Aslemammad made it! https://github.com/pmndrs/eslint-plugin-valtio
This is just the first version and there might be some unknown issues and obvious improvements, but it's a very good start.
Closing this issue, if someone finds any issues with it, please open a new issue here or there.

Congrats!

Congrats!


[Bug]The function func_fwd is calculated inconsistent on the cpu and gpu

The tutel/fasst_dispatch.py file calls the function func_fwd, but the cpu and cuda implementations of this function are inconsistent. Here is the code implementation of this function on cpu and cuda:
// cpu code
// code on tutel/custom/custom_kernel.cpp
    for (int i = 0; i < samples; ++i) {
      if (locations1_s[i] < capacity && indices1_s[i] >= 0) {
        for (int j = 0; j < hidden; ++j) {
          dispatched_input[(indices1_s[i] * capacity + locations1_s[i]) * (hidden) + j] += gates1_s[i] * reshaped_input[i * (hidden) + j];
        }
      }
    }

//cuda code
// code on tutel/jit_kernels/sparse.py
      for (int i = blockIdx.x; i < samples; i += gridDim.x)
          if (locations1_s[i] < capacity && indices1_s[i] >= 0) {
              #pragma unroll
              for (int j = threadIdx.x; j < hidden; j += 1024)
                  dispatched_input[(indices1_s[i] * capacity + locations1_s[i]) * (hidden) + j] = gates1_s[i] * reshaped_input[i * (hidden) + j];
          }

The dispatched_input is computed differently on the two implementations.
On the cpu, dispatched_input += gates1_sreshaped_input, and on cuda, dispatched_input=gates1_sreshaped_input.

Thanks! But this is not a bug, because indices1_s[i] * capacity + locations1_s[i] is always unique, so that = and += actually do the same, you can change CPU's += to =, although it doesn't make any differences in producing results.


Change buildToolsVersion to "23.0.2"

Change buildToolsVersion to "23.0.2".

Improved the merging performance of the dx tool.
Fixed issues in the RenderScript compiler for Windows.

When I take #47 I'll work to reinitialize the React project to ensure we've got the latest and greatest boilerplate.


Slide momentum has wrong direction after sliding off slope

Momentum seems to be mirrored (eg. after sliding off a slope, the momentum ends up pushing the player back up the slope). Gets particularly strange if done on the large blue capsule in the Test Zone while standing on the white box.

Can confirm, same happens on terrain test you try to go on the highest platform, you slide down.. and then it keeps trying to get up on the platform, and get up on it without your input :D


newsblur.com and ssl

This may not be exactly the right place to put this but I would really encourage you to look into using SSL for the newsblur.com website.  Obviously free with Let's Encrypt etc.  Though maybe there might be issues with insecure feeds coming in through a secure connection (had that issue in the past with things).

I'm already using an expensive wildcard SSL certificate. I just allow non-https because a number of users want to get around browser restrictions that prevent http-only content from showing up on an https site. So I allow http-only.


Adding e2e tests for Kubernetes v1.22

We need to add e2e tests for the recently released Kubernetes v1.22

/assign


NoMethodError in v.0.4.7

Hello Felix,
I've just installed v.0.4.7 and on the iPad, I have a NoMethodError, here is the stack trace :
killall 'iOS Simulator'
xcrun simctl boot 'FA2D154E-24CE-4E0C-B7DE-59C1F13011D8'
xcrun simctl uninstall booted 'XXXXXXXXXX'
xcrun simctl install booted '/tmp/snapshot/build/XXXXXX.app'
xcrun simctl shutdown booted
INFO [2015-02-03 14:41:19.01]: Running tests on iPad Air (8.1 Simulator) in language fr-FR
DEBUG [2015-02-03 14:41:19.01]: instruments -w 'iPad Air (8.1 Simulator)' -D '/tmp/snapshot_traces/trace' -t 'Automation' '/tmp/snapshot/build/XXXXXX.app' -e UIARESULTSPATH '/tmp/snapshot_traces' -e UIASCRIPT '/Users/XXXXXXXXXXXXX/Documents/XXXXXXXXXXXXXXX/snapshots/snapshot.js' -AppleLanguages '(fr-FR)' -AppleLocale 'fr-FR'
INFO [2015-02-03 14:41:29.20]: Successfully took screenshot 📱
INFO [2015-02-03 14:41:32.35]: Successfully took screenshot 📱
INFO [2015-02-03 14:41:32.87]: Going to remove the alpha channel from generated png files
INFO [2015-02-03 14:41:32.87]: Removing alpha channel from '/tmp/snapshot_traces//Run 1/fr-FR-iOS-iPad-0-Home-portrait.png'
INFO [2015-02-03 14:41:33.16]: Removing alpha channel from '/tmp/snapshot_traces//Run 1/fr-FR-iOS-iPad-1-Home-landscaperight.png'
INFO [2015-02-03 14:41:33.46]: Finished removing the alpha channel.
DEBUG [2015-02-03 14:41:33.46]: Going to rotate screenshots from generated png files
DEBUG [2015-02-03 14:41:33.46]: Rotating '/tmp/snapshot_traces//Run 1/fr-FR-iOS-iPad-0-Home-portrait.png'
DEBUG [2015-02-03 14:41:33.46]: Rotating '/tmp/snapshot_traces//Run 1/fr-FR-iOS-iPad-1-Home-landscaperight.png'
(erb):48:in `block (3 levels) in generate': undefined method `[]' for nil:NilClass (NoMethodError)
	from (erb):40:in `each'
	from (erb):40:in `block (2 levels) in generate'
	from (erb):33:in `each'
	from (erb):33:in `block in generate'
	from (erb):29:in `each'
	from (erb):29:in `generate'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/erb.rb:849:in `eval'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/erb.rb:849:in `result'
	from /Library/Ruby/Gems/2.0.0/gems/snapshot-0.4.7/lib/snapshot/reports_generator.rb:31:in `generate'
	from /Library/Ruby/Gems/2.0.0/gems/snapshot-0.4.7/lib/snapshot/runner.rb:37:in `work'
	from /Library/Ruby/Gems/2.0.0/gems/snapshot-0.4.7/bin/snapshot:38:in `block (3 levels) in run'
	from /Library/Ruby/Gems/2.0.0/gems/snapshot-0.4.7/bin/snapshot:36:in `chdir'
	from /Library/Ruby/Gems/2.0.0/gems/snapshot-0.4.7/bin/snapshot:36:in `block (2 levels) in run'
	from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/command.rb:180:in `call'
	from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/command.rb:180:in `call'
	from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/command.rb:155:in `run'
	from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/runner.rb:421:in `run_active_command'
	from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/runner.rb:81:in `run!'
	from /Library/Ruby/Gems/2.0.0/gems/commander-4.2.1/lib/commander/delegates.rb:8:in `run!'
	from /Library/Ruby/Gems/2.0.0/gems/snapshot-0.4.7/bin/snapshot:55:in `run'
	from /Library/Ruby/Gems/2.0.0/gems/snapshot-0.4.7/bin/snapshot:59:in `<top (required)>'
	from /usr/bin/snapshot:23:in `load'
	from /usr/bin/snapshot:23:in `<main>'

Mh, can you take a look into your screenshots folder and see if all generated screenshots are non damaged png files? Looks like snapshot couldn't determine the size of a screenshot.

Bumped into this as well for the iPad.

Ahhh - it's not that it fails on the iPad, it just fails when the screenshots directory isn't the default directory as the report is assuming that's where the file is. See https://github.com/KrauseFx/snapshot/blob/7571cf3453231f5323fd7bc44fb4f0a195a4bda9/lib/snapshot/page.html.erb#L44

What was I thinking?
<% path = screen_path.gsub("./screenshots/", "./") %>
<% screen_size = FastImage.size(File.join('screenshots', screen_path)) %>

Anyway, I just pushed a fix: https://github.com/KrauseFx/snapshot/commit/c1f39bd0f919be50b8f2cf4ffad4f19acc410a9b
Could you try the new version by downloading this repository and run sudo bundle install and sudo rake install?
If it works, I'll release a new version :+1:

@KrauseFx - the path variable that was yanked here(https://github.com/KrauseFx/snapshot/commit/c1f39bd0f919be50b8f2cf4ffad4f19acc410a9b#diff-dcca1464f1e8760a1dd7cf53a0d3581cL43) is needed over here (https://github.com/KrauseFx/snapshot/commit/c1f39bd0f919be50b8f2cf4ffad4f19acc410a9b#diff-dcca1464f1e8760a1dd7cf53a0d3581cL45).
Otherwise I get this:
erb):44:in `block (3 levels) in generate': undefined local variable or method `path' for #<Snapshot::ReportsGenerator:0x007fc40d5ea618> (NameError)
	from (erb):40:in `each'
	from (erb):40:in `block (2 levels) in generate'
	from (erb):33:in `each'
	from (erb):33:in `block in generate'
	from (erb):29:in `each'
	from (erb):29:in `generate'
	from /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/erb.rb:849:in `eval'
	from /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/erb.rb:849:in `result'
	from /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/snapshot-0.4.7/lib/snapshot/reports_generator.rb:31:in `generate'
	from /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/snapshot-0.4.7/lib/snapshot/runner.rb:39:in `work'
	from /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/snapshot-0.4.7/bin/snapshot:38:in `block (3 levels) in run'
	from /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/snapshot-0.4.7/bin/snapshot:36:in `chdir'
	from /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/snapshot-0.4.7/bin/snapshot:36:in `block (2 levels) in run'
	from /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/commander-4.3.0/lib/commander/command.rb:179:in `call'
	from /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/commander-4.3.0/lib/commander/command.rb:179:in `call'
	from /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/commander-4.3.0/lib/commander/command.rb:154:in `run'
	from /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/commander-4.3.0/lib/commander/runner.rb:421:in `run_active_command'
	from /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/commander-4.3.0/lib/commander/runner.rb:81:in `run!'
	from /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/commander-4.3.0/lib/commander/delegates.rb:15:in `run!'
	from /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/snapshot-0.4.7/bin/snapshot:55:in `run'
	from /usr/local/var/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/snapshot-0.4.7/bin/snapshot:59:in `<top (required)>'
	from /usr/local/var/rbenv/versions/2.0.0-p247/bin/snapshot:23:in `load'
	from /usr/local/var/rbenv/versions/2.0.0-p247/bin/snapshot:23:in `<main>'

Oh, sorry about that. Just pushed a fix: https://github.com/KrauseFx/snapshot/commit/756fec20789d8f350e8e72dc4b801b2375d69e6b


Extend exception handling to cover Python issue35415

Due to this Python bug patch from 2018-12 (https://bugs.python.org/issue35415), Wal-e would have a spam on unhandled exceptions on the prefetch functionality, if run using a Python version that contains the aforementioned bug fix, which provides additional validation. This is potentially harmful since it aborts the rest of the wal-e logic for each of these prefetch children processes.
See the traceback:
Dec 18 11:35:16 ip-10-60-0-67 wal-e[415818]: wal_e.main   CRITICAL MSG: An unprocessed exception has avoided all error handling
                                                     DETAIL: Traceback (most recent call last):
                                                       File "/usr/local/lib/python3.10/dist-packages/wal_e/cmd.py", line 649, in main
                                                         res = backup_cxt.wal_restore(args.WAL_SEGMENT,
                                                       File "/usr/local/lib/python3.10/dist-packages/wal_e/operator/backup.py", line 314, in wal_restore
                                                         started = start_prefetches(seg, pd, prefetch_max)
                                                       File "/usr/local/lib/python3.10/dist-packages/wal_e/operator/backup.py", line 584, in start_prefetches
                                                         with daemon.DaemonContext(stderr=open(os.devnull, 'w')):
                                                       File "/usr/local/lib/python3.10/dist-packages/wal_e/pep3143daemon/daemon.py", line 116, in __init__
                                                         else detach_required()
                                                       File "/usr/local/lib/python3.10/dist-packages/wal_e/pep3143daemon/daemon.py", line 398, in detach_required
                                                         if parent_is_inet() or parent_is_init():
                                                       File "/usr/local/lib/python3.10/dist-packages/wal_e/pep3143daemon/daemon.py", line 376, in parent_is_inet
                                                         sock = socket.fromfd(
                                                       File "/usr/lib/python3.10/socket.py", line 546, in fromfd
                                                         return socket(family, type, proto, nfd)
                                                       File "/usr/lib/python3.10/socket.py", line 232, in __init__
                                                         _socket.socket.__init__(self, family, type, proto, fileno)
                                                     OSError: [Errno 88] Socket operation on non-socket

With this simple patch, we extend/cover the socket.fromfd with the same existing error handling (Checking for errno.ENOTSOCK) a step earlier in the pipeline.

Hah, thanks for figuring that out and explaining it so well!

@fdr would it be possible to release it to Pypi? Not a requirement for us since we can pin point a git sha1, but it might be useful to others still installing latest wal-e on recent versions of Python.
I suppose it could be 1.1.2, since last one was 1.1.1 on the previous commit, and this is just a bug fix.

I can do that, yeah

THANK YOU for this @fdr this was blocking me from moving and old but important DB into kubernetes. You rock!


add and update helm with the cli format

@jon-funk not sure if I'm using the raise_issues components appropriately; could use a second set of eyes here

Relates to https://github.com/runwhen/platform-core/issues/905


Documentation doesn't match up with current azure behaviour

Instead of 5 resources, only three are created in Azure when you follow the guide for Javascript/Node (idk if it's the same for C#).
Application Insights and Storage account are not created. Would be nice to know how to integrate App Insights and how to use it now that it's not being created by default. Thanks

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

ID: 9d5bd35d-3178-42cd-2893-3b6a4b7a94ce
Version Independent ID: 1545fd44-d471-d947-f94d-4b5e8d6e853f
Content: Tutorial to create and deploy a basic bot - Bot Service
Content Source: articles/v4sdk/bot-builder-tutorial-basic-deploy.md
Service: bot-service
Sub-service: sdk
GitHub Login: @ivorb
Microsoft Alias: v-ivorb

@kaushalgautam In the new version SDKv4 only three resources will be created for bot C# and JS. The app insights will be created if you turn it on while creating the bot.

@nstejaswini, but we made/deployed the bot using azure cli. The document doesn't require us to go to the azure portal.

@kaushalgautam You mentioned that "Instead of 5 resources, only three are CREATED in Azure when you follow the guide for Javascript/Node (idk if it's the same for C#)."  Using Azure cli or VS or azure portal only three resources will be deployed by default for the new version.

@nstejaswini, It is to be noted that this is a v4 guide that follows the creation/deployment procedure using CLI. I understand your input, but then the documentation should be changed to state the same. Since it still says (Under heading "Additional Resources") that 5 resources are created when we deploy the bot.

Added to private, will be pushed live shortly

@ivorb, thanks!


issue-1340: finish grpc span in TracingServerCallListener#onCancel

related to https://github.com/openzipkin/brave/issues/1340

Could you add a failing test?

Could you add a failing test?

done

@jcchavezs could you please start pr workflow again?

@jcchavezs Is this PR good for merging? If yes - please merge it

I still don't see the failing test case :(.

closing as without a test this isn't something to merge. we need to know the lifecycle relationship between onCancel and onHalfClose, specifically this assumes the latter isn't called.


Untrusted benchmark test??

2000 iterations fast, but 100000 times, very, very slow. why??
2000 iterations Avg time: 4.8025 ms，Avg FPS:208 fps.
100000 iterations More than 5 minutes outputting results, still working...

4.8025 ms * 100000 iterations = 8 minutes...


How to re-init apiKey while in the application

I want to re-initialize the apiKey in Gemini.init(apiKey: "--apiKye--"), what should I do without having to close the application and reopen it?

It's impossible. You shouldn't use the multiple API keys for services with limited use. however, I can add this feature.

It's impossible. You shouldn't use the multiple API keys for services with limited use. however, I can add this feature.

I really need it, can you add that feature soon🥹?
Specifically, I want to be able to pass in any apiKey that I have received from the server, rather than assigning apiKeys in the app.

Now you can use this feature on the 2.0.4-dev.1 version.
  Gemini.reInitialize(apiKey: "new api key", enableDebugging: false);

Now you can use this feature on the 2.0.4-dev.1 version.
  Gemini.reInitialize(apiKey: "new api key", enableDebugging: false);

Thank you very much😇💐💐


Unable to run protein-folding example with the latest release: optimum-habana-1.11.1

System Info
optimum-habana-1.11.1
optimum==1.19.1
SynapseAI version: 1.15.1
Docker image: vault.habana.ai/gaudi-docker/1.15.1/ubuntu22.04/habanalabs/pytorch-installer-2.2.0:latest

When I launch the protein-folding example, I get the following message. However, with the older release of optimum-habana-1.9.0 and SynapseAI version 1.13  protein-folding example worked fine.

/home/mgujral/optimum-habana-1.11.1/transformers/utils/generic.py:462: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.reg
ister_pytree_node instead.
  _torch_pytree._register_pytree_node(
/home/mgujral/optimum-habana-1.11.1/transformers/utils/generic.py:319: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.reg
ister_pytree_node instead.
  _torch_pytree._register_pytree_node(
/home/mgujral/optimum-habana-1.11.1/transformers/utils/generic.py:319: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.reg
ister_pytree_node instead.
  _torch_pytree._register_pytree_node(
/home/mgujral/optimum-habana-1.11.1/huggingface_hub/file_download.py:1132: FutureWarning: `resume_download` is deprecated and will be removed in version 1.0.0. Downloads alway
s resume when possible. If you want to force a new download, use `force_download=True`.
  warnings.warn(
Some weights of EsmForProteinFolding were not initialized from the model checkpoint at facebook/esmfold_v1 and are newly initialized: ['esm.contact_head.regression.bias', 'esm
.contact_head.regression.weight']
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
============================= HABANA PT BRIDGE CONFIGURATION ===========================
 PT_HPU_LAZY_MODE = 1
 PT_RECIPE_CACHE_PATH =
 PT_CACHE_FOLDER_DELETE = 0
 PT_HPU_RECIPE_CACHE_CONFIG =
 PT_HPU_MAX_COMPOUND_OP_SIZE =<PHONE_NUMBER>854775807
 PT_HPU_LAZY_ACC_PAR_MODE = 1
 PT_HPU_ENABLE_REFINE_DYNAMIC_SHAPES = 1
---------------------------: System Configuration :---------------------------
Num CPU Cores : 96
CPU RAM       : 527939920 KB
------------------------------------------------------------------------------
Synapse detected a device critical error that requires a restart. Killing process in 5 seconds (hl: 7) 02:10:00 [please check log files for dfa cause]

Information

[ ] The official example scripts
[ ] My own modified scripts

Tasks

[ ] An officially supported task in the examples folder (such as GLUE/SQuAD, ...)
[ ] My own task or dataset (give details below)

Reproduction
python3 run_esmfold.py
It does not have any requirements.
Expected behavior
The run should generate protein structure file with extension pdb.

This is the easiest tool to run. I do not know what is going on?

I am using Gaudi HPU nodes.

@mgujral  Can you collect logs with HABANA_PROFILE=./log LOG_LEVEL_ALL=0 before your cmd? And attach the log folder?
Thanks.

logsForGithub.tgz
These are logs before launching the command. Appreciate your help!!!

I looked at the file 'dfa_log.txt', and it had the following message at top. Any thoughts what does it mean?
hl thunk API failed, errCode memcopyIoctlFailed

When I try with 8-HPU cards, warning and error messages are same as before. Altering the line run_esmfold.py#L85 does not make any difference either. When I check memory usage with 'top' command, max memory usage goes too about 4.5%. I notice one more thing, when I try any application in language-modelling folder I get the identical 'Synapse detected a device critical error......' error message.
grep Huge /proc/meminfo
AnonHugePages:         0 kB
ShmemHugePages:        0 kB
FileHugePages:         0 kB
HugePages_Total:   48000
HugePages_Free:    48000
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
Hugetlb:        98304000 kB

when you said you try with 8-hpu card, you are still using python run_esmfold.py , not gaudi_spawn 8x, right? can you also do sudo dmesg -T >dmesg.txt? thx

Yes, with 8-hpu card, I am  still using python run_esmfold.py. Thank you for your patience & time.
dmesg.txt

seems except the pin memory issue, nothing print out. looks like machine already in this bad state. are you on aws? and is the issue only happening to this pod? thx

I am on Voyager cluster at UCSD. It is a dedicated AI machine with 36 Intel-Habana Gaudi nodes. We have recently switched to driver version 1.15.1 and SynapseAI image 1.15.1. This problem only started with switch to 1.15.1. I had notified it to Intel-Habana team and they told me  to raise  the issue with Huggingface-Habana on Github.

thanks for the information. are you running the same optimum-habana version before and after the Synapse SW upgrade?

No, I updated to the version recommended for SynsapseAI 1.15.1. If you scroll to the top, you can see the versions.

which optimum-habana version are you using before 1.15.1 update? and which synapse sw version you had before?
For debug purpose, can you switch to the old optimum-habana version working with your previous synapse version and try ?

Earlier I was using SynapsAI 1.13.0 with optimum-habana==1.9.0 and optimum==1.14.1. Applications were working fine.

I went to SynapseAI image 1.13.0 and used appropriate PYTHONPATH, and things worked fine as they should.
python run_esmfold.py
/usr/local/lib/python3.8/dist-packages/torch/distributed/distributed_c10d.py:252: UserWarning: Device capability of hccl unspecified, assuming cpu and cuda. Please specify it via the devices argument of register_backend.
warnings.warn(
Some weights of EsmForProteinFolding were not initialized from the model checkpoint at facebook/esmfold_v1 and are newly initialized: ['esm.contact_head.regression.bias', 'esm.contact_head.regression.weight']
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
============================= HABANA PT BRIDGE CONFIGURATION ===========================
PT_HPU_LAZY_MODE = 1
PT_RECIPE_CACHE_PATH =
PT_CACHE_FOLDER_DELETE = 0
PT_HPU_RECIPE_CACHE_CONFIG =
PT_HPU_MAX_COMPOUND_OP_SIZE =<PHONE_NUMBER>854775807
PT_HPU_LAZY_ACC_PAR_MODE = 1
PT_HPU_ENABLE_REFINE_DYNAMIC_SHAPES = 0
---------------------------: System Configuration :---------------------------
Num CPU Cores : 96
CPU RAM       : 527939884 KB
ESMFOLD: input shape = torch.Size([1, 350])
ESMFOLD: step 0 start ...
ESMFOLD: step 0 duration: 70.469 seconds
ESMFOLD: step 1 start ...
ESMFOLD: step 1 duration: 36.434 seconds
ESMFOLD: step 2 start ...
ESMFOLD: step 2 duration: 14.153 seconds
ESMFOLD: step 3 start ...
ESMFOLD: step 3 duration: 14.138 seconds
pdb file saved in save-hpu.pdb

I used only 1-HPU card.

can you go back to 1.9.0 and 1.14.1 to check with synapse 1.15.1?

This is what I get.
/usr/bin/python run_esmfold.py
Traceback (most recent call last):
File "/home/mgujral/huggingface-habana/optimum-habana-1.11.1/examples/protein-folding/run_esmfold_original.py", line 20, in
import habana_frameworks.torch.core as htcore
File "/usr/local/lib/python3.10/dist-packages/habana_frameworks/torch/init.py", line 17, in
import torch
File "/home/mgujral/deepspeedForImage_1.3.0/torch/init.py", line 519, in
raise ImportError(textwrap.dedent('''
ImportError: Failed to load PyTorch C extensions:
It appears that PyTorch has loaded the torch/_C folder
of the PyTorch repository rather than the C extensions which
are expected in the torch._C namespace. This can occur when
using the install workflow. e.g.
$ python setup.py install && python -c "import torch"
This error can generally be solved using the `develop` workflow
    $ python setup.py develop && python -c "import torch"  # This should succeed
or by running Python from a different directory.

I didn't see any issue with optimum-habana 1.9.0, the way I did is to git checkout v1.9.0, inside docker
go to optimum-habana, do "pip install -e ."
then go to examples/protein-folding/, do "python run_esmfold.py

Thank for for all your help, I shall take up the matter with Intel-Habana team.

The problem has been resolved. This line 'hugepages-2Mi: 95000Mi' was missing from my yaml file, and error messages I was getting were misleading.


Select scratch space location

The debugger needs 16 bytes of scratch space somewhere in memory to store temporary instructions etc.
These variables will not be saved and overwritten by the debugger.
Cirrently, the 16 bytes from address $300 to $3FF are used.
We should instead determine the lowest byte used by the WDCMon and use the 16 bytes before that to insure a macimum of usable contiguous memory space.

The Scratch area was relocated to $7D00 in release 0.4.0


Confirm size extensivity of rdf distance & appropriately normalize

Raw distance correlates strongly with number of atoms (should be approx linear).
After dividing out molecule num atoms, only relatively weak correlations left, mostly based on crystal density and molecule shape, which is good/to be expected.


Carthage for 3_0_0 branch

May i know why i cant get the 3_0_0 branch by carthage?
I am importing it by the cartfile adding
github "AFNetworking/AFNetworkActivityLogger" "3_0_0"
but the below error found
The following build commands failed:
PhaseScriptExecution Run\ Script /Users/kt/Library/Developer/Xcode/DerivedData/AFNetworkActivityLogger-helhhbodwgykeqcmbxpfeotwtokk/Build/Intermediates/AFNetworkActivityLogger.build/Release-iphoneos/AFNetworkActivityLogger\ iOS.build/Script-29D96E771BCC36E700F571A5.sh
(1 failure)
The branch should be here but cannot get it ?
Is there any mistake in my cartfile?
Many thanks!

i have the same Issue i have found that the problem was the RunScript in the Build Phases
in the Shell Line should be: /bin/sh
and in the Field below: /usr/local/bin/carthage copy-frameworks
pleas fix this every carthage update will overwrite my changes

If anybody is interested, I just forked the repo and created version 3.0.0 that is Carthage compatible.

The 3.0.0 release is imminent, so Carthage should work moving forward. Once the release is done let me know if there are any issues!


Preload sgx libraries conditionally

For example, libsgx_launch.so is not required for FLC platforms. Currently all libraries have to be preloaded without understanding the actual context.

You can refer to this commit to preload sgx libraries conditionally


Fix broken anchors

I've found 2 broken anchors on this page so i've made this fix ;)

Thanks @eilgin for the pull request!
Per the CONTRIBUTING.md file displayed when you created this pull request, we need to add you to the list of approved contributors for the Mattermost project.
Please help complete the Mattermost contribution license agreement?
This is a standard procedure for many open source projects. Your form should be processed within 24 hours and reviewers for your pull request will be able to proceed.
Please let us know if you have any questions.
We are very happy to have you join our growing community! If you're not yet a member, please consider joining our Contributors community channel to meet other contributors and discuss new opportunities with the core team.

/check-cla


Fix tests for docker 1.8.x

Our CI server CircleCI had it's docker upgraded recently.

@gimaker

@rohansingh


Implement more validation in the code and error handling

As of now a lot of the code is in a "hacky" state, for example Im working with a lot of dictionaries but there is a lot to validate (if keys exist, if it doesnt exist what to do , what error to raise, etc).

Having unique ID to each error is not so trivial when multiple people are working on the code,

so maybe each developer should keep a separate list of unique IDs, and to prevent overlap, each developer will also have his/her error ID prefix? Have you ever implemented something like that?

I think this could be hard to keep track of. What about having a file that has the "error database", that is, has the unique id, what it means, and possible solutions. Maybe something like:
- errorid : 001
  name : NoSubject
  description : There wasn't a way to infer the subject from the given rules file.
  solutions :
    - use a counter as a label
- errorid : 002
  name : NoTask
  description : There wasn't a way to infer the task from the given rules file.
  solutions :
    - set the entities.task field with the task

Have you ever implemented something like that?
Beyond raising exceptions, not really.

Do @stebo85 , @aswinnarayanan , @DavidjWhite33 have some opinions regarding error handling?

I don't think it really needs a unique error id. A unique error message text should be enough to find and describe the error?

@yjmantilla @civier
I don't think error code id is a good idea for this project.
The error message and description itself needs to be sufficiently explanatory for them to understand and progress without needing to check the site. So, the error code just adds an additional layer of work for developing. Also, bidscoin doesn't use error codes, so it might create some clashes in the code base down the line.
Since some users may be using CLI only, descriptive error messages with quick instructions on how to resolve would be better.
I would suggest we use the python logging module as it’s robust and more flexible than print. The log handler will let you more centrally customise the log format (timestamp, message formatting etc), has multiple log levels (debug, warning, error, exception etc) and provides option to output to log file(s).
bidscoin already does exactly this 😊 so that’s probably the best place to reference.
Logging handler setup. Examples of different error handling here, here, here
You could centralise the error messages into a Troubleshooting section on a page or the README.
In some cases the error or fix could be more advanced (e.g. needs screenshots or webpages to describe the solution), so the user may need to be referred to this section from the error message.
Using the logger module actually makes it easier to find the errors, as you can find the lines more easily without needing comments.

Thanks @aswinnarayanan for the valuable input.
I agree that there is no need to complicate things with an error database, but I still thinks that error IDs are very helpful. Error messages can change with time (we might make an error message more elaborate/clear as we go along with the project), and then it's very difficult to locate past information about the particular error (in online forms and such; don't forget that often people look for help in NeuroStars, Mattermost or other forums).
My suggestion is to start each error message with a number that will stay constant (even if we change the text). It will just be part of the string, and all of us will agree not to touch it. To make things very simple, I suggest that the number will be NN-MMM with NN the developer code (Yorgiun - 01, Steffen - 02, Aswin - 03 and so on), and MMM is a number that is kept unique by each developer. It's really not a big deal, and can be very helpful down the road.
Any objections?
If all are ok with that, @yjmantilla can assign the two digit code for each developer, and we'll go from there.

Hi @civier.
If the suggestion is an error code without an error database, one could use something like a hash string (i.e. a random 6-8 digit numeric or hex) and print it next to the error message. This can be generated on the fly and would be a unique identifier.
If using sequential error numbers, there would need to be a central register of some kind, even if its just a list in the docs. Since exceptions can be located anywhere in the codebase, the dev(s) would need something to check to know when to increment.
I didn't quite understand the developer code part; why would the error be tied to the developer?

why would the error be tied to the developer?

I also don't understand this part quite yet

one could use something like a hash string (i.e. a random 6-8 digit numeric or hex) and print it next to the error message. This can be generated on the fly and would be a unique identifier.

How do we generate this hash string in a way that it stays constant? I mean, if the idea is to tie an error to an id, and such error can appear in multiple lines of code then we cannot use the code itself to generate the hash. It seems to me that we still need a mechanism to centralize.

@yjmantilla Agreed, I think having error codes would necessitate a central database to track the ids.
If the suggestion is to use an id but not use a database, and the purpose is for the id to persist through changes in the error msg, perhaps a workaround could be to use a unique identifier (like a hash of the initial error msg, or a random alphanumeric). Otherwise you would need the error database.

@stebo85 @civier @aswinnarayanan
An idea is to have an yaml file inside sovabids and for it to keep the initial error message so that the hashes stay the same through that initial string. A documentation page is made in sphinx by reading the file and calculating the hashes. Then we just modify the "current" string when we want to update the actual message shown to the user.
In the end, this is just having a database (👎)  without setting the id ourselves (👍):
- initialMessage : NoSubject
  currentMessage : There wasn't a way to infer the subject from the given rules file.
- initialMessage : NoTask
  currentMessage : There wasn't a way to infer the task from the given rules file.

This is just like @stebo85  said:

A unique error message text should be enough to find and describe the error?

With the addition that we keep the original unique text as an index. Allowing us to change it the current text for the future.
We could have an errors module that reads the yaml and allow us to import the errors in each file in sovabids.

Well, after all, this is a database. One question I have is : "Is there a way to KEEP the initial error hash down the line without saving it in a database like medium?"
For me, if we keep that initial hash inside the code (that is, no database) , then how do we build automatic documentation for it? We would need to hunt down in the code all the errors through some sort of source code analyzer/parser.
Lets say that ok, lets not make error documentation because making a database is not worth it. But, if we don't built documentation around it, then why is it useful making an error id? We would then just do as @aswinnarayanan said:

The error message and description itself needs to be sufficiently explanatory for them to understand and progress without needing to check the site. So, the error code just adds an additional layer of work for developing.


refactor LoadOptions

Made some changes to LoadOptions, which allow some usual code-patterns which are currently impossible to use.

allow usage of object-initializer
Usually I prefer fluent approaches too, but for options I often prefer to have an object-initializer, which reveals the used options much better than a fluent approach.
Especially inside Program.cs I often have a nice combination of fluent vs. object-initializers.
Fluent approach is still supported, just added support for object-initializer.
Example:

configurationBuilder
    .AddDotNetEnv(new LoadOptions
    {
        SetEnvVars = false,
        ClobberExistingVars = true,
        OnlyExactPath = false,
    })
    .AddOtherConfigSource();

The default-values for the propertiers can be moved to a default-ctor if you like this approach better.
With simple POCOs I like the default values directly at the property, because this is the first place the IDE sends me to if I check the Property (not the ctor, which is often an additional step for me to determine the default value)

move fluent methods and Load-Methods to an extension
Separates the logic from the simple options-POCO. Makes the LoadOptions-class really simple, while still delivering all the functionality (no breaking changes, namespace is the same too, so nothing will break).
Separating the Load-Functions is a really good thing I guess, because they coupled the options-object itself to the Env-class. Now the LoadOptions-class has zero dependencies.

add Env.Load()-Override to remove the need for using parameter options by name

add IConfigurationBuilder.AddDotNetEnv()-Override to remove the need for using parameter options by name

There should be no breaking change, so hopefully it just makes life easier by some new allowed code-patterns. And it makes the LoadOptions-Code a bit more readable imho, because it removes the need for the "copy-ctor" for the fluent approach, which additionally reduces the risk of errors if we may add another option.
The Options-Object is not "immutable" now, but imho that is more a good thing than a bad one. It makes creating options much easier, for example if you have the settings dependant on some other circumstances (e.g. Environment Prod vs. Develop), which is ugly to implement with this fluent approach.
And I used the @this notation in Extensions again. If you dislike it here too I'm open for another parameter-name, just tell me which one to choose ;)

You are absolutely right, that was not intended, I just forgot about the support for the old ctor...
One of the many reasons why Review is a really good thing ;)
I will add the ctor to have it "really" non-breaking.

Added Tests for Constructor and for ObjectInitializer.
Together they ensure the existence for both now, so no possibility to remove any of them without breaking/changing the tests now ;)

And I removed the null-coalescing, with having the ctor again it is better understandable with the defaults in the ctor instead of at the properties itself I think

After reflection, I do not consider these changes to be improvements, and absolutely not worth breaking backwards compatibility, or even merely risking it.

I would reconsider the decline if you can point at a specific thing you want to do, that the current approach genuinely does not allow you to do, or is wildly cumbersome to accomplish, without your changes.

I completely refactored the approach for refactoring LoadOptions with the usage of the new concept of records.
But since that requires net5.0 I guess that's not the way you want to move.
So it's just some information about the new features which are available with latest versions.
Records with a first-class-ctor (ctor which defines Properties directly) are readonly by default (record class, record struct can be marked readonly, but is r/w by default), but it is possible to override whatever is needed.
And with the new with syntax, modifying (means copy+change) is quite easy, which makes the readonly concept extremely flexible without loosing the advantages of readonly.
I  gues all the additional functions (NoEnvVars, static and non-static) are no longer needed due to the with-syntax, but I left them for backwards compatibility.


helloworld example does not include '-n istio-system' in commands for…

… finding host:port
Without this, the instructions in the README will fail if followed verbatim, which most people want to do.

Hi @geoffhendrey. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Thanks! Can you sign the CLA ?
/lgtm

@geoffhendrey: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
550712af0f2eff4e678814c1d3bae2ee62333fae
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@geoffhendrey: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
550712af0f2eff4e678814c1d3bae2ee62333fae
link
/test istio-unit-tests

prow/istio-pilot-e2e.sh
550712af0f2eff4e678814c1d3bae2ee62333fae
link
/test istio-pilot-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@geoffhendrey: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
550712af0f2eff4e678814c1d3bae2ee62333fae
link
/test istio-pilot-e2e

prow/e2e-bookInfoTests-v1alpha3.sh
550712af0f2eff4e678814c1d3bae2ee62333fae
link
/test e2e-bookInfo-envoyv2-v1alpha3

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

Doc change only. Merging.


allow customization of an operation's polling interval

From @c0b on October 31, 2017 17:48
from the bigquery job api I was only aware the complete event to listen to a job with a callback when job completed, till recently I found from some gist shared code I got that a job.promise() is available, since our application uses node v6 and recently upgraded to v8; the promise api fits the code better, and works with async await model; wonder should you at least document it?
https://googlecloudplatform.github.io/google-cloud-node/#/docs/bigquery/0.9.6/bigquery/job
On the other hand, I spent some time figured out how was this default job.promise() working, I found the call trace down to the Operation's setTimeout self.startPolling of every 500ms, so it's polling at a hard coded interval of 500ms? while in many gcloud products best practices a backing off strategry of retrying is preferred,
https://github.com/GoogleCloudPlatform/google-cloud-node/blob/master/packages/common/src/operation.js#L184
this behavior of polling 500ms may be acceptable (or wanted) for some cases, for our ETL scripts which runs hundreds of query jobs concurrently in BATCH mode is just not so efficient, for this ETL purpose I have a piece of code already in use in production for a long while, implemented the backing off strategry, it supports an optional options obj parameters of waitbegin (default to 500ms) and waitmax (default to 10s)
// looping on a bigquery job till it's 'DONE' or error
//   using a backing off strategry, waiting starts with 500ms,
//     then increase by half till the max is 10s
function waitJobFinish(job, {waitbegin=500, waitmax=10000, initialState='UNKNOWN'} = {}) {
  return new Promise((fulfilled, rejected) =>
    function loop(retries=0, wait=waitbegin, state=initialState) {
      job.getMetadata()
        .catch(rejected)
        .then(([ metadata, apiResponse ]) => {
          if (metadata.status.state !== state) {
            console.log(`Job ${metadata.id} state transit from ${state} to ${metadata.status.state}, at ${(new Date).toJSON()} after ${retries} retries check job status.`);
            state = metadata.status.state;
          }

          if (metadata.status.errorResult)
            return rejected(metadata.status.errorResult);

          if (metadata.status.state === 'DONE')
            return fulfilled([ metadata, apiResponse, retries ]);

          setTimeout(loop, wait, retries+1, Math.min(waitmax, (wait+=wait/2)), state);
        });
    }() // (0, waitbegin, 'UNKNOWN')
  );
}

so with this API, it's similar to job.promise() we can write code like this, but internally it's doing a backing off strategy of retrying retrieve metadata;
  bigquery.startQuery({
    query: '...',
    // more options
  })
  .then(([ job ]) => waitJobFinish(job))
  .then(([ metadata, apiResponse, retries ]) => { ... })

or with async await
  // in an async function
  const [ job ] = await bigquery.startQuery(...);
  const [ metadata, apiResponse, retries ] = await waitJobFinish(job);
  // ...

the console.log lines give us transparency of how healthy each job runs, state transition from 'PENDING' to 'RUNNING' to 'DONE'
I'm not sure this strategy can be in the Operation for all the @google-cloud/... packages, but at least works for bigquery job; let me know if you like the code.
Copied from original issue: GoogleCloudPlatform/google-cloud-node#2710

From @callmehiphop on November 1, 2017 17:54
@stephenplusplus are there any reasons why we hardcode the polling interval and/or don't use a back off in operations?

From @c0b on November 3, 2017 17:19
I did a search "best practices backing off strategy site:cloud.google.com" got this doc on storage, and indeed saw more places (like errors trouble shooting guide) mentioned the exponential backoff strategy
https://cloud.google.com/storage/docs/exponential-backoff

If you get an error, use exponential backoff to avoid problems due to large traffic bursts.

another reason we need this is the bigquery API requests limit is 100/s isn't that big, my client side ETL script is constantly doing some hundreds of BATCH mode query, that could fill up the 100/s very soon get rateLimitError if use the job.promise()
https://cloud.google.com/bigquery/quotas

API requests per second, per user: If you make more than 100 requests per second, throttling might occur.

I think that makes sense, although I can't find any official recommendations from the Google API docs. Do you know of any @c0b, or best practices in general for what should be our default?
Related: This was brought up in #1886, and discarded because GAPIC APIs already do backoff and allow configuration of retry parameters. Maybe we should look at what they do and copy it here.

From @c0b on November 3, 2017 17:31
the (wait+=wait/2) isn't exactly exponential backoff described in the storage/docs/exponential-backoff link above, it is (wait*=1.5)
but easy to change to Math.min(maxwait, wait*=2)

From @callmehiphop on November 3, 2017 18:37
I think that's fine, should we make a setter of some kind to allow users to configure these options?
operation
  .setPollingOptions({ retryDelayMultiplier: 2 })
  .on('error', console.errror)
  .on('complete', () => console.log('yay'));

?

The only thing I'm stuck on is we are talking about polling as opposed to error handling. We aren't retrying in the traditional sense, where the first request failed, so we must try again. We are only making a follow-up request because the job didn't complete yet. That's why I'm drawn to the constant interval, although I'm completely fine going with another value than 500ms, and/or allowing it to be configurable.
I'm also fine with introducing the backoff strategy that GAPIC uses, since it's probably safe to assume if they're doing it, it's the right thing for us to do. These are the options (source):

Name
Type
Description

initialRetryDelayMillis
number
the initial delay time, in milliseconds, between the completion of the first failed request and the initiation of the first retrying request.

retryDelayMultiplier
number
the multiplier by which to increase the delay time between the completion of failed requests, and the initiation of the subsequent retrying request.

maxRetryDelayMillis
number
the maximum delay time, in milliseconds, between requests. When this value is reached, retryDelayMultiplier will no longer be used to increase delay time.

initialRpcTimeoutMillis
number
the initial timeout parameter to the request.

rpcTimeoutMultiplier
number
the multiplier by which to increase the timeout parameter between failed requests.

maxRpcTimeoutMillis
number
the maximum timeout parameter, in milliseconds, for a request. When this value is reached, rpcTimeoutMultiplier will no longer be used to increase the timeout.

totalTimeoutMillis
number
the total time, in milliseconds, starting from when the initial request is sent, after which an error will be returned, regardless of the retrying attempts made meanwhile.

These are the default settings for longrunning operations (source):
{
  initialRetryDelayMillis: 100,
  retryDelayMultiplier: 1.3,
  maxRetryDelayMillis: 60000,
  initialRpcTimeoutMillis: null,
  rpcTimeoutMultiplier: null,
  maxRpcTimeoutMillis: null,
  totalTimeoutMillis: null
}

@callmehiphop WDYT?

That sounds nice, how would we handle the methods that handle job polling internally, e.g. https://github.com/GoogleCloudPlatform/google-cloud-node/blob/7160d17a3b3c0f3af4bff900cc9ac64831564498/packages/bigquery/src/table.js#L377? Accept a new option, like metadata.backoffSettings?

Hey I'm looking for a feature like this !
In addition, it would be great if we can add an event listener on the 'poll' event (to track and report progression)


Only include emission when enabled in material during VoxelGI bake

Previously, if you had an emission color or emission texture set, they would be baked into VoxelGI, even if emission was set to disabled. In order to actually disable emission you needed to turn emission on in the material, remove the texture and change color to black. With this change, VoxelGI will actually respect the emission_enabled property.
This is a low risk bug fix. But it isn't urgently needed, so I am labelling it as 4.x. It can be merged anytime.

Thanks!


[Image captioning Vinyals style] Problem with Lambda (Merge) layer and batch size

Hello everyone,
I am currently trying to implement image captioning in Vinyals style. However, when I zero pad the features of the image; through a Lambda layer, so I can change the initial state of LSTM by summing it to the word embedding (Merge layer) I end up having the problem that batch seems to work only for a value of 1.
EMBEDDING_DIM = 100
MAX_CAPTION_LENGTH = 32
VOCABULARY_SIZE = 10000 #len(words)
batch_nb = 1

tensor_shape = Input(shape=(3,224, 224))
base_model = VGG19(weights='imagenet', include_top=False, input_tensor=tensor_shape)
for layer in base_model.layers:
    layer.trainable = False

image_model = Sequential()
image_model.add(base_model)
image_model.add(Flatten())
image_model.add(Dense(EMBEDDING_DIM, activation='relu'))

def zero_pad_features(x):
    y = K.zeros(shape=(MAX_CAPTION_LENGTH-1,EMBEDDING_DIM))
    return K.concatenate((x,y),axis=0)

image_model.add(Lambda(zero_pad_features,output_shape=(MAX_CAPTION_LENGTH,EMBEDDING_DIM)))

language_model = Sequential()
language_model.add(Embedding(input_dim=VOCABULARY_SIZE, output_dim=EMBEDDING_DIM, input_length=MAX_CAPTION_LENGTH, mask_zero=True))

model = Sequential()
model.add(Merge([image_model,language_model],mode='sum'))
model.add(LSTM(125, return_sequences=True))
model.add(TimeDistributed(Dense(VOCABULARY_SIZE,activation='softmax')))
model.compile(loss='categorical_crossentropy', optimizer='rmsprop',metrics=['accuracy'])
print('Starting training')
model.fit([images, x_sequences], y, batch_size=batch_nb, nb_epoch=1, verbose=1)

img = np.ones((1,3,224,224))
caption = np.ones((1,32))
print(model.predict([img,caption]))

Whenever I change the value of batch_nb to something else it displays the following error
 GpuElemwise. Input dimension mis-match. Input 1 (indices start at 0) has shape[1] == 32, but the output's size on that axis is 34.
Apply node that caused the error: GpuElemwise{add,no_inplace}(GpuDimShuffle{x,0,1}.0, GpuReshape{3}.0)
Toposort index: 438
Inputs types: [CudaNdarrayType(float32, (True, False, False)), CudaNdarrayType(float32, 3D)]
Inputs shapes: [(1, 34, 100), (3, 32, 100)]
Inputs strides: [(0, 100, 1), (3200, 100, 1)]
Inputs values: ['not shown', 'not shown']
Outputs clients: [[GpuReshape{2}(GpuElemwise{add,no_inplace}.0, TensorConstant{[ -1 100]})]]

I believe that the error  Inputs shapes: [(1, 34, 100), (3, 32, 100)] is indicating that the input images are taking the second dimension as the batch dimension instead of taking the first dimension.
Thanks for taking the time,
Sincerely Octavio

Hi @oarriaga , could you please provide link to the gist/repo of this file.


Pipes included in fetch_edit() but not loaded with package

If trying to run fetch_edit() without attaching tidyverse or magrittr, there's an error about not being able to find the function %>%. This should probably be resolvable by replacing %>% with the native R pipe, |>.

The error is:
Error in results_dataonly %>% dplyr::mutate_if(names(.) %in% c("Representative low",  : could not find function "%>%"
BUT! Apparently neither this code nor %>% show up in the package, which makes this much weirder. It'll take more hunting to figure this one out.


Emote Utility hover glitch

Description:
When using Emote Utility along with Reverse Image Search, hovering over either's submenu item will act as if you're hovering over the other one as well.
This is probably because the two have the same IDs for their item elements, message-item-0-0-1.
Screenshot:

Possibly fixed (0320847)


Closing a search pane during an ongoing search stops the search

Version and Platform (required):

Binary Ninja Version: 3.3.3337-dev
OS: Windows
OS Version: 11

Bug Description:
When you start a second HLIL search while the first pane is still open, closing the first pane kills the second search.
Steps To Reproduce:

Start a HLIL (Text) search and wait until the results are ready. There is no need to find anything (actually, I had no results)
Start a new search without closing the results of the first search
Close the first search
The second search is stopped in the middle and doesn't continue

Expected Behavior:
First pane closes, second pane continues searching
Screenshots:
Start a second search while the first is still open:

Close the results pane of the first search and the second search stops:

If you close it and restart the search, everything works fine again. So likely the close pane action checks if there is an active search and stops it even though it doesn't correspond with the closed pane?

This is already fixed in dev 3.3.3338. Credit goes to Rusty.


SpringMvcContract does not support @RequestParam without a value when parameter type is Set

We are using SpringMvcContract to generate our feign clients and since we upgraded from 1.1.x to 1.2.x we can no longer have a Set annotated @RequestParam without value set to the parameter name. A PR was made to support Maps in a GET using query params and since this PR it is broken. There is the PR : https://github.com/spring-cloud/spring-cloud-netflix/commit/d356e571340c26768e706633d082c20d9a554b64
Removing this line fixes it :
https://github.com/spring-cloud/spring-cloud-netflix/blob/1.2.x/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/feign/support/SpringMvcContract.java#L335
I don't really know why this line is there in the first place and if I'm correct, I think it breaks other types than Sets. Does it serve a particular use case?
Thanks!
Edit :
Here is the stack :
Caused by: java.lang.IllegalStateException: QueryMap parameter must be a Map: interface java.util.Set
    at feign.Util.checkState(Util.java:128)
    at feign.Contract$BaseContract.parseAndValidateMetadata(Contract.java:126)
    at org.springframework.cloud.netflix.feign.support.SpringMvcContract.parseAndValidateMetadata(SpringMvcContract.java:133)

And here is an example of a resource call that throws this when creating the client :
@RequestMapping(method = RequestMethod.GET, value = "/test/{pathVariable}")
FooBar getTestFooBar(@PathVariable String pathVariable,
                     @RequestParam(required = false) Set<Foo> problematicSet);

@lowzj ^^^

@fredboutin Yes, it was caused by the PR-1102.
In the @RequestParam docs:

CASE 1. If the method parameter is Map<String, String> or MultiValueMap<String, String> and a parameter name is not specified, then the map parameter is populated with all request parameter names and values.
CASE 2. If the method parameter type is Map and a request parameter name is specified, then the request parameter value is converted to a Map assuming an appropriate conversion strategy is available.

And this line:
BeanUtils.isSimpleProperty(parameterTypes[parameterIndex].getClass())

is to support Map arguments annotated with @RequestParam where the annotation does not specify a request parameter name(case 1).
In spring cloud feign, it will synthesize the argument's annotation attributes of @RequestParam with the method parameter name when the annotation attribute name is not specified. The result is that the argument's annotation always has a specified request parameter name. And I think only simple properties need to synthesize its annotation attributes.
Another related PR-1361 merged into 1.3.0.M1. It changes the interface AnnotatedParameterProcessor to get argument type. But it does not support the case 2.
before: AnnotatedParameterProcessor#processArgument(AnnotatedParameterContext, Annotation)
after:  AnnotatedParameterProcessor#processArgument(AnnotatedParameterContext, Annotation, Method)

I think I maybe remove the line BeanUtils.isSimpleProperty after version 1.3.0.M1.

@lowzj 1.3.0.M1 was released last week, so feel free to submit a PR with a change

Thanks a lot for this quick response and for the quick fix @lowzj !


Update Voice Agent API URL

Update the Voice Agent API URL
Add docs about how to create the right type of API Key
Bump nextjs version to patch vulnerabilities

This is the correct URL.


[Feat] allow for usage of redis FailoverClient with Sentinel

We often use Redis Sentinel on Production environment for a more robust and highly available set up. This PR allows for configuration of Redis Sentinel on redis Storage Adapter and will not break any existing code.
Please consider merging this PR as some people might find this useful as well.
Thank you!
Changes:
allow config + init of redis FailoverClient with Sentinel to provide a more robust installation of Redis on Production environment.

config.go: add relevant configuration options for Sentinel. These options will have not break existing code that depends on this library, if not configured explicitly.
redis.go: add a step to init redis db with redis.NewFailoverClient() if EnableFailover=true (default false). To avoid breaking existing code, URL still takes precedent and only used to config Redis Standalone (i.e. cannot config Sentinel with URL as that would change the string format)

PS: Please let me know if anything needs revising.

thanks for the pull request,
can you(@binhnguyenduc ) please add unittest for initializing with the new variant and some explanations in the README.md?
after that i will merge it

@binhnguyenduc

@binhnguyenduc

Friendly bump @binhnguyenduc any plans to update this PR?

@ReneWerner87 I can finish this PR, or it can be closed. No one else has requested this feature

Issue here #382
I will work on it this week

I was about to add unit-tests for this, but this requires running multiple Redis instances with Sentinel enabled.

Follow on: #772


Adding cross-compiler functionality

Changing the Makefiles of canopend, canopencomm, and canopencgi to be cross-compiler compatible. Please feel free to review @CANopenNode.

Thank you for this.
I had to make a changes manually, because this pull request includes some other messy commits. You should clone a fresh copy of CANopenSocket.


popup being blocked

I'm reviewing wiki here
This is how Oidc.UserManager is configured in my app.
 var manager = new Oidc.UserManager({     authority: authUrl,     client_id: 'XXXX',     redirect_uri: baseUrl,     popup_redirect_uri: baseUrl + 'popup.html',     silent_redirect_uri: baseUrl + '#/my-favorites/list',     post_logout_redirect_uri: baseUrl,     response_type: 'id_token token',     scope: 'email',     accessTokenExpiringNotificationTime: 4,     automaticSilentRenew: true,     filterProtocolClaims: false   });
ad blocker blocks the sign-in windows popup that appears, especially in IE 11/Edge. Is there a way to configure such that rather than a popup being opened for "the URL of the OIDC/OAuth2 provider", the URL of the OIDC/OAuth2 provider opens in a separate browser tab.
So, I'm looking for a window.location.href = authUrl for the sign-in
I think I might need to configure
popupWindowFeatures (string, default: 'location=no,toolbar=no,width=500,height=500,left=100,top=100'): The features parameter to window.open for the popup signin window.

ah .. never mind - I now see the signinRedirect. Please close/delete this issue


Further Root-Detections

Are there other Root-Detections that RootBeer at the moment don't cover ?

Maybe if you set it up that the app when running crates a randomly-generated name for a dummy app that actually runs all the functions for the checks through the dummy app and then deletes itself from the phone or tablet after sending the data to the original app? Cuz the root cooking methods so far only has Blacklist function not a whitelist function because a whitelist function can break route or disable root permissions if the root has not been encoded as an exception. meaning they would have to encode every version of root as an exception including tools like BusyBox and others and could not update until The Hider patch was updated. Another cool ideas to make it a module for root check for any app since it creates a dummy app to run the functions.

:stuck_out_tongue_winking_eye:

This is a bit vague, if anyone has specific checks they'd like to see implemented please open a new issue, thanks :)


Make scrappie pass sanity check

I am having trouble finding the packages needed for this to build based on the error messages. The cause could be that this package as very different build.sh than our default, which needs to be run:
#!/bin/sh

 export C_INCLUDE_PATH=${PREFIX}/include
 export CPLUS_INCLUDE_PATH=${PREFIX}/include
 export LD_LIBRARY_PATH=${PREFIX}/lib
 export LIBRARY_PATH=${PREFIX}/lib

 mkdir build && cd build && \
 cmake -DCMAKE_INSTALL_PREFIX=${PREFIX} -DBUILD_SHARED_LIB=ON ..
 make && make install

 cd ${SRC_DIR}/python
 $PYTHON setup.py install --single-version-externally-managed --record=record.txt

After trying different things with the build.sh, I can conclude that we cannot find the python dependency without also having their build.sh which makes use of it.

We choose not to look at this package for now, since it turns out to be very hard to build, even though we now have a dynamic build.sh.
Problems: Could only find openblas and hdf5. After that no error message was found which could indicate the rest of the packages.

Deprecated


Enchance sm client with generic call method

Motivation
We need a generic call method to SM with built-in authentication. It will be used for not-yet implemented methods in the Client

[x] Initial implementation
[ ] Unit tests

Pull Request Test Coverage Report for Build 163

7 of 7 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 77.364%

Totals

Change from base Build 158:
0.0%

Covered Lines:
998

Relevant Lines:
1290

💛  - Coveralls


DefinitionLink targetSelectionRange not working as expected

Issue Type: Bug
Scenario 1:

Use Peek Definition on a symbol that has a DefinitionLink provided with targetSelectionRange defined.
The range provided by DefinitionLink.targetRange is used for highlighting.

Navigates to beginning of DefinitionLink.targetRange

I am assuming that in at least one of the above scenarios, DefinitionLink.targetSelectionRange should be used instead of DefinitionLink.targetRange. It is not clear based on the documentation, so I am not sure in what case DefinitionLink.targetSelectionRange is supposed to be used, but I figure it must be used for something. I am expecting it to work similarly to DocumentSymbol.selectionRange.
VS Code version: Code 1.27.2 (f46c4c469d6e6d8c46f268d1553c5dc4b475840f, 2018-09-12T16:17:45.060Z)
OS version: Windows_NT x64 10.0.17134

I believe this happened with https://github.com/Microsoft/vscode/commit/0a1b3a5debe3c600110db0baac9e5b8046a66a0b

Even though that makes sense, I'm not sure I like the idea of using the targetRange for highlighting in the Peek Definition view. It's mostly because of the styling, which at least in the default Dark+ theme is very overwhelming and harms the visibility of the syntax highlighting.
I would ask that after making this change, you implement DefinitionLink usage with proper ranges for TypeScript and see if you still like it. The range TypeScript currently uses for definitions is understandably what I would describe as just the targetSelectionRange.

@mjbvz any plans when this will be addressed. I want to hook this up in LSP and document this correctly. So I will for now convert targetSelectionRange to targetRange on the API side to have a decent behaviour.
The other question is why targetSelectionRange is optional. Shouldn't it be mandatory in this example as it is with DocumentSymbol

Trying to validate that, I now see that the targetSelectionRange is what is highlighted in the peek view and is used as the range to navigate to.
Not clear to me what the targetRange does or can bee seen.
Is that the expected behaviour? Can the spec be clarified?

Not clear to me what the targetRange does or can bee seen.

Yeah, that's actually not yet used. The point is to use target selection range when given. The idea of the target range is that we can use it for the preview hover when cmd+hovering over a declaration link.

Adding verified as @aeschli did all that there can be done