Identify/Download Function Breaks Frequently

Very frequently, the Identification and/or Download function stops functioning correctly.  I've seen a similar behavior in a previous version but it stopped before I could capture it.
With a BASIC Stamp 2 plugged in and powered up, here's what a good Identification sequence looks like from v0.5.0 on my Chromebook:

The Host DTR (Reset) signal and Host Tx break condition (and reflection on Host Rx) looks great, then about 130 ms after break ends, the Host Tx transmits "B", "S", "2" and the Host RX receives the reflections as well as the responses from the module.  All is well and the Parallax IDE's Identification overlay looks perfect.
When things go bad, every time I try to Identify, it looks like this:

The Host DTR (Reset and Host Tx break conditions still have the same timing as in the good case, but there is no serial transmission (Host Tx of "B", "S", "2", or anything else) at all.  Then it seems to reset again.  Here's a zoomed-out view.  Five resets, like it's trying to identify a BS2, BS2e, BS2sx, BS2p, and BS2pe... but there's no serial data transmitted by Parallax IDE.

The only way to recover from this seems to be to close Parallax IDE and restart it.

This condition happens at seemingly random times.  Once it starts, it seems to continue on forever during that session.  I haven't figure out all the steps that lead to this issue, but one thing I noticed that creates the failure predictably is:

Close and restart Parallax IDE while the BS2 is plugged in and powered
Press Ctr+I to do an Identify

It should properly identify the Stamp each time you do this

Power down the Stamp (do not disconnect it)
Click Refresh button [# 1]

It can't find the BS2 (understandably)

Power up the Stamp
Click Refresh button again [# 2]

It can't find the BS2 ever again, until Parallax IDE is restarted

[# 1] - Capture from powered-down refresh click.  Looks good, it's trying to find each possible model

[# 2] - Capture from powered-up refresh click.  Parallax IDE fails to send serial data ever again

Doesn't appear to be fixed, or there may be other leaks.  See "a more in-depth video" in Issue #194.

I'm reopening this issue because the repair performed, while it must have improved things, did not fix this problem.

Closing this issue as it is referenced by a similar issue, #194.


[5.0] Bug report and bug fix for Support: ServiceProvider

Bug description:

when method ServiceProvider::publishes() with non-empty $group parameter is called multiple times,
paths provided this way are not merged (as might be expected) but overwritten
when method ServiceProvider::pathsToPublish() with both $provider and $group parameter are called,
parameter $provider is ignored.

This patch fixes both issues.
When method ServiceProvider::pathsToPublish() is called with both $provider and $group parameters,
only those paths, which fulfill both conditions - i.e. were registered by that specified provider and marked by that specified group - are returned.

This is somewhat of a breaking change, but then also it seems strange to merge provider and group paths when passing both provider and group, it seems like you would want to narrow it down to only the group within that provider, not merge them. Anyways, re-open on master branch if you would like perhaps.

Hi Taylor
No, I think it is not a breaking change, but a bugfix.
The way, how the code works now is that in the static::$publishGroups is under particular key only last item saved.
Only this last item is retrieved when parameter $group is passed into pathsToPublish, no matter which $provider is being passed in.
So, when

ServiceProviderOne publishes ItemOne under SomeGroup
and ServiceProviderTwo publishes ItemTwo under SomeGroup
and then pathsToPublish(‘ServiceProviderOne’, ‘SomeGroup’) is called,
then only ItemTwo is returned.

I think it is a bug, not something anybody should rely on,
so we should be free to fix it even in this current version.
Kind regards
Slavo

Hi Taylor,
I'm also having this issue, and I also tend to think this is a bug or at least extremely unexpected behaviour. @slavo2 please re-open this on master for further discussion as Taylor recommended.
Best,
Michael


Unable to change base_dn via ENV variable

When creating a container based on the latest image, the LDAP_BASE_DN environment variable is ignored. The only way to change the base DN is by specifying a domain, but then the root will use "dc=..." for each part of the domain. It is impossible at the moment to configure a X500 style base DN with "l=..", "o=..." etc.
Docker version 17.06.2-ce, build cec0b72
docker-compose version 1.14.0, build c7bdf9e3
docker-py version: 2.3.0
CPython version: 2.7.13
OpenSSL version: OpenSSL 1.0.2j  26 Sep 2016
Minimal docker-compose file reproducing the problem:
version: '3.2'
services:
  ldap:
    image: osixia/openldap:latest
    expose:
      - "389"
      - "636"
    ports:
      - "389:389"
      - "636:636"
    environment:
      LDAP_BASE_DN: "dc=mydomain,dc=be"
      LDAP_ORGANISATION: "MyOrg"

Screenshot of ldapadmin showing sole available base dn

The same issue presents itself when doing a docker run specifying the environment variable as a parameter

Same issue here, with docker-compose given as
ldap:
    image: osixia/openldap:1.2.4
    command: --loglevel debug
    environment:
      - LDAP_BASE_DN=dc=bar,dc=foo
    ports:
      - 389:389

a logon with cn=admin,dc=bar,dc=foo does not work, but cn=admin,dc=example,dc=org is still working.

Same issue here. Would be nice if this get solved.


Ensure PIIRemover is running on GA4 link clicks

What
Add the PII Remover to the link trackers text/urls
https://trello.com/c/YZrXpxh0/570-fix-inconsistency-with-pii-remover
Why

The implementation guide has this //PII Cleansed on all the URLs for link clicks, and a few of the text values. I'm not sure how often PII is going to show up on our GA4LinkTracker (since we usually determine where this is used) but I'm adding it just so it's in sync with the implementation guide.
mailto: links aren't PII cleansed since the PAs said it's useful for the email to come through on those links.
Visual Changes
None.

Thanks @andysellick :+1:


Add microsoft/git and Scalar packages

Add both a microsoft-git Formula and a scalar-azrepos Cask. The dependencies of all current packages looks like this:
+--------+  +----------------+
| scalar |  | scalar-azrepos |
|  Cask  |  |      Cask      |
+----+---+  +-------+--------+
     |              |
     +----------------------------------------+
     |              |                         |
     |              +-------------------------+
     |              |                         |
     |              |                         |
     v              v                         v
+----+----+  +------+--------+  +-------------+---------------+
|   git   |  | microsoft-git |  | git-credential-manager-core |
| Formula |  |    Formula    |  |            Cask             |
+---------+  +---------------+  +-----------------------------+

The reason to have scalar-azrepos is that it also takes a dependency on the microsoft/git fork, which some might not want to do. Both scalar and scalar-azrepos will install GCM Core. The scalar and scalar-azrepos Casks declare that they conflict with each other so you should only be able to install one or the other.
The git Formula comes from the homebrew-core Tap. The microsoft-git Formula is based on the git Formula.
Prebuilt binaries (Bottles) can be provided for our microsoft/git fork, but we'd need to set these up and host the blobs in Azure (I have a working example of this).

I have also created a GitHub action that will bump the release version and SHA fields in these files and automatically create PRs or commits on this repo: https://github.com/mjcheetham/update-homebrew
We can add a workflow that triggers on: release of our products to keep these in sync with GitHub releases.

I should also point out that you can also add --head to the install command for microsoft-git and build the current master branch from source.


Css files improvements

The issue #1806 will be solved
I've also auto indented CSS files
And I removed the empty CSS rule in site.css
 nav ul li {
                }

Hi,
Thanks for you contribution!
Please undo the indenting changes. We use this to make clear how the different elements relate to each other (ie .siteheader.links is a 'child' of .siteheader). Visual Studio also auto-formats to this .
Also, please undo the changes to the test/TemplateValidation files. We generate these projects with a script and validate then that the right files and content gets created.
Focus only on the changes to fix the issue. The rest can be discussed and, if agreed upon, be done in a separate PR.

Thank you for reviewing my pull request.
I understand your feedback regarding the indenting changes and the modifications to the test/TemplateValidation files. I'll revert those changes accordingly.
Now I've focused solely on addressing the issue at hand and leave the formatting and made the necessary adjustments promptly and resubmit the pull request.


ProductVariant is not purchasable even if it is as seen on vender file

Lunar version: 0.8.0
Laravel Version: 10.43.0
PHP Version: 8.2.5
Database Driver & Version:

Expected Behaviour:
Adding cart line using $cart->lines()->create([/* .. */]);
Actual Behaviour:
Error:
The "Lunar\Models\ProductVariant" model does not implement the purchasable interface.
Steps To Reproduce:
Try to add a line to the current cart using:
$cart->lines()->create([
     'purchasable_type' => ProductVariant::class,
     'purchasable_id' => $this->variantID,
     'quantity' => $this->qty,
]);

I will close this


Bug - Minimal - Mobile - Footer - The padding between the two lines of Footer links is missing

On the Mobile view of the Footer, the padding between the two lines of links is smaller than on the figma design
Steps to reproduce:

Open https://50-add-legal-link-to-footer--vg-volvotrucks-us-rd--netcentric.hlx.page/ on Mobile view and scroll down to the Footer
Open the figma design and see the Footer for the Mobile view https://www.figma.com/file/IcqreRKnNYyDVMc28yoOeh/Homepage?type=design&node-id=4152-20617&mode=design&t=GEQR88EjE3NVGmWm-0
Notice the difference in padding between the two lines of links in the Footer

Expected result
Extra padding on the Footer in the Figma design

Actual result
No padding between the the lines of the Footer in Mobile view

clonfirmed as fixed
as tested on https://119-mobile-footer-padding--vg-volvotrucks-us-rd--netcentric.hlx.page/


HDR Color issue : green tint

Hello,
first of all I want to thank you for your hard work. Everything works flawlessly with HyperHDR and your WLED fork.
I only have one problem. That is I do have a green tint which results in unsatisfying LED colors especially in darker scenes.
I am not sure if it is a LUT issue when HDR tone mapping is enabled or my cheapo grabber (MS 2109 brown version with USB 3.0 colored connector).  No issues watching SDR content with tonemapping disabled.
Here is a picture of what my grabber live preview looks like when playing an HDR movie with tonemapping enabled via netflix on a PS4 pro.
https://gyazo.com/3c7e03bb021ea2e6fd50d8ab79482b82
My usb capture settings:
https://gyazo.com/c8a49c0b7890f44e811119e7cee51351
I hope someone might know the cause of this behaviour and can propose a fix for this.
Greetings and a happy new year

Hi
Try to play with Hue in the grabber settings or classic with the instance calibration to reduce green by gamma. HDR correction in that form is best result from the experiments from Fast-HDR project but I would welcome new & improved one ;) if someone has some idea. HDR table generator is available in the HyperHDR as java-script and can be easily improved for ex. for channel correction/gamma editor (instead doing that in the instance calibration). Threshold minimum level could be also introduced at zero CPU cost. But 99% of users stick to default LUT table without even discovering the generator so that idea has low priority for me.
Best regards and Happy New Year :)

Hue -4 in hue control in capture settings, increasing green gamma to 1.6 from 1.5 and reducing greenchannel from 255 to 245 fixed it.
Thanks alot looks perfect now.


[AutoPR cognitiveservices/data-plane/FormRecognizer] Fix version in form recognizer

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/5886

This PR has been merged into https://github.com/Azure/azure-sdk-for-java/pull/3499


Fix inspector event removal bug

Overview
When removing an interactable event receiver item, the for loop rendering will still proceed thinking the number of items in the list has not changed. Thus resulting in out of bounds index access.
Fix now breaks out of rendering list till next redraw which happens immediately with changed object.
Changes

Fixes: #5634

Verification
One can now add and remove interactable event receivers

As a reviewer, it is possible to check out this change locally by using the following
commands (substituting {PR_ID} with the ID of this pull request):
git fetch origin pull/{PR_ID}/head:name_of_local_branch
git checkout name_of_local_branch

/azp run

There's something else I noticed: the InteractableReceiverListInspector.RemoveEvent is never called, instead InteractableInspector.RemoveEvent is called. Additionally, the methods are just duplicates of one another. Can we clean that up here? It was super confusing debugging that code...

There's something else I noticed: the InteractableReceiverListInspector.RemoveEvent is never called, instead InteractableInspector.RemoveEvent is called. Additionally, the methods are just duplicates of one another. Can we clean that up here? It was super confusing debugging that code...

Actually they are different. The serializedObject is different in each class and the RenderEventSettings is a static function. Hence why the parameter is passed to determine which private function to call.
This setup can definitely be improved and better compenitized possibly. But I was looking to do the minimum change since this is stabilization


update pypi package

It is great if you can update the pypi package at the same time when you release the latest version.

Even when specifying the requirement directly from github, I get many dependency conflicts, like:

The conflict is caused by:
94.52     The user requested pydantic==2.6.4
94.52     fastapi 0.110.0 depends on pydantic!=1.8, !=1.8.1, !=2.0.0, !=2.0.1, !=2.1.0, <3.0.0 and >=1.7.4
94.52     langchain 0.1.12 depends on pydantic<3 and >=1
94.52     langchain-core 0.1.32 depends on pydantic<3 and >=1
94.52     langsmith 0.1.27 depends on pydantic<3 and >=1
94.52     openai-function-call 0.2.6 depends on pydantic<3.0.0 and >=2.0.2
94.52     gpt-researcher 0.0.5 depends on pydantic==2.5.1

This is because the dependencies mentioned in pyproject.toml are very strict and conflict with the project which is trying to use this package.
Also, the version mentioned in pyproject.toml (0.0.5) does not match the git tag (0.1.5).

Done! https://pypi.org/project/gpt-researcher/

Thanks @assafelovic
It would help if in pyproject.toml, the dependencies' versions are specified with ">=" rather than exact version. This helps when gpt-researcher is used as a library in another python project and minimizes version conflicts.
For example, instead of:
asyncio = "3.4.3"

it should say,
asyncio = ">=3.4.3"

This lets the library user upgrade their dependencies even if gpt-researcher version is a bit behind the times.
Other version specification operators like caret, tilda are also available and might be more appropriate.
They are documented here in Poetry docs.


Support private docker images

This is something we would have to make for all the images then, and not just the chain images. I wonder if there is a way to have docker image secrets so that it can pull from public and private registries.
We would also need to expose this in the values.yaml file for the helm chart. There should be information around how helm handles image pull secrets.

This is something we would have to make for all the images then, and not just the chain images.

I added the private image support for the go-relayer in https://github.com/cosmology-tech/starship/pull/147. I can extend it to other relayers. For other types of services I don't see a necessity for private images.

I wonder if there is a way to have docker image secrets so that it can pull from public and private registries.
Not sure what you mean by that. Any docker image secret should be able to pull from a public registry. For private docker images, you have to be explicit with k8s. I didn't find a way for k8s just to pick up the authorizations docker already has.

We would also need to expose this in the values.yaml file for the helm chart. There should be information around how helm handles image pull secrets.

imagePullSecrets is not a required parameter so I don't think you have to modify values.yaml. For example, I was able to test polymer chain with the current values.yaml and this config:
  - name: polymer
    type: custom
    numValidators: 1
    image: ghcr.io/polymerdao/polymer:v0.0.1-rc4
    home: /home/heighliner/.polymer
    binary: polymerd
    prefix: polymer
    denom: token
    coins:<PHONE_NUMBER>00000token
    hdPath: m/44'/118'/0'/0/0
    coinType: 118
    repo: https://github.com/polymerdao/polymerase/
    imagePullSecrets:
      - name: ghcr

@Anmol1696 I did a little bit of refactoring and put the logic into a helper


programs.ssh.forwardX11 vs services.openssh.forwardX11

Issue description
I've added programs.ssh.forwardX11 to my config, but rebuild showed a warning:
Failed assertions:
- cannot enable X11 forwarding without setting XAuth location
error: unable to build all machine configurations

The trick is, programs.ssh.setXAuthLocation is already true.
At first I thought that module system is broken somewhere, but then I stumbled into services.openssh.forwardX11 (system builds with it). Is programs.ssh.forwardX11 deprecated?
Steps to reproduce
Add programs.ssh.forwardX11 = true; to config, observe system doesn't build.
Technical details

System: NixOS 16.09

You're supposed to enable services.openssh.fowardX11, which in turn should automatically enable programs.ssh.setXAuthLocation.
https://github.com/NixOS/nixpkgs/commit/d69dce080daf2c7004a79950e73dba6545b9097e
"The intent is that programs.ssh.setXAuthLocation should be
automatically enabled if needed or if xauth is already available."

Ah, thanks, so it isn't fixed in 16.09, but fixed in master.


Deploy new registries and release packages

What was wrong?
Added cli commands...
ethpm registry deploy --chain-id

Deploys a new ERC1319  registry to specified blockchain
ethpm release --package-name --version --manifest-uri

Release specified package on the currently active registry
Cute Animal Picture

ping @pipermerriam for :eyes:


Another callback at $close()?

Thanks for your nifty module here! - Say, is it possible to implement some additional callback on the close-button? I would like to set a variable to true/false, when the window is closed (e.g. to disable buttons as long as a notification is open...)
Thanks!

you need to see that https://github.com/cgross/angular-notify/pull/6/commits/280652cf516ae5fd9dc7f6dd25b22f656c5b313e


Unable to get word level time stamps from azure speech to text api

IN ORDER TO ASSIST YOU, PLEASE PROVIDE THE FOLLOWING:
Unable to get the word level time stamps. I tried setting the specchConfig.requestWordLevelTimestamps() but its giving an error saying that the method does not exist in speech Config. I also tried setting the property "speechConfig.setProperty("SpeechServiceResponse_RequestWordLevelTimestamps","true")" but this is not working either. In the output json, "Words" array is coming as null.

Speech SDK log taken from a run that exhibits the reported issue.
The method requestWordLevelTimestamps() is undefined for the type SpeechConfig

A stripped down, simplified version of your source code that exhibits the issue. Or, preferably, try to reproduce the problem with one of the public samples in this repository (or a minimally modified version of it), and share the code.

package com.iml.gyan.speech.litassist.tts;
import java.util.concurrent.Future;
import javax.json.Json;
import javax.json.JsonArray;
import javax.json.JsonObject;
import javax.json.JsonReader;
import com.microsoft.cognitiveservices.speech.SpeechConfig;
import com.microsoft.cognitiveservices.speech.SpeechRecognitionResult;
import com.microsoft.cognitiveservices.speech.SpeechRecognizer;
import com.microsoft.cognitiveservices.speech.audio.AudioConfig;
import com.microsoft.cognitiveservices.speech.;
import com.microsoft.cognitiveservices.speech.audio.;
import java.io.StringReader;
import java.util.Scanner;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
public class azureSTT {
// This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
private static String speechSubscriptionKey = "";
private static String serviceRegion = "";
public static String getSTT(String audioFile, String lang) {
	String res = null;
    try {
        //String audioFile = "<path to wav file>/SentenceTest.wav";
    	AudioConfig audioConfig = AudioConfig.fromWavFileInput(audioFile);
        SpeechConfig speechConfig = SpeechConfig.fromSubscription(speechSubscriptionKey, serviceRegion);

        speechConfig.setProperty("format", "detailed"); //you have to do it in this order
        speechConfig.setOutputFormat(OutputFormat.Detailed);

//            speechConfig.setProperty("SpeechServiceResponse_RequestWordLevelTimestamps","true");
speechConfig.requestWordLevelTimestamps();
speechConfig.setSpeechRecognitionLanguage(lang);//"en-US");
SpeechRecognizer speechRecognizer = new SpeechRecognizer(speechConfig, audioConfig);
System.out.println("######:"+speechConfig.getProperty("SpeechServiceResponse_RequestWordLevelTimestamps"));
        Future<SpeechRecognitionResult> task = speechRecognizer.recognizeOnceAsync();
        SpeechRecognitionResult result = task.get();

        // Now get the detailed recognition results as a JSON string
        String jsonText = result.getProperties().getProperty(PropertyId.SpeechServiceResponse_JsonResult);

        // Convert the JSON string to a JSON object
        JsonReader jsonReader = Json.createReader(new StringReader(jsonText));

        // Extract the "NBest" array of recognition results from the JSON.
        // Note that the first cell in the NBest array corresponds to the recognition results
        // (NOT the cell with the highest confidence number!)
        JsonArray nbestArray = jsonReader.readObject().getJsonArray("NBest");

        for (int i = 0; i < nbestArray.size(); i++) {
            JsonObject nbestItem = nbestArray.getJsonObject(i);
            System.out.println("\tConfidence: " + nbestItem.getJsonNumber("Confidence"));
            System.out.println("\tLexical: " + nbestItem.getString("Lexical"));
            // ITN stands for Inverse Text Normalization
            System.out.println("\tITN: " + nbestItem.getString("ITN"));
            System.out.println("\tMaskedITN: " + nbestItem.getString("MaskedITN"));
            System.out.println("\tDisplay: " + nbestItem.getString("Display"));
            System.out.println("\tWords Size: " + nbestItem.getJsonArray("Words"));
            // Word-level timing
            JsonArray wordsArray = nbestItem.getJsonArray("Words");
            System.out.println("\tWords Size: " + wordsArray.size());
            System.out.println("\t\tWord | Offset | Duration");
            for (int j = 0; j < wordsArray.size(); j++) {
                JsonObject wordItem = wordsArray.getJsonObject(j);
                System.out.println("\t\t" + wordItem.getString("Word") + " " + wordItem.getJsonNumber("Offset") + " " + wordItem.getJsonNumber("Duration"));
            }
        }

        jsonReader.close();
        res = result.getText();

//            System.out.println("RECOGNIZED: Text=" + );
//            recognizer.close();
} catch (Exception ex) {
System.out.println("Azure STT not working: " + ex.getMessage());
}
return res;
}
public static void main(String[] args) {
String audioFile = "C:/Users/IML-WKS-Admin/Documents/Dec16/literacy-assistant-engine-api/literacy-assistant-engine-apis/resource/SentenceTest.wav";
	System.out.println(getSTT(audioFile, "en-US"));
}

}

If relevant, a WAV file of your input audio.

Additional information as shown below

Describe the bug
Unable to get the word level time stamps. I tried setting the speechConfig.requestWordLevelTimestamps() but its giving an error saying that the method does not exist in speech Config. I also tried setting the property "speechConfig.setProperty("SpeechServiceResponse_RequestWordLevelTimestamps","true")" but this is not working either. In the output json, "Words" array is coming as null.
To Reproduce
Run the code given above.
Expected behavior
A json file having recognised text and also word level timestamps.
Version of the Cognitive Services Speech SDK
1.33.0
Platform, Operating System, and Programming Language

OS:  Windows
Hardware - x64
Programming language: Java, Maven project
Browser: NA

Additional context

output of the speech to text:
######:
Confidence: 0.88268495
Lexical: friday and romeo was so excited
ITN: friday and romeo was so excited
MaskedITN: friday and romeo was so excited
Display: Friday and Romeo was so excited.
Words Size: null
Azure STT not working: Cannot invoke "javax.json.JsonArray.size()" because "wordsArray" is null
null

@SCLIIITB Could you please try with the https://github.com/Azure-Samples/cognitive-services-speech-sdk/blob/master/samples/java/jre/console/src/com/microsoft/cognitiveservices/speech/samples/console/SpeechRecognitionSamples.java sample and there recognitionWithMicrophoneAsyncAndDetailedRecognitionResults sample and let us know if you can get the word level timestamp information using that correctly?

Hi @jhakulin I tried running the same code and getting an error on line 97 in the code given on the above link you provided. The error is : The method requestWordLevelTimestamps() is undefined for the type SpeechConfig. I imported SpeechConfig from : import com.microsoft.cognitiveservices.speech.SpeechConfig;
Please help me in this!
Thank You

@SCLIIITB Hmm, sounds strange, need to investigate a bit more about the error you are seeing and if I am able to reproduce it. However, I do not think you need to call config.requestWordLevelTimestamps(); to get the word level information in JSON result if you already set config.setOutputFormat(OutputFormat.Detailed) which is done in that sample also and that should be enough to get the detailed results in JSON including word level timestamps. Please try removing the call and if that does not help, could you please share the exact error you are getting ? You should have been able to call the method, so I wonder if the real reason is some kind of installation problem of Speech SDK maven package.

@SCLIIITB did you had success with the previous proposal?

@SCLIIITB The problem seems to be that for certain input the SpeechServiceResponse_JsonResult may contain nBest fields which are empty result and do not have words array and this is not handled correctly in the sample. Below example input where this might happen:
Say something...
RECOGNIZED: Text = Hello. Hello.
Offset: 10700000
Duration: 7200000
{"Id":"c27289029ef7428f875485dd7f856926","RecognitionStatus":"Success","Offset":10700000,"Duration":7200000,"Channel":0,"DisplayText":"Hello. Hello.","NBest":[{"Confidence":0.61016554,"Lexical":"hello hello","ITN":"hello hello","MaskedITN":"hello hello","Display":"Hello.  Hello.
Word | Offset | Duration
hello 10700000 2800000
hello 13500000 4400000
Confidence: 0.0
Lexical:
ITN:
MaskedITN:
Display:
Word | Offset | Duration
Unexpected java.lang.NullPointerException: Cannot invoke "jakarta.json.JsonArray.size()" because "wordsArray" is null
There we had "{"Confidence":0.0,"Lexical":"","ITN":"","MaskedITN":"","Display":""}" fields under nBest array that do not have words as service returned extra empty result. We need to handle this in sample code better and do not try to go through the words in case words array is null. See below code which you can apply. We will improve the sample in the meantime. I believe service can occasionally send empty result after the recognized results.
                for (int i = 0; i < nbestArray.size(); i++) {
                    JsonObject nbestItem = nbestArray.getJsonObject(i);
                    System.out.println("\tConfidence: " + nbestItem.getJsonNumber("Confidence"));
                    System.out.println("\tLexical: " + nbestItem.getString("Lexical"));
                    // ITN stands for Inverse Text Normalization
                    System.out.println("\tITN: " + nbestItem.getString("ITN"));
                    System.out.println("\tMaskedITN: " + nbestItem.getString("MaskedITN"));
                    System.out.println("\tDisplay: " + nbestItem.getString("Display"));

                    // Check if "Words" key exists and is not null
                    JsonArray wordsArray = nbestItem.getJsonArray("Words");
                    if (wordsArray != null) {
                        System.out.println("\t\tWord | Offset | Duration");
                        for (int j = 0; j < wordsArray.size(); j++) {
                            JsonObject wordItem = wordsArray.getJsonObject(j);
                            System.out.println("\t\t" + wordItem.getString("Word") + " " + wordItem.getJsonNumber("Offset") + " " + wordItem.getJsonNumber("Duration"));
                        }
                    } else {
                        System.out.println("\t\tNo word-level timing information available.");
                    }
                }

Closing the issue, workaround provided, sample will be fixed in 1.34.0 release beginning of Dec.

Hi @jhakulin I tried multiple times with different audio files but I coudn't get the words array. Words array is always null. I check my installation as well and its fine. I hope we don't have to set any parameter on the azure portal to enable the word level information. Below is the code I am trying:
`package com.iml.gyan.speech.litassist.tts;
import java.util.concurrent.Future;
import javax.json.Json;
import javax.json.JsonArray;
import javax.json.JsonObject;
import javax.json.JsonReader;
import com.microsoft.cognitiveservices.speech.SpeechConfig;
import com.microsoft.cognitiveservices.speech.SpeechRecognitionResult;
import com.microsoft.cognitiveservices.speech.SpeechRecognizer;
import com.microsoft.cognitiveservices.speech.audio.AudioConfig;
import com.microsoft.cognitiveservices.speech.;
import com.microsoft.cognitiveservices.speech.audio.;
import java.io.StringReader;
import java.util.Scanner;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
public class azureSTT {
// This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
private static String speechSubscriptionKey = "";
private static String serviceRegion = "eastus";
public static String getSTT(String audioFile, String lang) {
	String res = null;
    try {

        AudioConfig audioConfig = AudioConfig.fromWavFileInput(audioFile);
        SpeechConfig speechConfig = SpeechConfig.fromSubscription(speechSubscriptionKey, serviceRegion);

        speechConfig.setProperty("format", "detailed"); //you have to do it in this order
        speechConfig.setOutputFormat(OutputFormat.Detailed);
        speechConfig.setSpeechRecognitionLanguage(lang);//"en-US");
        SpeechRecognizer speechRecognizer = new SpeechRecognizer(speechConfig, audioConfig);

        Future<SpeechRecognitionResult> task = speechRecognizer.recognizeOnceAsync();
        SpeechRecognitionResult result = task.get();

        // Now get the detailed recognition results as a JSON string
        String jsonText = result.getProperties().getProperty(PropertyId.SpeechServiceResponse_JsonResult);

        // Convert the JSON string to a JSON object
        JsonReader jsonReader = Json.createReader(new StringReader(jsonText));

        JsonArray nbestArray = jsonReader.readObject().getJsonArray("NBest");

        for (int i = 0; i < nbestArray.size(); i++) {
            JsonObject nbestItem = nbestArray.getJsonObject(i);
            System.out.println("\tConfidence: " + nbestItem.getJsonNumber("Confidence"));
            System.out.println("\tLexical: " + nbestItem.getString("Lexical"));
            // ITN stands for Inverse Text Normalization
            System.out.println("\tITN: " + nbestItem.getString("ITN"));
            System.out.println("\tMaskedITN: " + nbestItem.getString("MaskedITN"));
            System.out.println("\tDisplay: " + nbestItem.getString("Display"));
            System.out.println("\tWords Size: " + nbestItem.getJsonArray("Words"));
            // Word-level timing
            JsonArray wordsArray = nbestItem.getJsonArray("Words");
            System.out.println("\tWords Size: " + wordsArray.size());
            System.out.println("\t\tWord | Offset | Duration");
            for (int j = 0; j < wordsArray.size(); j++) {
                JsonObject wordItem = wordsArray.getJsonObject(j);
                System.out.println("\t\t" + wordItem.getString("Word") + " " + wordItem.getJsonNumber("Offset") + " " + wordItem.getJsonNumber("Duration"));
            }
        }

        jsonReader.close();
        res = result.getText();

//            System.out.println("RECOGNIZED: Text=" + );
//            recognizer.close();
} catch (Exception ex) {
System.out.println("Azure STT not working: " + ex.getMessage());
}
return res;
}
public static void main(String[] args) {
String audioFile = <path to audio file //default_2892238173549351111199121111111111111_0__180.wav";
	System.out.println(getSTT(audioFile, "en-US"));
}

}
`
Below is the output which i get:
Confidence: 0.9877272
Lexical: bob is a frog who lives in my yard
ITN: bob is a frog who lives in my yard
MaskedITN: bob is a frog who lives in my yard
Display: Bob is a frog who lives in my yard.
Words Size: null

Azure STT not working: Cannot invoke "javax.json.JsonArray.size()" because "wordsArray" is null
null


allocating sequence numbers should be transactional with writing blocks

From https://github.com/snarfed/bridgy-fed/issues/1130:

I suspect this is because we're not allocating sequence numbers and writing blocks in the same transaction. If we allocates a seq for the new repo's initial commit, and then another commit allocates the next seq and writes its commit, and our firehose reads it, before we write ours, our firehose will skip our commit entirely. And I'm more likely to trigger that when I do this kind of manual change locally, outside GCP, because of the network distance.
Ugh.

Another layer of defense here would be, if our firehose sees a missed sequence number, wait for a while, but not indefinitely, to see if it shows up before continuing on.

Started on this in the allocate-seq-transactional branch, above, but it's not pretty, and not functional yet. I may try the query idea in https://github.com/snarfed/arroba/issues/34#issuecomment-2453065787 instead.

Another option here: drop the storage API abstraction and fully tie this library to the GCP Datastore. Not ideal, but it would make this refactoring much easier.

Yet another option: actually refactor the Repo and Storage APIs to let storage implementations finalize commits - notably, generate their CIDs and signatures - all at once, so they can put it all inside a single transaction.
Wouldn't be backward compatible, but we're not 1.0 yet, that's still reasonable.

Another layer of defense here would be, if our firehose sees a missed sequence number, wait for a while, but not indefinitely, to see if it shows up before continuing on.

I did this, commit above. Seems ok before, and we're definitely hitting it, averaging once every few min or so. 🤞🤞🤞

Leaving this open to track combining allocating seqs and writing blocks into the same tx, but that seems lower priority if the query fix makes sure we still emit every seq.

sorry for suddenly appearing here, but does that workaround allow me to maybe have my account's metadata filled in?
if you recall, i had an issue where my avatar, banner, username weren't going through:
https://bsky.app/profile/did:plc:iykvw5xeefafbsai4ygi6dk3

I used the refresh button on https://fed.brid.gy/ap/<EMAIL_ADDRESS>earlier, but the profile still didn't update.
There might be something else still stuck in this case.

Sorry @derspyy! The Bluesky team is working on handle the huge growth they've seen over the last week or two. They're making some upgrades and changes to their relay, and it's currently behind on ingesting commits from federated PDSes like BF. Hopefully that will clear up soon. https://github.com/bluesky-social/atproto/discussions/3036


feat(series): add native support for next episodes

Description

after_id query param is added
complex front-end related logic is removed

Steps completed:

According to our definition of done, I have completed the following steps:

[ ] Acceptance criteria met
[ ] Unit tests added
[ ] Docs updated (including config and env variables)
[ ] Translations added
[ ] UX tested
[ ] Browsers / platforms tested
[ ] Rebased & ready to merge without conflicts
[ ] Reviewed own code

Waiting for back-end related fixes


Update PyDPF documentation

Update PyDPF-Post and PyDPF-Core images and descriptions, as well as references to DPF to promote Post instead of Core

[x] Post image updated
[x] Core image updated
[x] Post description updated
[x] Core description updated

Feel free to merge this whenever you can/want @PProfizi


api: audit for Go 1.13 go1.13.txt

next.txt was copied to go1.13.txt but I am not sure an audit of that API happened. Here is a tracking bug for it, with the netbsd-amd64 syscall additions removed (they're probably fine).
Missing approvals
debug/dwarf

pkg debug/dwarf, method (*UnsupportedType) Common() *CommonType
pkg debug/dwarf, method (*UnsupportedType) Size() int64
pkg debug/dwarf, method (*UnsupportedType) String() string
pkg debug/dwarf, type UnsupportedType struct
pkg debug/dwarf, type UnsupportedType struct, embedded CommonType
pkg debug/dwarf, type UnsupportedType struct, Tag Tag

errors

pkg errors, func As(error, interface{}) bool
pkg errors, func Is(error, error) bool
pkg errors, func Unwrap(error) error
pkg encoding/csv, method (*ParseError) Unwrap() error
pkg encoding/json, method (*MarshalerError) Unwrap() error
pkg net, method (*DNSConfigError) Unwrap() error
pkg net, method (*DNSError) Is(error) bool
pkg net, method (*OpError) Is(error) bool
pkg net, method (*OpError) Unwrap() error
pkg net, type DNSError struct, IsNotFound bool
pkg net/url, method (*Error) Unwrap() error
pkg os/exec, method (*Error) Unwrap() error
pkg os, method (*LinkError) Unwrap() error
pkg os, method (*PathError) Unwrap() error
pkg os, method (*SyscallError) Unwrap() error
pkg os, var ErrTemporary error
pkg os, var ErrTimeout error
pkg syscall, method (Errno) Is(error) bool
pkg text/template, method (ExecError) Unwrap() error

go/constant

pkg go/constant, func Make(interface{}) Value
pkg go/constant, func Val(Value) interface{}

go/types

pkg go/types, func CheckExpr(*token.FileSet, *Package, token.Pos, ast.Expr, *Info) error

log

pkg log, func Writer() io.Writer

net/http

pkg net/http, const SameSiteNoneMode = 4
pkg net/http, const SameSiteNoneMode SameSite
pkg net/http, const StatusEarlyHints = 103
pkg net/http, const StatusEarlyHints ideal-int
pkg net/http, func NewRequestWithContext(context.Context, string, string, io.Reader) (*Request, error)
pkg net/http, method (Header) Clone() Header
pkg net/http, method (*Request) Clone(context.Context) *Request
pkg net/http, method (*Transport) Clone() *Transport
pkg net/http, type Server struct, BaseContext func(net.Listener) context.Context
pkg net/http, type Server struct, ConnContext func(context.Context, net.Conn) context.Context
pkg net/http, type Transport struct, ForceAttemptHTTP2 bool
pkg net/http, type Transport struct, ReadBufferSize int
pkg net/http, type Transport struct, WriteBufferSize int

net

pkg net, type ListenConfig struct, KeepAlive time.Duration

os/exec

pkg os/exec, method (*Cmd) String() string

os

pkg os, func UserConfigDir() (string, error)

reflect

pkg reflect, method (Value) IsZero() bool

syscall

pkg syscall (windows-386), type SysProcAttr struct, ProcessAttributes *SecurityAttributes
pkg syscall (windows-386), type SysProcAttr struct, ThreadAttributes *SecurityAttributes
pkg syscall (windows-amd64), type SysProcAttr struct, ProcessAttributes *SecurityAttributes
pkg syscall (windows-amd64), type SysProcAttr struct, ThreadAttributes *SecurityAttributes

testing

pkg testing, func Init()
pkg testing, method (*B) ReportMetric(float64, string)
pkg testing, type BenchmarkResult struct, Extra map[string]float64

text/scanner

pkg text/scanner, const AllowDigitSeparators = 1024
pkg text/scanner, const AllowDigitSeparators ideal-int
pkg text/scanner, const GoTokens = 2036

Needs Documentation
Unicode

pkg unicode, const Version = "11.0.0"
pkg unicode, var Dogra *RangeTable
pkg unicode, var Gunjala_Gondi *RangeTable
pkg unicode, var Hanifi_Rohingya *RangeTable
pkg unicode, var Makasar *RangeTable
pkg unicode, var Medefaidrin *RangeTable
pkg unicode, var Old_Sogdian *RangeTable
pkg unicode, var Sogdian *RangeTable

Approved
I am not sure we have a bug for the creation of crypto/ed25519, but I approved it at the time and it is in the release notes. That covers:

pkg crypto/ed25519, const PrivateKeySize = 64
pkg crypto/ed25519, const PrivateKeySize ideal-int
pkg crypto/ed25519, const PublicKeySize = 32
pkg crypto/ed25519, const PublicKeySize ideal-int
pkg crypto/ed25519, const SeedSize = 32
pkg crypto/ed25519, const SeedSize ideal-int
pkg crypto/ed25519, const SignatureSize = 64
pkg crypto/ed25519, const SignatureSize ideal-int
pkg crypto/ed25519, func GenerateKey(io.Reader) (PublicKey, PrivateKey, error)
pkg crypto/ed25519, func NewKeyFromSeed([]uint8) PrivateKey
pkg crypto/ed25519, func Sign(PrivateKey, []uint8) []uint8
pkg crypto/ed25519, func Verify(PublicKey, []uint8, []uint8) bool
pkg crypto/ed25519, method (PrivateKey) Public() crypto.PublicKey
pkg crypto/ed25519, method (PrivateKey) Seed() []uint8
pkg crypto/ed25519, method (PrivateKey) Sign(io.Reader, []uint8, crypto.SignerOpts) ([]uint8, error)
pkg crypto/ed25519, type PrivateKey []uint8
pkg crypto/ed25519, type PublicKey []uint8
pkg crypto/tls, const Ed25519 = 2055
pkg crypto/tls, const Ed25519 SignatureScheme
pkg crypto/x509, const Ed25519 = 4
pkg crypto/x509, const Ed25519 PublicKeyAlgorithm
pkg crypto/x509, const PureEd25519 = 16
pkg crypto/x509, const PureEd25519 SignatureAlgorithm

Approved in #25805:

pkg bytes, func ToValidUTF8([]uint8, []uint8) []uint8
pkg strings, func ToValidUTF8(string, string) string

Approved in #30064:

pkg go/token, func IsExported(string) bool
pkg go/token, func IsIdentifier(string) bool
pkg go/token, func IsKeyword(string) bool

Approved in #31231:

pkg database/sql, method (*NullInt32) Scan(interface{}) error
pkg database/sql, method (NullInt32) Value() (driver.Value, error)
pkg database/sql, method (*NullTime) Scan(interface{}) error
pkg database/sql, method (NullTime) Value() (driver.Value, error)
pkg database/sql, type NullInt32 struct
pkg database/sql, type NullInt32 struct, Int32 int32
pkg database/sql, type NullInt32 struct, Valid bool
pkg database/sql, type NullTime struct
pkg database/sql, type NullTime struct, Time time.Time
pkg database/sql, type NullTime struct, Valid bool

Approved in #29835:

pkg database/sql, method (*Conn) Raw(func(interface{}) error) error

Approved in #29578:

pkg math/big, method (*Int) TrailingZeroBits() uint

Approved in #29579:

pkg math/big, method (*Rat) SetUint64(uint64) *Rat

These netbsd-amd64 are clearly OK (and all the syscall and log/syslog lines I have omitted):

pkg path/filepath (netbsd-arm64-cgo), const ListSeparator = 58
pkg path/filepath (netbsd-arm64-cgo), const Separator = 47
pkg path/filepath (netbsd-arm64), const ListSeparator = 58
pkg path/filepath (netbsd-arm64), const Separator = 47
pkg runtime (netbsd-arm64-cgo), const GOARCH = "arm64"
pkg runtime (netbsd-arm64-cgo), const GOOS = "netbsd"
pkg runtime (netbsd-arm64), const GOARCH = "arm64"
pkg runtime (netbsd-arm64), const GOOS = "netbsd"
pkg os (netbsd-arm64-cgo), const DevNull = "/dev/null"
pkg os (netbsd-arm64-cgo), const O_APPEND = 8
pkg os (netbsd-arm64-cgo), const O_CREATE = 512
pkg os (netbsd-arm64-cgo), const O_EXCL = 2048
pkg os (netbsd-arm64-cgo), const O_SYNC = 128
pkg os (netbsd-arm64-cgo), const O_TRUNC = 1024
pkg os (netbsd-arm64-cgo), const PathListSeparator = 58
pkg os (netbsd-arm64-cgo), const PathSeparator = 47
pkg os (netbsd-arm64), const DevNull = "/dev/null"
pkg os (netbsd-arm64), const O_APPEND = 8
pkg os (netbsd-arm64), const O_CREATE = 512
pkg os (netbsd-arm64), const O_EXCL = 2048
pkg os (netbsd-arm64), const O_SYNC = 128
pkg os (netbsd-arm64), const O_TRUNC = 1024
pkg os (netbsd-arm64), const PathListSeparator = 58
pkg os (netbsd-arm64), const PathSeparator = 47

Approved in #28564:

pkg time, method (Duration) Microseconds() int64
pkg time, method (Duration) Milliseconds() int64

Looks like the Unicode update did not make it into the release notes.
(^F for unicode in https://tip.golang.org/doc/go1.13 finds nothing.)

These were added for #29601 but I don't see any confirmation that we want to commit to this API:

[ ] pkg debug/dwarf, method (*UnsupportedType) Common() *CommonType
[ ] pkg debug/dwarf, method (*UnsupportedType) Size() int64
[ ] pkg debug/dwarf, method (*UnsupportedType) String() string
[ ] pkg debug/dwarf, type UnsupportedType struct
[ ] pkg debug/dwarf, type UnsupportedType struct, embedded CommonType
[ ] pkg debug/dwarf, type UnsupportedType struct, Tag Tag

/cc @aclements @thanm @dr2chase; still look OK?

The dwarf API additions still look good to me. And it's been mentioned in the release notes.

Dwarf API changes LGTM also.

@grisemer, last call for Go 1.13 API. Still happy with:
go/constant

pkg go/constant, func Make(interface{}) Value
pkg go/constant, func Val(Value) interface{}

go/types

pkg go/types, func CheckExpr(*token.FileSet, *Package, token.Pos, ast.Expr, *Info) error

text/scanner

pkg text/scanner, const AllowDigitSeparators = 1024
pkg text/scanner, const AllowDigitSeparators ideal-int
pkg text/scanner, const GoTokens = 2036

?

@alexbrainman, last call for Go 1.13 API. Still feel good about:
Added in CL 174197:

pkg syscall (windows-386), type SysProcAttr struct, ProcessAttributes *SecurityAttributes
pkg syscall (windows-386), type SysProcAttr struct, ThreadAttributes *SecurityAttributes
pkg syscall (windows-amd64), type SysProcAttr struct, ProcessAttributes *SecurityAttributes
pkg syscall (windows-amd64), type SysProcAttr struct, ThreadAttributes *SecurityAttributes

?

@rsc LGTM for https://github.com/golang/go/issues/32813#issuecomment-506489554

CL 184080 removes AllowDigitSeparators and documents GoToken a bit more.

Update: I dug up proposal approvals for most of these and pinged owners for the few that remain.
Brad is away so I looked at the non-proposal net/http changes and they look OK; approved those.
The only API approvals still needed are for the errors and syscall changes.
The errors changes seem fine but I want to take a close look at them tomorrow and double-check. @mpvl, @jba, @neild are welcome to do the same.
The syscall changes seem fine but would like @alexbrainman's input.
During this I identified a few things missing from the release notes. Those are identified in their own section in the top comment.

@rsc
windows syscall changes LGTM.
Thank you very much.
Alex

This was added for #28635 in CL 168597 and needs review:
 - pkg net, type DNSError struct, IsNotFound bool

@jba, @neild, @mpvl, and I looked at the errors API.
We decided to remove ErrTemporary (#32463) but everything else is good.

@FiloSottile filed an issue to recheck a specific addition (os.ErrTimeout) as #33411.

Created issue to update release notes to include Unicode: #33472

Added a couple of new symbols that were missing from go1.13.txt
debug/elf
Added in CL 184099:

pkg debug/elf, type Symbol struct, Library string
pkg debug/elf, type Symbol struct, Version string

RC1 is out. Can we close this?


Add Hugging Face Demo Notebooks

Description
Add additional notebooks demonstrating how to perform evasion and poisoning attacks on Hugging Face image classification models. The notebooks/README.md was also updated accordingly.
Fixes # N/A
Type of change
Please check all relevant options.

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

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

N/A

Test Configuration:

OS
Python version
ART version or commit number
TensorFlow / Keras / PyTorch / MXNet version

Checklist

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

Codecov Report

Merging #2347 (ff17a19) into main (ab389e7) will decrease coverage by 57.54%.
The diff coverage is n/a.

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

@@             Coverage Diff             @@
##             main    #2347       +/-   ##
===========================================
- Coverage   85.60%   28.06%   -57.54%
===========================================
  Files         324      324
  Lines       29326    29326
  Branches     5407     5026      -381
===========================================
- Hits        25104     8231    -16873
- Misses       2840    20660    +17820
+ Partials     1382      435      -947

see 240 files with indirect coverage changes


Release 4.1.1.

Moves 4.1.0 to the older releases list. Adds 4.1.1, its release date, and a new search engine ID for it.
On-hold until the actual release (scheduled for April 17, 2017)

LGTM


Issues

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

@Maliek2 can you help us with what the issue is?


Automatic 911 Call events

Describe the feature
For example, when an officer is attached to the call, in the call section events, it automatically sends a message: 1A-1 John Doe attached to call.
Officer arrives at the scene and marks himself as 10-23 (Arrived on the scene) The event log automatically generates 1A-1 John Doe arrived on the scene.
Probably hard to implement but would be cool to see.
Additional Context

It would also be cool if as soon as the officer is attached to a call, he automatically gets a status change to en route. (You could toggle that here)

It would also be cool if as soon as the officer is attached to a call, he automatically gets a status change to en route. (You could toggle that here)

This had been removed since others had complained about this feature

Current progress:

Still need to implement the arrived on-scene and en-route

If an officer is assigned to multiple calls, would it only do this for the "Active Call" or for all the calls the officer is assigned to?
cc @pp2amd6 @jxckUK @Creizy @MrJDubYou (pinging because you all provide amazing feedback :))

If there's a way to stack calls it would be smart to be able to change the "active call" somehow and the status change should only apply to the active call. Having both the officer and dispatcher be able to change the active call by maybe a drop down from a list of attached calls?

I like the status feed within the call though and being able to view it both on the dispatcher and officer side of the call.

I like the status feed within the call though and being able to view it both on the dispatcher and officer side of the call.

You can already see it both as an officer and dispatch

If an officer is assigned to multiple calls, would it only do this for the "Active Call" or for all the calls the officer is assigned to?
cc @pp2amd6 @jxckUK @Creizy @MrJDubYou (pinging because you all provide amazing feedback :))

If you can stack them, then most likely only active call.

If an officer is assigned to multiple calls, would it only do this for the "Active Call" or for all the calls the officer is assigned to?
cc @pp2amd6 @jxckUK @Creizy @MrJDubYou (pinging because you all provide amazing feedback :))

I think in most cases officers should only be assigned to one call, so making it the active call ensures that sort of information is only present on the most relevant.

If an officer is assigned to multiple calls, would it only do this for the "Active Call" or for all the calls the officer is assigned to?
cc pp2amd6 jxckUK Creizy MrJDubYou (pinging because you all provide amazing feedback :))

I think in most cases officers should only be assigned to one call, so making it the active call ensures that sort of information is only present on the most relevant.

True, completely forgot to mention it. As you said mostly officers are attached only to one call. Rarely multiple because either it’s probably the same call. Which shouldn’t really be an issue since we can merge calls.

If an officer is assigned to multiple calls, would it only do this for the "Active Call" or for all the calls the officer is assigned to?

cc @pp2amd6 @jxckUK @Creizy @MrJDubYou (pinging because you all provide amazing feedback :))

I think in most cases officers should only be assigned to one call, so making it the active call ensures that sort of information is only present on the most relevant.
EDIT: I'm glad to see this issue being implemented as I currently do this via the API so I can reduce some of my code! 😄

They could get stacked calls especially supervisors so they know the info for their next call ahead of time or for non priorities.

They could get stacked calls especially supervisors so they know the info for their next call ahead of time or for non priorities.

I think we should handle stacked calls separately; I like the idea, but it needs a proper implementation in my opinion. Eg. Having calls they aren't assigned to until they're "free" is a good idea.

I don't quite understand how an officer can be assigned to multiple calls at once :)
I understand that multiple calls can be made about the same situation, but an officer can only be on one call.
I can suggest making an alias for the call and then the event mechanism will work logically.
Example:

the dispatcher receives a fight call from a witness (call # 1)

the dispatcher receives a fight call from a witness at the same address (call # 2)

the dispatcher receives a fight call from the victim at the same address (call # 3)

the dispatcher indicates that call 2 and 3 refer to call 1

in the table, call 2 and 3 will be listed as an alias

if an officer changes status, it will be displayed on the call page

I don't quite understand how an officer can be assigned to multiple calls at once :)
I understand that multiple calls can be made about the same situation, but an officer can only be on one call.

Much agree with this to be honest.

I can suggest making an alias for the call and then the event mechanism will work logically.
Example:

the dispatcher receives a fight call from a witness (call # 1)
the dispatcher receives a fight call from a witness at the same address (call # 2)
the dispatcher receives a fight call from the victim at the same address (call # 3)
the dispatcher indicates that call 2 and 3 refer to call 1

in the table, call 2 and 3 will be listed as an alias

if an officer changes status, it will be displayed on the call page

I like this idea, but I do also see merit in "stacking" calls for them to move onto next which I believe is why other users are currently assigning multiple calls to a single unit. If we can implement effective stacking, we may not need to be too concerned about multiple call assignments!

What does call stacking mean? What will it look like and what is it used for?

What does call stacking mean? What will it look like and what is it used for?

In my eyes it means the following:
Assigning an additional call to a user to attend after their current call, when the previous call clears/closes or the unit becomes available they are automatically placed on the first stacked call.
Eg. User is on Call1, is stack assigned to Call2. Call1 ends and the unit is assigned to Call2 automatically. Stacks should be able to go as deep as a dispatcher likes.

Call stacking should probably be added in a new issue so this one can be closed then. @jxckUK, if you're able to open a feature request. That'd be great!


Item Price Ticket Spamming

Currently it's possible to spam the item price ticket system and send many emails to the administrator, clogging up the system. This could certainly be used in a malicious manner and could even crash the website with enough ticket spamming.
I think it would probably be best to add a system to only accept, say, one price suggestion per IP address per 10 seconds. Or, to make it even easier, only let logged in users submit price tickets.
I'm working on some code to fix this right now, just wanted to get this issue out there.

Should be fixed in #29


Removed jupyter_server

This PR removes jupyter_server from the dependency list as it is not being used anywhere in the source code. This can potentially make ipysheet compatible with JupyterLite https://github.com/QuantStack/ipysheet/issues/239

After removing jupyter_server, I built the wheel and made it available here. Ipysheet can now be installed successfully in JupyterLite.

Nice!
On Thu, 24 Nov 2022 at 20:41, Qiusheng Wu @.***> wrote:

After removing jupyter_server, I built the wheel and made it available
here https://github.com/giswqs/py-wheels. Ipysheet can now be installed
successfully in JupyterLite.
[image: image]
https://user-images.githubusercontent.com/5016453/203855204-fd2e02d2-2b44-43ee-b077-dde938b4b243.png
—
Reply to this email directly, view it on GitHub
https://github.com/QuantStack/ipysheet/pull/240#issuecomment-1326797497,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AANPEPJ4FYS4WXBS6LFNCALWJ7AHBANCNFSM6AAAAAASKV6T5E
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

--
Maarten Breddels
Software engineer / consultant / data scientist
Python / C++ / Javascript / Jupyter
www.maartenbreddels.com / vaex.io
@.*** +31 6 2464 0838 <+31+6+24640838>
[image: Twitter] https://twitter.com/maartenbreddels[image: Github]
https://github.com/maartenbreddels[image: LinkedIn]
https://linkedin.com/in/maartenbreddels[image: Skype]

Thank you!


 There is a robot initially located at the top-left corner (i.e., grid[0][0]). The robot tries to move to the bottom-right corner (i.e., grid[m-1][n-1]). The robot can only move either down or right at any point in time.
An obstacle and space are marked as 1 or 0 respectively in the grid. A path that the robot takes cannot include any square that is an obstacle.
Return the number of possible unique paths that the robot can take to reach the bottom-right corner.
Example
Input: obstacleGrid = [[0,0,0],[0,1,0],[0,0,0]]
Output: 2

Explanation: There is one obstacle in the middle of the 3x3 grid above.
There are two ways to reach the bottom-right corner:

Right -> Right -> Down -> Down
Down -> Down -> Right -> Right

Domain
Competitive Programming
Type of Contribution
Addition
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of LearnCPP.

/assign


ASP.NET Identity working throught WebAPI services

What is the timeline for just this feature? Is this already in development?
Thanks. Good work!

Sorry. I see Identity and webapi are already implemented. Can you update what are you planning in the Q3 as per the readme file?
Thanks


JSON to Figma Plugin

Hi! There is a Figma plugin https://github.com/PavelLaptev/JSON-to-Figma, and I need to bypass CORS to fetch images.
Thanks!

Hi. Please leave your email to<EMAIL_ADDRESS>
Is there any expected usage quota?

@softmarshmallow done! About the quota, it's hard to say right now, this is actually what I want to check. I assume it could be more than 5mb, but it shouldn't be a problem.

@softmarshmallow thanks! Just got my API token

@PavelLaptev
No problem. I would very appreciate a small acknowledgment on your project's readme (details in email)
:) Cheers

@softmarshmallow sure thing. As soon as I update the plugin, I'll add it to the README :-)


[import/order] Regression in 2.20.1

Installed 2.20.1, started getting ordering errors like the following;

Our rule for import/order is
'import/order': [
  'error',
  {
    groups: ['builtin', 'external', 'parent', 'sibling', 'index'],
    'newlines-between': 'never',
  },
],

Rolling back eslint-plugin-import to 2.20.0 resolves the issue.

Only in Windows.

That makes testing for it difficult; appveyor tests are currently failing for unrelated reasons.

What I found by debugging:

The import type of an external module is not determined as such
The reason is that the path passed to isSubpath contains Windows separators (backslashes) and the function expects slashes.

path.normalize might help us here?

This also seems to affect import/no-extraneous-dependencies: As the import type is reported as internal instead of external due to the path containing backslashes, the rule never reports any errors on Windows.

I tried to create a minimal reproduction for the import/order and import/no-extraneous-dependencies rules: https://github.com/kryops/eslint-plugin-import-issue1643

A PR with a failing test case would be most welcome; I can add a fix to that (altho a PR that has both is even better!)

I think the existing tests should already fail on Windows. I was unable to run the tests on that platform when I tried today, though.

I had to roll back to 2.19.1 for this issue to go away. 2.20.0 complained about the order of the following imports:
const nearley = require('nearley');
const grammar = require('./grammar');

@South-Paw can you check on latest master of this plugin and see if it's fixed?

I'll close this for now, but am happy to reopen if the issue isn't solved on latest master.

Still isn't working for me

If this issue has been resolved in master, is there a reason that it has not yet been released?

Because maintainers are humans who aren’t being paid for their time, and can’t always drop everything to cut a release :-)

Hi collaborators, thanks for great plugin. I just want to say that it still happening on Windows.

@rmlevangelio thanks for the report - if you could file a new issue with more details that would be appreciated.


python bindings for writing out charges

Yo Tomas,
I need your library to write out the cif file (PR I am submitting).
I am creating a branch to do this, however, I think it would be good for us to collaborate and have python bindings to write out all files (pdb, mol2, cif).
Let me know how you want to go about this.
Danny

Sure, I think it's a rather good idea, and it would be great if the bindings were on par with the overall functionality as the standalone app has.
Originally, ChargeFW2 was not designed to work as a library, e.g., I guess there are several places where there is an exit() call instead of throw, which would fit better for the library. And there are definitely other things. For example, MoleculeSet and objects within it are not modified after the initialization which might not suit the Python style (?).
Unfortunately, I am quite busy at the moment (I really have to finish and submit a thesis in a few months), but if you have some time, then please suggest first the idea for the Python interface (which object/functions to expose in Python), and we can talk this through.
(Without putting too much thought into this...) I see the main design difference between the app and the bindings in the usage. When running an app, all parameters and settings are known in advance from the command line, whereas in Python, we should first create some object with molecules, then initialize some method object (with or without parameters) and finally produce charges to be saved somewhere.
I am definitely open to suggestions. ;-)

Yeah I agree with you on the design difference. Good luck writing your thesis!
As for the python interface, Ill think about it some more and then comment here.
One thing I want your opinion/advice right now has to do with running chargefw2 on a protein that has cations in it. This is what I am currently working on and would like the bindings to have a solution for.
Specifically, I would like to calculate partial charges for proteins that have cations with the method 'eem' and parameter set 'EEM_10_Cheminf_b3lyp_aim'. I find this method/parameter set gives me the most trustworthy values on a large protein dataset.
The functionality I would like is for it to ignore these cation atoms as if they were not there and run the calculation and then write out the cif file  where the cations are left blank ('?') or have their formal charge inserted instead.
The solution I am currently implementing is to check the method for the allowed elements, then I remove all atoms from the cif file that do not belong to that element set, I run the calculation and generate a cif file, and then I add the cation atoms back in the out cif file.
This is very hacky. It would be great if the bindings can ignore the cations (similar to water) for the calculation and leave them blank ('?') or fill in their formal charge in the out file.
Do you know what I would need to do to Chargefw2 to make this possible/make it an option in the bindings?

Are those ions classified as HETATMs? Or have their own residues like https://www.rcsb.org/ligand/CA or https://www.rcsb.org/ligand/K? What about something similar to --ignore-water but more general like --ignore-residues CA and some equivalent form in the binding? But the interface is one thing and the internal representation of these ignored atoms another one.
Anyway, I've been thinking about a similar issue (concerning various metals in protein structures) a while back. The problem is that there is great difficulty with obtaining the reference QM charges, which are needed to derive some parameter set for a method like EEM. So the majority of parameter sets lacks those elements and therefore are not usable.
Well, I don't know your use case, but to me, the neighbourhood of these ions (i.e., charges on those atoms) are the important part, not the ions themselves. The problem is that if you omit these ions from the structure and the charge computation, then you lost their influence on the neighbourhood, and thus the charges near these ions might not be accurate.
Actually, I have an idea of a workaround for EEM, I've been thinking about writing a paper on the subject, but I never really get into it. This would need proper testing (some use cases to prove whether the idea is working or not, which I don't have). Maybe an opportunity for a collaboration? But it depends on what's your goal with these structures, that is, if you are happy with just ignoring these atoms or if you would benefit from something I described.

So in proteins, cations are listed as HETATMs. I have yet to encounter a protein where they are not. And if they are not listed as HETATMs in a protein, I believe this is an annotation error.
So I work in a protein engineering lab (Andrew Ellington Lab). I build deep learning models trained on protein structures. I am rebuilding our molecular representation and swapping out forcefield partial charges with chargefw2 partial charges.
Right now our molecular representation does not take into account cations nor the polarization of atoms based on the surrounding neighborhood. So you are right that by removing the cations, I lose their influence on the environment but that is still a step up from forcefield partial charges (which treat for example the beta carbon of threonine with the same partial charge across all proteins regardless of its neighborhood).
I would love to hear your idea for the workaround, like I said, our lab is a protein engineering lab so almost all of our graduate students and post-docs are experimentalist and we validate our AI models with real proteins. Our lab also collaborates with  Yi Lu's lab (metalloenzyme professor). Yi Lu could come up with specific use cases based on what your idea is (protein engineering at the cation-protein interface).
You should email me<EMAIL_ADDRESS>to continue the discussion.
For right now, I am happy with ignoring these atoms atoms in the calculation and replace their value with their formal charge. I have a lot of other applications (protein-protein interactions/protein-ligand interactions) not requiring cations that are held up because a significant portion of the dataset has cations and are preventing me from training neural networks. I need to be training nets for our different applications within the next two weeks.
However, for the next iteration of our molecular representation (later this year) I would love to do this right and not ignore cations and their influence in the neighborhood so we can better approach problems that interest Yi Lu.

shoot me an email whenever you would like to discuss a collaboration. I am really interested in addressing cations with eem.

Sure. I need to submit the first draft of the thesis next week, however, after that, I'll contact you on email (hopefully I will remember the hack for EEM by then. :-)).


[FIX] Booking Page's All Bugs fixed

Related Issue

Fixes :  #939

Description

All bugs have been fixed on the booking page.
Nav bar texts are too small. [ FIXED ]
Destionations are not organized. [ FIXED ]
Cards are scaling too much on hover [ FIXED ]
"Why travel" section is not visible. [ FIXED ]
Booking Form Redesigned.
Footer section fixed.

Type of PR

[x] Bug fix
[x] Feature enhancement
[x] Documentation update
[ ] Other (specify): _______________

Screenshots / videos (if applicable)
Before :
https://github.com/user-attachments/assets/ada71caa-daae-4265-8d50-364ed43c7343
After ✅ :

Nav Bar Fixed

Title fixed
Card hover animation fixed.

Why travel - section fixed
Points are more highlighted.

Booking form background added
Inputs size fixed
Form background added

Footer padding added

Checklist:

[x] I have made this change from my own.
[x] I have taken help from some online resources.
[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.
[x] I have tested the changes thoroughly before submitting this pull request.
[x] I have provided relevant issue numbers and screenshots after making the changes.

Please add level3 to this PR. As I fixed all the issues in the booking page. @PriyaGhosal
You can check the present page - https://buddytrail.netlify.app/book
And the modified page to see how many changes have been made.

@4F24L Your pull request has been successfully merged! Don't stop here—continue contributing by addressing more issues and aiming to become a top contributor. Exclusive swag awaits for those who go the extra mile!
Great contribution ! 🎉


METRON-1069: Ambari MPack documentation around development strategies

Contributor Comments
First cut at documentation around actually making changes to the management pack.  I haven't touched this in awhile, so I'd definitely like feedback on things as well as anything else to ease the experience of diving into the mpack.
Pull Request Checklist
Thank you for submitting a contribution to Apache Metron.
Please refer to our Development Guidelines for the complete guide to follow for contributions.
Please refer also to our Build Verification Guidelines for complete smoke testing guides.
In order to streamline the review of the contribution we ask you follow these guidelines and ask you to double check the following:
For all changes:

[x] Is there a JIRA ticket associated with this PR? If not one needs to be created at Metron Jira.
[x] Does your PR title start with METRON-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.
[x] Has your PR been rebased against the latest commit within the target branch (typically master)?

For documentation related changes:

[x] Have you ensured that format looks appropriate for the output in which it is rendered by building and verifying the site-book? If not then run the following commands and the verify changes via site-book/target/site/index.html:
cd site-book
mvn site

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.
It is also recommended that travis-ci is set up for your personal repository such that your branches are built there before submitting a pull request.

This is awesome.  The only thing missing that I find myself doing sometimes are steps to rebuild and redeploy the mpack in a running full dev.  I usually edit files in the agent cache first, then redeploy the mpack since it's faster than rebuilding full dev.  Not really necessary but might be useful to some people.  Your call.

We also might want to include suggestions for editing metron_theme.json.  That has become more important now that we are organizing properties in different sections with different widgets  Happy to help with that.

@merrimanr I honestly don't recall the steps to make sure we don't break anything when redeploying the mpack. Would you be willing / able to do a quick PR on to my branch, or just give the short version and I can flesh it out?  Otherwise, I'm pretty sure I'll miss some steps and someone will end up writing it anyway.  I definitely think it's valuable to have.
re: the metron_theme.json, I'm happy to include that, but I know borderline nothing about it, so I'd need help adding in a section about that.  Do we want that here, or should have a follow-on jira for that?

Sure I'll write something up on the mpack redeploy.
We could explain metron_theme.json as a seperate PR but these instructions may be incomplete without it.  For example, I'm not sure what happens if you add a property to "metron-indexing-env.xml" but don't update metron_theme.json.  I'm happy to include that in the PR I'm planning on submitting against your branch.

I'm in favor of including metron_theme.json documentation here. I JUST ran into that (added a field, forgot to update the theme, error was confusing).

@merrimanr That would be great, thanks a lot!

This is great, but I think what may be needed is an actual step-by-step to how to add a property to our ambari config.  Let's say, I want to add a property into the global config associated with enrichment, exactly which files would I need to modify?  I view this as similar to the step-by-step that we made for adding a new stellar function.

I think my concern is that it's missing a big part of the equation: how we actually USE the property that we just added.  From what I see, there are a couple of different scenarios:

Properties get added to our external or internal configs (e.g. global config, storm config, etc.)
Properties get used in the install/update process (e.g. hbase tables or hdfs locations get created)
Both

I'd like to see a concrete example detailing the full-journey.  From adding the property to operating on the property in the scenarios above.

Also, I'd like to see a small section about best practices that people should consider when they're adding properties, such as:

If you're adding a new table or topic based on your property, ensure you take care to handle the ACLs (link to example of adding a table)
Make sure you add a file indicating what you've done so things are idempotent
Many, many more things that I've missed and that people who know this part of the code know implicitly from having done it numerous times.

@cestella Can you take a look and let me know if the section on the Jinja templates I added is the sort of concrete example you're looking for?  I walked through an existing property, from definition in the xml files, to how it's referenced in the template, to how it's used in the script that actually uses it.

That is looking a lot better, @justinleet !

@cestella Is there anything else you'd like to see here now that a couple more commits were added?

Nope, +1 by inspection.

Closed via manually rebased commits to maintain attribution.
Commits are:
3d4751
c7d8b7
ed689c


Add failure codes when adding a server

This may require work in the server module.
The frontend should be able to disambiguate between the following errors based on their designs:

Network error
Server gave an unexpected response
Server already in use

This probably means attaching a property like code to the error in the rejection from addServerPeer.

Done in https://github.com/digidem/comapeo-core/commit/ae248891a5484d5c92e06b2a74d87ccb68063329, https://github.com/digidem/comapeo-core/commit/fc1ad5299a9dc1674d2e2a542ad2a73ac472d33e, https://github.com/digidem/comapeo-core/pull/955, and https://github.com/digidem/comapeo-cloud/pull/33.


Command line parameter for test filename

This is a quick and rather dirty solution to #44.

Path to example_options.json is passed as an optional command line parameter
Filename is detected by raw comparison of argc after gtest options are consumed; this can be migrated to boost::program_options if preferred.
If the filename is not detected, a fallback value is used (starting from the project root).
The filename is used to initialise an evil static data member of a class.
The same class is used as a base class for tests which need to access the options filename or parsed file.

I tried to do this using value-parametrised tests, but initialising the values in main doesn't seem to be a well-supported use case.

After thinking about it for a while, argv is good enough for . It's tricky to make boost::program_options work with GTest arguments - I mean allowing different order of them.

I think this is ready to merge.

Argh, I didn't put the new files in CMakeLists. The comment/review display on github can be really confusing. I'll open a new PR with the changes.


migrate non pages components: /v2/p/

What does this PR do and why?
Provide a description of what this PR does. Link to any relevant GitHub issues, Notion tasks or Discord discussions.
Screenshots or screen recordings
If applicable, provide screenshots or screen recordings to demonstrate the changes.
Acceptance checklist

[ ] I have evaluated the Approval Guidelines for this PR.
[ ] (if relevant) I have tested this PR in all supported browsers.
[ ] (if relevant) I have tested this PR in dark mode and light mode (if applicable).

Current dependencies on/for this PR:

main

PR #3977

PR #3978

PR #3979

PR #3980

PR #3981

PR #3982

PR #3983   👈

This comment was auto-generated by Graphite.

@wraeth-eth started a stack merge that includes this pull request via Graphite.

Graphite rebased this pull request as part of a merge.

@wraeth-eth merged this pull request with Graphite.


GPU temperature is not reported by Prometheus exporter fox Max 1100

Steps to reproduce:

Install the latest xpumanager (V1.2.29) as Kubernetes DaemonSet.
Install the provided Grafana dashboard.

Result:

Grafana shows metrics such as "GPU Utilization"

Grafana shows "No data" for "GPU Temperature"

GPU: Max 1100
Driver: Agama 775.20
xpumanager: 1.2.29

Please use zello_sysman tool to firstly check whether Sysman temperature API can work not. Most missing metric issues are caused by the underlying driver or firmware.
wget https://raw.githubusercontent.com/intel/compute-runtime/releases/23.48/level_zero/tools/test/black_box_tests/zello_sysman.cpp
g++ -O2 -Wall -o zello_sysman zello_sysman.cpp -lze_loader
sudo ./zello_sysman --temperature

Please use zello_sysman tool to firstly check whether Sysman temperature API can work not.

 sudo ./zello_sysman --temperature
ZES_ENABLE_SYSMAN environment variable Not Set
Setting the environment variable ZES_ENABLE_SYSMAN
ZES_ENABLE_SYSMAN environment variable Set
Device Name = Intel(R) Data Center GPU Max 1100
UUID:
� � �
       /    �
Sysman Initialization done via zeInit

 ----  Temperature tests ----
ZE_RESULT_ERROR_UNINITIALIZED returned by zesDeviceEnumTemperatureSensors(device, &count, nullptr): testSysmanTemperature: 448
Could not retrieve Temperature domains

Try the following steps and re-run zello_sysman
1. add modprobe.blacklist=intel_pmt in the /etc/default/grub file at GRUB_CMDLINE_LINUX_DEFAULT line
2. run update-grub command
3. reboot
4. sudo ./zello_sysman --temperature

I'm assuming this is with the (public) i915-backport (out-of-tree DKMS) kernel driver.
Which kernel and what GPU related kernel driver (package) versions you're using?
(AFAIK temperature is out-of-band data and needs separate kernel module from the main kernel i915 GPU driver. I think intel_pmt was old name for it, but I do not remember what's its replacement. @fmiao2372?)

Tested somewhat older multi-GPU setup, and temperature works with it.
Kernel / HW related components that setup had:

OS: Ubuntu 22.04.3 LTS
i915 DKMS: <IP_ADDRESS>.230425.56+i81-1

/proc/modules "compat" line lists: mei_iaf,mei_gsc,pmt_telemetry,pmt_crashlog,pmt_class,i915,mei_me,intel_vsec,mei

kernel: 5.15.0-92-generic
HW: Data Center GPU Max 1100 (0x0bda rev 2f)
FW: pvc_guc_70.9.1

I have no idea which driver version is "Agama 775.20" but my user-space driver stacks are built from public releases in: https://github.com/intel/
Both my latest build from month ago:

GMMlib:            intel-gmmlib-22.3.17
SPIRV-SDK:         vulkan-sdk-1.3.275.0/vulkan-sdk-1.3.275.0 (headers/tools)
SPIRV-LLVM:        libllvmspirvlib-14-dev:amd64:14.0.0-3ubuntu1 (Ubuntu package)
OpenCL-Clang:      libopencl-clang-14-dev:amd64:14.0.0-4 (Ubuntu package)
VC-intrinsics:     v0.16.0
Graphics Compiler: igc-1.0.16161.0 (IGC)
Level-Zero API:    v1.15.8
compute-runtime:   23.52.28202.14

And e.g. an older build from last May:

GMMlib:            intel-gmmlib-22.3.5
SPIRV-SDK:         sdk-<IP_ADDRESS>/sdk-<IP_ADDRESS> (headers/tools)
SPIRV-LLVM:        libllvmspirvlib-12-dev:amd64:12.0.0-3 (Ubuntu package)
OpenCL-Clang:      libopencl-clang-12-dev:amd64:12.0.0-3 (Ubuntu package)
VC-intrinsics:     v0.13.0
Graphics Compiler: igc-1.0.14207.2 (IGC)
Level-Zero API:    v1.11.0
compute-runtime:   23.17.26241.19

provide temperature data with zello_sysman --temperature.
=> Therefore I would expect any compute-runtime (providing the Sysman backend providing the GPU metrics) driver version between them (or newer) also to work fine, as long as you have the required FW & kernel drivers installed.
As you're using Ubuntu intel-i915-dkms, I assume you installed it from Intel driver repos: https://dgpu-docs.intel.com/driver/installation.html#ubuntu-install-steps
Sysman backend binary package in that repo is named intel-level-zero-gpu, and XPU Manager command line tool package is named as xpu-smi.

I have no idea which driver version is "Agama 775.20"

This is public rolling release: https://dgpu-docs.intel.com/releases/stable_775_20_20231219.html

Looks like the temperature readings do not work with the driver from public rolling release, but works with public LTS release. Closing this issue since it is more likely a driver issue.

I have no idea which driver version is "Agama 775.20"

This is public rolling release: https://dgpu-docs.intel.com/releases/stable_775_20_20231219.html

It says "stable release" (not "rolling" one)?
Page does list package versions, but only the intel-opencl-icd OpenCL driver package version 23.35.27191.42 corresponds to compute-runtime project release numbers.  L0 / Sysman intel-level-zero-gpu driver package version does use the same 27191 sub-number, so I think it's built from the compute-runtime sources  (as expected).
23.35.27191.42 version is somewhere between compute-runtime versions that I had tested, therefore I would assume Sysman part to be OK (unless there was some fixed regression in between that just happens to be in this release). I.e. issue would be somewhere lower in the stack (kernel side).

Looks like the temperature readings do not work with the driver from public rolling release, but works with public LTS release.  Closing this issue since it is more likely a driver issue.

I'm sure it's not XPUM issue, but unless you filed separate driver bug, I think it could be discussed here.
Did you get temperature metrics working with some driver version?
(I'm interested what was not working, and what fixed it.)

It says "stable release" (not "rolling" one)?

This page https://dgpu-docs.intel.com/driver/installation.html#ubuntu-install-steps calls it "rolling stable release".

Did you get temperature metrics working with some driver version?

Yes, as I wrote previously the temperature metrics work with LTS driver.

(I'm interested what was not working, and what fixed it.)

Let's see if the issue will be fixed the next rolling stable driver release.

Ah, this has links for them: https://dgpu-docs.intel.com/releases/index.html
Comparing the compute-runtime (Sysman) driver versions in them:

production: 23.22.26516.34
rolling stable: 23.35.27191.42
LTS: 23.43.27642.38

And i915 kernel DKMS versions:

production: <IP_ADDRESS>.230425.56
rolling stable: <IP_ADDRESS>.231003.15
LTS: <IP_ADDRESS>.231129.29

=> LTS has the latest kernel & user-space driver versions...
Did you install the whole stack, including kernel DKMS?

Did you install the whole stack, including kernel DKMS?

I hope so. I just followed the installation instructions: apt install -y linux-headers-$(uname -r) flex bison intel-fw-gpu intel-i915-dkms xpu-smi plus level-zero, compute, and media runtimes.

Ok, so it's unclear whether kernel or user-space side update fixed it.
(Especially as I had it working with components that were all older than ones in rolling stable, which were older than ones in LTS...)

Ok, so it's unclear whether kernel or user-space side update fixed it.
(Especially as I had it working with components that were all older than ones in rolling stable, which were older than ones in LTS...)

Yes, but since XPUM works in a container with its own user-space environment (i have installed it as a Kubernetes DaemonSet) the only component on the host that matters is the driver, IMHO.

Ok, if XPUM is in container, than indeed only kernel driver matters.  And you updated drivers only to the host, and did not touch XPUM container contents?
(In my tests, user-space drivers are built or installed to a container, not host.)

Thanks, then the issue was indeed the kernel driver.


Function get_vegetation

Get vegetation images

Slit them into 50x50 pixels
Calculate network centrality
Returin a 2D array

#104


Drop support for Python 3.7 as it reaches end-of-life

Python 3.7 will reach end of life on 2023-06-27.
The plan is to drop support for 3.7 on the next release after that date.

Hmmm. It appears that BirdNET-Analyzer has dropped Python 3.8 support during their 2.4 release view diff here.
birdnetlib will still run on 3.8, though our tests run against the BirdNET-Analyzer scripts, so I'm going to update the Github actions now.


[Feature] Deterministic Field Order for Generate Surrogate Key Macro

Is this your first time submitting a feature request?

[X] I have read the expectations for open source contributors
[X] I have searched the existing issues, and I could not find an existing issue for this feature
[X] I am requesting a straightforward extension of existing dbt functionality, rather than a Big Idea better suited to a discussion

Describe the feature
When using the dbt_utils.generate_surrogate_key macro, the same set of fields passed in a different order will generate different keys.  It would be nice if the field names were sorted in some deterministic way (IE alphabetically) before they were hashed, so that the order in which they are passed to the macro has no effect.
Perhaps this could be a configurable option, if there are reasons why this behavior would not be preferred in some situations.
Describe alternatives you've considered
Using a custom macro to sort the list of fields, then passed the sorted list to generate_surrogate_key.
Who will this benefit?
This would be useful for any case where a Surrogate Key is being generated in multiple models, where the expectation is that the same set of fields will produce the same key, regardless of the order they are passed to the generate_surrogate_key macro.
A common example of this is generating the same key in a FACT and DIM table, where consumers will be joining on this key.
Are you interested in contributing this feature?
No response
Anything else?
No response

bump


Don't log filenames: MB-2190

Description
Don't log filenames as they could contain PII...
Code Review Verification Steps

[ ] Request review from a member of a different team.
[ ] Have the Jira acceptance criteria been met for this change?

References

Jira story for this change

added story to figure out middleware: https://dp3.atlassian.net/browse/MB-2322

Warnings

:warning:

Please include the Jira ID at the start of the title with the format MB-123 or [MB-123]

  Generated by :no_entry_sign: dangerJS against 58783a4cce2f922738c8760da12904d637514b59


Confusing dialog on empty workspace

Windows 10 with WSL
Version: 1.57.0-insider (user setup)
Commit: fe1eafc80c07608de52a2f9c99fee103dea77f5e
OS: Windows_NT x64 10.0.19043

open a new WSL window from the remote menu
try to install a new remote extension, e.g. C++
open the extension view, it opens in @workspaceUnsupported. That's strange, wasn't clear I was in restricted mode
select the C/C++ extension.

Dialog comes up: Do you trust the authors of the files in this workspace?
There are no files in this workspace

I hope we can reconsider the decision to not trust empty workspaces. It's just confusing.
Yes, I know there's a setting, but we need good defaults.
Normally I continue to open a folder or workspace from an empty window, and there I get prompted anyways.
On for the cases where a single file is opened, show the dialog and reload if the user decides the file can not be trusted. As I just explicitly opened that file, I believe the chance is big that it can be trusted.

I am 100% agreeing with @aeschli here
Renaming issue to better reflect the general problem.
I actually feel so strongly about this that I suggest that we do this change as a candidate. It is only a default setting change.
If the empty window is trusted we will prompt once a new file is being added. So there is no need at all for it to not be trusted by default. By having it untrusted by default a lot of our users that just use VS Code to scribble around and create empty files will get the banner at top. We should not spam these users that just want to scribble what a banner that introduces workspace trust concepts.
After discussing with @lszomoru we decided to bring this up in tomorrow's standup.


[BEAM-11900] Bump libthrift to 0.14.1

Bump libthrift to 0.14.1

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Choose reviewer(s) and mention them in a comment (R: @username).
[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[x] Update CHANGES.md with noteworthy changes.
[x] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

Run Java PreCommit

closing and reopening to get tsets to run again.
@masahitojp is this ready for review?

there are errors compiling the thrift package: https://scans.gradle.com/s/msq64f3ggddx4/console-log?task=:sdks:java:io:thrift:compileJava

@pabloem Thanks! I will be fixing the build errors

@masahitojp - Did you have a chance to look at the build errors?

@aaltay Sorry, I've been busy with work lately, so I just checked. I will be working on fixing the build errors

Run Spotless PreCommit

Run Java PreCommit

Run Java PreCommit

R: @pabloem ( so I checked https://github.com/apache/beam/pull/10290)

Run Java PostCommit

Run Java PostCommit