How to create training data for NER task using snorkel ?

I want to create  a dataset using the snorkel labelling function but I am not able to find any links.
I want to train a NER model using the above data.
Can anyone tell me how to proced

@thak123 Follow the link https://github.com/HazyResearch/snorkel/issues/838
You will find following notebooks:
1.Crowdsourced_Sentiment_Analysis
2. Categorical_Classes
But I am doubtful on the area of tagging table data from PDFS/Receipts

Categorical_Classes

Hi Mageswaran. I found the link you posted is not found.

Hi @thak123 while you can hopefully look at some of the existing tutorials to help you in the interim, we're actually planning to release an NER-specific tutorial soon!  Marking as "feature request" and will leave open till this is done

Hi @thak123 , I'm quite interested in this feature, do you have an expected timeline for the release of those tutorials? not a hard deadline, but just to know if some weeks, months, years...

Hi @ajratner, I'm very interested in this feature. Any idea when the tutorial may be released? Here we are 2 months after your previous mention . . . does it still look months away?

Any update on this issue?

I found 2 papers in the snorkel resources page that tackles the NER task.
The SwellShark paper, handles the overlapping candidate problem in NER using the Maximum Marginal Likelihood Approach.
The MeTaL paper uses the Matrix Completion-Style Approach, but I can't find any details on handling the overlapping candidate problem in NER.
@ajratner Could you give some hints on how to handle the overlapping candidate problem in the matrix completion-style approach, so that we can try out the NER task before the tutorial comes out?

any update on this issue ?

Also interested.. C'mon guys! :D

The simplest way to do NER/sequence labeling using the off-the-shelf Snorkel label model is to assume each token is independent and define your label matrix L as tokens X LFs. Mechanistically, you can materialize this matrix however you like, but conceptually its cleaner to define your LFs as accepting sequences as input and returning a vector of token labels.  These sequence LFs can apply regular expressions, dictionary matching, arbitrary heuristics, etc. as per typical Snorkel labeling functions.
For example, you cold do very simple NER LOCATION model (using binary/IO tagging) as follows:
import numpy as np
from scipy.sparse import dok_matrix, vstack, csr_matrix

ABSTAIN = -1
LOCATION = 1
NOT_LOCATION = 0

def dict_match(sentence, dictionary, max_ngrams=4):
   m = {}
   for i in range(len(sentence)):
       for j in range(i+1, min(len(sentence) + 1, i + max_ngrams + 1)):
           term = ' '.join(sentence[i:j])
           if term in dictionary:
               m.update({idx:1 for idx in range(i,j+1)})
   return m

def create_token_L_mat(Xs, Ls, num_lfs):
   """
   Create token-level LF matrix from LFs indexed by sentence
   """
   Yws = []
   for sent_i in range(len(Xs)):
       ys = dok_matrix((len(Xs[sent_i]), num_lfs))
       for lf_i in range(num_lfs):
           for word_i,y in Ls[sent_i][lf_i].items():
               ys[word_i, lf_i] = y
       Yws.append(ys)
   return csr_matrix(vstack(Yws))

def LF_is_location(s):
   locations = {"Big Apple", "Cupertino", "Cupertino, California", "California"}
   matches = dict_match(s, locations)
   return {i:LOCATION if i in matches else ABSTAIN for i in range(len(s))}

def LF_is_company(s):
   companies = {"Apple", "Apple, Inc."}
   matches = dict_match(s, companies)
   return {i:NOT_LOCATION if i in matches else ABSTAIN for i in range(len(s))}

def LF_is_titlecase(s):
   return {i:LOCATION if s[i][0].isupper() else ABSTAIN for i in range(len(s))}

# training set
sents = [
   "Apple, Inc. is headquartered in Cupertino, California .".split(),
   "Explore the very best of the Big Apple .".split(),
]

lfs = [
   LF_is_location,
   LF_is_company,
   LF_is_titlecase
]

# apply labeling functions and transform label matrix
L = [[lf(s) for lf in lfs] for s in sents]
L = create_token_L_mat(sents, L, len(lfs))

# train your Snorkel label model

Generating weakly labeled sequence data then just requires some bookkeeping to split your predicted token probabilities back into their original sequences.
When training the end model, you can either mask tokens that don't have any LF coverage or assume some prior (e.g all tags are equally likely) and train a BERT, BiLSTM, etc. model.
As @pfllo pointed out, there are dependencies between tokens that we would also like capture in the label model. The papers Multi-Resolution Weak Supervision for Sequential Data and Weakly Supervised Sequence Tagging from Noisy Rules do handle this (both have code available). In practice however, treating tokens independently and using the default Snorkel label model works surprisingly well, especially if you come from a domain with rich knowledge base & dictionary resources such as biomedicine, geography, etc

@jason-fries thanks so much!  Just to make sure it's clear: this repo has been generously maintained primarily by researchers like @jason-fries, and we are in general very capacity limited in terms of major changes to the repo. As such, we currently don't have a timeline on an NER tutorial. Contributions are very welcome though!
To additionally be clear: our policy for the issues page is that questions and comments are great, but demands such as "cmon guys" are not appropriate usage.  Thanks for your understanding!

And also just to be very clear: we all really want to put more stuff out here... we're working on it, and so grateful to all of you on the issues page for your patience, enthusiasm, and support in trying Snorkel out in the meantime!!! :)

Thanks a lot for this response @jason-fries ! @ajratner apologies for coming across impatient/rude; I've been really amazed by the current release, and the corresponding research papers and did not mean anything other than: "I'm also super interested in staying up to date on the topic".
Thanks!

The simplest way to do NER/sequence labeling using the off-the-shelf Snorkel label model is to assume each token is independent and define your label matrix L as tokens X LFs. Mechanistically, you can materialize this matrix however you like, but conceptually its cleaner to define your LFs as accepting sequences as input and returning a vector of token labels. These sequence LFs can apply regular expressions, dictionary matching, arbitrary heuristics, etc. as per typical Snorkel labeling functions.
For example, you could do very simple NER LOCATION model (using binary/IO tagging) as follows:
import numpy as np
from scipy.sparse import dok_matrix, vstack, csr_matrix

ABSTAIN = -1
LOCATION = 1
NOT_LOCATION = 0

# helper functions
def dict_match(sentence, dictionary, max_ngrams=4):
   m = {}
   for i in range(len(sentence)):
       for j in range(i+1, min(len(sentence), i + max_ngrams) + 1):
           term = ' '.join(sentence[i:j])
           if term in dictionary:
               m.update({idx:1 for idx in range(i,j+1)})
   return m

def create_token_L_mat(Xs, Ls, num_lfs):
   """
   Create token-level LF matrix from LFs indexed by sentence
   """
   Yws = []
   for sent_i in range(len(Xs)):
       ys = dok_matrix((len(Xs[sent_i]), num_lfs))
       for lf_i in range(num_lfs):
           for word_i,y in Ls[sent_i][lf_i].items():
               ys[word_i, lf_i] = y
       Yws.append(ys)
   return csr_matrix(vstack(Yws))

# labeling functions
def LF_is_location(s):
   locations = {"Big Apple", "Cupertino", "Cupertino, California", "California"}
   matches = dict_match(s, locations)
   return {i:LOCATION if i in matches else ABSTAIN for i in range(len(s))}

def LF_is_company(s):
   companies = {"Apple", "Apple, Inc."}
   matches = dict_match(s, companies)
   return {i:NOT_LOCATION if i in matches else ABSTAIN for i in range(len(s))}

def LF_is_titlecase(s):
   return {i:LOCATION if s[i][0].isupper() else ABSTAIN for i in range(len(s))}

# training set
sents = [
   "Apple, Inc. is headquartered in Cupertino, California .".split(),
   "Explore the very best of the Big Apple .".split(),
]

lfs = [
   LF_is_location,
   LF_is_company,
   LF_is_titlecase
]

# apply labeling functions and transform label matrix
L = [[lf(s) for lf in lfs] for s in sents]
L = create_token_L_mat(sents, L, len(lfs))

# train your Snorkel label model

Generating weakly labeled sequence data then just requires some bookkeeping to split your predicted token probabilities back into their original sequences.
When training the end model, you can either mask tokens that don't have any LF coverage or assume some prior (e.g., all tags are equally likely) and train a BERT, BiLSTM, etc. model.
As @pfllo pointed out, there are dependencies between tokens that we would also like capture in the label model. The papers Multi-Resolution Weak Supervision for Sequential Data and Weakly Supervised Sequence Tagging from Noisy Rules do handle this (both have code available). In practice however, treating tokens independently and using the default Snorkel label model works surprisingly well, especially if you come from a domain with rich knowledge base & dictionary resources such as biomedicine, geography, etc.

thanks for this. I already experimented with a similar approach in the past, but it's really useful to me to have confirmation that this actually works quite well and there's not much difference (given enough resources) as compared to something specific to sequence data 👍

The simplest way to do NER/sequence labeling using the off-the-shelf Snorkel label model is to assume each token is independent and define your label matrix L as tokens X LFs. Mechanistically, you can materialize this matrix however you like, but conceptually its cleaner to define your LFs as accepting sequences as input and returning a vector of token labels. These sequence LFs can apply regular expressions, dictionary matching, arbitrary heuristics, etc. as per typical Snorkel labeling functions.
For example, you could do very simple NER LOCATION model (using binary/IO tagging) as follows:
import numpy as np
from scipy.sparse import dok_matrix, vstack, csr_matrix

ABSTAIN = -1
LOCATION = 1
NOT_LOCATION = 0

# helper functions
def dict_match(sentence, dictionary, max_ngrams=4):
   m = {}
   for i in range(len(sentence)):
       for j in range(i+1, min(len(sentence), i + max_ngrams) + 1):
           term = ' '.join(sentence[i:j])
           if term in dictionary:
               m.update({idx:1 for idx in range(i,j+1)})
   return m

def create_token_L_mat(Xs, Ls, num_lfs):
   """
   Create token-level LF matrix from LFs indexed by sentence
   """
   Yws = []
   for sent_i in range(len(Xs)):
       ys = dok_matrix((len(Xs[sent_i]), num_lfs))
       for lf_i in range(num_lfs):
           for word_i,y in Ls[sent_i][lf_i].items():
               ys[word_i, lf_i] = y
       Yws.append(ys)
   return csr_matrix(vstack(Yws))

# labeling functions
def LF_is_location(s):
   locations = {"Big Apple", "Cupertino", "Cupertino, California", "California"}
   matches = dict_match(s, locations)
   return {i:LOCATION if i in matches else ABSTAIN for i in range(len(s))}

def LF_is_company(s):
   companies = {"Apple", "Apple, Inc."}
   matches = dict_match(s, companies)
   return {i:NOT_LOCATION if i in matches else ABSTAIN for i in range(len(s))}

def LF_is_titlecase(s):
   return {i:LOCATION if s[i][0].isupper() else ABSTAIN for i in range(len(s))}

