[ENH, BUG] BIDS Standard Template Coordinate Frame Definition

In trying to support the BIDS Standard Template coordinate frames in mne-bids, I've run into a few issues:

Most importantly, what is the coordinate frame of standard template channel locations? The space is specified based on an atlas T1w-type image but it is not clear whether the channels are to be in Freesurfer surface RAS, voxels, scanner RAS or some other coordinate frame.
Most of the links are fairly straightforward to find the atlas image but a few are not: IXI549Space (https://brain-development.org/ ) for instance only allows you to download all 549 T1 images, which is amazing data availability but not very helpful for defining the coordinate frame. NIHPD, on the other hand, has multiple allowable T1 images.

The idea with mne-bids is to read an electrophysiology image file in a template space and have it properly defined (some progress is here https://github.com/mne-tools/mne-bids/pull/982 but requires a lot of work for the user to find the fiducials of the atlas image when ideally that would just be done once). The issue is that we don't know in which coordinate frame the channels are stored, and, even if we did, we couldn't define the head coordinate frame used by MNE internally based on the nasion and left and right pre-auricular points without the T1 image defining the space since a few spaces are inaccessible or ambiguous. Ideally the coordinate frame (e.g. voxels) would be clearly specified and there would be a repository of T1 images and even more ideally their sidecar files with AnatomicalLandmarkCoordiantes in them.
Does it sound reasonable to insist that template coordinates be in voxel or scanner RAS?
And is there someone with a repository of all these atlases?

We could store the T1 atlases and fiducials in mne-bids but it would probably be better to store them this repository

Ok I went through all the spaces and I think I found a T1 for all of them but the only note is that the UNCInfant neonates, 1 year and 2 year olds are not affine registered so they have different scales. Not sure how much this matters for their use but it does make it difficult to define a single coordinate frame in terms of fiducial points.

Ok I did all the templates, I think they're right. They're too large for GitHub though. Maybe we'll just store the fiducials in mne-bids but it would be nice to have a repository of all the template T1s somewhere for people to be able to use them easier https://drive.google.com/drive/folders/1rN-Rb7D6ZTyVKOc2WZ-AM3f3dspIhZtQ?usp=sharing

Adding the "Template Based Coordinate Systems" happened back in the Google Doc days, and the info was then migrated here when we switched to GitHub. Some information can be found in this thread: https://groups.google.com/g/bids-discussion/c/DdkxqgikwiI/m/Dju4zmbEBwAJ
The initial suggestions was by Chris G.:

I recommend that in the upcoming iEEG spec coordinates would be expressed in template space (using mm as units and one of the keywords above), particular scan space (using voxels as units and with relative path to the corresponding nifti file), or photograph (using pixels as units and with relative path to the corresponding photograph file).

Does that help in any way?

Maybe we'll just store the fiducials in mne-bids but it would be nice to have a repository of all the template T1s somewhere for people to be able to use them easier https://drive.google.com/drive/folders/1rN-Rb7D6ZTyVKOc2WZ-AM3f3dspIhZtQ?usp=sharing

if other people agree this is helpful to store, perhaps we could host them on https://gin.g-node.org/ and link to that from the spec. Would we have all required licenses for that? If yes, we could create a "BIDS" user on GIN to do the uploading.

It would be nice to have some consensus that this is the preferred specification for template coordinate systems.  @choldgraf, @dorahermes, @robertoostenveld, @adam2392, @agramfort @libertyh does that seem reasoable?

I have no strong opinions here, and defer to what @alexrockhill, @sappelhoff, and the others think is best.

@alexrockhill - perhaps https://www.templateflow.org/ can help.

@alexrockhill - perhaps https://www.templateflow.org/ can help.

Awesome, that looks like it might be just the ticket! I'll have to check that it has all the BIDS standard templates.

It looks like all the following templates are in BIDS but not templateflow: ICBM452AirSpace, ICBM452Warp5Space, IXI549Space fsaverageSym, MNI152NLin2009bSym, NIHPD, OASIS30Atropos and Talairach. That's about half of the total templates but there is a nice fetcher so it might be worth adding by PRs. From just checking UNCInfant it does look like the AnatomicalLandmarkCoordinates I found previously look reasonable. Those might be nice to add as well.

cc @oesteban who tends to know about these things

So it sounds like there might be some preference for storing them in scanner RAS per the initial commit. Since iEEGCoordinateUnits is required, I think this is perfectly reasonable. Maybe this is more consistent with the MRI parts of BIDS? Do you know @sappelhoff?
If that's the case, then I think making a PR to make sure that the units match the values (i.e. if all the mm values are between 1 and -1 this raises a warning or if any m value is outside 1 or -1) in the validator and then, more importantly, in the BIDS standard templates part of the specification making explicit that the coordinates are to be in scanner RAS if shared as a template.

It looks like all the following templates are in BIDS but not templateflow: ICBM452AirSpace, ICBM452Warp5Space, IXI549Space fsaverageSym, MNI152NLin2009bSym, NIHPD, OASIS30Atropos and Talairach. That's about half of the total templates but there is a nice fetcher so it might be worth adding by PRs. From just checking UNCInfant it does look like the AnatomicalLandmarkCoordinates I found previously look reasonable. Those might be nice to add as well.

Yes, if those templates are not uploaded it might be for two reasons: (i) we haven't done so because we did not find the time/interest to do it; (ii) the license is incompatible.
So, if you are willing to push templates up, I'll be more than happy to help with support and also actually preparing them for upload. If you want to start now, it would be ideal for TemplateFlow.

So it sounds like there might be some preference for storing them in scanner RAS per the initial commit.

Voxel coordinates are implicit, so long you are storing gridded data (which seems the case for BIDS+NIfTIs). Basically, you have both.
Although it is not common for T1w images, some other sequences may not have the RAS and Voxels axes aligned, so it is very important that the NIfTI files are completely and correctly specified (I'm referring to the x-form headers).
I would imagine that you basically want to store a TSV metadata file with RAS positions of the landmarks, is that correct? (or maybe on the JSON sidecar, I don't remember what the specification says).
@satra thanks for the ping; @sappelhoff thanks for assuming I know about this - not sure I actually know enough about the problem at hand (luckily I know about templateflow :P)

Great!
The AnatomicalLandmarkCoordinates in the BIDS specification are in a json sidecar for a T1 in voxel coordinates as per the part of the spec I've been following but it's not hard to change them to scanner RAS.
I'll have to look up the licenses but all the T1s are gathered in the Google Drive link above (Talairach just has an aseg though and some of them are brainmasked).

Coming a bit late to the party... I have two comments that relate to the staring point:

Most importantly, what is the coordinate frame of standard template channel locations

EEG and iEEG channels do not have locations, it is electrodes that have locations.  BIDS raw is for storing measured data, not for storing templates. In BIDS derivatives I can imagine spatial normalizations etc having been applied and templates playing a role.

Coming a bit late to the party... I have two comments that relate to the staring point:

Most importantly, what is the coordinate frame of standard template channel locations

EEG and iEEG channels do not have locations, it is electrodes that have locations.  BIDS raw is for storing measured data, not for storing templates. In BIDS derivatives I can imagine spatial normalizations etc having been applied and templates playing a role.

I agree with your point and understand the distinction between electrodes locations and channels. I think colloquially when you assign an average reference for instance and there is a one-to-one mapping between electrode positions and virtual channel locations, sometimes the distinction gets deemphasized and it's good to make sure by the time the verbiage makes it into the official specification that it is clear.
On the second point, I completely agree and when I wrote the templates part of this tutorial for MNE-BIDS https://mne.tools/mne-bids/dev/auto_examples/convert_ieeg_to_bids.html, I basically begged people to share in ACPC space for the individual subject and not a template space, which I agree is derived. I explained the complexities of the transformation to a template and the copy-of-a-copy problem preventing you from transforming from one template to another. Unfortunately, a lot of people probably will want to share (and a few so far have wanted to share) their data in template space because it's allowable by BIDS. I would be for removing this option but allowing it in derivatives but that's a pretty big change. In my opinion, better now than when the use of templates has really taken off but I think that's a group decision and someone had a reason for adding it in the first place.

A couple of things here with respect to sharing iEEG electrode positions:

ACPC without a nifti is not a good definition, since some neurosurgeons define the zero point in ACPC space as the mid commissural point, others use the anterior commissure. We really need an anatomical scan to interpret individual subject iEEG positions (whether in voxels or millimeters).
Some groups are starting to move away from sharing individual subject iEEG electrode positions for de-identification purposes, and only share e.g. MNI152 locations, so there needs to be a way to share iEEG electrode positions in a standard space. Again, this standard space only makes sense wrt an accompanying anatomical scan/definition.
Some older legacy iEEG datasets only calculated electrode positions in Talairach coordinates, because they only had an x-ray, but no CT/MRI and they simply do not have individual subject space coordinates.

To give my take on your points:

ACPC without a nifti is not a good definition, since some neurosurgeons define the zero point in ACPC space as the mid commissural point, others use the anterior commissure. We really need an anatomical scan to interpret individual subject iEEG positions (whether in voxels or millimeters).

I agree, my opinion would be to require a T1 for that subject in the BIDS dataset if the coordinate frame is ACPC which I don't think is validated currently.

Some groups are starting to move away from sharing individual subject iEEG electrode positions for de-identification purposes, and only share e.g. MNI152 locations, so there needs to be a way to share iEEG electrode positions in a standard space. Again, this standard space only makes sense wrt an accompanying anatomical scan/definition.

I'm not sure I understand how the positions of the electrodes could be used to identify someone. I would guess some groups would have more qualms over sharing the defaced T1 necessary for ACPC definition but the positions of the electrodes in template space vs individual space have very little to do with the patient's identity so I don't think that's a good argument. In my personal opinion, I don't think this should be BIDS-compliant, in this case the raw data isn't being shared. Now whether that's a warning or an invalid dataset might be the point of discussion, but I really don't think this is a good argument for allowing template coordinates for electrodes.

Some older legacy iEEG datasets only calculated electrode positions in Talairach coordinates, because they only had an x-ray, but no CT/MRI and they simply do not have individual subject space coordinates.

I think we should have some tools to read these in but maybe not the biggest issue supporting this format of data currently.

I agree with you about preferring ACPC positions and a defaced T1.

Lab and clinical environments use many ways to reconstruct the electrode positions (note that this is reconstruction: source-->raw, not derivation raw-->derived) and some are better than others.

Giving a warning about this issue sounds like a good plan, but saying that electrodes in a standard space are not BIDS compliant may keep entire labs from attempting to organize and share their data in BIDS at all. This would be similar to saying that EEG data with only standard 10/20 labels, but no positions are not BIDS compliant.

It sounds like we're in complete agreement with the original issue of the coordinate frame but only almost complete agreement about the larger issue of whether iEEG should allow template coordinate frames.
I think there is a pretty big difference between EEG data in the 10/20 configuration and intracranial data as far as utility seeing as a couple centimeter error in the EEG positions will most likely marginally effect results for EEG but may make the interpretation entirely different for iEEG. I'm really not sure the best solution, but as you can see comparing the symmetric diffeomorphic warp to fsaverage (in https://mne.tools/dev/auto_tutorials/clinical/10_ieeg_localize.html) vs the Talairach transform (in https://mne.tools/dev/auto_tutorials/clinical/20_seeg.html), there is a pretty big difference will hinder analysis to some extent. I think a warning is the only way to influence people toward sharing in ACPC without pushing people away from BIDS, but I worry that the ease of not having to share individual T1s will make it so that this is very common and really lower the quality of BIDS iEEG data.

I do not object to sharing data in BIDS where part of that data has been imputed on the basis of a template, as long as that is explicitly clarified.
This for me not only applies to electrode positions, but also to other aspects of data. E.g., at the Donders Centre for Cognitive Neuroimaging we could in principle use the modus of our research participants and fill out for each of them that they are 23 year old  males (as we often recruit students as participants for cognitive experiments, and I think we have 55% males and 45% females). However that is not a very accurate description of the real distribution in age and sex. If I were to encounter a dataset where all rows in the participants.tsv were to specify male 24y, I would be suspicious. Idem if I encounter an EEG dataset where the reported (template) electrode positions are identical over all participants. However iEEG electrode positions start with (clinical) inter-individual variability, which then might be projected through a researcher or lab specific coregistration pipeline. That pipeline might be systematically different between labs (e.g. because labs using different software), but in the reported iEEG locations I cannot tell the real variability in the electrodes (over subjects) apart any more from the variability that might be due to choices that the researcher made.
I am fine (and in general very happy!) if raw data gets shared and also if the efforts from researchers that process/curate that data are shared, which might involve processing of the individual data using templates. But I would like to be able to recognize the difference between real (raw) data and between the choices that the researcher might have made along the lines. That difference might for example be documented by saying that a specific dataset is "derived", as that requires in the dataset_description.json the specification of the processing pipeline. I would also be OK (but less happy than I would have been otherwise) if you would share the same data as if it were "raw", as long as you are able to document (and upon reuse someone else can figure out) what happened to the data.

Good points! I am in agreement that it's a bit misleading to allow template positions in the same field that is used for raw data. Perhaps the simplest fix would be to move the template positions into a location for derived data and somehow encourage sharing the steps necessary to derive their locations.


create character finder wizard data and interface

a bigger project

[ ] * decision tree for hiero tags

[ ] 	* decision trees

[ ] 		* https://en.wikipedia.org/wiki/ID3_algorithm

[ ] * character finder wizard

[ ] refactor character-wizard

don't remember what htis was supposed to actually help with 😑


proxy support in create_from_code_and_authenticator

I didn't find any way to provide proxy information when using the following static method : Mogli::Client.create_from_code_and_authenticator()
Is it somehow possible ?

I've never needed to use a proxy. If it isn't possible, I'm happy to take clean patches with tests implementing this functionality.

Ok, I'll let you know if I come up with some nice & clean solution. Thanks for the reply.


Android P Recent Apps Not Showing (No recent items)

ROM info
Pixel Experience (Xiaomi Mi 5)
Module version (build version)
Android P-ify version 1.0.0_150
Screenshoot

Please use the normal version of modded pixel launcher. The "for Pixel" version won't work.

@paphonb It has pixel launcher built in so I had to install the pixel version


Improve Metadata Specifications

Make it a bit easier/accessible (pun? 😆) to supply specifications for members to be included during selection.  In this case demonstrate private setters which are excluded by default.

Addressed in 2.1.7


Allow configuration of virtualenv names

Hashing the virtualenv names makes it inconvenient to spelunk into them later,  I would find it more useful to allow for customizing names for too-long session virtualenvs.

Not sure if this is the right solution to the problem, as even with a custom name if you run nox from a long enough absolute path it'll still fail.
Does --envdir help? What more should we do?

My nox.py looks like:
@nox.session
@nox.parametrize('python_version', ['2.7', '3.4', '3.5', '3.6'])
def unit_tests(session, python_version):
    """Run the unit test suite."""
    ...

$ nox --envdir /tmp/nox-25/
nox > Running session unit_tests(python_version='2.7')
nox > virtualenv /tmp/nox-25/unit_tests-python_version-2-7 -p python2.7
...

In my "normal" location, the session virtualenv gets hashed to an 8-character name.  If I could manually configure it, I would use something like u-py27, which would be even shorter.

Any ideas on how to deal with parametrize and custom names?

How about
session.env_name = 'unit-py{0}'.format(python_version)

Sounds reasonable to me. If anyone wants to take this on before I get a chance to, just let me know.

I might be able to knock it out, but no worries if you get there before I do.

Added in 48bd094


Tensor Clone Function

Overview
Implements a Tensor.clone() function that creates a copy of the data in a separate buffer.
Why
This is some follow-up work from #7020 where JIT reuses buffers to store the output. While this is normally not an issue, calling the same JIT function without using the output buffer overwrites the output data.
The clone function is a proposed solution to this problem, allowing the user to clone out the data before it gets overwritten by the next call.
Testing
The following is the existing example to show the JIT reuse issue
from tinygrad import Tensor, TinyJit

@TinyJit
def f(x:Tensor) -> Tensor: return (x + 1).realize()

for _ in range(2):
  a1, a2 = Tensor([1.1]), Tensor([1.2])
  print(f(a1).numpy(), f(a2).numpy())
  diff = f(a1) - f(a2)
  print(diff.numpy())
  print()

Which produces the following result:
[2.1] [2.2]
[0.]

[2.1] [2.2]
[0.]

Adding the clone function fixes this
from tinygrad import Tensor, TinyJit

@TinyJit
def f(x:Tensor) -> Tensor: return (x + 1).realize()

for _ in range(2):
  a1, a2 = Tensor([1.1]), Tensor([1.2])
  print(f(a1).numpy(), f(a2).numpy())
  diff = f(a1).clone().realize() - f(a2).clone().realize()
  print(diff.numpy())
  print()

(note that realize() must be called after to fix this JIT issue, there was consideration to build this realize into clone() itself)
[2.1] [2.2]
[-0.10000014]

[2.1] [2.2]
[-0.10000014]

This also works using sharded tensors
from tinygrad import Tensor, TinyJit

@TinyJit
def f(x:Tensor) -> Tensor: return (x + 1).realize()

for _ in range(2):
  a1, a2 = Tensor([1.1, 2.1]).shard(('NV','NV'), axis=0), Tensor([1.2, 2.2]).shard(('NV','NV'), axis=0)
  print(f(a1).numpy(), f(a2).numpy())
  diff = f(a1).clone().realize() - f(a2).clone().realize()
  print(diff.numpy())
  print()

[2.1 3.1] [2.2 3.2]
[-0.10000014 -0.10000014]

[2.1 3.1] [2.2 3.2]
[-0.10000014 -0.10000014]

Next Steps
I'm throwing this PR out to gain feelers on this approach. It does feel a little hacky, working around the problem rather than having JIT use new buffers for each return, but at the same time JIT using new buffers each time would have performance implications while not gaining anything for 99% of cases.
If JIT using new buffers each time is the approach we want to go then I am glad to close this PR and implement that.
If this is the approach we want to go then I will add some tests.

Hmm, so I guess I'm fine with this API to handle assign, and the rest is just details.

Needs tests

the decision in the meeting was that this is probably fine to merge, @geohot agree?


About the pretraining data

Hi,
Thanks for your great work!
I am going to reproduce the results but could not find the pertaining data, i.e., CC3M and its translations in five languages.
Would you like to release them or I need to translate them by myself?
Thanks!

Hi,
Here is the link to download the 3M translations in all 6 languages. Will include this link in our README as well.
Best Regards,
Mingyang

Thanks a lot!

BTW, may I ask where could I download the datasets of downstream tasks?
Thanks

Hi shizhe, currently we only released the MSCOCO dataset for image-text retrieval finetuning. You should be able to get the Text database by using this command:
wget https://mmaisharables.blob.core.windows.net/uc2/UC2_DATA.tar.gz

You can get the image features from UNITER's github repo
The VQA English dataset can be also obtained from Uniter.
We plan to release the data for VQA Japanese later. Please stay tuned.

Thanks!
Closed.

The split of the original VG VQA data is lost. So we have re-split their data based on the split of the English VG VQA data. This information is mentioned in our paper. You can definitely process their data by yourself.

OK, got it!

Hi,
May I ask the data  "img_token_soft_label" in the config/uc2_pretrain.json file? I guess the "/img/gcc_train" in the json file means the path of CC image features. But I dont know what is the ""img_token_soft_label" and how to get it. Checked the UC2_DATA.tar.gz but can not find it.

        Thanks! On 02/17/2022 23:21, Mingyang Zhou wrote:

Hi,
the data "img_token_soft_label" is actually not used in the pre-training code. It was one of the pre-training experiment settings that we tried but did not use it in our final pre-training.
—Reply to this email directly, view it on GitHub, or unsubscribe.Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you commented.Message ID: @.>
[
{
@.": "http://schema.org",
@.": "EmailMessage",
"potentialAction": {
@.": "ViewAction",
"target": "https://github.com/zmykevin/UC2/issues/2#issuecomment-1043063351",
"url": "https://github.com/zmykevin/UC2/issues/2#issuecomment-1043063351",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
@.***": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]


feat: Add a popover component

Overview
PR Checklist

[ ] Related to Abstract designs:
[x] Related to JIRA ticket: LX-4014
[x] I have run this code to verify it works
[x] This PR includes unit tests for the code change

Description
This change ports our current popover component over to Gamut. This is the first step in also porting our coach marks component over to Gamut.

Merging your changes
When you are ready to merge to master and publish your changes, use the "squash and merge" button in GitHub, and follow the PR Title Guide to format your PR title and write your PR merge description.
IMPORTANT: If your PR contains breaking changes, please remember to follow the instructions for breaking changes!

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: hmafzal:x: sooincYou have signed the CLA already but the status is still pending? Let us recheck it.

📬Published Alpha Packages:@codecademy/gamut-labs@1.7.24-alpha.069a40.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://5f7cc3a8303b5d3b4765e2a8--gamut-preview.netlify.appDeploy Logs

Hi! Just wanted to give an update on this and where I am getting blocked -

In terms of the Popover component itself, I think it's at a good place. @JoshuaKGoldberg  did have a question in why we are using overlay for popover. @hmafzal would you be able to provide more context?
In terms of the stories, I tried to move the actual PopoverExample code intoPopover.stories.mdx but running into issues here as it is recommending to useRef() which is already being used. Would this be because useRef() is not in @storybook/addons?

2. In terms of the stories, I tried to move the actual <PopoverExample /> code intoPopover.stories.mdx but running into issues here as it is recommending to useRef() which is already being used. Would this be because useRef() is not in @storybook/addons? -- keeping <PopoverExample /> as is actually causing test to fail so would love a bit of help here in ensuring it works in stories! thank you!

Thank you @codecaaron for helping me update the Popover.stories.mdx! I think I've addressed all but please let me know if I've missed anything!

📬Published Alpha Packages:@codecademy/gamut-labs@4.2.8-alpha.1a922a.0@codecademy/gamut@16.1.3-alpha.1a922a.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://5f7e37505e3e572cd6155d23--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-labs@4.2.8-alpha.2a21cf.0@codecademy/gamut@16.1.3-alpha.2a21cf.0<EMAIL_ADDRESS>
Sorry, one more change! I 'fixed' the bug that was happening in Overlay doc. it was finicky because it was using useState from the add-ons so switched to use from react. This though made the test fail (same reason popover's test fail so i guess the reason was bc it's using react hooks, not necessarily just useRef) so i skipped it. Please let me know if there's a better way to handle.

🚀 Styleguide deploy preview ready!https://5f7f8fcd29e23a008bf27403--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-labs@4.2.8-alpha.fc9342.0@codecademy/gamut@16.1.3-alpha.fc9342.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://5f807856913f9101201f6d8c--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-labs@4.2.8-alpha.d5edcb.0@codecademy/gamut@16.1.3-alpha.d5edcb.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://5f8090c14ccb3e2b1cd76bd3--gamut-preview.netlify.appDeploy Logs

🚀 Styleguide deploy preview ready!https://5f861b18924b1b00e124b9d4--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-labs@4.2.8-alpha.fe8fd1.0@codecademy/gamut@16.1.3-alpha.fe8fd1.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://5f862bac8afa81008aa606e3--gamut-preview.netlify.appDeploy Logs

I've removed showscreen to popover for now. I added shadow to the popover so that we can see the beak when true. Let us know if this is good to add to labs now :) @jakemhiller

📬Published Alpha Packages:@codecademy/gamut-labs@4.2.8-alpha.b2d369.0@codecademy/gamut@16.1.3-alpha.b2d369.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://5f89d6ad10b6b201390a50ce--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-labs@4.2.8-alpha.bb8c20.0@codecademy/gamut@16.1.3-alpha.bb8c20.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://5f89fd9a590e583bc9d5bd69--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-labs@4.3.4-alpha.e4cb85.0@codecademy/gamut@16.2.3-alpha.e4cb85.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://5f8a1a6aee6ba06bebef8f60--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-labs@4.4.2-alpha.6a4d63.0@codecademy/gamut@16.2.4-alpha.6a4d63.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://5f8de1dd3eede510e607084c--gamut-preview.netlify.appDeploy Logs

Discussed with Josh offline, his requested change was to update the Popover to not use the overlay as he has mentioned previously that it is an accessibility blocker for users. So will be doing so before merging this to labs. sorry for the back and forth on this one!

📬Published Alpha Packages:@codecademy/gamut-labs@4.4.2-alpha.9615db.0@codecademy/gamut@16.2.4-alpha.9615db.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://5f903bdbb7aec15c764bf428--gamut-preview.netlify.appDeploy Logs

A couple of notes about the update:

Popover now uses BodyPortal directly. It does not prevent the user from interacting with the rest of the page (via mouse/keyboard or keyboard-only).
You can close the popover via escape key, scrolling past it, clicking outside of it.
When testing the closing via clicking outside in Doc, click away from the target (for some reason I couldn't size the div wrapper around the target button so it's longer than the button).

Question: in prod, the toggleDropdownPopover is a blocking experience. on one hand it's good because it brings focus to the contents but you can't interact with the rest of the page until you click out. Hasan and I talked about transitioning the toggledropdownPopover in monolith with this popover. are we concerned that if we do the focus isn't in the content of the dropdown?

📬Published Alpha Packages:@codecademy/gamut-labs@4.4.2-alpha.1d52c0.0@codecademy/gamut@16.2.4-alpha.1d52c0.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://5f90c39741512700ba6f45ab--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-labs@4.4.6-alpha.b0af8e.0@codecademy/gamut@16.2.8-alpha.b0af8e.0<EMAIL_ADDRESS>
📬Published Alpha Packages:@codecademy/gamut-labs@4.4.6-alpha.2f8745.0@codecademy/gamut@16.2.8-alpha.2f8745.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://5f918cb11daf4c0db27e9b77--gamut-preview.netlify.appDeploy Logs


publish<EMAIL_ADDRESS>

Requested by: @Swatinem
Quick links:

View changes
View check runs

Assign the accepted label to this issue to approve the release.
Targets

[ ] crates
[ ] pypi
[ ] github

@Swatinem there was an error publishing the build:

No matching artifact found for the required pattern: /^symbolic-.*-py2.py3-none-manylinux2010_i686.whl$/

It looks like the fix is to allow additional versions before manylinux. See Relay:
https://github.com/getsentry/relay/blob/638210ba5f11682486c42f7cd38b0644d0879069/py/.craft.yml#L28-L29

Closing this. @Swatinem please trigger another release when the craft config has been fixed in symbolic#master. Thank you!


ComponentIndicesGenerator missing in 0.31.2 release

Downloaded https://github.com/sschmid/Entitas-CSharp/releases/download/0.31.2/Entitas-Unity.zip
No repro in 0.31.1 release

Checked again, ComponentIndicesGenerator.cs is present in zip. Seems like some external app removed it. Sorry, closing issue


track preview width resolved

PR Fixes:

Resolved the width issue of the Track Preview Card

Resolves #520
Screenshots
Before:

After:

Checklist before requesting a review

[x] I have performed a self-review of my code
[x] I assure there is no similar/duplicate pull request regarding same issue

Thank you sir. It is a simple css change I doubt any bounty will be allocated for this. Hope to see you introduce better and bigger features 🥂


panlex_lite 404

I am still get error, refer below log.
Any update documents or something else? Thanks
/usr/local/bin/python2.7 -m nltk.downloader -q all -d /usr/local/share/nltk_data
[nltk_data] Error downloading u'panlex_lite' from
[nltk_data] [nltk_data] pages/packages/corpora/panlex_lite.zip>: HTTP Error
[nltk_data] 404: Not Found

Wait for NLTK v3.2 and please see extensive discussion on https://github.com/nltk/nltk/issues/1283


Revert "FeatureSupport ignore mode for merge-on-write unique table (#21773)"

Proposed changes
This reverts commit 3ee89aea35726197cb7e94bb4f2c36bc9d50da84.
We think ignore mode may be too complicate to support after discussion, so we disable it currently.

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall


TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/48918

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/49629


Roxygen help files won't use markdown formatting

Hey @rudeboybert we aren't able to use markdown in roxygen help files.
Our description file contains the line:
Roxygen: list(markdown=TRUE)

However, when we use `` tick marks in the help files, they display as apostrophes: 'country_indicators' instead of country_indicators

Turns out we needed spaces between the equals sign!
This code works:
Roxygen: list(markdown = TRUE)

Great!


loekl/update-mwaa-local-mem

This PR brings alan-eu/aws-mwaa-local-runner up to date with aws/aws-mwaa-local-runner & enhances the container memory limits to avoid DAG OoM.

Thanks.
Team will have to run this command git submodule update --recursive. Maybe it's worth mentioning it somewhere in slack after your merge.

I am sure we will have to run a git submodule command but I am not 100% it's the one above. Could you please try before sharing it with the team?


How to get replace from routeAction

hi i need to use replace instead of push so that that history is not recorded. Mine code is
import { routeActions } from 'react-router-redux';
@connect(
  state => ({
    loaded: state.commonFilterSec.loaded,
    loading: state.commonFilterSec.loading,
    secFilterData: state.commonFilterSec.data.main,
    bannerImage: state.commonFilterSec.data.main.bannerImg,
    bannerPath: state.commonFilterSec.data.main.bannerPath,
    imagePath: state.commonFilterSec.data.main.imagePath,
    redirectLink: state.commonFilterSec.data.main.redirectLink,
    // params: state.router.params,
    // urlParams: state.location.data,
    // flushLink: state.commonFilterSec.commonSecondaryFilter
  }), { pushState: routeActions.push, replaceState: routeActions.replace, loadSecondaryFilterData })

Inside mine render function I'm using this.props.replaceState. So is this the right way to do.Any help would be useful

Yes, that is the correct usage. Make sure you are also setting up the middleware and reducer as well.

Middleware can you elaborate or give any reference how to setup middleware

Please read the README in full: https://github.com/reactjs/react-router-redux#what-if-i-want-to-issue-navigation-events-via-redux-actions

routerMiddleware seems not to be present in version 3. I am trying to use
const __routerMiddleware = routerMiddleware(browserHistory);
But it throws error. I am react-router-redux version ^3.0.0

Then read the 3.0 docs: https://github.com/reactjs/react-router-redux/tree/3.0.x


can this page get a renewal? the devops pipeline setup does not support setting it up like mentioned.

[Enter feedback here]

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

ID: 95e331af-2350-c9cc-1205-f17ae4d17eb0
Version Independent ID: a69e5b1f-1195-b191-58a4-0caf73cceccc
Content: Deploy an app with CI and Azure Pipelines - Azure Service Fabric
Content Source: articles/service-fabric/service-fabric-tutorial-deploy-app-with-cicd-vsts.md
Service: service-fabric
GitHub Login: @sukanyamsft
Microsoft Alias: sukanyas

Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

Thanks for your dedication to our documentation. Unfortunately, at this time we have been unable to review your issue in a timely manner and we sincerely apologize for the delayed response. Though the scope of our feedback channel here on GitHub covers specific documentation fixes, we can help redirect you to the right support channel to get an answer to your question: [reference to alternative product/service or community endpoint]. Because this issue does not relate to documentation, we are closing this issue. #please-close

@tomvcassidy i’m confused by your answer. What does this mean? Is it not supported anymore to set up new projects in Service fabric?
Also, you mention you will help me redirect to the right channel: ok, what is then a latest example of a new project in Service fabric?


Create Empty Components -- Redesign [#45]

Context
Since our fellows designed the website It was decided to use the design in the website. based on some discussion we decided to first create the components, then the components will be used by other fellows to implement their features.
The problem
@ditsuke and I are a little bit confused about the process of changing the design of the website. are we supposed to create the components so you can use them instead of your old design? or we are supposed to create a "skeleton" of the website without components so you guys can redesign your current components to match the proposed design?
The Problems source
@Chukwuemeka-Mba opened https://github.com/MLH-Fellowship/prep-project-jan-2022/pull/48 which adds and designs new components which are not what we have discussed last night. or maybe @ditsuke and I are having some misunderstandings about the process of adding the new design.
My Understanding
the approach that we talked about last night will work like this:

new components will be designed and added to the project.
Fellows that implemented their features can drop their current design and use the new components instead. (they may have to change a few things since the new design has more info that needs to be filled in.)

What has been done?
Me and @ditsuke  have been working on the components and we currently designed two of them (total there are 6 that needs to be designed and the two components that are designed are not ready to be added to the website. they are just here for demonstration)

I've updated #45 with more detailed information on what is needed. TLDR: you should create the skeleton of the files and components needed for the new design.
Obs: This is very important, so try to get it done by EOD today!


Change in Title required

I think the title can be a more descpritive
TODO
It should be sandbox-pccoe-acm

Ok go forward with it


Percentage padding not updated when the parent size changes

Report
When a child has a percentage padding, it is initially correct in regard to the parent's size, but it is not updated in subsequent Yoga executions unless the child becomes dirty.
I am testing this with the Javascript Yoga npm package v2.0.1, but this may be an issue with the layout engine.

[x] I have searched existing issues and this is not a duplicate
I can't imagine this hasn't been reported, but I searched for issues with keywords "percent" and "percentage". This is the only issue of interest that I found, but I don't think it's related: https://github.com/facebook/yoga/issues/930

Issues and Steps to Reproduce
Here is some very basic code with console output to reproduce.
function percentPadding(yoga) {
    const config = yoga.Config.create();
    config.setPointScaleFactor(0);

    const parent = yoga.Node.createWithConfig(config);
    parent.setWidth(10);

    const child = yoga.Node.createWithConfig(config);
    child.setWidth(5);
    child.setPaddingPercent(Edge.Left, 50);

    parent.insertChild(child, 0);

    // On the first execution, the child's padding is as expected: 50% * 10 = 5.
    console.log("** Executing **");
    parent.calculateLayout(10, 10);
    console.log(`Child - padding left: ${child.getComputedPadding(Edge.Left)}`);

    // Now change the parent width to 5. The expected child padding is: 50% * 5 = 2.5.
    // However, we can see that the padding is still 5.
    parent.setWidth(5);
    console.log("** Executing **");
    parent.calculateLayout(10, 10);
    console.log(`Child - padding left: ${child.getComputedPadding(Edge.Left)}`);

    // If we make an arbitrary change, just to make the child dirty, the padding is now correct at 2.5
    child.setBorder(Edge.Top, 0);
    console.log("** Executing **");
    parent.calculateLayout(10, 10);
    console.log(`Child - padding left: ${child.getComputedPadding(Edge.Left)}`);
}

function main() {
    const yoga = await loadYoga();

    percentPadding(yoga);
}

Normally layout is reevaluated if available width/height constraints imposed by parent don’t change, and we’re laying out in same mode. But there have been plenty of bugs around here before.
The flex basis issue is a bit different because it has its own caching mechanism.

I confirmed the issue happens if the parent isn't the root. I have slightly modified snippet here:
function percentPadding(yoga) {
    const config = yoga.Config.create();
    config.setPointScaleFactor(0);

    const root = yoga.Node.createWithConfig(config);
    root.setWidth(10);

    const parent = yoga.Node.createWithConfig(config);
    parent.setWidth(10);

    const child = yoga.Node.createWithConfig(config);
    child.setWidth(5);
    child.setPaddingPercent(Edge.Left, 50);

    parent.insertChild(child, 0);
    root.insertChild(parent, 0);

    // On the first execution, the child's padding is as expected: 50% * 10 = 5.
    console.log("** Executing **");
    root.calculateLayout(10, 10);
    console.log(`Child - padding left: ${child.getComputedPadding(Edge.Left)}`);

    // Now change the parent width to 5. The expected child padding is: 50% * 5 = 2.5.
    // However, we can see that the padding is still 5.
    parent.setWidth(5);
    console.log("** Executing **");
    root.calculateLayout(10, 10);
    console.log(`Child - padding left: ${child.getComputedPadding(Edge.Left)}`);

    // If we make an arbitrary change, just to make the child dirty, the padding is now correct at 2.5
    child.setBorder(Edge.Top, 0);
    console.log("** Executing **");
    root.calculateLayout(10, 10);
    console.log(`Child - padding left: ${child.getComputedPadding(Edge.Left)}`);
}

function main() {
    const yoga = await loadYoga();

    percentPadding(yoga);
}

@NickGerleman I believe the "available space" and the size for percentage resolution aren't necessarily always the same. For example, you may wish to size a child under a max-content constraint (unconstrained) but still resolve percentages. e.g. when sizing the main axis of flexbox items the "available space" is infinite but percentages should still resolve against the parent size if it's definite.
I believe the cache key should contain (separately) both:

the sizing constraint in each axis (which will be either an exact size constraint or else an "available space" constraint (either a definite pixel value, min-content, max-content, etc))
The percentage resolution sizes in each axis

I was going to post that this is what Taffy does, but although we're storing two values in the cache key (https://github.com/DioxusLabs/taffy/blob/main/src/tree/cache.rs#L11) we're grouping the non-exact sizing constraint with the percentage resolution size rather than the exact sizing constraint which I think is wrong.


can't use big_numbers with a table

Introduction
When I use the big number component as in the example it works, but i created a table that has this formatting

It doesnt work
Additional context
The issue is : change_percent needs to be an integer, it would be cool if it could be a numeric value !

The issue comes from handlebars only accepting integer comparisons. I'm opening an issue upstream.

you're the man, thanks !

You can already have a string in value. But change_percent needs a number, in order to know whether to show the green or the red icon.

other topic on this component :

on mobile it displays weird (even worst on phone in portrait mode)

can we track this in a separate issue?


Add Example for Fairing Kaniko Cloud Builder

Issue #23 , if available:
Description of changes:
Currently, all our examples use DockerBuilder. We provide an option to utilize Fairing Kaniko Cloud Builder as well.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@PatrickXYS One last thing I forget to mention
Could you edit your commit? Seems you are using different computer, It would be good to track your changes using one github user.
One example to edit author is
git commit --amend --author="Jiaxin Shan<EMAIL_ADDRESS>--no-edit

@Jeffwan  Thank you for your suggestions! Currently, it's using one GitHub user


#2640 - PT CSGD Award Configuration change

Updated the part-time assessment bpmn to have the min of calculatedDataTotalRemainingNeed2 or the federalAwardCSGDAmount - programYearTotalPartTimeCSGD.

Since federalAwardCSGDAmount takes care of the dmnPartTimeAwardAllowableLimits.limitAwardCSGDAmount and the offeringWeeks multiplication on the previous step. It was removed here.
Also the test case

eligibility/parttime-assessment-2021-2022-eligibility-CSGD.e2e-spec.ts
eligibility/parttime-assessment-2022-2023-eligibility-CSGD.e2e-spec.ts
eligibility/parttime-assessment-2023-2024-eligibility-CSGD.e2e-spec.ts
which are returning null and failing was removed as the eligibility check is enough for its validity.

Existing tests cases where enhanced to test the federalAeardNetCSGD amount and the finalFederalAwardNetCSGDAmount.

Good job @guru-aot . Please have a look at the comments.


Annotation

Description of the new feature / enhancement
A vertical/horizontal menu containing annotations to draw shapes, write text, use pen, etc on any opened window
Scenario when this would be used?
To annotate on all kinds of file formats. It can be useful to add some quick notes whenever possible, especially during online meetings or presentations to prevent loss when a session ends or gets interrupted somehow.
Supporting information
No response

You can use Sysnternals ZoomIt to do this. It is a official Microsoft Application.
/dup #149


add is_enabled to rule attribute for a rule to be easily disabled

fix https://github.com/Yelp/elastalert/issues/1221
Let is_enabled be an attribute of rule, and disable a rule easily by setting is_enabled: False in a rule file.
Filter rules in three places:

when elastalert client starts, and it calls load_rules to initialize rules
when elastalert syncs rules, and it calls load_rules_changes to check current rules
when elastalert syncs rules, and it calls load_rules_changes to load newly added rules

:+1:

is there examples in docs for this?
i don't see it in the Yelp schema def:
https://github.com/Yelp/elastalert/blob/master/elastalert/schema.yaml


Terminate container before restarting

Codecov Report
Patch coverage: 100.00% and no project coverage change.

Comparison is base (e75102c) 19.54% compared to head (7a2bb6c) 19.54%.
Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #692   +/-   ##
=======================================
  Coverage   19.54%   19.54%
=======================================
  Files          24       24
  Lines        3050     3050
=======================================
  Hits          596      596
  Misses       2389     2389
  Partials       65       65

Files Changed
Coverage Δ

docker/test_env/geth.go
70.24% <100.00%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


New tests

Added tests for doc and new_version

The commits from the first PR are present in this one because the first one was squashed into one commit before merging. @robooo you need to resync your master branch with upstream (and ideally use a separate branch for PRs). You can do it as follows:

git reset --hard 24fa7d2 - reset your master branch to just before your first commit of the first PR.
git pull --rebase upstream master - sync with main repo master branch.
git checkout -b new-tests - create a new branch for this PR (optional but a good practise).
git cherry-pick f2f5c60 && git cherry-pick 2c4951a && git cherry-pick 5ada7bf - pull in your new commits from this PR.


Reformat and keep with ci

There's still some warnings though:
  --> tests/7zip_compatiblity_test.rs:45:9
   |
45 |     let mut temp_dir = TempDir::new().unwrap();
   |         ----^^^^^^^^
   |         |
   |         help: remove this `mut`
   |
   = note: `#[warn(unused_mut)]` on by default

warning: variable does not need to be mutable
  --> tests/7zip_compatiblity_test.rs:55:9
   |
55 |     let mut seven_zip_process = Command::new(seven_zip)
   |         ----^^^^^^^^^^^^^^^^^
   |         |
   |         help: remove this `mut`

Thank you for quick reviewing again.


Investigate Multiplexer

Looks like someone went to town on soldering this, and soldered everything together onto a single track. Anyone know anything about this? Primarily, does it still work?

Also, link to product page, with some nice information on usage: https://www.pololu.com/product/721

yea, the ground and power lines should be shorted together to give a common ground. It worked last time I saw it!

I'll desolder all the pins and give it a test then!

I'd really suggest not doing that! Desoldering that would be virtually impossible. Just test it without taking of the veroboard.

Argh, so much conflicting information! That's not a bad thing necessarily, though.
I forget who said it, but someone working on Kitty with us yesterday suggested we desoldered it so we could see if it was working, but that it would be very difficult to do.
I'll give it a test, then pawn the decision of desoldering off to someone more experienced, then create a separate issue to go from there. Probably leave this one going in case we need to go an alternative route.
That sounds like a better plan to me, at least.

the soldering station in the dsl has a solder pump/iron attachment, if it still works it should make short work of desoldering the pins.

Danyc0 are all the pins connecting to the veriboard ground and power? All 13pins on both rows are soldered together (which can't be seen well here)

I'm not entirely sure what you mean, but all 13 grounds should be connected together

Why does someone want to desolder it anyway?

There are 13 grounds?

We wanted to desolder it because it looked like someone soldered everything together when it wasn't meant to be. Is there any documentation anywhere about this?

So each set of three pins is designed to go to a different servo connector(not necessarily a servo, but a servo connector, for example those found on the RC modules). So one row is always ground, and should be common. IIRC this is the only common ground between the servos and the computers. The multiplexor is powered off the 5v power out from the sail which, and then the RC module is powered off the multiplexor (it has to be like that for the winch to work properly).
The ground out of the winch is connected to the multiplexor, and so is the ground from the arduino, which is how we get the common ground.
The rudder servo should not be powered off the multiplexor, it should be powered from the same place as the winch, directly off the battery. Therefore the only power connections to the multiplexor are:
5v Power in from the winch to the multiplexor
Power out to the RC
and therefore it's OK for them to all be connected together.
The data lines should NOT all be connected together, they are as follows:
Data in from the RC (Sail)
Data in from the RC (Rudder)
Data in from the RC (Switch). This is channel 5 and is used to switch between RC and Arduino control. It defaults to arduino control is no signal is detected (e.g RC remote is off or out of range)
Data in from the Arduino (Sail)
Data in from the Arduino (Rudder)
Data out to the winch
Data out to the rudder servo
See the online docs for the multiplexor for more info. Specifically on the importance of the jumper wire, and the difference between master and slave.

The common ground is vitally important to get the arduino controlling the servos

Here is an image of the soldering atop the veriboard. Hopefully you lot can make some more informed decisions from it.

I've given it a clean. There's no connection between the two rows, so definitely deliberate.

Yea that's fine, it's just the ground and 5v lines which are joined. It's the 3rd row which shouldn't be joined


Question: dask array indexing + replacing values

Thank you all for all you do with xarray, it is incredibly helpful.
I have a question and am a relatively new user so please correct me if I am misunderstanding concepts below:
Currently, I want to replace the dask array values for a dataset variable in a dimension (u) with values of another data array of appropriate shape:
random_diff.diffs.values[u,:,:] = temp_diff
But believe that the dataset dask array is being loaded into memory when I do above -- which is in a loop where my max u is 20,000 -- so this takes some time since it seems to be reloading with every u.
I have tried to concat the values into a new dataset instead of replacing, but it gets slowed down as u grows in size. update is a dataset method and don't quite understand how/if that would help here.
My current solution is to convert the dask array values into regular numpy arrays and then do the index value updating loop. Is there a way to do this that I am not familiar with and without having to load the numpy array into memory?
Here is an example of what I would like to do:
diffs = np.zeros((self.n_samples, init_data_to_file.shape[1], init_data_to_file.shape[2]))
random_diff = xr.Dataset({'diffs': (['time','x','y'], diffs)})
for u in xrange(self.n_samples):
    ...computations...
    random_diff.diffs.values[u,:,:] = temp_diff
Here is what I am currently doing:
data_to_file = np.asarray(init_data_to_file)
diffs = np.zeros((self.n_samples, data_to_file.shape[1], data_to_file.shape[2]))
for u in xrange(self.n_samples):
...computations...
diffs[u,:,:] = temp_diff

Indeed, you can't update the values of dask arrays with indexing.
Try dask.array.stack() (or xarray.concat on xarray objects) for a way to stack a list of dask arrays into a new dask array, e.g., dask.array.stack(self.n_samples * [temp_diff], axis=0), supposing you've constructed temp_diff as a dask array.

Will try them out -- Thank you very much for your suggestions.


generate_abstract crash

Describe the bug
unzip generate_abstract.zip
$ ./run-me-CSRFile-asap7-base.sh
OpenROAD v2.0-10698-g5f38dd68b
This program is licensed under the BSD-3 license. See the LICENSE file for details.
Components of this program may be licensed under more restrictive licenses which must be honored.
Starting generation of abstract views
Signal 11 received
Stack trace:
 0# 0x000055ADCFEC5723 in openroad
 1# 0x00007FB11F63C460 in /lib/x86_64-linux-gnu/libc.so.6
 2# sta::ClkSkews::findClkDelays(sta::Clock const*, sta::MinMaxValues<float> (&) [2][2]) in openroad
 3# sta::MakeTimingModel::findClkInsertionDelays() in openroad
 4# sta::MakeTimingModel::makeTimingModel() in openroad
 5# sta::makeTimingModel(char const*, char const*, char const*, sta::Corner const*, sta::Sta*) in openroad
 6# sta::Sta::writeTimingModel(char const*, char const*, char const*, sta::Corner const*) in openroad
 7# 0x000055ADD00A6806 in openroad
 8# TclNRRunCallbacks in /lib/x86_64-linux-gnu/libtcl8.6.so
 9# 0x00007FB123DB3C43 in /lib/x86_64-linux-gnu/libtcl8.6.so
10# Tcl_EvalEx in /lib/x86_64-linux-gnu/libtcl8.6.so
11# Tcl_Eval in /lib/x86_64-linux-gnu/libtcl8.6.so
12# sta::sourceTclFile(char const*, bool, bool, Tcl_Interp*) in openroad
13# ord::tclAppInit(Tcl_Interp*) in openroad
14# Tcl_MainEx in /lib/x86_64-linux-gnu/libtcl8.6.so
15# main in openroad
16# 0x00007FB11F623A90 in /lib/x86_64-linux-gnu/libc.so.6
17# __libc_start_main in /lib/x86_64-linux-gnu/libc.so.6
18# _start in openroad
./run-me-CSRFile-asap7-base.sh: line 7: 563863 Segmentation fault      (core dumped) openroad -no_init ${SCRIPTS_DIR}/generate_abstract.tcl

Expected Behavior
No crash
Environment
OpenROAD v2.0-10698-g5f38dd68b

To Reproduce
See above
Relevant log output
No response
Screenshots
No response
Additional Context
No response

I'll pass along the crash but the trigger seems to be that you have a signal io_ungated_clock that is used to control FF (eg 14268/CLK) but is not a clock in your SDC.

check_setup shows:
Warning: There are 65 unclocked register/latch pins.
Warning: There are 232 unconstrained endpoints.


Relative Activity

My system (windows 10) is getting a 404 error for all of the links in the relative activity section. As far as I can tell, the others seem to work fine.

Average response has the 404 error as well.

That's very strange, could you confirm which release you used during the pip install?
If it wasn't milestone3-v1, please try again with the updated installation instructions.


NEST 2.0.0-Alpha 1: Using the GetDescriptor

Hi,
I'm having a bit of an issue understanding the usage of the GetDescriptor
Usecase: None of our ES types have domain models. We have one generic model that we use for everything (JsonObject, basically a Dict), so we're not using any of the typed features in NEST.
Now I want to get the document at /test/stuff/1
Doing the following works fine, but feels a bit wonky:
var document = new DocumentPath<JsonObject>("1");
var getDescr = new GetDescriptor<JsonObject>(document)
    .Index("test")
    .Type("stuff");

var res = client.Get<JsonObject>(getDescr);

Then, by accident, I found out that the following works:
var getDescr = new GetDescriptor<JsonObject>(new Id("1"))
    .Index("test")
    .Type("stuff");
var res = client.Get<JsonObject>(getDescr);

Looking at the signature of GetDescriptor it doesn't look like that's a valid use on a quick glance, but it works, and is kind of what I expected. This could maybe have been better highlighted in the signature of GetDescriptor. And if it is a bug that it works, please make it into a feature :)

The typical signatures are:
//fluent
.Get<Project>(1, g => g.Index("testindex").Type("typeindex"))
//object initializer
var doc = new DocumentPath<Project>(1).Index("testindex").Type("typeindex");
.Get<Project>(new GetRequest<Project>(doc))
.Get<Project>(new GetRequest<Project>("testindex", "typeindex", 1))

Both the examples you gave are valid but a bit more involved. Id and DocumentPath can be implicitly converted to.


how warpd porting goes?

warpd issue

It is worth noting that warpd is currently in maintenance mode, and efforts are being directed towards porting most of its useful functionality to keyd,

I canot see any functionality warpd have in keyd.

I've admittedly not devoted as much time to this as I should like, due to a few pressing personal matters, but it is high on my list for 2024 :P.

@rvaiya I saw your comment on the warpd GitHub repository saying that keyd will have something similar to warpd's hint mode "using lower level input primitives." Does this mean that it will work regardless of which Wayland compositor you're using? I'm asking because KDE Plasma doesn't support the virtual pointer protocol.


Disable checking of sum of proceeds with net 1099B proceeds to allow for wash sale.

There is this concept of wash loss which changes net proceeds which constitute your taxable income. I have a wash loss so in my case, so net proceeds in 1099B is different from the sum of proceeds you calculate by adding up individual rows. Kindly disable the check that you do and return false if the sum doesn't match in inject.js

Hi Jiahao, I urge to kindly incorporate this else I'll have to type in all 60+ transactions manually :<

Oh, sure! I am fixing it right now. I gonna some work to do yesterday

I have fixed it and re-uploaded the extension. It should be effective within an hour.
Sorry for the AMD though. I am not sure if you still have any, but I do have a large load of that now. still a believer.

Haha, just got in a big chunk now, def feel it's undervalued. Big believer
in both it and NVDA.
Thanks & Regards,
Anmol Mohanty,
UW-Madison CS MS (2016)
MyWebsite http://pages.cs.wisc.edu/~amohanty/
On Thu, Apr 6, 2017 at 12:46 PM, Shawn Shan<EMAIL_ADDRESS>wrote:

I have fixed it and re-uploaded the extension. It should be effective
within an hour.
Sorry for the AMD though. I am not sure if you still have any, but I do
have a large load of that now. still a believer.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/JiahaoShan/Glacier-tax-1099-B-Stock-Transactions-Helper/issues/4#issuecomment-292293329,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIvCJW_Ckt2IWqPWkZQZRjIUESTx1yTZks5rtUEcgaJpZM4Mz3x2
.

Let me know if the extension works for you. If it does, you may close the issue.
Good luck to both of us.

Hi, it is still not working unfortunately. This is what I get on my page (screenshot attached as well. For some reason the return true isn't working it looks like.
Error code-Total proceeds in the input file doesn't match the total proceeds in the 1099.

You may need to manually update the extension.

Yeah reinstalling fixed it. I should have updated you. One thing though it
did automatically populate 4 transactions , rest of the the transactions I
had to press add on glacier per row. Something we can look into I imagine
Anmol Mohanty
MS CS UW-MADISON(2016)
IIMA(dropped)
QUALCOMM(2014)
IITKGP(2013)
On Apr 6, 2017 18:49, "Shawn Shan"<EMAIL_ADDRESS>wrote:

You may need to manually update the extension.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/JiahaoShan/Glacier-tax-1099-B-Stock-Transactions-Helper/issues/4#issuecomment-292395998,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIvCJeTI0othLDlnYKTysyPIG-aLY6Ntks5rtZY-gaJpZM4Mz3x2
.

I am so sorry for all these hassle. This is so uncool. I think issue #2 had a similar issue, but I cannot figure it out due to the limited test data. Could you make a pull request to help me fix it? I guess it should be a straightforward fix, which is that the jQuery cannot find the element containing the "Add a transaction"

Hi Shawn, don't worry about it at all. I will certainly try and fix it.
Meanwhile I had a question about the tax returns(1040NR) in general through
Glacier. Glacier seems to have put my capitals gains under this heading:-
"Schedule NEC—Tax on Income Not Effectively Connected With a U.S. Trade or
Business"
This appears at the end of the form. I was expecting line 14 to get filled

("Capital gain or (loss). Attach Schedule D (Form 1040) if required. If
not required, check here")"

but that has remained empty for me. This is weird as the businesses are US
ones. Could you check how your 1040NR looks like please?
--Anmol
Thanks & Regards,
Anmol Mohanty,
UW-Madison CS MS (2016)
MyWebsite http://pages.cs.wisc.edu/~amohanty/
On Fri, Apr 7, 2017 at 7:24 AM, Shawn Shan<EMAIL_ADDRESS>wrote:

I am so sorry for all these hassle. This is so uncool. I think issue #2
https://github.com/JiahaoShan/Glacier-tax-1099-B-Stock-Transactions-Helper/issues/2
had a similar issue, but I cannot figure it out due to the limited test
data. Could you make a pull request to help me fix it? I guess it should be
a straightforward fix, which is that the jQuery cannot find the element
containing the "Add a transaction"
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/JiahaoShan/Glacier-tax-1099-B-Stock-Transactions-Helper/issues/4#issuecomment-292550616,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIvCJXx97ncwKHy42cBvXS7B92wQMpkaks5rtkcEgaJpZM4Mz3x2
.

The line 14 is blank for me too.  For the record, I don't know any more tax issues than you do, but I think you may just leave it like what it was generated. It should be fine.
Try: https://www.irs.gov/instructions/i1040nr/ch02.html#d0e2080
And: https://www.irs.gov/publications/p519/ch04.html#en_US_2016_publink1000222305

Hi,
@anmolnehru , @JiahaoShan , I am filing for Robinhood this year. Does this plugin still work? If yes, how do I take care of wash sale losses disallowed? I emailed GTP and they said that they don't support wash sale loss. Can you please help me in this? I am a non-resident alien for tax purposes.
Thanks,
Debangan

@Ddey07 I don't have access to Glacier anymore therefore cannot really maintain this repo/plugin. I am not a CPA so that I would suggest you to contact the tax professional in your school or local tax preparation company such as HR Block may provide paid service. Good luck.


SHAP values for single feature are all of one sign

Hello! Thanks for the great tool!
I have a question about the distribution of SHAP values for a single feature. The plot below shows that for the top feature, all SHAP values are of one sign (negative, in this case).
Some questions:
(a) Does a set of uniformly positive/negative values for a single feature even make sense, or is there some issue here in the way the baseline is being calculated? (E.g. we are calculating SHAP values for only a subset of our test set, as mentioned below.)
(b) If it does make sense, is the interpretation then that adding this feature to the model always reduces the model output — i.e. probability of positive class — regardless of the value of the feature?
I'm using a random forest model, and the values plotted here are for a holdout set of data. The explainer was instantiated just with the background data inferred from the RF model.

Sorry for the slow reply. That is odd to see only negative values for the top feature. It likely implies that the dataset you are explaining has a very different distribution for that feature than was in the training dataset. I would check and make sure that it indeed the case.

Hi Slundberg,
We have created a decision tree model and calculated shap values of features. We understand that shap_values return a list of matrix of shapely values for each output. We wanted to understand in depth that how these values are being calculated/assigned to different features & observations. Is there any documentation on the same?
Thanks in advance
Ankit Bhatia

Hi @vdrao and @slundberg -- I'm seeing the exact same issue as described by @vdrao above, see the summary plot screenshot below.  I am using a 10% sample of my training data (around 15k observations) to visualize the shap values for a binary prediction problem.
I did verify that the distribution for the problematic feature is identical to that of the larger training dataset.  Any additional insight into why this might be happening?
A bit more info:
Let y be the target variable and z be the feature in question. z is a binary variable with low prevalence P(z = 1) = 0.018.  However,

P(y = 1 | z = 1) = 0.96
P(y = 1 | z = 0) = 0.37
P(y = 1 ) = 0.38

Thanks in advance for any help!
screenshot of summary plot:

@jhwetstone is it possible to share an example notebook? If the feature is almost always 0 then observing 0 should have little impact.

@slundberg Unfortunately, this model is trained on a private dataset that I can't share -- what would you be looking for in the notebook? Is there any additional info that I can give you that would help you diagnose?

btw @slundberg just thought I should pop in, say hey, and mention that the dataset @jhwetstone is looking at is an Upstart dataset -- as unlikely as it seems based on our phone conversation, I'll shamelessly plug that we're still hiring if you decide to leave Seattle :)

Likely reason for this plot is that dataset contains missing values or xgboost replaces zeroes to missing value.

I had the same problem, then figured out that I had scaled my features before training and was plotting the graph on un-scaled features.

Thanks so much @Onuchin-Artem -- that was 100% it. The model was trained on a sparse version of the training data, so the binary feature I was describing above had 0's replaced with missing values, and likely all tree splits were based on whether or not the feature was present.  But I ran shap on a dense sample of the training data, so the values were 0/1 again, explaining the bizarre behavior!
Just re-trained the model on a dense version of the training data, and problems are resolved :)


Configuration Bug with Missing C Interface Adapter

Hi Stuart, Roger,
I noticed that DTK failed to build last night in my nightly Trilinos build.  Here is the error:
-- Trilinos_NUM_TPLS='104'
Processing Project, Repository, and Package dependency files and building internal dependencies graph ...
CMake Error at cmake/tribits/core/package_arch/TribitsAdjustPackageEnables.cmake:141 (MESSAGE):
Error, the package 'DataTransferKitC_API' is listed as a dependency of the
package 'DataTransferKitSTKMeshAdapters' is in the list
'DataTransferKitSTKMeshAdapters_TEST_REQUIRED_DEP_PACKAGES' but the package
'DataTransferKitC_API' is either not defined or is listed later in the
package order.  Check the spelling of 'DataTransferKitC_API' or see how it
is listed in Trilinos_PACKAGES_AND_DIRS_AND_CLASSIFICATIONS in relationship
to 'DataTransferKitSTKMeshAdapters'.
Call Stack (most recent call first):
cmake/tribits/core/package_arch/TribitsAdjustPackageEnables.cmake:242 (TRIBITS_ABORT_ON_MISSING_PACKAGE)
cmake/tribits/core/package_arch/TribitsAdjustPackageEnables.cmake:554 (TRIBITS_APPEND_FORWARD_DEP_PACKAGES)
cmake/tribits/core/package_arch/TribitsAdjustPackageEnables.cmake:736 (TRIBITS_PROCESS_PACKAGE_DEPENDENCIES_LISTS)
cmake/tribits/core/package_arch/TribitsAdjustPackageEnables.cmake:766 (TRIBITS_READ_SUBPACKAGE_DEPENDENCIES)
cmake/tribits/core/package_arch/TribitsAdjustPackageEnables.cmake:872 (TRIBITS_READ_ALL_PACKAGE_SUBPACKAGE_DEPENDENCIES)
cmake/tribits/core/package_arch/TribitsAdjustPackageEnables.cmake:995 (TRIBITS_READ_PACKAGE_DEPENDENCIES)
cmake/tribits/core/package_arch/TribitsGlobalMacros.cmake:1393 (TRIBITS_READ_ALL_PACKAGE_DEPENDENCIES)
cmake/tribits/core/package_arch/TribitsProjectImpl.cmake:160 (TRIBITS_READ_PACKAGES_PROCESS_DEPENDENCIES_WRITE_XML)
cmake/tribits/core/package_arch/TribitsProject.cmake:93 (TRIBITS_PROJECT_IMPL)
CMakeLists.txt:93 (TRIBITS_PROJECT)
-- Configuring incomplete, errors occurred!
Does DTK have some new dependencies, so that my cmake script will need additional -D flags?  Currently here is what I am using for DTK:
-D Trilinos_EXTRA_REPOSITORIES="DataTransferKit"
-D Trilinos_ENABLE_DataTransferKit:BOOL=ON
-D DataTransferKit_ENABLE_DBC:BOOL=ON
-D DataTransferKit_ENABLE_TESTS:BOOL=ON
-D DataTransferKit_ENABLE_EXAMPLES:BOOL=ON
-D TPL_ENABLE_MOAB:BOOL=OFF
-D TPL_ENABLE_Libmesh:BOOL=OFF \
Thanks,
Irina

Looks like C adapters are required by the STK tests. Shouldn't this automatically get turned on then?

ok the packages in cmake/Dependencies is out of order so it won't automatically get turned on

Here is the full configure and output
trilinos_cmake.txt
do-cmake-trilinos-mpi-tpetra-no-scorec-1.txt

Fixed with merge of #109


Change 'global' to 'Global'

When trying to run npm start I continuously got the error:
'global' does not match the corresponding path on disk Global
I tried using
npm install --save-dev case-sensitive-paths-webpack-plugin
But it wouldn't consistently solve the problem.
Instead I just found all references to global and switched them over to Global and it fixed the issue without having to install another package.
Thanks for making this project public!

 Thank you so much for fixing the error.


Design doc for path policy support in path lookup

Specify how the design of path lookups with path policies should look like.
This should include:

API design of sciond and PS.
How and what filtering is done at sciond & PS.

Fixed by #2839


Add management command to change config values

@boehlke Do you want to use such a command during install OpenSlides into your containers?

@normanjaeckel Yes! This might be a better solution than the one I was thinking of. Can you implement this in the next days? Otherwise please assign the issue to me.

@boehlke All done. You can test it.


Tag releases

Hi,
can you please use the tag function of git/github to tag new releases? This would make it much easier for PKGBUILDs to download the correct version from github. Thanks :)
@mnooner256

It would also help tracking new releases, given that pypi doesn't support RSS feeds.

new releases

:joy: :wink:


Muscle software version incompatibility

Hello! I got the following error when running the software:
Invalid command line Unknown option clw
Turns out muscle has released a new version (5.1) where the -clw CL argument has been removed. Solved by reinstalling an older version of muscle (3.8.1551 available through conda). Can be avoided by specifying the muscle version during environment creation and package installation:
conda create -y -n NLGenomeSweeper -c bioconda -c conda-forge \
    python=3.6 blast muscle=3.8.1551 samtools bedtools hmmer transdecoder openjdk

Thanks! I've updated the README to include that info.


Fix for ember-bootstrap v5.1

Was throwing with Assertion Failed: <PowerSelect> requires an `@onChange` function as the components still referred to properties on this that don't exist anymore since https://github.com/kaliber5/ember-bootstrap/pull/1772. See failing CI

@jelhan Fyi. I'll merge right away once CI passes, as I'm blocked on this.

Thanks a lot for taking care of this one! Seems as if the test coverage is very low if it hasn't been catched in CI. :disappointed:

Seems as if the test coverage is very low if it hasn't been catched in CI.

It has, see the link in my first comment!
It was just that e-b 5.1 introduced "breaking" (breaking for our "privileged addons that still have to extend from components, not breaking for anyone not extending) changes, which we already fixed for the other form-integration addons, but not yet here.


Added support for Symfony 5000 iterations of sha512 plus base64 encod…

I want to merge this change because I want to add support for extra hashing algorithms to support password customer migration.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Diego Rasero seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

@Dieg0x17 Before merging you need to make sure that the Pytest CI workflow approves this PR.
Currently, there are some errors in linters.  Those errors could be checked locally before committing changes with pre-commit.
You can also run pre-commit run --all command to run liners on all files.

@Dieg0x17 you also have to sign the Contributor License Agreement for us to be able to merge the code 🙌 Instructions are in the first comment in the PR.


Provide images with rustup / cargo installed

We can, before https://github.com/cross-rs/cross/blob/19be83481fd3e50ea103d800d72e0f8eddb1c90c/.github/workflows/ci.yml#L242
also tag and publish an image which has rustup installed, this would help the use case of just wanting an image with cross-compilation tools + rust installed.
related to #1187

A significant problem with this might be the creation of an excessive number of new dockerfiles. Then again, maybe it could be done programatically somehow.

How does:
FROM ghcr.io/cross-rs/{{ARCH}}-unknown-linux-musl:edge

ENV PATH="/root/.cargo/bin:$PATH"

RUN curl -fsSL https://sh.rustup.rs | bash -s -- -y --profile minimal
RUN rustup target add {{ARCH}}-unknown-linux-musl

look?

Actually, that won't work. Some platforms have target triples, others have target quadruples.

 Instead we could just use a build-arg approach.
ARG CROSS_IMAGE
ARG TARGET
FROM CROSS_IMAGE
ENV PATH="/root/.cargo/bin:$PATH"
RUN curl -fsSL https://sh.rustup.rs/ | bash -s -- -y --profile minimal
RUN rustup target add $TARGET

and then invoke it like docker build buildx -f Dockerfile.cross-with-cargo --build-arg CROSS_IMAGE="<image>" --build-arg TARGET="<target>"
hcl would probably be the best solution coupled with https://github.com/cross-rs/cross/pull/849 however

That was what my comment originally was, and is what I'm currently using for cross-cargo. I just laser-focused on that for some reason LOL!
Is there already a list of supported targets that could be read from to generate the ARGs?

All targets built with ci lives in https://github.com/cross-rs/cross/blob/main/targets.toml, and if integrated in this repos CI the target name would already exist in ${{ matrix.target }}

or here also: https://github.com/cross-rs/cross/blob/main/src/docker/provided_images.rs


Require one of a few possible values?

Is is possible to match something like this, all in one URLPattern?
a/(b|c|d)/:var

In short, the path must contain exactly one of b, c, or d before the variable portion of the path. I read over the docs / test cases and didn't see anything like this, but apologies if I missed it!

I tend to think overloading the pattern syntax with too many options and a lot more sugar is not what a library like this needs. In my routing library which uses url-pattern, I just provide a callback after matching where you can apply any extra matching logic you need on the matched terms. You can never account for every possibility a user might want so at a certain point its best to just let them write code and/or allow regexes.

closing this since i agree with @chucksellick's previous comment


MD - Send Errors Investigation

The last mile problems showed that several files for MD failed to deliver due to a send-error issue.
Checking with MD to understand if there is a known issue on their side, and if they need us to terminate the secondary feed.
Attached list of failures:

https://app.zenhub.com/files/304423150/7eb6f068-3cb1-4c20-abb0-86830c715cdd/download

5/5/: Checked with MD again for updates

Kristy Lunquest requested that we resend these files @anshulkumar-usds

@jorg3lopez do you have capacity to work on this? Assigning to you for now.

Jorge is going to work on this now and then move back to Washington resends. @jorg3lopez

@anshulkumar-usds @Adrian-Brewster All messages have been resent to MD. (05-12-2022)
file names:
covid-19-20220430051543-4075e341-ca98-4514-bc8e-d57de2460ec0-secondary
covid-19-20220430111513-db3b37d9-1b04-44a6-b0bd-001fe9a254fa-secondary
covid-19-20220501111527-8c726598-c83b-47e7-b8d9-ed71dca51469-secondary
covid-19-20220501131548-d2fa10a9-1373-4c87-b88e-658ec947217c-secondary
covid-19-d9f94e33-b75e-4d8f-b195-0fb43cbfc00a-20220501131546

5/13: MD notified; awaiting confirmation


Voyager "File" types get deleted for "text" sql type

Version information

Laravel: v5.7
Voyager: v1.2.2
PHP: 7.1.3
MySQL: 5.6.41-84.1
Database: [type] [version] (e.g. MySQL 8.0)

Description:
Creating BREAD and using SQL type "text" with a voyager "file" type causes an issue where the previously saved upload file will be erased if any edits on the data are saved. This causes issues with mysql < 5.7 as json types don't exist (gatorhost servers)
To re-create:
Define a database table, with a columns:
"title" as "varchar"
"brochure" as "text" (json type not avail in mysql < 5.7) (gatorhost)
Add BREAD and define the BREAD type "brochure" as "File". Save.
Add an item to your new bread including a file.
Save.
Re-edit bread item, edit "title" only. Save.
Previously saved file updates as "[]"
Fix:
vendor/tcg/voyager/src/Http/Controllers/ContentTypes/File.php
line 16: return null instead of json_encode([]);
if (!$this->request->hasFile($this->row->field)) {             return null; }

Same probleme on Laravel 5.8 and Voyager 1.2.2
Thanks for your code, work fine ;)

Fixes should be submitted as pull requests, or with an explicit request that someone else submit the PR if you don't feel experienced enough to do so yourself.  Otherwise we'll just wait for you to submit it and it'lll get lost/forgotten about.

PR #4156
thank you ryanm352 again


Missing icons and font for the default ozone theme in the Ubuntu PPA build

Ubuntu 22.04 stable PPA repo (retroarch 1.15.0)

$ sudo add-apt-repository ppa:libretro/stable && sudo apt-get update && sudo apt-get install retroarch # from https://www.retroarch.com/index.php?page=linux-instructions
$ sudo apt-cache show retroarch-assets
[sudo] password for x:
Package: retroarch-assets
Architecture: all
Version: 1.4.1+git20170209+dfsg1-1
Priority: optional
Section: universe/otherosfs
Origin: Ubuntu
Maintainer: Ubuntu Developers<EMAIL_ADDRESS>Original-Maintainer: Debian Games Team<EMAIL_ADDRESS>Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 44074
Depends: fonts-roboto | fonts-roboto-hinted, fonts-mplus
Filename: pool/universe/r/retroarch-assets/retroarch-assets_1.4.1+git20170209+dfsg1-1_all.deb
Size: 28925940
MD5sum: 3382a94c71e564870ee7c074f88d3ef9
SHA1: 62f70061a5300abdeb426021c90e78bf86ff49a7
SHA256: 9e0ad7f6c80947f4378c55ed5f4b0d4a28b6446d76a84e12ae2eee8709f89e63
SHA512: 2c8daaa04a563c668c3bc1e2384e1e97e3db67ec2ff1c151ad2846f2a86a8e31afa8a22f74ff2607110893de8b7bad99c5beab7145b87ade20fe4b0b5f0e6b9f
Homepage: http://www.libretro.com
Description-en: RetroArch assets for XMB, GLUI and Zarch
 This package installs RetroArch assets for XMB, GLUI and Zarch menu drivers.
Description-md5: 302d4dcf7f3e672e6e5376eedd5650ac

Unfortunately, there's not much we are able to do for you directly on this repository.  Our responsibility is over the UX elements such as icons and wallpaper.  There is very little code here at this time, mostly scripts that convert icons to different formats.
We have no control over how platform-specific builds are using the assets, as the maintainers are responsible for implementing what is added. For example, the Vita version requires you to download and install the assets separately from the main install, while the Windows or macOS versions include a complete set.

Unfortunately, there's not much we are able to do for you directly on this repository. Our responsibility is over the UX elements such as icons and wallpaper. There is very little code here at this time, mostly scripts that convert icons to different formats.
We have no control over how platform-specific builds are using the assets, as the maintainers are responsible for implementing what is added. For example, the Vita version requires you to download and install the assets separately from the main install, while the Windows or macOS versions include a complete set.

Normally I would not have filed an issue here, but I was curious about the outcome.


Contributing to chainer-compiler

Hi @shinh
I have built chainer-compiler from source and have been going through the code base. I would like to contribute but needed some directions to start.
For adding Chainer Functions support ( like Issue #67 ), should the workflow first include adding the support for the function in onnx-chainer ( like PR chainer/onnx-chainer#44) using ops provided by ONNX  or can they be implemented as done in PR #62 ?
Moreover, I am also interested in working with the Python AST for ch2o and elichika. Could you please suggest some basic feature improvements that I could try working on to get an idea about it?

Thanks for offering help! Honestly, I'm not sure we are ready to accept contributions, but let me try suggesting some good first tasks.
I think the current ONNX does not have F.shift mentioned in #67 and the process will be somewhat involved. As the first op, it'd be probably better to start with an ONNX standard op which has the standard test. Looking at the ONNX's operators (https://github.com/onnx/onnx/blob/master/docs/Operators.md), I guess followings could be a good candiates:

HardSigmoid
IsNaN: (note perhaps it's better to support new attributes proposed in: https://github.com/onnx/onnx/pull/1884)
Tile

As for HardSigmoid, I think this op can be implemented by other ONNX ops. For such cases, I'm trying to use compiler/simplifier.cc to keep the backend implementation simple. 7505e17c23ea7a3e069aaef2e3058d26df20f089 could be a good example.
As for the latter two ops, I think you need to define new XCVM ops and call ChainerX ops in the backend implementation. See 2cc5b433898f8828082cf631ef673a9c1fba6eab for an example.
As for CH2O/elichika: since we're thinking of switching to elichika from CH2O, we'd like more ops support in elichika. The process would be something like

Copy a file from ch2o/tests/node to elichika/tests/node (e.g., Sigmoid.py)
Modify the test and scripts/elichika_tests.py
Modify elichika/elichika/chainer2onnx.py and elichika/elichika/parser/functions_builtin.py until the new test passes.

However, currently, adding a new op is as simple as CH2O. I'm guessing we need to refactor how operator emitters are implemented in future, so I'm not very sure if adding new ops to elichika with the current interface is a great idea. @durswd, please correct me if I'm wrong.

Thanks for the detailed information! I will start with the ops you mentioned.
Also, I was just wondering, is onnx-chainer not involved in any part of the process of supporting new operations?

Sorry I forgot mentioning onnx-chainer. C++ chainer-compiler is an ONNX importer while onnx-chainer, CH2O, and elichika are ONNX exporters. For end-to-end user experience (export chainer model as an ONNX file and run it by chainer-compiler), adding new ops to onnx-chainer is important. So contributions are welcome. As you mentioned, https://github.com/chainer/onnx-chainer/pull/44 will be a good example, though API was changed a bit since then. However, I'm not sure if there is a good easy op to be implemented. ONNX-chainer has a longer history than this project and it's coverage is fairly good. FYI, Where op, which was recently added to ONNX, is missing (https://github.com/chainer/onnx-chainer/pull/24) but I think @disktnk is working on it now.
From perspective of C++ chainer-compiler, when you add support of an op, we need a test ONNX model which contains the op. The easiest way is to use ONNX's standard tests. For three ops I mentioned, ONNX has test cases (https://github.com/onnx/onnx/tree/master/onnx/backend/test/data/node/test_hardsigmoid). You can find it in third_party/onnx/onnx/backend/test/data/node/test_hardsigmoid in your cloned repository. When there is no ONNX's standard testcase (e.g., non-standard ops) or it's coverage is not 100% (e.g., backprop), we need to generate tests by ourselves. For such case, we use scripts/gen_backprop_tests_oc.py (onnx-chainer based test generator), scripts/gen_backprop_tests_pc.py (ch2o based test generator), or scripts/gen_extra_tests.py.

Hi @shinh
This makes things much more clear! I still have one more question though.
Since ch2o is an ONNX importer, from what I have understood, I think that the func.py file contains a mapping from Chainer functions to ONNX ops. While it seems straightforward to implement those functions which have a similar counterpart in ONNX ops (such as F.expand_dims -> unsqueeze), I couldn't comprehend ONNX op names such as 'ChainerSequenceStack' or 'ChainerResizeImages' and how they are themselves defined.

We added some custom ops to ONNX. I think they are either

sequence related (to handle Python's list)
gradient related (ONNX does not have MaxPoolGrad  for example)
ops missing in ONNX (e.g., ROIAverageAlign2D)

I think we should/want to propose some ops in the category 3, but unfortunately, we haven't done yet :(
Though there's no documentation about these custom ops, here is the list: https://github.com/pfnet-research/chainer-compiler/blob/master/compiler/gen_node.py#L212
Also, note other vendors have some custom ops (e.g., https://github.com/Microsoft/onnxruntime/blob/master/docs/ContribOperators.md).

@vermashresth Please let me hijack this issue to make sure information is not scattered.
Questions from Rishav:

I need some starting pointers for understanding the experimental chainer compiler, like where to start from and what major libraries I need to be familiar with.

I think the former question is mostly answered in https://github.com/pfnet-research/chainer-compiler/issues/101#issuecomment-478423823
As for major libraries, I think you first need to understand ONNX. I think these two documents are very helpful to familialize yourself to ONNX.
https://github.com/onnx/onnx/blob/master/docs/IR.md
https://github.com/onnx/onnx/blob/master/docs/Operators.md

An example of a recent expansion added to the compiler so that I can follow what is the expectation for the project.

https://github.com/pfnet-research/chainer-compiler/commit/7505e17c23ea7a3e069aaef2e3058d26df20f089
https://github.com/pfnet-research/chainer-compiler/commit/2cc5b433898f8828082cf631ef673a9c1fba6eab
https://github.com/pfnet-research/chainer-compiler/commit/cea7341224d5900e6af29726cf458f166fc01da8
may be hints to help you to understand how operators are created and executed.

@shinh Thank you for addressing my questions. I find myself interested in extending the processing of python jump statements in both elichika and ch2o. I am aware of how dreadful using tf.while_loop with break condition is.
I have some more queries relating to elichika and ch2o.

From overview docs, I understand that currently elichika is meant to eventually replace ch2o. If that's the case, what is the current gap between them in terms of

ONNX operator coverage--what subset of operators can the onnx output contain?
supported Chainer functions and nodes---is the list of tests(node, syntax and model) an accurate representation of supported operations in each module? If not, how can I identify disparity.

Elichika seems to be missing the ability to form backward computation computation graph. I don't understand how the backward computation graph is being generated in ch2o from the chainer model. Wouldn't it require processing the source of backward call too?
In elichika parser core#L21-L23, search is not performed in child modules which poses a limitation on how the modules need to be imported. For eg. import chainer.functions as F and from chainer import functions make the module functions available in search, but if it's indirectly imported via chainer like import chainer or import chainer.functions then the search fails. Implementation can be improved to do a recursive search on the parent modules instead.
If say my chainer model uses F.softmax_cross_entropy() in forward function, does the translation to onnx via either elichila and ch2o involve just creating a node with name<EMAIL_ADDRESS>type 'Softmax' and input-output names? Am I missing something?

tf.while_loop

Yeah, my experience with it was exactly the motivation I wanted Python loop support in the compiler stack.

ONNX operator coverage

Yes, you are right. (ch2o|elichika)/tests/node should be almost accurate. You would see elichika really needs more ops :)

backward in elichika

Both CH2O and elichika do not emit graphs with backprop. The compiler middle end generates op nodes for backward computation. (https://github.com/pfnet-research/chainer-compiler/blob/master/compiler/gradient.cc and https://github.com/pfnet-research/chainer-compiler/blob/master/compiler/gradient_ops.cc)
The commented out code was meant to generate expected gradient values by running the test model with Chainer. It was just a TODO, and it was fairly easy to fix: https://github.com/pfnet-research/chainer-compiler/pull/124

module lookup

I'm not 100% sure, but I think you are right (@durswd would correct me if I'm wrong). In general, I think there are a bunch of rooms for improvement around name lookup in elichika. Patches are welcome :)

functions to ONNX translation

Yes, you are right. It should be very easy to add ops once we implemented basic framework to handle variety of ops.
As for the specific case of F.softmax_cross_entropy, ONNX's Softmax is F.softmax, not F.softmax_cross_entropy. ONNX does not have it so we need either

implement it by some consecutive ops (https://github.com/chainer/onnx-chainer/blob/master/onnx_chainer/functions/loss.py#L35) or
use custom ChainerSoftmaxCrossEntropy op (https://github.com/pfnet-research/chainer-compiler/blob/master/ch2o/ch2o/funcs.py#L215)

Also, in addition to inputs/outputs, you also need to set attributes properly. For example, ONNX's Softmax has axis attribute so this value should be copied from the parameter passed to F.softmax. https://github.com/pfnet-research/chainer-compiler/blob/master/ch2o/ch2o/funcs.py#L533

@shinh I have the a doubt regarding ForAndIf.py syntax test in ch2o. It seems from the netron visualization of the generated onnx file that the if condition computation graph is not being represented.

I even tried the official net drawer tool, and it seems it also doesn't completely represent the graph (though does give more details).

I want to see the details of loop subgraph. Is there a way to do so?
Also, what does _find_in_out() function do exactly? I understand that it is keeping track of values will change inside the for loop body. But there are very specific condition based statements inside that I an unable to comprehend.

I think these visualizers do not support subgraphs, unfortunately. Usually, I just read ASCII proto dump from build/tools/dump or build/tools/run_onnx --dump_onnx, but extracting subgraphs by this script may also help: https://github.com/shinh/test/blob/master/extract_onnx_subgraph.py

Yeah, _find_in_out is very complex and would still have some bugs. I think a lot of complexity were due to CH2O is a one pass translator. It does not know which variables are used/modified/created inside a for-loop when it is parsing Python for. _find_in_out tries to extract these information using information in subgraphs and Env.(read|wrote)_attrs.


Email regexp matches invalid email

Environment

Ruby [2.3.0]
Rails [4.2.0]
Devise [master]

Current behavior
Devise.email_regexp matches invalid email test@providercom
[25] pry(main)> 'test@providercom'.match(Devise.email_regexp)
=> #<MatchData "test@providercom">

Expected behavior
It does not match

Hi @prog1dev, thanks for reporting this.
I think we can include in the regex that the domain part should have a dot on it. We probably would need to include this in a major version though.
Are you willing to take a stab on this? If you are, let me know, otherwise, I'll leave it open for others to grab.
Thanks!

@tegon can I take this one? 😄

@CaiqueMitsuoka Sure thing, go ahead! 🚀

Hey
I did some digging into this problem, we I have a doubt, not sure which path to take.
So theoretically an email without the top level domain is valid. In the specification, the domain portion of the address need match the requirement for a hostname, which indeed would match @providercom  since it can be used as local domain like in ax intranet.
My question is if we would like to support this use case? If so, no patch is needed.
Some reading that I think can help:
The discussion on the PR#4001 which is agreed to leave is as open as possible
Most of the discussion that I found point out to the Wikipedia's Email address domain definition of which has examples.
cc @tegon @rafaelfranca

@CaiqueMitsuoka Thanks for digging into this, I didn't know about that.
After reading the discussion in the previous PR I think it's better to leave as it is today. As a library, it's better for Devise to be more general and leave the more restrict rules for the applications that want to add that behavior.
@prog1dev If you want to add this rule in your application, you can use the email_regexp configuration option.
Thanks!


Close #140

The build failed because diesel_cli 0.13 doesn't work with Rust 1.15.1. I upgraded to Rust 1.17.0 in #138 -- do you want me to cherrypick the commit @dikaiosune or should we just merge that PR first?

Cool! Merged the other PR. I think once you rebase CI should pass, feel free to merge then.


[REFACTOR][IR] Introduce SeqStmt to replace ir::Block

ir::Block was used to represent a sequence of Stmts in the original low-level IR.
The nested ir::Block structure is not really friendly for recursive visits,
especially when the statements are unrolled.
This PR introduce a SeqStmt that directly stores a sequence of statements in an Array container.
The new SeqStmt will be used as a replacement of the original Block structure.

cc @icemelon9 @yzhliu @Hzfengsy

Thanks @yzhliu @Hzfengsy @ZihengJiang


bug: Conflict when using edgy.nvim and symbols-outline.nvim together

Did you check docs and existing issues?

[X] I have read all the LazyVim docs
[X] I have searched the existing issues of LazyVim
[X] I have searched the existing issues of plugins related to this issue

Neovim version (nvim -v)
v0.9.4
Operating system/version
archlinux
Describe the bug
When I try to use edgy.nvim and symbols-outline.nvim plugins together in lazyvim, I get the following error message: "The edgy.nvim extra must be imported before the symbols-outline.nvim extra to work properly." I'm not sure how to fix this issue. Can someone help me?
Steps To Reproduce

Enable both edgy.nvim and symbols-outline.nvim plugins in lazyvim.
Open a code file.

Expected Behavior
Both plugins should work together without any issues.
Repro
-- DO NOT change the paths and don't remove the colorscheme
local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", lazypath, })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
  "folke/tokyonight.nvim",
  "folke/LazyVim",
  -- add any other plugins here
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})

vim.cmd.colorscheme("tokyonight")
-- add anything else here

How do you import the extras? From LazyExtras or in your /lua/config/lazy.lua file? The error tells you that edgy must be imported first, so you should do that.