# training set
sents = [
   "Apple, Inc. is headquartered in Cupertino, California .".split(),
   "Explore the very best of the Big Apple .".split(),
]

lfs = [
   LF_is_location,
   LF_is_company,
   LF_is_titlecase
]

# apply labeling functions and transform label matrix
L = [[lf(s) for lf in lfs] for s in sents]
L = create_token_L_mat(sents, L, len(lfs))

# train your Snorkel label model

Generating weakly labeled sequence data then just requires some bookkeeping to split your predicted token probabilities back into their original sequences.
When training the end model, you can either mask tokens that don't have any LF coverage or assume some prior (e.g., all tags are equally likely) and train a BERT, BiLSTM, etc. model.
As @pfllo pointed out, there are dependencies between tokens that we would also like capture in the label model. The papers Multi-Resolution Weak Supervision for Sequential Data and Weakly Supervised Sequence Tagging from Noisy Rules do handle this (both have code available). In practice however, treating tokens independently and using the default Snorkel label model works surprisingly well, especially if you come from a domain with rich knowledge base & dictionary resources such as biomedicine, geography, etc.

@jason-fries thanks for this, but could you please how to train the MajorityLabelVoter or LableModel , since I am getting error with both these Methods and even with LFAnalysis(L=L_, lfs=lfs).lf_summary() . I am guessing this is because of sparse matrix since the error is NotImplementedError: adding a nonzero scalar to a sparse matrix is not supported > So could you please help me out here?

@raj5287 MajorityLabelVoter requires L be integer type.  LFAnalysis requires the matrix be dense.  Other operations would prefer np.array instead of np.matrix.
Try this as a tactical fix:
L = np.asarray(L.astype(np.int8).todense())

The thing to do here is to use skweak, not Snorkel. It is a commercial tool now and investments in this area are going into other projects.

Github - https://github.com/NorskRegnesentral/skweak
PyPi - https://pypi.org/project/skweak/
Paper - skweak: Weak Supervision Made Easy for NLP - https://arxiv.org/abs/2104.09683
Rubrix and skweak - https://rubrix.readthedocs.io/en/stable/tutorials/skweak.html


Allow ::before and ::after selectors of DecorationRenderOptions to render even when start or end of range is not visible

The before and after properties of ThemableDecorationRenderOptions allows for massive styling freedom and enables creating custom elements at certain parts of a text document.
Such a decoration can be set for a certain Range of multiple lines, but any time the start line of the range is outside of editor,visibleRanges, the before styling is no longer visible. Similarly, any time the end line of the range is outside of editor,visibleRanges, the after styling is no longer visible.
Is there an interest/possibility to still display these styles even though the start/end line is not currently visible in the editor?

So sad

:slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our documentation.
Happy Coding!


Move to Github Actions

Provide a basic Github Action CI pipeline that replaces Travis.

I'd like to pick this up, if possible. 👍

Closed by the work of @okrplay. Thanks!


Update OrbitalFrequencies.m

Update made to definition of KerrGeoMinoFrequencies[a_, p_, e_, x_] that allows handling of the case when x = 0. The math is also simplified overall. I have not analyzed the implications for cases of a = 1 or e = 1.

The polar orbital frequencies were fixed in pull request #48 which has now been merged into the master branch. I think some of those fixes came from looking at this pull request.
Can you check if the master branch now behaves as you expect for polar orbits. If so I will close this pull request.

Almost. For KerrGeoMinoFrequencyt[Theta], line 253 of OrbitalFrequancies.m, it looks like an a^2 got dropped from the EllipticK function. I would define k[Theta]=a^2 (1-En^2)(zm/zp)^2.
Another thing: It's cool to have a solution for UpsilonPhi(x=0) worked out. However, it looks to me like this solution gives the limit as x -> +0 and that the limit as x -> -0 would be different. If that is an intentional choice, it might be worth noting the discontinuity in the documentation/package tutorial.

Thanks for checking. I'll look into the issue on line 253.
@MvdMeent I think the limit for UpsilonPhi(x=0)  is exactly what we were discussing the other day. Given the limit is discontinuous we probably should return Undefined, or both results in a way that is clear to the user.

Thanks for checking. I'll look into the issue on line 253.
@MvdMeent I think the limit for UpsilonPhi(x=0) is exactly what we were discussing the other day. Given the limit is discontinuous we probably should return Undefined, or both results in a way that is clear to the user.

While the frequency is discontinuous, the resulting orbit is well-defined in the polar limit. The most important thing is that the frequency generated is what the rest of KerrGeoOrbit expects. Currently, KerrGeoOrbit produces an indeterminate phi coordinate.

Almost. For KerrGeoMinoFrequencyt[Theta], line 253 of OrbitalFrequancies.m, it looks like an a^2 got dropped from the EllipticK function. I would define k[Theta]=a^2 (1-En^2)(zm/zp)^2.

I confirm there is an a^2 missing there. After correcting it, the outputs  of  KerrGeoMinoFrequencyt  agree with the outputs of my code everywhere, including edge cases. (Somehow this function was missed in my previous run verifying the results.

Whatever the function returns, it might be helpful to inform users of the discontinuity, maybe on the Wolfram Doc/Reference page under 'Details and Options' or in the Examples or something.
Overall, it looks good to me, and I agree with having this pull request closed.

I have pushed the fix in KerrGeoMinoFrequencyt[Theta] to the master branch. When we update the documentation we can, as suggested, add a note about the discontinuity in the frequencies. I will close this pull request now but open an issue to sort the phi behaviour of the orbit for polar orbits.


Updates unconfirmed funds modal

Draft PR to solve #707

Please add an image to the PR description and rebase as PR has conflicts
@AdimekweEbuka

why isn't the confirm button blue?
also noticed that the input accepts white spaces, white spaces should be trimmed

why isn't the confirm button blue?
also noticed that the input accepts white spaces, white spaces should be trimmed

its the mockup design.

why isn't the confirm button blue?
also noticed that the input accepts white spaces, white spaces should be trimmed

Looking through, majority of the editors accept whitespace input, another issue could be opened to tackle this.

why isn't the confirm button blue?
also noticed that the input accepts white spaces, white spaces should be trimmed

Looking through, majority of the editors accept whitespace input, another issue could be opened to tackle this.

alright noted, we can do that


chore: clean up images task

Cleans up images task by using common variable k8s_image_registry and removing redundant pulls

Those images should still be getting pulled. They were previously getting pulled twice. one with the variable for k8s_image_registry and one hard coded k8s.gcr.io.  This PR removes the k8s.gcr.io one.

Please rebase to pickup the Ubuntu fix.

From @jr0d at standup: When deploying a FIPS-enabled cluster, needed the k8s.gcr.io images.

We should test with an alternate registry

rebased

rebased

From standup: We don't need this, now that #161 merged


Memory leaks when setting formattingTemplate and/or formattingEnteredCharacters

Hi, got memory leaks when setting formattingTemplate and/or formattingEnteredCharacters. Checked with Instruments - Leaks.

Hi, Thanks for issue. I need 1-2 weeks for the testing and then I will resolve it. If you need immediately you can try fixed yourself and make a pull request.

So, I wrote any tests cases with memory leaks detection. This case not detected, but Instruments really detect it. Mistakes in the foundation library, in CharacterSet allocation. I am thinking how it to fixe, probably I will throw CharacterSet, may be I will find other solution.


black test for bytes

Pull Request Test Coverage Report for Build 1793
Details

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.05%) to 82.962%

Files with Coverage Reduction
New Missed Lines
%

bytes/bytes.mbt
2
66.67%

Totals

Change from base Build 1792:
-0.05%

Covered Lines:
2907

Relevant Lines:
3504

💛  - Coveralls

Pull Request Test Coverage Report for Build 1795
Details

5 of 5 (100.0%)  changed or added relevant lines in 2 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.05%) to 82.962%

Files with Coverage Reduction
New Missed Lines
%

bytes/bytes.mbt
2
66.67%

Totals

Change from base Build 1792:
-0.05%

Covered Lines:
2907

Relevant Lines:
3504

💛  - Coveralls


Support Mac OS

According to https://github.com/awslabs/graphstorm/issues/499.
GraphStorm can run on Intel-MacOS.


When using bigip: /common/irulename within the iRule class, AS3 should not try to create the irule but use the reference.

Do you already have an issue opened with F5 support?
No
ISSUE TYPE

Bug Report

AS3 BUILD/ VERSION

3.12.1

BIGIP VERSION

<IP_ADDRESS>

SUMMARY

When using bigip: /common/irulename within the iRule class, AS3 attempts to create a new iRule instead of using the reference

STEPS TO REPRODUCE

{
    "class": "ADC",
    "schemaVersion": "3.12.0",
    "as3": {
        "class": "Tenant",
        "app1": {
            "class": "Application",
            "template": "http",
            "serviceMain": {
                "virtualPort": 80,
                "profileAnalytics": {
                    "use": "/as3/app1/Analytics_Profile"
                },
                "profileHTTP": {
                    "use": "/as3/app1/HTTP_Profile"
                },
                "virtualAddresses": [
                    "<IP_ADDRESS>"
                ],
                "pool": "/as3/app1/Pool",
                "enable": true,
                "iRules": [
                    "/as3/app1/log_http_request"
                ],
                "class": "Service_HTTP"
            },
            "Analytics_Profile": {
                "collectUserAgent": false,
                "collectClientSideStatistics": true,
                "collectGeo": false,
                "collectUrl": false,
                "collectPageLoadTime": false,
                "collectOsAndBrowser": false,
                "collectMethod": false,
                "collectResponseCode": true,
                "collectIp": false,
                "class": "Analytics_Profile"
            },
            "HTTP_Profile": {
                "fallbackRedirect": "https://www.example.com/404",
                "fallbackStatusCodes": [
                    404
                ],
                "class": "HTTP_Profile"
            },
            "Pool": {
                "members": [
                    {
                        "servicePort": 80,
                        "adminState": "enable",
                        "serverAddresses": [
                            "<IP_ADDRESS>"
                        ],
                        "monitors": [
                            "http"
                        ],
                        "shareNodes": true
                    }
                ],
                "class": "Pool",
                "monitors": [
                    "http"
                ]
            },
            "log_http_request": {
                "iRule": {
                    "bigip": "/Common/log_http_request"
                },
                "class": "iRule"
            }
        }
    },
    "id": "wOejBwmB-nCLA-nxLx-VoeC-JZdXeYhqTumH",
    "updateMode": "selective"
}

EXPECTED RESULTS

AS3 should have used the reference to the existing iRule on the BIG-IP

ACTUAL RESULTS

Failed to send declaration: status:422, body:{"results":[{"message":"declaration failed","response":"01020066:3: The requested iRule (/Common/log_http_request) already exists in partition Common.","code":422,"host":"localhost","tenant":"as3","runTime":902}],"declaration":{"class":"ADC","schemaVersion":"3.12.0","id":"wOejBwmB-nCLA-nxLx-VoeC-JZdXeYhqTumH","updateMode":"selective","controls":{"archiveTimestamp":"2019-08-29T14:43:09.249Z"}},"code":422}

Instead of using an iRule object in AS3, you want to reference the iRule directly from your Service_HTTP object.
In other words, instead of this:
                "iRules": [
                    "/as3/app1/log_http_request"
                ],

Try this:
                "iRules": [
                    { "bigip": "/Common/log_http_request" }
                ],

And then get rid of log_http_request object in your declaration.


Themes having a 'compact' version should be added to the source code as the names of their light/dark variants can be easily guessed by the script.

Quite a few themes additionally have light/dark variants of a 'compact' version of the base theme. The naming scheme for these themes seem common enough that they can be easily guessed.
For example: for the "Materia" theme. Normal/base version has variants: Materia, Materia-light, Materia-dark. The "compact" version has names: Materia-compact, Materia-light-compact, Materia-dark-compact. Thankfully, this same convention is used by the themes: "Orchis", "Canta" and "ChromeOS".
Currently, the code is only checking whether a theme name has "dark" at the end of it. If not, then the current theme is assumed to be a light variant (correctly so) and "dark" is just appended to the theme's name. This works no problem for the "base" version of these themes, but this guess is wrong for compact themes as the correct name is "-dark-compact", but our guess is "-compact-dark".
Adding an extra case for compact themes should be enough and the prefered way (as opposed to adding all compact themes in the config).

Fixed in 6044365f8adecacc80a5fc5ca751f0771e5d8222


Package the code using setuptools

Hi there.
Thanks for putting together this code!
I wanted to integrate this to test my own implementation in C, and since I use PIP to handle Python packages, I had a little bit of trouble fetching your library. So I created this "setup.py", and this way PIP is not confused anymore!
I took the liberty of versioning the code to 1.0.0, feel free to change that.

Thanks for this! Merging.


Connection failed : "Invalid uuid" error encountered

I have tried the code with a HP windows 7 laptop. Here are the services my laptop supports
{00001101-0000-1000-8000-00805f9b34fb}
{00001103-0000-1000-8000-00805f9b34fb}
{00001124-0000-1000-8000-00805f9b34fb}
{00001126-0000-1000-8000-00805f9b34fb}
So SPP is definitely on the list.
Using this chrome app, I have tried connecting to the following phones, nexus 7, galaxy nexus 2, and Sony Xperia SL.
I get the same Connection failed : "Invalid uuid" error for all three devices.
I have tried the Bluetooth chat application (from google play store) on all the phones to ensure they support SPP.
I am not sure why i get the connection failed error. Could you please help.

Getting this same error, ever figure this out?

The Google BluetoothChat sample app uses its own custom uuid. The uuid to use can be found here: http://developer.android.com/samples/BluetoothChat/src/com.example.android.bluetoothchat/BluetoothChatService.html
There is a different one for secure (fa87...) and insecure (8ce2...)


Is it possible to share more than one fs with virtio-fs (Windows 10)

I'm trying to share more than one fs with virtio-fs (proxmox host - windows 10 guest)
config-file
args: -cpu host,-hypervisor,-mpx -object memory-backend-memfd,id=mem,size=7000M,share=on -numa node,memdev=mem -chardev socket,id=char0,path=/var/run/virtiofsd-data.sock -device vhost-user-fs-pci,chardev=char0,tag=myfs -chardev socket,id=char1,path=/var/run/virtiofsd-data-home.sock -device vhost-user-fs-pci,chardev=char1,tag=home
daemons
/usr/lib/kvm/virtiofsd --socket-path=/var/run/virtiofsd-data.sock -o source=/nobody -o cache=always
/usr/lib/kvm/virtiofsd --socket-path=/var/run/virtiofsd-data-home.sock -o source=/home -o cache=always
But in Windows I see only one fs showing up
/usr/lib/kvm/virtiofsd --version
using FUSE kernel interface version 7.32

qemu-system-x86_64 --version
QEMU emulator version 5.2.0 (pve-qemu-kvm_5.2.0)
Copyright (c) 2003-2020 Fabrice Bellard and the QEMU Project developers

I'm using virtiofs.exe from @YanVugenfirer shared at https://github.com/virtio-win/kvm-guest-drivers-windows/issues/550

@oosoG, @hammerg mentioned on another bug (which I think I closed) that only one filesystem per guest is currently supported.  I worked around the problem by creating symllinks on the host from the one filesystem to the others.  It worked out nicely, I ending up with a central 'share' folder that contained simlinks to actual filesystem storage locations, including cifs shares to other machines on the network.  It achieved what I wanted, a pseudo air-gaped sandbox environment for the guest to run in while simplifying administration immensely.  The one caveat I'm aware of is it may be potentially dangerous to enable simlink creation in the guest-accessible filesystem; the possibility exists that a sufficiently skilled hostile guest could create symlinks to anywhere.  I haven't taken the time to circle back on this whole scheme, probably running the virtiofs host daemon as the actual guest user would be a good idea.

I worked around the problem by creating symllinks on the host from the one filesystem to the others.

Does that mean you have the fixes for #499 already? It wasn't clear to me from the linked bugzilla bug that those had made it into the public builds.

@jwatt The changes should be in the latest build (204)

Thanks for clarifying, @YanVugenfirer!

Hello All,
Please help us understanding you use cases for using virtio-fs, and thus make us virtio-fs support better.
Please participate in the discussion and add your use cases: https://github.com/virtio-win/kvm-guest-drivers-windows/discussions/726
Thanks a lot,
Yan.

@raffaem In general yes, but we don't have timeframe.

I wish we could vote on these to indicate general interest in features, because I would vote several times. It's not my experience that symlinks work properly.

I noticed that PR https://github.com/virtio-win/kvm-guest-drivers-windows/pull/804 adds -t option to virtiofs.exe to support mounting a VirtIO-FS device of a specific tag. The PR resolves this issue in some way. It seems this feature is not released yet. But still I think this feature is very useful and can't wait to try it.
Without -t option, the virtiofs.exe seems only mouting the first VirtIO FS device. Currently I have an use case which I wish the VirtioFsSvc service or virtiofs.exe tool could support mounting all the VirtIO FS devices at once without specifying the tags of the devices.
As for my use case, I run Windows guest VM in K8S by KubeVirt. I wish to provide extra volumes to the VM for Windows user to read and write data (Limited to my case, I choose not to use block disk device). And some volumes contains shared data between VMs and must be readonly exposed. So multiple VirtIO-FS volumes are needed.
Thanks.

@bougou The change still didn't made it to the build we are distributing due to some permission issues we found in recent virtio-fs changes (already fixed in the repository). It will take 2-3 weeks to release next version.
In a mean while you can build and test sign drivers using following instructions:
https://github.com/virtio-win/kvm-guest-drivers-windows/wiki/Building-the-drivers-using-Windows-11--EWDK
Best regards,
Yan.

Mounting multiple instances of  VirtIO-FS is available since PR #804.
There is a manual how to use this feature:
https://github.com/virtio-win/kvm-guest-drivers-windows/wiki/VirtIO-FS%3A-Shared-file-system/_edit#multiple-virtio-fs-instances

Hi @MathieuCGit ! Which virtio-win version do you use? I can check if it already contains upstream changes or not.

Hello @viktor-prutyanov
I'm using on the guest :

windows 10 pro 21H2 (19044.1288)
winfsp 1.11.2 2176 downloaded from here : https://github.com/winfsp/winfsp/releases/tag/v1.11
-virtio-win : <IP_ADDRESS>  from here : https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win-guest-tools.exe

Host is a debian bulleyes up-to-date.

libvirt : 7.0.0
kernel 5.10.0-18-amd64
QEMU emulator version 5.2.0

-virtio-win : <IP_ADDRESS>  from here : https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win-guest-tools.exe

Multiple-instance feature was not included into 221

Mounting multiple instances of VirtIO-FS is available since PR #804. There is a manual how to use this feature: https://github.com/virtio-win/kvm-guest-drivers-windows/wiki/VirtIO-FS:-Shared-file-system#multiple-virtio-fs-instances

I try to use the currently stable virtio-win-0.1.225.iso driver, I want to mount multiple instances of VirtIO-FS, but not succeeded. I doubt if the -t option is added to this version, there's no -t option in the help of virtiofs.exe.

Wait... the "it's fully supported" answer is NOT to run it as a service but run it in the FOREGROUND? Just want to be sure I'm grokking that.

On 11/18/2022 4:10 AM PST Bougou Nisou<EMAIL_ADDRESS>wrote:

Mounting multiple instances of VirtIO-FS is available since PR #804. There is a manual how to use this feature: https://github.com/virtio-win/kvm-guest-drivers-windows/wiki/VirtIO-FS:-Shared-file-system#multiple-virtio-fs-instances

I try to use the currently stable virtio-win-0.1.225.iso driver, I want to mount multiple instances of VirtIO-FS, but not succeeded. I doubt if the -t option is added to this version, there's no -t option in the help of virtiofs.exe.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

I've encountered KO launcher: error 5 when trying to mount without elevated privileges.
However, I'm not able to use the -t option for tags at all. Is it in the virtio-win-0.1.225 build?

Hi @Nik343 @apss-pohl @bougou @MathieuCGit
229 version has -t support, but 225 don't

Hi @btaroli

Wait... the "it's fully supported" answer is NOT to run it as a service but run it in the FOREGROUND? Just want to be sure I'm grokking that.

Multiple mounts can't be served by VirtIO-FS service because it's a single process, but WinFsp.Launcher service can run multiple VirtIO-FS processes:
https://github.com/virtio-win/kvm-guest-drivers-windows/wiki/VirtIO-FS:-Shared-file-system#multiple-virtio-fs-instances

@viktor-prutyanov Thanks for the reference. I had to walk through that a few times, but I guess the key is:

Do not run Virtio-FS service
Run the fsreg.bat exactly as indicated (with %1 and %2 parameters

And then the launcher start commands work. OK. But do these persist restarts? The only unusual part of this is that the configured virtio-fs from the instance XML aren't just picked up and used. But it's definitely better than before.

@btaroli You can, for example, add the launcher command to the "Run" key in the registry.
https://devblogs.microsoft.com/powershell/how-to-access-or-modify-startup-items-in-the-window-registry/


[MOTION] Appoint Pini Reznik as Project Co-Lead

Motion
Appoint @pinireznik as an additional Project Lead for the Green Software Maturity Matrix (GSMM) project.
Context
@aecurrie the GSMM Project Lead would like to appoint Pini as an additional Project Lead to support her in driving the project the forward.
Actions

[x] GSMM project members provide any comments or objections on this issue
[x] Pending any unresolved objections Pini will be appointed on Wednesday 8th May 2024

+1

@aecurrie @pinireznik I am pleased to confirm that the motion passed without objection. @pinireznik is officially appointed as an additional Project Lead.

Can’t wait to start contributing. Have some ideas already.
On Wed, 8 May 2024 at 15:55, Anne Currie @.***> wrote:

Hurray!
On Wed, May 8, 2024 at 11:21 AM Russell Trow @.***>
wrote:

Closed #33
<
https://github.com/Green-Software-Foundation/green-software-maturity-matrix/issues/33>

as completed.
—
Reply to this email directly, view it on GitHub
<
https://github.com/Green-Software-Foundation/green-software-maturity-matrix/issues/33#event-12741696516>,

or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AD2TULHAJ7WTMLLMAOFK2DTZBH4B3AVCNFSM6AAAAABGWSQYTSVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJSG42DCNRZGY2TCNQ>

.
You are receiving this because you were mentioned.Message ID:

<Green-Software-Foundation/green-software-maturity-matrix/issue/33/issue_event/12741696516

@github.com>

—
Reply to this email directly, view it on GitHub
https://github.com/Green-Software-Foundation/green-software-maturity-matrix/issues/33#issuecomment-2100635371,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABOJRVHC6ZV3UHVE45KVMPTZBIVDHAVCNFSM6AAAAABGWSQYTSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBQGYZTKMZXGE
.
You are receiving this because you were mentioned.Message ID:
<Green-Software-Foundation/green-software-maturity-matrix/issues/33/2100635371
@github.com>


Ft reset password 153246882

What does this PR do?

Adds reset password feature

Description of Task to be completed?

write controller to update passsword

add API route to reset password

write unit test for reset password

How should this be manually tested?

on postman with the following endpoints

/api/v1/user/reset to send reset password link
/api/v1/user/reset/:token to reset password

Any background context you want to provide?

none

What are the relevant pivotal tracker stories?

https://www.pivotaltracker.com/story/show/153246882

Screenshots (if appropriate)

not applicable

Questions:

none

Changes Unknown when pulling 1d0cfc8e6668e1aa853d2cdee0c8394d5802f359 on ft-reset-password-153246882 into ** on development**.


Share report as image

What problem are you trying to solve?
I'd like to share a nice screenshot of my reports.
What's your suggested solution?
Add the ability to export a report as an image
Examples (if relevant)
Typefully

Is anything blocking this from being implemented? (if relevant)
No response
Definition of Done
No response

Hello @joanagmaia ,
I will resolve this
I want to work on this issue........ please assign me


AspNet Remoting & Plugins

This is my proposition for the remote refactoring : #411
We can choose between Asp.Net or the native Grpc.
With asp.net we can run a cluster on a raspberry pi now using dotnet core. :-)
There is also a fix in the PartitionPlacementActor. Actually when a grain is stopped and we ask a new activation, it is redeployed elsewhere. But when it is redeployed on the same node, the PartitionPlacementActor returns the previous address as it is never removed from the _myActors dictionary and never spawn the new actor. When an actor is terminated I remove this pid from _myActors to fix that.

@Damian-P this looks super interesting!
One request from our side, could you maybe split this up in smaller parts?
e.g.
placement actor bug fix
plugin support
etc.
Because 109 files in one go is a bit too heavy for my personal schedule right now.
Many thanks!

Playground projects could be unloaded for the period of refactoring and we fix them in the next round.


Allow setting additional Supported option tags

It would be nice to be able to add Supported option tags in addition to those already set by SIP.js. This PR adds a new configuration option, supported, taking an array of option tags to append to the Supported header.
Open questions:

This is as simple as possible—just concat the Arrays—but it also means that you could duplicate option tags, including those that SIP.js already sets (path, gruu, 100rel, replaces, outbound). Is this something that should be protected against (e.g., by using a Set)?
The name supported might suggest the configuration option overwrites all the option tags that would be set in the Supported header. Would it be more appropriate to name it, e.g., extraSupportedOptionTags?

A few initial thoughts:

I'm not sure if duplicating options tags is okay or not.  RFC 3261 at least doesn't mention one way or another.  I would suspect that it is okay, but we should probably deduplicate them to be safe.
I think it would be more appropriate to be prefixed with extra.  Even just extraSupported sounds okay to me (although maybe a little silly).  Do others have thoughts?

My biggest concern is more of a philosophical one. RFC 3261 explicitly states:

The option tags listed MUST only refer to extensions defined in
standards-track RFCs.  This is to prevent servers from insisting that
clients implement non-standard, vendor-defined features in order to
receive service.  Extensions defined by experimental and
informational RFCs are explicitly excluded from usage with the
Supported header field in a request, since they too are often used to
document vendor-defined extensions.

I know we usually leave it to the application, and not supporting the RFC is their choice.  But in a situation where the RFC explicitly calls out custom vendor-prefixes... I'm not so sure we should be making it easier.  Such uses could still be accomplished through custom forks of SIP.js.  It's a hassle for applications doing that (which probably serves them right), and it would certainly clear my conscience of supporting further siloification of the SIP world.
But then again, I know there are a lot of standards-track-defined options tags that we don't support right now.  By not having this option, are we purposefully obstructing those valid uses?  Are all of those situations ones in which we could accept a pull request, or are there options that we'll never support out of the box?  I suspect that's the case.
I'm probably being too much of an idealist on this one.  Somebody please jump in.

I think 'limiting good cases' is a much worse situation than 'allowing bad cases,' and the 'leave it to the application' argument we generally use is fine here. That said, we COULD (and I know this would be hard (impossible?)) have a list of extensions defined in standards-track RFCs and check the incoming supported arguments against that, rejecting any that are not standard. I think this pull request could be accepted without that, but it's something we could do to address your concern in the future.
Also, I agree with the first two bullet points. Maybe userSupported would be appropriate, seeing as our library is not advertising support outright?

@wakamoleguy

I'm not sure if duplicating options tags is okay or not. RFC 3261 at least doesn't mention one way or another. I would suspect that it is okay, but we should probably deduplicate them to be safe.

Agree. I couldn't find language confirming this, but I've also never seen any messages with duplicated option tags. I've added deduplication to my commit.

I think it would be more appropriate to be prefixed with extra. Even just extraSupported sounds okay to me (although maybe a little silly). Do others have thoughts?

I like this and have updated my commit to reflect extraSupported. @james-onsip, I'd prefer extraSupported to userSupported simply because it matches extraHeaders, but I could swing either way.
In terms of philosophy, I think I understand your concern: I can't deny that I intend to use this feature to signal support for optional, non-standard functionality. However, I would like to see SIP.js expose interfaces powerful enough such that, following your example, an application could implement standard SIP extensions on top of SIP.js (perhaps in advance of SIP.js landing proper support, or in the case where SIP.js support is unlikely).

Hmm.  I may come around eventually, but I would definitely accept James's idea of restricting it to just RFC defined options.  We could validate them when passed in, and if we really wanted to, we could have a flag to disable the check (probably prefixed with hack).
The list of standard option tags is tracked by IANA: http://www.iana.org/assignments/sip-parameters/sip-parameters.xhtml#sip-parameters-4
In other news, I agree that extraSupported sounds good, because it matches extraHeaders.  Speaking of which, why not use a custom header for custom behavior? :-)

@wakamoleguy

why not use a custom header for custom behavior?

Yes, this is an option, though the team I am working with wants to minimize our use of additional headers (specifically X- headers). After evaluating all of our options, and considering the spirit of the restriction RFC 3261 places on option tags:

to prevent servers from insisting that clients implement non-standard, vendor-defined features in order to receive service

it seems like Supported is most appropriate for us and more semantic than, e.g., custom headers, Content-Types, or any other mechanism we could think of—especially since Supported option tags can be ignored, unlike Require.
I'd be happy to add whitelisting of option tags per @james-onsip's suggestion if y'all would like, but I'd really like a hack, nonStrict mode, or some other escape hatch :-) I am not sure what such a flag should look like, though.

I've updated this PR with two commits: the first adds the IANA-registered SIP option tags to src/Constants.js and whitelists them in getSupportedHeader; the second adds a hackAllowUnregisteredOptionTags parameter to UA allowing you to bypass whitelisting.


[CLI] With WANDB_MODE=offline python client still try to sync results

Description
I use W&B on a server without an Internet connection.
For working with W&B, I set WANDB_MODE=offline then sync my runs from another machine with an Internet connection.
All work fine until I update to wandb version 0.12.2.
With version 0.12.2 when the program ends, I get the message:
"... wandb: Network error (ConnectTimeout), entering retry loop."
and the program cannot terminate.
The code to reproduce,  run on a machine without internet connection:
# test_wandb_offline.py
import os
os.environ["WANDB_MODE"]="offline"

import numpy as np
import pandas as pd
import wandb

if __name__ == "__main__":
    print(wandb.__version__)
    wandb.init(project="my_wandb_test_project")
    wandb.config["run_1"] = 1
    wandb.log({"val_1":1})
    wandb.log({"val_1":2})
    wandb.log({"val_1":3})
    wandb.summary.update({"val_2":123})
    print("Done!")

With wandb version 0.12.2 the program cannot terminate and output looks like:
0.12.2
wandb: W&B syncing is set to `offline` in this directory.  Run `wandb online` or set WANDB_MODE=online to enable cloud syncing.
~/anaconda/lib/python3.8/site-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.6) or chardet (3.0.4) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
Done!

wandb: Waiting for W&B process to finish, PID 24846
wandb: Program ended successfully.
wandb: Network error (ConnectTimeout), entering retry loop.

With wandb version 0.12.1 and early, the program terminates normally.
Environment

OS: CentOS Linux release 7.9.2009 (Core)
Environment: n/a
Python Version: 3.7.0

Hello cssb,
Maybe, I am not a good reference at all (I've installed wandb just a few minutes ago), but I've run exactly the same code you are mentioning in the post, and it runs flawlessly.
Just for your reference, I've created a brand new virtual environment with Python 3.7.3, where I'm installing just numpy, pandas and wandb (just the required libraries), and my OS is Debian 10.
wandb: Waiting for W&B process to finish, PID ... wandb: Program ended successfully. wandb: Find user logs for this run at...

Hello donlaiq, are you running this code on the offline machine (without connection to the Internet)?

Oh, boy! No I wasn't. In that case, you are right, I'm running in the same issue.

Hitting same issue whilst supporting a HPC cluster where compute nodes do not have access to Internet.  With 0.21 the user reported success so definitely a regression in latest version.  Tried chasing where the regression slipped in - but hopefully someone more familiar with the code will chase it.

Having just done a git bisect looks like #2513 is a possible first culprit.
c9cb5c8305b9d73e0f4b8b294f9a7de89b54d807 is the first bad commit
commit c9cb5c8305b9d73e0f4b8b294f9a7de89b54d807
Author: Katia Patkin<EMAIL_ADDRESS>Date:   Wed Sep 1 18:31:01 2021 -0700

    [WB-6267] Print a warning when the local instance is stale (#2513)

    * print warning for local instance with introspection and caching

:040000 040000 ef7e412151a6e3c5d235a8ae09463a5e7c356f52 e40b53dfef3cccbe3b567f6062356e857d57b7f0 M      tests
:100644 100644 5df81a2aa7bba23fee2341218f46ac5f410adb0e 4b0dc5a92c868a8f49adfef0d7cbe62f7af85be5 M      tox.ini
:040000 040000 6f990708746058e51043d4b986d1c3508463adb4 299e1c04e60fda7a3b2be55b876d9a08a61e33c6 M      wandb

I have also hit this issue on a HPC cluster with 0.12.2 and 0.12.3 but 0.12.1 works fine.

Thanks for the report, we're tracking this and will get a fix in the next release.  Until then please use 0.12.1 on nodes without internet and WANDB_MODE=offline.

Thank you for the report and tracking down the commit!
We have released a fix in 0.12.4
https://github.com/wandb/client/releases/tag/v0.12.4

Hi, i'm still having the same problem on 0.12.14 on an HPC that doesn't have internet access. More specifically, I'm running PyTorch lightning 1.6.0 and have no problem for the first training logging, but the error appears when finishing the first validation epoch. Also running the same code on a computer having internet access but with offline mode, the problem doesn't appear. Didn't have the problem previously on 0.12.4.

Hi @raubitsj, could this be reponend, the error is still occurring in recent versions. It's quite annoying and is limiting the use of wandb in academic clusters. Thanks!

Hi @nicolas-dufour sorry to see that you are still experiencing issues.
Could you please help us debug this issue, by providing:

a reproduction for your case, based on the other reporting, the original issues, should be fixed (as we don't check the local version) in offline mode anymore. So it could be some other api call we are trying to make in offline mode.
Also do you know what is the last working version wandb for you?

Thanks!

still happens in 0.14.2. I do
os.environ["WANDB_MODE"] = "offline"
run = wandb.init(mode="offline")
...
run.finish()

and that still tries to connect to the server

@cemde Thanks for reporting the issue. I tried version 0.14.2 and it works as expected and i don't see any attempts to connect to the server. Could you please provide a reproduction of the issue you are seeing?

Running wandb 0.15.7, with
os.environ["WANDB_MODE"] = "offline"
wandb.init(mode="offline")```
I get the following error:

```wandb: ERROR Connection to wandb service failed: [Errno -2] Name or service not known
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/wandb/sdk/wandb_manager.py", line 115, in _service_connect
    svc_iface._svc_connect(port=port)
  File "/usr/local/lib/python3.8/dist-packages/wandb/sdk/service/service_sock.py", line 30, in _svc_connect
    self._sock_client.connect(port=port)
  File "/usr/local/lib/python3.8/dist-packages/wandb/sdk/lib/sock_client.py", line 102, in connect
    s.connect(("localhost", port))
socket.gaierror: [Errno -2] Name or service not known

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/neuphysics/run.py", line 879, in <module>
    wandb.init(project="neuphysics",
  File "/usr/local/lib/python3.8/dist-packages/wandb/sdk/wandb_init.py", line 1166, in init
    raise e
  File "/usr/local/lib/python3.8/dist-packages/wandb/sdk/wandb_init.py", line 1143, in init
    wi.setup(kwargs)
  File "/usr/local/lib/python3.8/dist-packages/wandb/sdk/wandb_init.py", line 172, in setup
    self._wl = wandb_setup.setup(settings=setup_settings)
  File "/usr/local/lib/python3.8/dist-packages/wandb/sdk/wandb_setup.py", line 327, in setup
    ret = _setup(settings=settings)
  File "/usr/local/lib/python3.8/dist-packages/wandb/sdk/wandb_setup.py", line 320, in _setup
    wl = _WandbSetup(settings=settings)
  File "/usr/local/lib/python3.8/dist-packages/wandb/sdk/wandb_setup.py", line 303, in __init__
    _WandbSetup._instance = _WandbSetup__WandbSetup(settings=settings, pid=pid)
  File "/usr/local/lib/python3.8/dist-packages/wandb/sdk/wandb_setup.py", line 114, in __init__
    self._setup()
  File "/usr/local/lib/python3.8/dist-packages/wandb/sdk/wandb_setup.py", line 250, in _setup
    self._setup_manager()
  File "/usr/local/lib/python3.8/dist-packages/wandb/sdk/wandb_setup.py", line 277, in _setup_manager
    self._manager = wandb_manager._Manager(settings=self._settings)
  File "/usr/local/lib/python3.8/dist-packages/wandb/sdk/wandb_manager.py", line 162, in __init__
    wandb._sentry.reraise(e)
  File "/usr/local/lib/python3.8/dist-packages/wandb/analytics/sentry.py", line 154, in reraise
    raise exc.with_traceback(sys.exc_info()[2])
  File "/usr/local/lib/python3.8/dist-packages/wandb/sdk/wandb_manager.py", line 160, in __init__
    self._service_connect()
  File "/usr/local/lib/python3.8/dist-packages/wandb/sdk/wandb_manager.py", line 126, in _service_connect
    raise ManagerConnectionError(f"Connection to wandb service failed: {e}")
wandb.sdk.wandb_manager.ManagerConnectionError: Connection to wandb service failed: [Errno -2] Name or service not known
wandb: While tearing down the service manager. The following error has occurred: 'SockClient' object has no attribute '_sock'```

How can I disable all attempt at connecting anywhere ?

still happens in 0.15.12

wandb.init(mode='offline') still try to connect to the server resulting in a ConnectionRefusedError: [Errno 111] Connection refused error in 0.15.10.

I am using  0.16.6 and I do not encounter the error after setting it to offline mode:

Does anyone have a solution? I am using wandb 0.16.5 and still have this issue when I run a sweep.

In the end, I revert back to version 0.13.5 where everything seems to be working fine.

Still happens to this day with version  0.17.4

I can back @raymondchua; 0.13.5 seems to be perfectly fine.

@juliafalcao this should be resolved when using our new Go backend service: https://wandb.me/wandb-core. It is quite simple to enable. We also introduced a new sync cli command wandb beta sync that only works with the new backend, not advertising it yet. Mind confirming that it fixes your issue?

@juliafalcao this should be resolved when using our new Go backend service: https://wandb.me/wandb-core. It is quite simple to enable. We also introduced a new sync cli command wandb beta sync that only works with the new backend, not advertising it yet. Mind confirming that it fixes your issue?

I don't think it fixed the issue, I have wandb.require('core') before my wandb.init and WANDB_MODE=offline and it still tries to connect:
wandb: Tracking run with wandb version 0.17.7
wandb: W&B syncing is set to `offline` in this directory.
wandb: Run `wandb online` or set WANDB_MODE=online to enable cloud syncing.
(...)
wandb: Run summary:
(...)

wandb: You can sync this run to the cloud by running:
wandb: wandb sync /gpfs/projects/bsc88/text/bias/decomposing/wandb/offline-run-20240905_124848-9cwv5hnd
wandb: Find logs at: ./wandb/offline-run-20240905_124848-9cwv5hnd/logs
2024-09-05 12:57:02,137 [connectionpool.py] WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7fc20c63dc10>: Failed to establish a new connection: [Errno 101] Network is unreachable')': /api/4504800232407040/envelope/
2024-09-05 12:57:02,141 [connectionpool.py] WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7fc20c63e300>: Failed to establish a new connection: [Errno 101] Network is unreachable')': /api/4504800232407040/envelope/
2024-09-05 12:57:02,144 [connectionpool.py] WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7fc1ed87f920>: Failed to establish a new connection: [Errno 101] Network is unreachable')': /api/4504800232407040/envelope/
2024-09-05 12:57:02,152 [connectionpool.py] WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7fc20c61fd70>: Failed to establish a new connection: [Errno 101] Network is unreachable')': /api/4504800232407040/envelope/
2024-09-05 12:57:02,156 [connectionpool.py] WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7fc20c6923c0>: Failed to establish a new connection: [Errno 101] Network is unreachable')': /api/4504800232407040/envelope/
2024-09-05 12:57:02,159 [connectionpool.py] WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7fc20c63d4c0>: Failed to establish a new connection: [Errno 101] Network is unreachable')': /api/4504800232407040/envelope/

Hi @sephmard, I'm still having this error on 0.19.0

Hi @nicolas-dufour I am having trouble reproducing this error.
Could you share some details about your environment.

What python version are you using
A script similar to the one you are running (if different from the one in the details of this issue)
the console output from your script


Choose Javascript/Vue Dashboard platform for QC Site

Look at what Vincent is using for monarch-ui-new.
https://monarch-ui-new.monarchinitiative.org/disease/MONDO:0007947#histo-pheno

This issue is duplicated by monarch-qc #15; the detail on that is more specific and useful so I'm closing this issue.


Introduce built-in camera modes for NovelRT::Graphics::Camera?

As per #73 I have introduced the groundwork for supporting multiple camera view/projection view types.
Its a bit messy and needs cleaning up, but once its done we can look into this in further detail for Novel3D probably, I can't see them getting too much use out of it in the current state of the engine.
We can either remove it or try to implement it however I'm a bit "on the fence" about it, and would like other people's opinions.

Semi-implemented as of #98 . Approved after discussion with the approach of static factory methods as opposed to an enum.

I'm opening this issue up as something someone else can pick up, as the second half of this particular feature is not required for the base 2D API surface.
Basically, we need a perspective camera factory method in a similar vein to that of our default orthographic camera factory method, i.e. std::unique_ptr<Camera> Camera::createDefaultOrthographicProjection(const Maths::GeoVector2<float>& windowSize). except it would be called createPerspectiveProjection instead of createDefaultOrthographicProjection.

I guess I'll try that one
The wrong Kao.


Modify message in proto in version 1.4.0

Describe the bug
In goctl 1.4.0 ，modify message name in proto，error
In goctl 1.3.8， modify message name in proto，success
To Reproduce
Steps to reproduce the behavior, if applicable:

The code is
old code:

new code:

The error is
i want to modify message name but in goctl 1.4.0 , request error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Environments (please complete the following information):**
- OS: [e.g. Linux]
- go-zero version [e.g. 1.2.1]
- goctl version [e.g. 1.2.1, optional]

**More description**
Add any other context about the problem here.

Describe the bug In goctl 1.4.0 ，modify message name in proto，error In goctl 1.3.8， modify message name in proto，success
To Reproduce Steps to reproduce the behavior, if applicable:

The code is
old code:

new code:

The error isi want to modify message name but in goctl 1.4.0 , request error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Environments (please complete the following information):**
- OS: [e.g. Linux]
- go-zero version [e.g. 1.2.1]
- goctl version [e.g. 1.2.1, optional]

**More description**
Add any other context about the problem here.


Maybe not python 3.9 compliant

On conda-forge, we're seeing:
import: 'mosaic'
Traceback (most recent call last):
  File "/home/conda/feedstock_root/build_artifacts/mosaic_1731025142822/test_tmp/run_test.py", line 2, in <module>
    import mosaic
  File "/home/conda/feedstock_root/build_artifacts/mosaic_1731025142822/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib/python3.9/site-packages/mosaic/__init__.py", line 1, in <module>
    from mosaic import datasets
  File "/home/conda/feedstock_root/build_artifacts/mosaic_1731025142822/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib/python3.9/site-packages/mosaic/datasets.py", line 46, in <module>
    cache_dir: None | str | os.PathLike = None,
TypeError: unsupported operand type(s) for |: 'NoneType' and 'type'

I believe the fix is to add typing_extensions as a dependency.  It could just be a dependency for python 3.9 but I believe it's just an empty metapackage for higher python versions so it doesn't matter.

No, that didn't work.
If you see here:
https://stackoverflow.com/questions/76712720/typeerror-unsupported-operand-types-for-type-and-nonetype
It seems like the | syntax just can't be made to work in python 3.9 and a clunkier Union[] interface is required.
My suggestion would be to keep things as they are and just not support python 3.9.

Thanks for hunting that down, @Xylar!
I agree that keeping the | syntax seems worth it enough to drop python 3.9 support.
I see that you've constrained the min python version to 3.10 in the meta.yml on conda-forge.  For constraining the pyproject.toml, should I release a patch version or is the existing release OK for conda forge even tough the constrained python versions are different in the meta.yml and the pyproject.toml files?

No need for a patch release.

Sounds good! Thanks for your help with all this.


Should error on non-replset/non-cluster systems

We assume that if we are not connecting to Mongos, that it should be connecting to a replica set. We should not do this but rather detect if running in stand alone mongod mode, and if so abort warning that it is not possible to have a consistent backup without an oplog ( created when running as a replicaset or shard)

Resolved by 1.0.0 release: https://github.com/Percona-Lab/mongodb_consistent_backup/releases/tag/1.0.0.


[ConstraintSolver] Skip performance hacks in presence of unavailable …

…overloads
Limit the scope of the performance hacks which currently exist in the
solver even further by not allowing it to skip generic overlaods or stop
solver in case when previous solutions involve unavailable overloads,
which otherwise might lead to producing incorrect overall solutions.

@swift-ci please smoke test

@swift-ci please test source compatibility

I have a different idea now of how to solve this problem, i think we should be checking non-generic solution score for certain kinds of conversions (instead of simply if it has been increased or not) which should allow generic to be attempted e.g. if it has forced IUO conversion or a fix or any unavailable overloads, and we should attach best solution score to each lastSolvedChoice instead to make it more general.

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

source compatibility suite currently has mapper failing, going to run it for this branch as well so make sure I didn't break anything else...

@swift-ci please test source compatibility

@swift-ci please test source compatibility


Convert laws

Vic2 to HoI4 did the following:
// mobilization laws are based on the ruling party's war policy
if (rulingParty->getWarPolicy() == "jingoism")
{
	mobilizationLaw = "limited_conscription";
}
else if (rulingParty->getWarPolicy() == "pacifism")
{
	mobilizationLaw = "disarmed_nation";
}

// if at war, more economic mobilization
if (atWar)
{
	economicLaw = "low_economic_mobilisation";
}

// some ideologies have non-default laws
if (governmentIdeology == "fascism")
{
	economicLaw = "partial_economic_mobilisation";
	tradeLaw = "limited_exports";
}
else if (governmentIdeology == "radical")
{
	tradeLaw = "free_trade";
}

Victoria 3 has laws that are somewhat similar to HoI4.
As such, I recommend :
(Vic3->HoI4)
Peasant Levies -> Disarmed Nation
Professional Army -> Volunteer Only
National Militia -> Limited Conscription
Mass Conscription -> Extensive Conscription
Isolationism -> Closed Economy
Protectionism -> Limited Exports
Mercantilist -> Export Focus
Free Trade -> Free Trade
Traditionalism -> Civilian Economy
Agrarianism -> Early Mobilization
Laissez-Faire -> Partial Mobilization
Interventionism -> War Economy
Command Economy -> Total Mobilization

One note, the implementer should check vanilla HoI4 to see which laws exist there in 1936. Converter options should be restricted to those ones.

The economic ones are to extremely defaulted in vanilla HoI4 that I'm preserving the old logic. The conscription laws should mostly be volunteer_only, but there's room for a few disarmed_nation and a fair number of limited_conscription.


Remove id meta tag and validate mod ID

Changes:

Removes extra.godot.id
Validates that the mod ID is {namespace}-{name}. The mod won't load if it doesn't match

This works towards #20 (this comment):

tightly coupling the mod ID to package ID end to end would be great (so making them match with Thunderstore IDs to benefit from the ecosystem guarantees)

Logged error:

^ note: I added that line break afterwards, to make it easier to preview here. There's no line break in the actual code

this is a good start. as per the info by thunderstore, a "full id" would be {namespace}-{name}-{version_number} I'm not sure what we would call this id, maybe something like "full_name_id"?
the validation does address the composition, but not the elements of that composition. following thunderstore, namespace and name are are validated with this ^[a-zA-Z0-9_]$ (where _ can only be replaced with space for display purposes) and the version_number with this ^[0-9]+\.[0-9]+\.[0-9]+$ Godot does have a regex class you can use

Maybe something for a subsequent PR?


aplQuery incorrectly requires streamingDuration and noCache when options are passed

The type definition for aplQuery's second parameter requires streamingDuration and noCache to be passed. However, these are not required and the query works fine if I bypass the type checks.
Consider marking these properties as optional.

Thanks for the report. As you can imagine, holidays leave us a bit less responsive than usual.
If you fancy it, you can also create a PR for the team to look at.
Cheers and thanks again!

Resolved by @schehata in #74.


Added module X.A.PerWindowKeys

Allows one to shortcut actions that are performed based on queries.
Description
Some XMonad users might want keybinds to perform different actions based on which window they are currently focusing. This adds two functions that allow them to perform either all actions for which a Query Bool holds true, or the first action for which that applies. One could also sequence the two for more complex behavior.
Checklist

[x] I've read CONTRIBUTING.md

[ ] I tested my changes with xmonad-testing

[x] I updated the CHANGES.md file

This looks nice, thanks!  Can you also add the module in xmonad-contrib.cabal?

Thanks!


option detection

Right now i tried mbed new -mbedlib . with the intention to use os2,
but the outcoming shows, it is os5 as a file mbed-os.lib is created with the according link.
I just typed -mbedlib instead of --mbedlib.
I would expect an error telling me that the option is unknown.
I suspect, this is a quite general bug not specific to the command new.

Internal Jira reference: https://jira.arm.com/browse/IOTBTOOL-612


[RFC] Fix #42: Work with suntrust double column csv files

[x] Add test for suntrust
[x] Make Money.from_s better at recognising things like ABC2.A00 as 00
[x] csvparser merge columns should use moneycolumn.merge

The problem:
Suntrust csv has two money columns, one for debit and one for credit. Reckon used to deal with this by appending two columns (space separated) with each other and then testing them for a money column. This works fine if one column is always empty -> ["2.00", ""], ["", "1.00"] merged is ["2.00" + " " + "", "" + " " + "1.00"]
but the suntrust one had 0.00 instead of "" -> ["2.00", "0"], ["0", "1.00"] merged is ["2.00" + " " + "0", "0" + " " + "1.00"], which clearly leads to problems.
The solution
First convert the columns to money columns and then merge them like that. The only downside of this solution is that when converting to money we lose some information (prefixes and suffixes). This initially led to some problems when converting two columns that had numbers in them, but clearly where not money columns (account numbers etc). I solved this by making the Money.from_s function stricter.

The commit history on this is a bit of a mess, because I tried multiple approaches. Therefore some of the later commits undo much of the earlier commits. I can rebase and clean that up if requested.

I don't have a strong opinion about rebasing the history.  Up to you if you want to.

Added explanations and named regexes to the from_s method. Hope that is a lot clearer now.
If don't really have a strong opinion about rebasing, so let's keep it like this.

Sorry for the delay here.  What's the status on this?

I'm happy with this. In general this change results in a more robust system and adds support for an additional csv format.

LGTM!  Go ahead and merge :)


[PE-D][Tester A] filtering works with 0000000 budget

If the budget is set to 000000 as per one of the bug reports earlier, the app is able to show when filtering for it.

Labels: severity.Low type.FunctionalityBug
original: chiayunrong/ped#9

Linked to #124 , will fix this along with #124 and add test cases for safeguards.

Close #187


runtime error when using normalization layer in network

Hi ,
I am trying to create a mnist network in which there is a sequence of FCLayer followed by cross channel normalization .
Attached file(mnist.cpp.tar.gz) shows the network creation workflow that I have used. When I have executed the exe on hikey960 using armnn1908 libs I am seeing the below error
terminate called after throwing an instance of 'std::out_of_range'
  what():  _Map_base::at

Thread 1 "mnist_exe" received signal SIGABRT, Aborted.
0x0000007fbe492528 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
54	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt

#0  0x0000007fbe492528 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#1  0x0000007fbe4939e0 in __GI_abort () at abort.c:89
#2  0x0000007fbe66c254 in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/aarch64-linux-gnu/libstdc++.so.6
#3  0x0000007fbe669dc4 in ?? () from /usr/lib/aarch64-linux-gnu/libstdc++.so.6
#4  0x0000007fbe669e10 in std::terminate() () from /usr/lib/aarch64-linux-gnu/libstdc++.so.6
#5  0x0000007fbe66a0d4 in __cxa_throw () from /usr/lib/aarch64-linux-gnu/libstdc++.so.6
#6  0x0000007fbe665b98 in std::__throw_out_of_range(char const*) () from /usr/lib/aarch64-linux-gnu/libstdc++.so.6
#7  0x0000007fbeab17dc in armnn::Runtime::GetLoadedNetworkPtr(int) const () from /home/arm01/armnn-devenv/Praveen/armnn1908/build/libarmnn.so
#8  0x0000007fbeab1840 in armnn::Runtime::GetInputTensorInfo(int, int) const () from /home/arm01/armnn-devenv/Praveen/armnn1908/build/libarmnn.so
#9  0x0000000000403de8 in main () at mnist.cpp:291

Let me know if I have configured any layer wrongly. Any help would be highly appreciated.
Note:Layer outputs are as expected until ReLULayer.
Thank you,
Praveen.

Hi Praveen,
What kind of device are you running this on? I get an exception like the one you're seeing if I try to run CpuAcc on my x86 chip, during the Optimize(...) method no supplied backend is available so the method returns a null.
If I switch CpuAcc to CpuRef it gets past that issue and I see an error where the Normalization layer seems to have a two dimensional input shape {1, 500} while the Armnn workload expects a 4 dimensional one (it expects an NCHW or NHWC layout).
I hope that helps?
Best regards,
Mike

Hi Mike,
I used HiKey960.

with CpuAcc I have seen the above mentioned error

with CpuRef I have seen the num dimensions issue.

Is it mandated to that normalization should take 4 dimensional input?
If yes, do I need to use the reshape layer before Norm Layer?
I did try to create the standalone setup with input and normalization layer as a standalone setup with 4 dimension input. However output of normalization layer is not same as one got using the other libraries like mkldnn,cudnn.
Could you assist me in this, I am unclear what I am missing here.
Attached is the standalone setup for your reference link
Thank you,
Praveen.

Hi Praveen,
Armnn requires that the Normalization layer have a 4 dimensional input. I wasn't sure if that would work aso I added a reshape layer (Reshaping the output of the layer to {1,1,1,500}, which I think should be OK) between the ReLU layer and the Normalization layer and the graph worked for me (outputting 500 floats). I've attached my version of
mnist.cpp.gz
.

Hi Mike,
Thanks for looking into this.
In the previous link  I have shared . It as the standalone normlayer along with input(mw_interm_tap6.txt) and expected output(mw_inerm_tap7.txt) .
I observed  different results than the expected output. Could you cross check that as well.
Could it be ACL impl issue?
Thank you,
Praveen.

Hi Praveen,
Thank you for your answer.
Running a Google Colab notebook the following code:
import tensorflow as tf
import numpy as np
sess = tf.Session()
data = np.loadtxt('mw_interm_tap_6.txt', dtype=str)
input=tf.constant(data.astype(float).tolist())
input = tf.reshape(input, [1,1,1,500])
radius = 2
bias = 1.0
alpha = 0.0001
beta = 0.75
tf_opreation0 = tf.nn.local_response_normalization(
    input,
    depth_radius=radius,
    bias=bias,
    alpha=alpha,
    beta=beta,
    name=None
)
tf_result0 = sess.run(tf_opreation0)
np.set_printoptions(suppress=True)
print (np.round(tf_result0, decimals=5))

same values as in NormStandalone.txt are obtained.
How did you obtain the values in mw_interm_tap_7.txt ?
Which TensorFlow or PyTorch function would give the values in mw_interm_tap_7.txt?
Reference:
https://www.tensorflow.org/api_docs/python/tf/nn/local_response_normalization

Hi Teresa,
I did not verify with tensorflow or pyTorch function calls.
But if we use the ACL standalone function call NENormalizationLayer with same configuration params and inputs, I would get the output same as mw_interm_tap_7.txt.
Let me know if you need the standalone setup for ACL Normalization Layer?
I am can share  that for you.
Thank you,
Praveen.

Hi Praveen,
I was looking at this yesterday and I'm getting the same results as you, @TeresaARM also tried your test scenario on Tensorflow and got the same results, the Android NNAPI tests also all pass. So I believe that the ACL implementation is working correctly.
I'm not familiar with mkldnn or cudnn could they have a different implementation of Local Response Normalization or use its parameters in a different way?
Best regards,
Mike

Hi Praveen,
could you send us the ACL standalone function? are you using exactly same values for both armnn standalone and ACL standalone? Input parameters might be different (radius vs. size of the kernel("diameter"))
Regards

Hi @TeresaARM ,
Attached the standalone test setup for NeNormalization layer using ACL.
Let me know if you need any further info.
NeNormlization.zip
Thank you,
Praveen.

Hi Praveen,
So far I could see that:
in Tensorflow I get Armnn results when I put this input:

radius = 2
bias = 1.0
alpha = 0.0001
beta = 0.75
and ACL result when I put these ones:
radius = 2
norm_size = radius*2 +1
bias = 1.0
alpha = 0.0001 / norm_size
beta = 0.75
Thank you

Hi @TeresaARM
I assume ACL and ARMNN outputs should be same since the ACL is backend for ARMNN.
If no, is there anyway we could make ACL and ARMNN outputs same with configuration changes in either of the one?
Thank youi,
Praveen.

Hi Praveen,
both implementations are right. In the class NormalizationLayerInfo there is a parameter with its correspondent comment:
@param[in] is_scaled (Optional) Boolean that specifies if alpha will be scaled by the normalization size or not. Should be false to follow [Krichevksy 2012].
This boolean allows you to choose which of both implementations you want to execute in ACL. In armnn, in the call to the ACL normalization layer, this parameter is set to 'false', in your code is set to 'true'. In the armnn reference implementation there is only one option.
Please let us know if this information covers your question.

Hi @TeresaARM ,
Are there any plans to add this argument to NormLayer API in armnn.
Thank you,
Praveen.

Hi @uu-praveeng,
Thank you for reaching out! Based on the updated README.md found here under the "How to get involved" section we will be closing GitHub issues labeled with "Feature Request". Instead, we will be tracking the issue and adding the "Help wanted" label. All the issues with this label can be found here. We would much appreciate your help to add these features. If you would like to add this or any feature to Arm NN feel free to reopen the ticket and let us know you are working on it with a quick comment. We will then track the updates and help you get your additions into our codebase.
Below you will find our contributors guide which will show you how you can submit a patch to us. If you have any questions feel free to ask here or by creating a new Issue. Thank you!
https://www.mlplatform.org/contributing
Kind regards,
Matthew


Cleanup the DC object

Current coverage is 86.34% (diff: 90.24%)

Merging #115 into master will increase coverage by 0.90%

@@             master       #115   diff @@
==========================================
  Files            13         13
  Lines          1895       1889     -6
  Methods           0          0
  Messages          0          0
  Branches        347        347
==========================================
+ Hits           1619       1631    +12
+ Misses          156        140    -16
+ Partials        120        118     -2

Powered by Codecov. Last update f458117...ec9876b


Automate Docker processing deployments

Change Summary
Overview
This will automate the build and push of dockerfiles up to our ECR repositories. The idea is that it is a semi-manual procedure where we will go to "dispatch workflow" and put in our instrument name we want to deploy.
🤞 With the automated credentials, we have to sort of wait and see I think. I tried adding a branch directly to this upstream repo and that wasn't enough. I think we need to merge it into "dev" so that it is vetted before being approved as a workflow.

My guess is this won't be enough, but let me merge and try because this doesn't impact anything else.


Error/crashing with OpenWeatherMap

[7/23/2020, 10:31:23] [WeatherPlus] Error retrieving weather report
[7/23/2020, 10:31:23] [WeatherPlus] Error: getaddrinfo EAI_AGAIN api.openweathermap.org
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:64:26) {
  errno: 'EAI_AGAIN',
  code: 'EAI_AGAIN',
  syscall: 'getaddrinfo',
  hostname: 'api.openweathermap.org'
}
[7/23/2020, 10:31:23] [WeatherPlus] undefined

Hi! I've got the same issue starting today. Even, it this could be a DNS issue that would be great to catch that exception and not impact other accessories on same instance. Thanks in advance.
[8/21/2021, 2:32:45 PM] [WeatherPlus] Error retrieving weather report
[8/21/2021, 2:32:45 PM] [WeatherPlus] Error: getaddrinfo EAI_AGAIN api.openweathermap.org
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:69:26) {
errno: -3001,
code: 'EAI_AGAIN',
syscall: 'getaddrinfo',
hostname: 'api.openweathermap.org'
}
[8/21/2021, 2:32:45 PM] [WeatherPlus] undefined
[8/21/2021, 2:36:45 PM] [WeatherPlus] Error retrieving weather report
[8/21/2021, 2:36:45 PM] [WeatherPlus] Error: getaddrinfo EAI_AGAIN api.openweathermap.org
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:69:26) {
errno: -3001,
code: 'EAI_AGAIN',
syscall: 'getaddrinfo',
hostname: 'api.openweathermap.org'
}
[8/21/2021, 2:36:45 PM] [WeatherPlus] undefined


add tests on CI, use pyproject.toml instead of setup.py,

Hey @alonyan, this is an attempt to setup some basic tests, to ensure that the basic install works on your supported platforms, and to confirm that various basic functions work.
Obviously, full test coverage for all of your functionality is a longer-term aspiration.
This is still a work-in-progress, and we should look at each of the dependencies to A) try to minimize them as possible and B) put some of the harder-to-install ones that are only used for certain features behind extras
couple immediate things I noticed:

pyfftw could probably be replaced with one of the various numpy/scipy things (it notably doesn't have arm64 wheels on pypi, but there are many ffts that do).
lap hasn't been updated for a very long time and doesn't install easily.  consider moving to laptrack or perhaps directly using scipy.sparse directly ?

looks like it probably won't run all the tests until this merges to main, since it's from a fork, but you can see what it would look like here ... and I'll continue playing with the tests there


Fix block quote image, and caption texts

From https://github.com/metanorma/metanorma.com/issues/289

Thanks @manuel489 !


impl unit test for ibc-denom-resolver

unit test for

execute_update_config
execute_swap

Can you check github actions?


Code selection is not visible

Whatever code I select, I can't see if it is selected or not.
The first code block I actually selected.
The second, I didn't.

Maybe add a color to SelectableText widget.

Thanks for the feedback, I will take a look at this 👍🏻


kafka exception

When I use the log4j2 output log to Kafka to produce an exception
spring-kafka.version:1.1.7.RELEASE
agent-log.txt

which version of kafka plugin do you used?

@ascrutae I don't think you make yourself clear either here or in pr. Even I can't understand why.

kafka veriosn <IP_ADDRESS>

I think there is no good way to trace kafka 0.10, if we don't do some assumptions or set some rules. No kafka header, no way to propagation.
If and only if kafka consumer and producer are monitored, and always under monitoring. We can do an optional plugin for low versions. Even you have that, you can't install or uninstall agent, if kafka has data. You need to wipe data in it.
See our suppoted versions doc.

So, you should understand @ascrutae PR is not for supporting 0.10, is for avoiding exception in log. 0.10 kafka is still not under tracing.

ok,thanks!

Could we close this issue? Or do you want to discuss optional kafka plugin?

close


cronet build related changes

target public_headers_must_be_c89 (test/core/surface/public_headers_must_be_c89.c) does not name header grpc/grpc_cronet.h as a dependency
You need to remove the grpc_cronet.h include from test/core/surface/public_headers_must_be_c89.c

LGTM. This has already been cherrypicked in the import.

test this please

@jcanizales can you LGTM and merge?

Can you describe in the top-level message what the changes are doing?

BTW, remember that we are still not merging ourselves. We are still adding the "ready to merge" label.

@jcanizales ping?

Please add a TODO in GRPCChannel.h to move the Cronet-specific methods into a separate file (a category of GRPCChannel, as we do with GRPCCall).
I still don't know what the changes in build.yaml are for, as they're not self-evident, but I trust @dgquintas already reviewed them.
Other than that, LGTM


[docs] Clarify the difference between React and UI components

Should an issue/PR that touches on the <TreeItem> React component have the component: TreeView GitHub label?
While I believe the answer should be yes, so we can have sub-product owners that can monitor the labels they care about, I believe the label casing, colors, descriptions were not making it clear. This change is meant to solve this confusion. Now, we have:

GitHub labels that are about UI components. They could include Vue, Angular, Material Design, Unstyled, etc. The important part here is that no matter how it's implemented, the end-user experience is what ultimately matters the most (see the survey where people ranked "look & feel" as the number one criteria for picking a UI library). Therefore, I think that we should organize ourselves around it.
Before

After

GitHub labels that are about technical components (React) now have a slightly different description:
Before

After

I hope this proposal makes it clearer.

If the issue is about the TreeItem component does that mean that we need to label it with: component: tree view and component: TreeItem, or only the first?

If the issue is about the TreeItem component does that mean that we need to label it with: component: tree view and component: TreeItem, or only the first?

@mnajdova I think that the component: tree view label is what would matter the most. The community can then use it to find all the work history on the tree view. The maintainers owning this component can use it to drive all the ongoing effort.
As for the component: TreeItem GitHub label, I personally can't think of a use case for it. Do you have one in mind?
Actually, this makes me think of another topic. I believe the in the issue/PR titles [label] Description, what we currently do is put in the label is either be the name of the JS module (e.g. [TreeItem] Fix text selection), or the most important GitHub label (e.g. [tree view] Fix text selection). Usually, what I have noticed we do, is put the JS module when possible, or the GitHub label when it touches multiple JS modules, like TreeItem and TreeView at the same time.

I hope there is no impact on the existing labeled issues. No objection from my side.

I hope there is no impact on the existing labeled issues.

@siriwatknp No, not really

No objection from my side as well.

👍 for issues
👍 for using the JS module on PRs (it's more descriptive related to the changes)

We had a small discussion about this in https://github.com/mui-org/material-ui-x/pull/3312#discussion_r760389907. Basically, in MUI X we were using the component name for things that users can perceive and "core" for internal stuff of the component. Removing the concept of the component name and using the sub-product name makes more sense and scalable.

Actually, this makes me think of another topic. I believe the in the issue/PR titles [label] Description, what we currently do is put in the label is either be the name of the JS module (e.g. [TreeItem] Fix text selection), or the most important GitHub label (e.g. [tree view] Fix text selection). Usually, what I have noticed we do, is put the JS module when possible, or the GitHub label when it touches multiple JS modules, like  and  at the same time.

With the new label, does it mean that the title of an issue touching several parts of the TreeView will be prefixed with [tree view]?

With the new label, does it mean that the title of an issue touching several parts of the TreeView will be prefixed with [tree view]?

As far as I understood not, it should be the JS module, so [TreeView] I suppose,


More ruby files

From this comment: https://github.com/penelopezone/rubyfmt/pull/179#discussion_r407064119
More files use ruby than just .rb. This is as exhaustive as i could make
it with a little bit of research (all the files i've come across as a
ruby developer, plus whatever documented variations there are).
*.builder is from rails (https://guides.rubyonrails.org/action_view_overview.html#builder)
*.jbuilder is from rails (https://guides.rubyonrails.org/action_view_overview.html#jbuilder)
Gemfile is from bundler (https://bundler.io/man/gemfile.5.html)
Capfile, capfile is from capistrano (https://github.com/capistrano/capistrano/blob/master/lib/capistrano/application.rb#L5)
Guardfile, .Guardfile is from guard (https://github.com/guard/guard/blob/master/README.md#start)
*.ru is from rack (https://github.com/rack/rack/wiki/(tutorial)-rackup-howto)
Rakefile, rakefile, Rake, *.rake is from rake (https://github.com/ruby/rake/blob/master/doc/command_line_usage.rdoc)
.irbrc, irb.rc, _irbrc, $irbrc is from irb (https://docs.ruby-lang.org/en/2.7.0/IRB.html#module-IRB-label-Configuration)
.pryrc, pryrc is from pry (https://github.com/pry/pry/wiki/Pry-rc#overview)
Also checks ruby files with no extension, but with a ruby shebang
This is largely based on code from
https://github.com/robotdana/fast_ignore which in turn is based on code
from stdlib find but with fewer system calls so it's very slightly faster.
You may want just the first commit, as that's significantly less ruby.

you know what? I missed some https://github.com/rubocop-hq/rubocop/blob/c4ce01c333f962165576031e0ab8d61a4aafa8ed/config/default.yml#L11

Hi @robotdana,
so I think instead of having a massive include list in rubyfmt proper, I think we should  include Gemfile, all the rails file types, and *.rb, and anything with a shebang by default. Anything additional, users should add to a file called ".rubyfmtrc" or something

Do you currently have a plan for this file containing other things? or should i just assume a text file list of file name patterns with no headings or etc? and look in pwd and home for .rubyfmtrc? pwd overriding or merging with home?
(i suddenly understand your no configuration kick)
so we're on the same page, rails types are *.rb *.rake *.builder *.jbuilder and *.ru?

I will think about this and get back to you

hi @robotdana please could you re-open this against the new primary branch, I rebased the entire git history and changed the branch and that force closed all the PRs


Create possibility to force rebalance process

Now rebalance is triggered only by some actions, like broker list change or new instance start. It will be good to have possibility to run commands to bubuku remotely, (for example - create special nodes in zk with actions to run, and periodicaly check for it)

closed in pr #43


Text widgets are lacking a way to automatically adjust their font size

It would be very useful to have a feature similar to iOS's adjustsFontSizeToFitWidth in the Texts widgets.
https://developer.apple.com/documentation/uikit/uilabel/1620546-adjustsfontsizetofitwidth

If I understand what you're asking for, you can do it by putting the text in a SizedBox with the desired width, and putting the SizedBox in a FittedBox.

I'm not sure we are talking about the same thing.
The purpose of this attribute is to automatically reduce the font size of a label if the text doesn't fit, until a given minimum font size is reached.
This can help in various use cases, for example to avoid a text to overflow a given size while making sure that it is displayed entirely, or to automatically fill in a nice way a given space with a text variable in length

Ah, I see. That's a little different. For that you probably want just a Text inside a FittedBox, using fit.scaleDown.

That would probably do the trick, thanks!

Note: The above recommendation does work, but the text has to be in 1 line. It's not able to resize multiple lines of text in a given area.
Wrapping the FittedBox in a SizedBox resolves this, but the SizedBox is a constant size, and doesn't shrink if the text is super short, so you may have extra space underneath the SizedBox.

@maryx please consider creating a new issue. I wouldn't expect comments on closed issues to be monitored. You can link to this issue for context.

I wasn't sure if this is considered a bug - I was just leaving a note so that future people who find the issue through search would know.

@maryx I'd say it's a potentional bug ;-)

What about Tab text ?
tabs: <Widget>[
                Tab(text: "x"),
                Tab(text: "y"),
                Tab(text: "z"),
                Tab(text: "t")
              ],

It should auto resize based upon the screen size if i do not specify labelStyle and unselectedLabelStyle


Jenkins build server: block all IPs from accessing dev server machines

After we notify users of Ops Server cutoff, there are still users access various servers. The build process does disconnect users that have open sessions to files and folders, but users could re-estable the session and cause problems for the build process.
We need to block all IPs except the IP of the build server and certain admin users such as @ACueva @conklinbd @elinz
Need to block access to the AGS, portal, data, db, geoevent servers.

need to research the following further:
sc \server stop Lanmanserver
Killing this windows service should kill all windows shares.  This does not affect unc paths.

Is this for next release?


api is not working in formSchema

Hello @kailong321200875
I tried to use api option in Select component to fetch options from backend directly.
But there is no request.
I used formSchema and useForm hook.

What's wrong?

It can only be used in usecurdschemas


Roadmap

[ ] auto Always on top with wayland - blocked by https://gitlab.freedesktop.org/wayland/wayland-protocols/-/issues/44
[ ] Custom font support
Lyrics sources (with parse support)

[ ] netease
[ ] QQ music
[ ] kgmusic
[ ] kwmusic
[ ] mgmusic

Iterator<'a, Item=(&'a str, Time)>


click on button change the field value "true" using javascript

[Enter feedback here]

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

ID: 25c896b1-85b8-9abe-c79a-880e764e30b9
Version Independent ID: 21a4ff22-6afb-ae7a-99c5-8b8cc5342c3b
Content: Define ribbon actions (model-driven apps) - Power Apps
Content Source: powerapps-docs/developer/model-driven-apps/define-ribbon-actions.md
Service: powerapps
Sub-service: mda-developer
GitHub Login: @HemantGaur
Microsoft Alias: hemantg

@GokulpriyaD
Thanks for your feedback. I'm afraid I don't know what to do with it.
Is there some part of the document that isn't clear, or are you requesting an example?
Thanks

Closing since no response.


Animations examples are broken

The animations samples are not working as expected, properties are not changing by the animations.

Fixed with changeset 7d64145db94023979b9555ae90f716bcfa0d38e5


createReadStream() on parent sublevels fail

Assume I have a root sublevel named db, one sublevel below that is sub1 which in turn also has a sublevel named sub2. Creating a read stream from the 'middle' sublevel doesn't work for me. Works fine if I use the lowest level. Also doesn't work if I use db.createReadStream()
var level = require('level')
var sublevel = require('level-sublevel')

var db = sublevel(level('./db'))
var sub1 = db.sublevel('sub1')
var sub2 = sub1.sublevel('sub2')

sub2.put('key', 'value', function (err) {
  sub1.createReadStream().on('data', function (data) {
    // no data, works well if using sub2 though.
    console.log('got data', data)
  })
})

Am I doing something wrong or is this also by design? I'm thinking that you should be able to create read streams from any sublevel and print out keys and values for that level.

I just ran into this while trying to migrate my key structure en masse while using sublevel.
My ‘solution’ at the moment is to have a database singleton that allows access to the database via a variety of ways (see https://source.ind.ie/project/heartbeat-node/blob/tranquil-timelines/database.coffee)
e.g.,
database = require './database'

database.plain						# Reference to plain LevelUp database
database.withSublevels				# level-sublevel-wrapped reference
database.withPromises				# LevelUp promisified with Thrush
database.withSublevelsAndPromises	# Wrapped in level-sublevel & promisified with Thrush

I use the ‘plain’ LevelUp reference when I want to iterate over all the keys/values and use the reference .withSublevelsAndPromises when I want to (as part of the same migration process) put the latest database schema version into the meta sublevel.
Not ideal but would be interesting to see if it evolves into an implementation of level-sublevel with Bluebird/Thrush promises that also allows aggregate iteration of sublevel records from parent levels. (No time to really concentrate on that at the moment — this works well enough and I have a couple of major refactorings I have to undertake on the app.)
Hope this helps illustrate at least my own use case — as niche (or not) as it may be :)


Remove as much use of org.embulk.spi.time.Timestamp as possible

org.embulk.spi.time.Timestamp has been deprecated. Recent Embulk is using java.time.Instant. Although Embulk still has org.embulk.spi.time.Timestamp for compatibility, this new independent library no longer needs to use it.

Thanks!