Transition to Scicrunch and re-use of NeuroLex terms

Hello,
I was wondering if you could provide us with some inputs on the best practice to re-use a NeuroLex term following transition to SciCrunch?
We are currently using NeuroLex terms as part of the NeuroImaging Data Model (http://nidm.nidash.org). For instance, we use the term "SPM" with the following URI: http://neurolex.org/wiki/nif-0000-00343 (e.g. example001_spm_results.ttl). But when looking up "SPM" on SciCrunch, the main identifier for this term is SCR_007037 while nif-0000-00343 is listed as an alternate id.
So, I was wondering if:

you would advice using the main SciCrunch ids (starting with SCR_) instead of the original ones (from NeuroLex) in our documents?
If the SCR_ based ids are preferred, then which URL would you recommend for the namespace? I tried: https://scicrunch.org/SCR_007037, https://scicrunch.org/scicrunch/SCR_007037, https://scicrunch.org/scicrunch/SCR_007037, https://scicrunch.org/scicrunch/Resources/SCR_007037, https://scicrunch.org/scicrunch/Resources/record/SCR_007037 but none of these resolved to "SPM" on SciCrunch (while the original http://neurolex.org/wiki/nif-0000-00343 does).

Thank you in advance for your feedback!

Please use the SCR_ identifiers.
The prefix that I am planning to use for SCR_ identifiers is http://scicrunch.org/resolver/ with the curie mapping being 'SCR':'http://scicrunch.org/resolver/SCR_'. For your example: http://scicrunch.org/resolver/SCR_007037

There will be a full ttl export of the scicrunch registry done weekly that will eventually live here (currently a broken link). The code to generate it is here though it will not run since the database requires password access.
Let me know if you have other questions. Thanks!

Please find below answers to your questions.

you would advice using the main SciCrunch ids (starting with SCR_) instead of the original ones (from NeuroLex) in our documents?

SciCrunch ids will be the ids for both new resources and existing resources and original ids will also been documented as alternative id for existing resources. It is OK to keep the original ids in your documents but for the new entries in the future, there will only be SciCrunch ids.

If the SCR_ based ids are preferred, then which URL would you recommend for the namespace? If the SCR_ based ids are preferred, then which URL would you recommend for the namespace? I tried: https://scicrunch.org/browse/resources/SCR_007037 https://scicrunch.org/SCR_007037, https://scicrunch.org/scicrunch/SCR_007037, https://scicrunch.org/scicrunch/SCR_007037, https://scicrunch.org/scicrunch/Resources/SCR_007037, https://scicrunch.org/scicrunch/Resources/record/SCR_007037 but none of these resolved to "SPM" on SciCrunchhttps://scicrunch.org/scicrunch/Resources/record/nlx_144509-1/ba2e10d5-6149-55de-8cad-c72daaa08087/search?q=spm&l= (while the original http://neurolex.org/wiki/nif-0000-00343 does).

The URL structure for Scr based ids is https://scicrunch.org/browse/resources/SCR_XXXXXXhttps://scicrunch.org/browse/resources/SCR_007037

From: Camille Maumet<EMAIL_ADDRESS>Sent: Tuesday, February 02, 2016 8:30 AM
To: SciCrunch/NIF-Ontology
Subject: [NIF-Ontology] Transition to Scicrunch and re-use of NeuroLex terms (#31)
Hello,
I was wondering if you could provide us with some inputs on the best practice to re-use a NeuroLex term following transition to SciCrunch?
We are currently using NeuroLex terms as part of the NeuroImaging Data Model (http://nidm.nidash.org). For instance, we use the term "SPM" with the following URI: http://neurolex.org/wiki/nif-0000-00343 (e.g. example001_spm_results.ttlhttps://github.com/incf-nidash/nidm/blob/master/nidm/nidm-results/spm/example001/example001_spm_results.ttl#L119). But when looking up "SPM" on SciCrunchhttps://scicrunch.org/scicrunch/Resources/record/nlx_144509-1/ba2e10d5-6149-55de-8cad-c72daaa08087/search?q=spm&l=, the main identifier for this term is SCR_007037 while nif-0000-00343 is listed as an alternate id.
So, I was wondering if:

you would advice using the main SciCrunch ids (starting with SCR_) instead of the original ones (from NeuroLex) in our documents?
If the SCR_ based ids are preferred, then which URL would you recommend for the namespace? I tried: https://scicrunch.org/SCR_007037, https://scicrunch.org/scicrunch/SCR_007037, https://scicrunch.org/scicrunch/SCR_007037, https://scicrunch.org/scicrunch/Resources/SCR_007037, https://scicrunch.org/scicrunch/Resources/record/SCR_007037 but none of these resolved to "SPM" on SciCrunchhttps://scicrunch.org/scicrunch/Resources/record/nlx_144509-1/ba2e10d5-6149-55de-8cad-c72daaa08087/search?q=spm&l= (while the original http://neurolex.org/wiki/nif-0000-00343 does).

Thank you in advance for your feedback!
—
Reply to this email directly or view it on GitHubhttps://github.com/SciCrunch/NIF-Ontology/issues/31.

Opps broken link. It seems the url structure we want is http://scicrunch.org/browse/resources/SCR_007037. Looks like I will need to update on my end as well. However, I might still suggest the resolver since that will not change even if we fiddle with our urls in the future. Do we have a wiki/docs for this lurking somewhere? I will get a better answer asap.

Yueling - Tom responded already.
Cheers,
Jeff

On Feb 2, 2016, at 9:54 AM, yul129<EMAIL_ADDRESS>wrote:
Please find below answers to your questions.

you would advice using the main SciCrunch ids (starting with SCR_) instead of the original ones (from NeuroLex) in our documents?

SciCrunch ids will be the ids for both new resources and existing resources and original ids will also been documented as alternative id for existing resources. It is OK to keep the original ids in your documents but for the new entries in the future, there will only be SciCrunch ids.

If the SCR_ based ids are preferred, then which URL would you recommend for the namespace? If the SCR_ based ids are preferred, then which URL would you recommend for the namespace? I tried: https://scicrunch.org/browse/resources/SCR_007037 https://scicrunch.org/SCR_007037, https://scicrunch.org/scicrunch/SCR_007037, https://scicrunch.org/scicrunch/SCR_007037, https://scicrunch.org/scicrunch/Resources/SCR_007037, https://scicrunch.org/scicrunch/Resources/record/SCR_007037 but none of these resolved to "SPM" on SciCrunchhttps://scicrunch.org/scicrunch/Resources/record/nlx_144509-1/ba2e10d5-6149-55de-8cad-c72daaa08087/search?q=spm&l= (while the original http://neurolex.org/wiki/nif-0000-00343 does).

The URL structure for Scr based ids is https://scicrunch.org/browse/resources/SCR_XXXXXXhttps://scicrunch.org/browse/resources/SCR_007037

From: Camille Maumet<EMAIL_ADDRESS>Sent: Tuesday, February 02, 2016 8:30 AM
To: SciCrunch/NIF-Ontology
Subject: [NIF-Ontology] Transition to Scicrunch and re-use of NeuroLex terms (#31)
Hello,
I was wondering if you could provide us with some inputs on the best practice to re-use a NeuroLex term following transition to SciCrunch?
We are currently using NeuroLex terms as part of the NeuroImaging Data Model (http://nidm.nidash.org). For instance, we use the term "SPM" with the following URI: http://neurolex.org/wiki/nif-0000-00343 (e.g. example001_spm_results.ttlhttps://github.com/incf-nidash/nidm/blob/master/nidm/nidm-results/spm/example001/example001_spm_results.ttl#L119). But when looking up "SPM" on SciCrunchhttps://scicrunch.org/scicrunch/Resources/record/nlx_144509-1/ba2e10d5-6149-55de-8cad-c72daaa08087/search?q=spm&l=, the main identifier for this term is SCR_007037 while nif-0000-00343 is listed as an alternate id.
So, I was wondering if:

you would advice using the main SciCrunch ids (starting with SCR_) instead of the original ones (from NeuroLex) in our documents?
If the SCR_ based ids are preferred, then which URL would you recommend for the namespace? I tried: https://scicrunch.org/SCR_007037, https://scicrunch.org/scicrunch/SCR_007037, https://scicrunch.org/scicrunch/SCR_007037, https://scicrunch.org/scicrunch/Resources/SCR_007037, https://scicrunch.org/scicrunch/Resources/record/SCR_007037 but none of these resolved to "SPM" on SciCrunchhttps://scicrunch.org/scicrunch/Resources/record/nlx_144509-1/ba2e10d5-6149-55de-8cad-c72daaa08087/search?q=spm&l= (while the original http://neurolex.org/wiki/nif-0000-00343 does).

Thank you in advance for your feedback!
—
Reply to this email directly or view it on GitHubhttps://github.com/SciCrunch/NIF-Ontology/issues/31.
—
Reply to this email directly or view it on GitHub https://github.com/SciCrunch/NIF-Ontology/issues/31#issuecomment-178718051.

Jeffrey S. Grethe, Ph.D.                                              email<EMAIL_ADDRESS><EMAIL_ADDRESS>University of California, San Diego
9500 Gilman Drive, M/C 0608
La Jolla, CA 92093-0608
work:<PHONE_NUMBER> (
fax:<PHONE_NUMBER>
http://orcid.org/0000-0001-5212-7052 http://crbs.ucsd.edu/
http://www.linkedin.com/in/jgrethe http://www.linkedin.com/in/jgrethe
This e-mail/fax message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply e-mail/fax and destroy all copies of the original message.

Hi Tom,
Shouldn’t be browse-resources… Should be a resolver address - as that can be fixed.  NeuroLex had the uri.neuinfo.org/ID format.  We can do something similar for SciCrunch and InterLex.

On Feb 2, 2016, at 10:01 AM, Tom Gillespie<EMAIL_ADDRESS>wrote:
Opps broken link. It seems the url structure we want is http://scicrunch.org/browse/resources/SCR_007037 http://scicrunch.org/browse/resources/SCR_007037. Looks like I will need to update on my end as well. However, I might still suggest the resolver since that will not change even if we fiddle with our urls in the future. Do we have a wiki/docs for this lurking somewhere? I will get a better answer asap.
—
Reply to this email directly or view it on GitHub https://github.com/SciCrunch/NIF-Ontology/issues/31#issuecomment-178723454.

Jeffrey S. Grethe, Ph.D.                                              email<EMAIL_ADDRESS><EMAIL_ADDRESS>University of California, San Diego
9500 Gilman Drive, M/C 0608
La Jolla, CA 92093-0608
work:<PHONE_NUMBER> (
fax:<PHONE_NUMBER>
http://orcid.org/0000-0001-5212-7052 http://crbs.ucsd.edu/
http://www.linkedin.com/in/jgrethe http://www.linkedin.com/in/jgrethe
This e-mail/fax message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply e-mail/fax and destroy all copies of the original message.

Thank you very much for your replies!
So, just to confirm, the URIs for SciCrunch terms will have the following form: http://scicrunch.org/resolver/SCR_*** ?
I know this is work-in-progress but could you confirm that ultimately the SCR_ *** ids will be available for all NeuroLex terms (including the ones that were not part of the Resource Identification Initiative)? E.g. we are planning to re-use nlx:nlx_inv_090912 ("Magnetic resonance imaging"). If so, and if there is a place were I could look up the SRC_*** that have already been assigned. Please let me know!
The terms we are interested in are:

nlx:nlx_inv_090912 ("Magnetic resonance imaging")

Yes http://scicrunch.org/resolver/SCR_*** is preferred. We want to provide a http://resolver.scicrunch.org/SCR_*** in the future but links with that structure will 404 at the moment.
For other neurolex terms please use http://uri.neuinfo.org/nif/nifstd/ as your iri prefix (namespace). As we start moving terms out of neurolex and into nifstd that resolver will be updated so that it redirects to the most recent version of the term.

@tgbugs and @jgrethe - would it be possible to introduce a sameAs property for any of the scicrunch or interlex terms that are taking over the older neurolex terms?
this would at least help resolve things given the older IRIs will go away. on our side we can try to add information to indicate that queries should take sameAs into account.

Yes.  We have done that for the public resolver for resources and these could be incorporated into the ontology as well.
Cheers,
Jeff

On Feb 3, 2016, at 5:24 AM, Satrajit Ghosh<EMAIL_ADDRESS>wrote:
@tgbugs https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_tgbugs&d=CwMCaQ&c=clK7kQUTWtAVEOVIgvi0NU5BOUHhpN0H8p7CSfnc_gI&r=VoBnXVyFWlbGZNrES22a2h0PqI4m1kGEUyTwLwBBYIQ&m=yGFbOjBBfz6T3rHBIMFZPY9dRkpcYefuCkSqDQNtJPQ&s=AEJCWv1sMJ4JYfCmWysDTZa3pLDxWAqJiY6y4WO76MU&e= and @jgrethe https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_jgrethe&d=CwMCaQ&c=clK7kQUTWtAVEOVIgvi0NU5BOUHhpN0H8p7CSfnc_gI&r=VoBnXVyFWlbGZNrES22a2h0PqI4m1kGEUyTwLwBBYIQ&m=yGFbOjBBfz6T3rHBIMFZPY9dRkpcYefuCkSqDQNtJPQ&s=zvSktdG3cJ_krM4JIfDbk_3SQrjImuorSOqLXKUlKXU&e= - would it be possible to introduce a sameAs property for any of the scicrunch or interlex terms that are taking over the older neurolex terms?
this would at least help resolve things given the older IRIs will go away. on our side we can try to add information to indicate that queries should take sameAs into account.
—
Reply to this email directly or view it on GitHub https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_SciCrunch_NIF-2DOntology_issues_31-23issuecomment-2D179226979&d=CwMCaQ&c=clK7kQUTWtAVEOVIgvi0NU5BOUHhpN0H8p7CSfnc_gI&r=VoBnXVyFWlbGZNrES22a2h0PqI4m1kGEUyTwLwBBYIQ&m=yGFbOjBBfz6T3rHBIMFZPY9dRkpcYefuCkSqDQNtJPQ&s=Q78eLQWNaqr2BXz9cHFrCUR87BVJLlWcCR3mQLw8uq8&e=.

Jeffrey S. Grethe, Ph.D.                                              email<EMAIL_ADDRESS><EMAIL_ADDRESS>University of California, San Diego
9500 Gilman Drive, M/C 0608
La Jolla, CA 92093-0608
work:<PHONE_NUMBER> (
fax:<PHONE_NUMBER>
http://orcid.org/0000-0001-5212-7052 http://crbs.ucsd.edu/
http://www.linkedin.com/in/jgrethe http://www.linkedin.com/in/jgrethe
This e-mail/fax message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply e-mail/fax and destroy all copies of the original message.

@satra I will include some form of a sameAs property in my export of the resource registry as well. I am currently exporting it as an an annotation property but could easily change it to an object property if that would make your life easier.

Thank you for your feedback! From now on, we will use the http://scicrunch.org/resolver/ and http://uri.neuinfo.org/nif/nifstd/ namespaces as suggested, this update is implemented in https://github.com/incf-nidash/nidm/pull/374.
I have open #34 to discuss more specific term re-use. I think that the discussions can continue over there and that we can close this issue.

Will close after I add a wiki page that covers this.

https://github.com/SciCrunch/NIF-Ontology/wiki/Identifiers-for-existing-terms
https://github.com/SciCrunch/NIF-Ontology/wiki/Identifiers-for-research-resources
https://github.com/SciCrunch/NIF-Ontology/wiki/Identifiers-for-new-terms


[Feature Request] Config option to require books to be obtained before adding to the library

As per title, it would be good to have the option of requiring actually crafting/obtaining the book before it gets added to the Library page rather than being obtainable from the start.

Should it delete the crafted book? or at least as another config option to?

I approve of this idea ^^


Rockland County

Rockland is right over the river. A majority of people in Rockland county are racist and deflect any or all topics of racism. They express racism in many Facebook groups and even delete posts that do not fit their agenda. This county needs major change. There is not enough diversity!  We have to expand and we have to do it together.

Rockland County is in NY. Right across the bridge from Westchester/Yonkers. Right next to NJ.

Especially individual districts within Rockland County aside from the Rockland County Sheriff: Town of Orangetown, Town of Ramapo, Town of Clarkstown

Hello!
Unfortunately this request does not meet our base criteria so we will have to close it. Please submit a new request with the following information and we will process it:
A subject message for the email
A list of emails (at least one) for the government officials you’d like to receive the message
A detailed message concerning the budgeting decisions that are at stake in your community
See our current links for examples at https://defund12.org.
Thank you!!


Question about Text Indexes

Are MongoDB text indexes supported? Something like this:
db.reviews.createIndex( { comments: "text" } )

Nope, I can't believe that they designed the API this way omg. Looks like there is no way to do this via the second options parameter.
Anyway, you can create the index manually for now, in mongo there is no schema diffing, so the index support is just about creating them, those that are already present will be kept intact.

This came as a surprise to me too!
How about using an attribute in options and then handling it in the MongoDriver createIndex method?

Yeah sure, its not a problem to support this, the problem is why the hell they did not simply add a text: boolean option (or type: 'text' | ...). The first parameter of createIndex is not even properly defined anywhere.


3 new devices

Hi, I would like to add 3 devices to the list of compatible devices! They are 3 LSC devices distributed by Action in The Netherlands.
Device 1: E27 Edison Bulb with white spectrum
{
name: 'Tafel',
id: '40005734840d8e6b925a',
key: '0bc084e00c6e3ced',
def: {
schema: '[{"mode":"rw","code":"led_switch","name":"\u5f00\u5173","property":{"type":"bool"},"iconname":"icon-dp_power","id":1,"type":"obj","desc":""},{"mode":"rw","code":"bright_value","name":"\u4eae\u5ea6","property":{"unit":"","min":25,"max":255,"scale":0,"step":1,"type":"value"},"iconname":"icon-dp_sun","id":2,"type":"obj","desc":""},{"mode":"rw","code":"temp_value","name":"\u51b7\u6696","property":{"unit":"","min":0,"max":255,"scale":0,"step":1,"type":"value"},"iconname":"icon-dp_half","id":3,"type":"obj","desc":""},{"mode":"rw","code":"remote_switch","name":"\u5f00\u5173","property":{"type":"bool"},"id":101,"type":"obj","desc":"\u7528\u4e8ewifi\u9065\u63a7\u5668\u63a7\u5236"}]',
extras: '[{"id":1,"inputStyle":"","inputType":""},{"id":2,"inputStyle":"","inputType":"percent1"},{"id":3,"inputStyle":"","inputType":"percent"}]',
},
},
Device 2: RGBWW Led Strip
{
name: 'Woonkamer LED Strip',
id: '35163674ecfabc478491',
key: '00f67b4328d9a811',
def: {
schema: '[{"mode":"rw","code":"switch_led","name":"\u5f00\u5173","property":{"type":"bool"},"id":20,"type":"obj","desc":""},{"mode":"rw","code":"work_mode","name":"\u6a21\u5f0f","property":{"range":["white","colour","scene","music"],"type":"enum"},"id":21,"type":"obj","desc":""},{"mode":"rw","code":"bright_value","name":"\u4eae\u5ea6\u503c","property":{"unit":"","min":10,"max":1000,"scale":0,"step":1,"type":"value"},"id":22,"type":"obj","desc":""},{"mode":"rw","code":"colour_data","name":"\u5f69\u5149","property":{"type":"string","maxlen":255},"id":24,"type":"obj","desc":""},{"mode":"rw","code":"scene_data","name":"\u573a\u666f","property":{"type":"string","maxlen":255},"id":25,"type":"obj","desc":""},{"mode":"rw","code":"countdown","name":"\u5012\u8ba1\u65f6\u5269\u4f59\u65f6\u95f4","property":{"unit":"","min":0,"max":86400,"scale":0,"step":1,"type":"value"},"id":26,"type":"obj","desc":""},{"mode":"wr","code":"control_data","name":"\u8c03\u8282","property":{"type":"string","maxlen":255},"id":28,"type":"obj","desc":""}]',
extras: '[{"id":20,"inputStyle":"","inputType":""},{"id":21,"inputStyle":"","inputType":""},{"id":22,"inputStyle":"","inputType":""},{"id":26,"inputStyle":"","inputType":""}]',
},
},
Device 3: Motion Sensor
{
name: 'Smart motion sensor',
id: '21020567a4cf12af7921',
key: '49c16ac8efce4468',
def: {
schema: '[{"mode":"ro","code":"pir_state","name":"\u4eba\u4f53\u611f\u5e94\u72b6\u6001","property":{"range":["pir"],"type":"enum"},"id":1,"type":"obj","desc":"\u3010\u5fc5\u9009\u3011\npir:\u8868\u793a\u6709\u4eba\u7ecf\u8fc7\noff:\u8868\u793a\u6ca1\u4eba\u7ecf\u8fc7\uff08\u8003\u8651\u5230\u573a\u666f\u8054\u52a8\u9700\u8981\uff0c\u52a0\u8fd9\u4e2a\u679a\u4e3e\uff09"},{"mode":"ro","code":"battery_state","name":"\u7535\u6c60\u7535\u91cf\u72b6\u6001","property":{"range":["low","middle","high"],"type":"enum"},"id":3,"type":"obj","desc":"\u3010\u5fc5\u9009\u3011\n\u4f4e\u7535\u91cf\n\u4e2d\u7535\u91cf\n\u9ad8\u7535\u91cf"}]',
},
},
Hope you can help me and others!

Yes i also bought the Motion Sensor.
Hopefully this is one works with the next update :)

are motion sensor supported by this plugin?


Virtual terminal implementation and Upp/TerminalCtrl

Hello chivsyle,
I was watching for some time this nice little tool mature step by step.
And I am wondering if there is any specific reason why you're not using TerminalCtrl for virtual terminal?.
Now, don't get me wrong, I am asking this because;

I can improve it, if it is not sufficient for your needs. (i.e. feedbacks are always welcome)
I can help you if you really need to implement one yourself.

Best regards,

Hi,
TerminalCtrl is really handsome. I used it before, I almost given up my terminal.
As you seen, this tool (comxd) was designed to run on Windows. I found some bugs of TerminalCtrl on Windows, and you fixed them immediately. However it's not the reason I reimplement a terminal.

I want unlimited line size
I want arbitary line height (not fixed height)
I want to limit the features of terminal
I want full unicode
A command "yes" maybe make TerminalCtrl in trouble
I expect better performance than mintty

Of course, it's not the responsibility of TerminalCtrl to implement them all. But I'm a freshman that day about virtual terminal, I'm so sorry to make a mistake to TerminalCtrl.
It takes me so long time to make it usable, only usable for this application. There MUST be bugs anywhere, it's freaking bad.
I'll test TerminalCtrl later, if it's better than mintty and kicked the "yes" away, I think TerminalCtrl is the first choice.
My english sucks, can you understand what I said please ?
Best regards.

Hi
Thank you very much for you response.

My english sucks, can you understand what I said please ?

Don't worry, I can understand you. My English is far from perfect too. :)

I want full unicode

Do you mean graphemes? Because TerminalCtrl supports what U++ supports in this front. U++ now supports 32 bit wchars, so TerminalCtrl can even display emojis now. (Again, no grapheme support yet).

A command "yes" maybe make TerminalCtrl in trouble

Hmm. On POSIX or Windows? I'd really love to investigate this further.  And I'd be grateful if you could provide a specific example that cam "trouble" TerminalCtrl.

I expect better performance than mintty

Well, this is complicated. Have you tried the TerminalLayoutExample or just TerminalExample? Because the latter is delberately made slower. The former (TerminalLayoutExample), on the other hand, exemplifies a high-performance loop for production environments. (performance diff between the two stock examples I provided with the package are huge).

I want to limit the features of terminal

This is already possible. Boolean methods just do that. (E.g. you can completely disable the features you don't need, such as sixel, dynamic colors, etc.)

I want unlimited line size
I want arbitary line height (not fixed height)

Well, if by "arbitrary height" you mean cell level arbitrariness, yes it is fixed. But the font size and padding can be changed at request.

I'm so sorry to make a mistake to TerminalCtrl.

Ah, there is nothing to be sorry about, I'm asking these questions to see (a) if I can help you, (b) get some feedback on TerminalCtrl. Thank you very much for you patience and answers.
If you need help on VT emulation or SSH (as I am the author of SSH package too), let me know.
Best regards,

A command "yes" maybe make TerminalCtrl in trouble.

A linux internal command "yes" will output large count of "y" which results in corruption at some version.

I want unlimited line size
I want arbitary line height(not fixed height)

It's not the problem now. We don't need these features anymore.

I want full unicode
Yes, you are right. UPP supports full unicode now.

I expect better performance than mintty
The latest TerminalCtrl runs as I expected.

I have tested the latest TerminalCtrl. It's amazing, and I have no reason to do not use it. Thanks for your great work, this project will benefit from that.
Best regards.

:smile:


Added repo token to coveralls.yml

Coverage remained the same at 75.46% when pulling 16cde1f91c59b8ca39cec2c87876c34fde200ab7 on Mogball:jeff/coveralls_token into 7711d2fbe9095e711851dc9c60dbf8fa71620044 on teamwaterloop:master.

I have added environment variable Coveralls in travis for this repo so you can reference that from there. Adding a token like that would expose it to the public no?


Added unit tests for MessageFactory

Pull Request Test Coverage Report for Build 92476

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.9%) to 75.708%

Totals

Change from base Build 92414:
-0.9%

Covered Lines:
8231

Relevant Lines:
10872

💛  - Coveralls


add only build docker script

This PR is try to simplify the legacy build process by removing useless build step when you want to build the docker image with not all code change needed.
To run it , simply run sh only-build-docker.sh

@haboy52581 is this PR ready for review?
Could you add some brief instructions on this script

In which cases, we would need to run this script
Find or create a short document (in a markdown form), and write a short instruction on how/where to run this script

Thanks.

Linked to #487


calculating zostoga

There's few functions involved in this in original app and want to make sure before I convert them to xarray that there's not some function we can import from elsewhere.
From APP4 app_functions.py roughly:
tmp=((1. -
   rho_from_theta(T[t,:],35.00,press)/rho_from_theta(4.00,35.00,press))*dz[t,:]).sum(0)
zostoga[t]=(tmp*areacello).sum(0).sum(0)/areacello.sum()

where T is pot_temp
rho_from_theta() is a  function to calculate density from temperature, salinity (constant=35.0), pressure
and pressure itself is calculated from depth and latitude
I should be able to replace these two functions with gsw package functions
gsw.conversions.p_from_z
and
one of the gsw.density.sigma functions from https://teos-10.github.io/GSW-Python/density.html
Not sure how different is conservative temperature form potential temperature in the model and which one of the functions to use!!

@taimoorsohail - we thought/ hoped you might have a suggestion for this ?

Thanks for the ping @anton-seaice.
In most cases, the temperature variable in models (i.e., potential temperature) and the salinity variable (often practical salinity) can actually be considered as the same as "conservative temperature" and "absolute salinity" to be used in TEOS-10 functions, from McDougall et al., 2021:
"... the most appropriate interpretation of the model's temperature variable is actually Conservative Temperature. This perhaps unexpected interpretation is needed to ensure that the air–sea heat flux that leaves and arrives in atmosphere and sea ice models is the same as that which arrives in and leaves the ocean model."
and "... the only interpretation for the model's salinity variable is Preformed Salinity, and the use of the TEOS-10 equation of state will then yield the correct specific volume.".
There are slight differences on whether the model equation of state is based on EOS-80 or TEOS-10, but either way you can assume that the native model T and S can be used in place of CT and SA in the gsw functions. See Section 2.7 here for more information on the difference between EOS-80 and TEOS-10 models.
So, the right functions in gsw would be gsw.conversions.p_from_z.
You are calculating the fractional change in in-situ density in the APP4 code snippet, so ideally you'd want to use gsw.density.rho in place of rho_from_theta above.
Hope this helps!

@rmholmes was a co-author on the McDougall et al., 2021 paper and may have more insight.

@rmholmes was a co-author on the McDougall et al., 2021 paper and may have more insight.

Sorry for the slow reply. What @taimoorsohail said looks right to me. I think you can take this interpretation of the model temperature as CT (despite its labelling, in EOS-80 models, as potential temperature) as community endorsed - it will be included as such in an upcoming "recommendations for CMIP7" paper (basically an update to https://www.geosci-model-dev.net/9/3231/2016/).

I managed to get a working function together, here are some test results using data from CMIP6:
[0.51817106 0.52007097 0.52156734 0.52226752 0.52083167 0.51813325]   the new function using gsw functions
[0.5203042  0.5222081  0.5237081  0.5244111  0.52297163 0.5202664 ]  the APP4
[0.52065015 0.52255523 0.5240563  0.5247597  0.5233193  0.5206123  what’s in the published data
The last two should be the same, but they might be differing because these runs usually have some issues with time axis and I didn't took that into account.
There are still some difference but they are of the order of 0.002 so negligible considering this is a sum over all ocean points.
overall is more likely that the gsw functions are "more" correct (or at least more consistent with others calculating the same) than the APP4 ones.
Changes are in branch issue199 and will be push soon to a new release


Enhancement Request - Retrieve Volume Setting

I've setup a Node-Red flow to run every night to call the light_off service on my fully kiosk screen entities and it works great, but the next morning when I wake them back up, the volume settings have mysteriously been raised back up.  Not really sure what's triggering that. When I create diagnostic flows to replicate the same service calls it doesn't seem to do it, but it got me thinking.  If I could retrieve the current volume setting, I could write a flow to check it periodically and set it back down to 0 if it's not currently 0.
So that's the enhancement request. A number entity like the Screensaver Brightness entity perhaps but for volume.
Thanks in advance.

That would make things easier indeed. Currently I need to get the volume of the HA Companion app entity for the same device. Much easier if provided by FK directly. There's even a FK service already to adjust the volume...


Simple Questions About Interaction Examples

In the example notebook https://github.com/slundberg/shap/blob/master/notebooks/tree_explainer/Basic SHAP Interaction Value Example in XGBoost.ipynb
I. The last plot is as follows. I am confused as to why the dots are the same color for a given value of Feature 2. I assumed that for each value of feature 2, one dot would be red and one blue based on the value of feature 3?

II. In the notebook https://github.com/slundberg/shap/blob/master/notebooks/tree_explainer/NHANES I Survival Model.ipynb
In this image, is the correct interpretation really that for females, being younger actually increases the risk of death, but for males, being younger lowers the risk (which would be expected for both genders I would  think).

Good questions. For the first one I think that plot was run a while back and the color is just a redundant encoding of feature 2's value (since there is no color bar saying the colors are for another feature). This default behavior is different now so I should probably re-run the notebook.
If you look at the marginal effect of age on both genders it does lower the risk for everyone, but the effect you are seeing here is from interaction effects involving age and sex. Since the marginal effect of age has already been taken are of, we are just looking at the interactions, which seem to imply that being young has a slightly larger benefit if you are male than if you are female (potentially because being old is just worse for men, not that being young is better).


Remove small icon from edit page

Let's consider removing small icon from edit VM page and replacing it by the large one.
Reasons:

There is enough room to show the large one.
Smaller icons are more difficult to recognize.
It is the last usage of the small icon in oVirt in general. So by abandoning using it here we can eventually remove small icons from engine.
There is a bug resetting default small icons:

Let's have a VM with custom icon
Open the VM detail page
Click the "curcular arrow" button to reset the icon to default.
Icon (the large one) is immediately updated
Click "Edit" button
The small icon in edit page is still the old one.

Smaller icons are more difficult to recognize.
It is the last usage of the small icon in oVirt in general. So by abandoning using it here we can eventually remove small icons from engine.

Sounds good to me.

Will be implemented along #356


Article Ideas for MediatR in .NET

MediatR Article Ideas

I could write about configuring MediatR in a .NET application, detailing the setup process and necessary dependencies.
I could explain the purpose of MediatR, including its role in simplifying command and query responsibility segregation (CQRS) patterns.
I could create tutorials on using MediatR, covering basic to advanced scenarios in handling requests and responses.
I could write how-to guides on implementing MediatR in existing projects, focusing on refactoring and improving code organization.
I could provide insights on testing MediatR handlers, including unit testing techniques and best practices for ensuring robust handlers.
I could dive into advanced MediatR use cases, such as pipeline behaviors and notifications.
I could discuss how MediatR integrates with other .NET tools and libraries, enhancing application architecture.
I could explore performance considerations and optimization tips when using MediatR in large-scale applications.
I could showcase real-world examples of MediatR in action, highlighting practical implementations and benefits.
I could write about common pitfalls and challenges when working with MediatR, offering solutions and workarounds.

Topic
Description

Configuration
Configuring MediatR in a .NET application, detailing the setup process and necessary dependencies.

Purpose
The purpose of MediatR, including its role in simplifying CQRS patterns.

Tutorials
Tutorials on using MediatR, covering basic to advanced scenarios in handling requests and responses.

How-To
How-to guides on implementing MediatR in existing projects, focusing on refactoring and improving code organization.

Test Handlers
Insights on testing MediatR handlers, including unit testing techniques and best practices.

Advanced Scenarios
Advanced MediatR use cases, such as pipeline behaviors and notifications.

Integration
How MediatR integrates with other .NET tools and libraries, enhancing application architecture.

Performance Considerations
Performance considerations and optimization tips when using MediatR in large-scale applications.

Real-World Examples
Real-world examples of MediatR in action, highlighting practical implementations and benefits.

Common Pitfalls
Common pitfalls and challenges when working with MediatR, offering solutions and workarounds.


Fix Typo in Readme

Signed-off-by: asifdxtreme<EMAIL_ADDRESS>

LGTM.  Thanks for the PR.

@runcom Can you just merge this one.
LGTM


Action/state windows dock to bottom and are non-scrollable

Flipper version: 0.63.0
RN version: 0.63.3
When focusing on a redux action, the expandable action/state windows get docked to the bottom and are not scrollable.
This is inconsistent, as sometimes it will dock to the right side, but I have a very hard time figuring out what determines that to happen.
Expected behavior:
These windows dock to the right side and are scrollable.
Example image of undesired behavior (action/state window docked at bottom - collapsed state)

Please let me know what other info I can provide for you, or what I can do on my end to resolve this issue.
Thank you!

I think you hit a temporarily layout bug in flipper 0.63 that was fixed
earlier, upgrading to 0.64 should fix the problem.
On Tue, Nov 3, 2020 at 3:23 PM S. Weatherall<EMAIL_ADDRESS>wrote:

Flipper version: 0.63.0
RN version: 0.63.3
When focusing on a redux action, the expandable action/state windows get
docked to the bottom and are not scrollable.
This is inconsistent, as sometimes it will dock to the right side, but I
have a very hard time figuring out what determines that to happen.
Expected behavior:
These windows dock to the right side and are scrollable.
Example image of undesired behavior (action/state window docked at bottom

collapsed state)
[image: Screen Shot 2020-11-03 at 10 16 59 AM]
https://user-images.githubusercontent.com/4127588/98004774-514e2680-1dbe-11eb-87b6-ebdbace0f392.png

Please let me know what other info I can provide for you, or what I can do
on my end to resolve this issue.
Thank you!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jk-gan/flipper-plugin-redux-debugger/issues/28, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAN4NBEHE2ZWQY2BW4L7C5TSOAN67ANCNFSM4TI4FY6A
.

@mweststrate looks like 0.63.0 is the latest public version of Flipper for Mac - or am I not seeing it?
I did need to upgrade react-native-flipper (0.61 --> 0.64) and redux-flipper (1.4.0 --> 1.4.2), but that did not seem to resolve the layout issue.

https://github.com/facebook/flipper/releases/tag/v0.64.0
On Tue, Nov 3, 2020 at 6:08 PM S. Weatherall<EMAIL_ADDRESS>wrote:

@mweststrate https://github.com/mweststrate looks like 0.63.0 is the
latest public version of Flipper for Mac - or am I not seeing it?
I did need to upgrade react-native-flipper (0.61 --> 0.64) and
redux-flipper (1.4.0 --> 1.4.2), but that did not seem to resolve the
layout issue.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jk-gan/flipper-plugin-redux-debugger/issues/28#issuecomment-721292353,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAN4NBBCNMW663ORVY2U3YLSOBBLNANCNFSM4TI4FY6A
.

@mweststrate thank you!
Just upgraded to 0.64 and it does seem to resolve this issue. Really appreciate your help


Illustrate new failing scenario with multi-arg function identifiers

As far as I could tell, this behavior is only observed when the arity
of the function is higher than 1. It's fine for single-arg functions
somehow.

I decided to separate out what I did in soft casting. So I'll make the commit fix here.


Fix MacOS Travis build

see https://github.com/jonescompneurolab/hnn-core/pull/119#issuecomment-662759398

closing thanks to upstream fix

I guess this issue didn't close automatically since #132 wasn't merged. I'm taking the liberty to close it manually.


Keep every snapshot of the ledger state in memory

At the moment, the ledger DB has a snapEvery parameter that tells it how often to store a snapshot of the ledger state in memory. When the ledger DB is then asked for a historical snapshot, it might have to replay some blocks, which are stored on disk. This is relatively expensive, but should also occur relatively infrequently. Ticket #1026 is about figuring out a good value for that snapEvery parameter, and also suggests that we might to special case some snapshots near the tip (see also https://github.com/input-output-hk/ouroboros-network/issues/1026#issuecomment-572945358).
It is worth considering if we could just store every snapshot. This would make the design of the ledger DB significantly simpler, would avoid the need for any kinds of special cases, and as a bonus, also allows simplifications in other parts of the code base; in particular, see https://github.com/input-output-hk/ouroboros-network/issues/1935#issuecomment-611950826 .

@intricate Can you try to figure out how much memory keeping the last k snapshots of the ledger would require (just set snapEvery to 1) compared to the current policy (with mainnet)? You can measure the memory by profiling or by using the heap size stuff.

Some initial results I got by using computeHeapSize. Probably it would make sense to compare this with the number of transactions on these blocks and test for bigger chains. However the main issue is that I met 4 closures types that are not supported: THUNK_STATIC, FUN_STATIC, MUT_ARR_PTRS_FROZEN_CLEAN,  MUT_ARR_PTRS_FROZEN_DIRTY which I'm not sure I supported the correct way.

Eventuall these closure types disappeared when I added a bang pattern for the result of ledgerDbPush before calling computeHeapSize. These are the results I got for a small part of mainnet, starting from the same snapshot at block 3a76f8bf33d854e221d958543d42293ab8ce94b4573a7b1e5d70cd345e8a9bf3.

Especially from the zoomed graphs, it's easy to see that the number of transactions in the blocks is a big factor on how much the ledgerDB inscreases in size.
I also created the plots for the ledgerDBCurrent field of the LedgerDB.

As expected this does not depend on snapEvery. On the other hand, the ledgerDBBlocks size looks like a step function, with big increases every snapEvery blocks (when new snapshots are taken).

It may look from the above, that the size of ledgerDB increases very fast, however this happens only because we have focused so far on the period before saturation. During this period, the ledgerDBBlocks length increases by one for each block applied. After saturation (around k blocks) old entries are pruned, so the size increases much slower or there are periods it even decreases. The plots below start from the same block as before, but span up to the end of epoch 17. Note that epoch 17 is the epoch with the most number of transactions on mainnet.

For snapEvery = 20, 100 and k, there are drops with period snapEvery which collide with old snapshots being pruned. For snapEvery = 1, a snapshot is pruned on each step, so the difference on size not only depends on current transactions but also on transactions k blocks before. That's why we don't see here any corelation with the number of transactions.
These are the plots for ledgerDBCurrent and ledgerDBBlocks on the same period:

It seems that after saturation the difference of ledgerDB for different snapEvery stabilizes or increases very slowly. From the results so far it seems that for the k used in mainnet the overhead of snapEvery = 1 is pretty small. However for bigger k's the difference should be bigger. It is also interesting to see what happens to this difference towards the tip of mainnet. I'm currently running these tests and waiting for results

These are the results for around 40k blocks towards the tip of mainnet.

The overhead we get seems to be correlated with the number of transactions in the last k blocks.
Linear regression shows this better:

It's also worth noting that the overhead hasn't increased since epoch 17 (around 1M words). This means that accumulated utxo, doesn't really add up to the overhead and it's mainly the movement in the last k blocks that matters. Here is the same plot for epoch 17:

Great! So if we take 1,200,000 GHC words as the max overhead from the graphs, that's 1,200,000 * 8 bytes ~= 9 MiB, which is acceptable. Thanks for these graphs.

Closing this in favour of #2440 and #1935.


Go Blueprint Website Command [Bug]

What is the problem?
The command created by the website does not output the correct command for the create my_project part of the command line arguments. It should be create --name my_project.
Operating System
NA
Architecture Version (x86, x64, arm, etc)
NA
Steps to reproduce
Enter Project name
Copy command line arguments
Enter into terminal
Get prompted to enter name.
Relevant log output
No response

Good catch. It will be fixed.

fixed


Fixes in control plane services CLI flags

Removed flags that are deprecated and have no effect

Unlike daprd where we need to keep flags or older injectors can cause daprd to crash, this isn't a problem for control plane services since they're deployed by Helm

Remove tokenAudience flag from Helm chart since it's now unused
Fixed description of some flags
Use constants for default trust anchors file path

Close this in favor of #7029

Per @mukundansundar this should be merged first

/test-version-skew

/test-sdk-all

@mukundansundar @daixiang0 is this ready to be merged?


Add files via upload

i have shown the comparison between different algorithms , to BigMart-Products-Outlet-Sales-Analysis-and-Prediction.

BigMart sales Prediction.


Installing CLI Tool

Functional impact
Does the bug result in any actual functional issue, if so, what?
Not being able to use the libman cli tool
Minimal repro steps
What is the smallest, simplest set of steps to reproduce the issue. If needed, provide a project that demonstrates the issue.

Startup Mac OS X terminal
type in "dotnet tool install -g libman"

Expected result
What would you expect to happen if there wasn't a bug
Libman CLI tool is installed
Actual result
What is actually happening
error NU1101: Unable to find package libman. No packages exist with this id in source(s): /usr/local/share/dotnet/sdk/NuGetFallbackFolder, nuget.org
The tool package could not be restored.
Tool 'libman' failed to install. This failure may have been caused by:

You are attempting to install a preview release and did not use the --version option to specify the version.
A package by this name was found, but it was not a .NET Core tool.
The required NuGet feed cannot be accessed, perhaps because of an Internet connection problem.
You mistyped the name of the tool

Same error here on Windows 10 with SDK 2.1.400.

The LibMan CLI is now available on NuGet
https://www.nuget.org/packages/Microsoft.Web.LibraryManager.Cli/
The syntqax for installing LibMan is:

dotnet tool install -g Microsoft.Web.LibraryManager.Cli
You can invoke the tool using the following command: libman
Tool 'microsoft.web.librarymanager.cli' (version '1.0.163') was successfully installed.

To uninstall LibMan, use the following command:

dotnet tool uninstall -g Microsoft.Web.LibraryManager.Cli
Tool 'microsoft.web.librarymanager.cli' (version '1.0.163') was successfully uninstalled.

Here's an example:


P4_16: Allow DONTCARE items in list expressions

Currently, DONTCARE (_) can occur in tupleKeysetExpression, the simple expression lists for key set expressions in select expressions.
The proposal is to allow DONTCARE also to occur in expressionList, the general-use expression lists.
There is a concrete use case in a new core library we are prototyping (more on this in a later "P4_18" issue).  Here, the expression list is for a tuple being assigned to a packet header, where a DONTCARE field value means "don't update" that field.  (Yes, this effect might be achieved by doing individual field assignment but, to improve readability and analyzability, it is desirable to assign a tuple.)
So suggested grammar change is:
expressionList
: /* empty */
| expression
| DONTCARE
| expressionList ',' expression
;
Associated with this would be wording on contexts where DONTCARE is allowed in an expression list, and on the semantics of its use in each context.

Since my earlier remarks haven't attracted any feedback, here is some more.
After some further thought, I think a simpler change would be to allow DONTCARE as an expression option (which then means that it no longer has to appear as a simpleKeysetExpression option).
As mentioned in my original, my particular interest is for DONTCARE to be allowed in a list expression.  Recall that list expressions can be assigned to expressions of type tuple, struct or header, and can also be passed as arguments to methods.
For an assignment, the meaning would be that the corresponding element in the l-value is left unchanged (if it had been uninitialized, then it would stay uninitialized).  So, an example of this for a header - extending an example in the spec - is:
header H { bit<32> x; bit<32> y; bit<32> z }
H h;
h = { 10, _, 12 };  // This also makes the header h valid, although it is not fully initialized
...
h = { _, 11, _};  // This means the header is fully initialized (and also continues the header h being valid)
Use cases would be that one really doesn't care about some field and don't want to invent some dummy value or, as in the example, it is convenient to set up a header, tuple, or struct, piecewise.
I am not sure of any particular usefulness yet but, for completeness, an assignment of a single DONTCARE expression would similarly have the meaning of leaving the l-value unchanged.    In general, when DONTCARE appears as an expression, it would have a similar status to, say, an uninitialized header field value, that is, undefined.
My actual direct interest is for arguments to an extern method call.  Where an argument is used for assigning to some internal state, then a DONTCARE argument (or a DONTCARE member of an argument) can be interpreted as leaving that state unchanged.  Of course, this is only if an extern implementation wants to interpret DONTCARE this way - it is perfectly okay for it to interpret DONTCARE in the same way as uninitialized.

In general I think that we expect some simple properties from a programming language. For example, the two programs:
a = b; and tmp = b; a = tmp;
should produce the same value for a (assuming that a, b, and tmp have the same type and involve no casts).
Unless we actually add a runtime value of 'undefined', similar to JavaScript, I don't see how we can achieve this property for the above program.
Another simple property we would like is that for the evaluation of the right-hand-side of an assignment to produce the same result no matter what the left-hand side is.
The compiler relies on these properties when making code transformations. In the absence of these properties it is much harder to reason about programs.
I hope that there is an alternative way to achieve what you want. What is the core use case for this example?  It it is extract, maybe we can have a variant of extract where you supply a supplementary argument which is a bit-mask with the fields that you want not to have overwritten.

I suspected that the introduction of a don't care / undefined value might not prove too popular, though I thought it worth considering given that DONTCARE already has a couple of uses in the language.
Since you mention it, a supplementary bit-mask argument would indeed do my job, though it would look a bit more clumsy from a cosmetic point of view.

Given that your stated interest was:

My actual direct interest is for arguments to an extern method call. Where an argument is used for assigning to some internal state, then a DONTCARE argument (or a DONTCARE member of an argument) can be interpreted as leaving that state unchanged. Of course, this is only if an extern implementation wants to interpret DONTCARE this way - it is perfectly okay for it to interpret DONTCARE in the same way as uninitialized.

would it work to have those arguments as optional? There is already support for optional arguments to methods in p4c, although they do impose ordering constraints.
Another proposal that has been brought up is to use named parameters. Using this technique, you can pass only the parameters that you require initialized by name, and the ones that you DONTCARE, are not part of the signature at all. They will get an undefined value and it should be an error to access them -- not sure how the compiler can check that in the case of an extern. However, this seems to match your initial intent -- interpret DONTCARE as it was uninitialized.
--
Thanks, Calin

On Oct 18, 2017, at 14:51, Gordon Brebner<EMAIL_ADDRESS>wrote:
I suspected that the introduction of a don't care / undefined value might not prove too popular, though I thought it worth considering given that DONTCARE already has a couple of uses in the language.
Since you mention it, a supplementary bit-mask argument would indeed do my job, though it would look a bit more clumsy from a cosmetic point of view.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/p4lang/p4-spec/issues/438#issuecomment-337738751, or mute the thread https://github.com/notifications/unsubscribe-auth/ADmJ-qor9xpsxnvvRiBsJo2XD9bO-VzXks5stnLVgaJpZM4PvaMP.

If your scenario is the following:
pkt.extract<Ethernet>( { _, _, type } )
then I can see a path to make this work. We only allow _ in out arguments.
We just need to generalize the language to allow list expressions to be treated as left-values and used as out arguments. That should be doable, but not necessarily trivial. I think I tried to make _ a left-value and this introduced ambiguities in the grammar. But if we can solve this there are two steps:

allows lists of left-values to be left-values
allow underscores in lists which are left-values

CC> would it work to have those arguments as optional? There is already support for optional arguments to methods in p4c, although they do impose ordering constraints.
My use case is actually a single argument that's a tuple, and I wanted to allow DONTCARE values in the tuples.  So optional arguments wouldn't help (well, not unless I exploded the tuple into separate arguments, but I don't want to do that).
CC> Another proposal that has been brought up is to use named parameters.
Yes, that discussion has been going on since the earliest days.  For the same reason as above, named arguments wouldn't help.  Though if there were named/numbered members in tuples, that would work.
MB> If your scenario is the following:
MB>   pkt.extract( { _, _, type } )
MB> then I can see a path to make this work. We only allow _ in out arguments.
It's actually the opposite - it's not for extract but actually for an experimental packet method called update.  It has an in argument, not an out argument.  (Though I can imagine that this extract use case could be handy.)

I'll withdraw this suggestion, and go with the (more ugly, but less controversial) alternative approach suggested by Mihai.


sort schema alphabetically

The schema list in Postgres connections is not sorted making it very difficult to use when there are a large number of schemes.
I can't post a screenshot due to the nature of the schema names, etc.

A PR contributed by @bombillazo will resolve this in the next releases of the driver extension.


Fixes bugs where the globals are None

This is the case when these functions are called directly, and where the
inspect_domains() function is not used.
Currently these lists are defined only if inspect_domains() has been
called, which may not be the case when testing (e.g. in #28 / #125).
This breaks the tests I am creating in #125, but I thought these decisions might warrant some discussion with @h-m-f-t and @konklone as to whether this is the right approach, so I've split it out into it's own PR.

Coverage decreased (-0.2%) to 23.414% when pulling 14f41a9cd257d71df9aea8ae72d9d5a694971356 on default-globals into c99ea6a9208fb632fa934a967ec6041bffb4c2a7 on master.

It seems like the right call here would be to move the downloading of this data into an initialize_data or initialize_cache function or something, which can then also be easily mocked within tests (and called as part of test setup) to set them all to static data or empty arrays.
I prefer that over adding special logic to each determinant function, which essentially means we're putting the burden on each is_ function to know whether it's being operated in a test environment or not.
Maybe that function is best written as part of fixing #99? But if it's easy enough to do here without having to refactor the caching logic itself, then we could do it here.

Hmm, I like the idea of having an initialize_cache or similar function.. Then we could change what I've proposed here to be something like:
...
if suffix_list is None:
    initialize_caches()
...

I still think we want something in these three functions like above to make sure that if they get called (e.g. by the is_* functions, that they actually have done something to set the values on suffix_list, preload_list, and preload_pending (unlike now where those are only set as part of calling the inspect_domains function).

Coverage decreased (-0.1%) to 23.494% when pulling b48cb70b0ce371cd1e0902eb5a3d671e7170fe95 on default-globals into c99ea6a9208fb632fa934a967ec6041bffb4c2a7 on master.

I still think we want something in these three functions like above to make sure that if they get called (e.g. by the is_* functions, that they actually have done something to set the values on suffix_list, preload_list, and preload_pending (unlike now where those are only set as part of calling the inspect_domains function).

So I don't agree, here -- I don't think the is_* functions should have to be aware of things like this, and it leads to redundant code. In this case, I think the test harness should do what it needs to do to ensure that those methods are properly initialized with what they need.
So I would expect the test harness to generally run initialize_caches(), as well as mock out that function so it doesn't hit the network but loads those arrays with whatever generic arrays makes sense in a test environment. (And you could make it easy to override per-test for those that exercise those functions explicitly.)
For this PR, I'd really just like to clean up the three is_* functions by having the test harness call initialize_caches() so that those functions don't crash without the explicit check. Does that sound doable?

As far as the test harness is concerned, I actually found a way already to work around them not being loaded: https://github.com/dhs-ncats/pshtt/blob/537f4120396b188ee3f20c8c0b3610ee9bad988d/tests/test_cli.py#L11-L20
I'm not sure that I agree that the is_hsts_preload_pending, is_hsts_preloaded and parent_domain_for should fail with an exception if they don't have the corresponding lists available.
While tests are one example of how you might use these functions directly, another is the case where someone is using the internals of pshtt as a library. In that case, they may not make use of the inspect_domains function, which is currently the only place those lists get created.
Consider the following snippet, which would fail without us making some kind of change:
from pshtt.pshtt import is_hsts_preloaded
from pshtt.models import Domain

domain_url = 'example.com'

my_domain = Domain(domain_url)
my_domain.http = Endpoint("http", "root", domain_url)
my_domain.httpwww = Endpoint("http", "www", domain_url)
my_domain.https = Endpoint("https", "root", domain_url)
my_domain.httpswww = Endpoint("https", "www", domain_url)

assert(is_hsts_preloaded(my_domain) == True)

The above will currently raise an exception due to preload_list being undefined:
In [1]: from pshtt.pshtt import is_hsts_preloaded

In [2]: from pshtt.models import Domain, Endpoint

In [3]: domain_url = 'example.com'

In [4]: my_domain = Domain(domain_url)
   ...: my_domain.http = Endpoint("http", "root", domain_url)
   ...: my_domain.httpwww = Endpoint("http", "www", domain_url)
   ...: my_domain.https = Endpoint("https", "root", domain_url)
   ...: my_domain.httpswww = Endpoint("https", "www", domain_url)
   ...:

In [5]: assert(is_hsts_preloaded(my_domain) == True)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-5-8d7a9de74754> in <module>()
----> 1 assert(is_hsts_preloaded(my_domain) == True)

~/projs/pshtt/pshtt/pshtt.py in is_hsts_preloaded(domain)
    910     Whether a domain is contained in Chrome's HSTS preload list.
    911     """
--> 912     return domain.domain in preload_list
    913
    914

TypeError: argument of type 'NoneType' is not iterable

I can imagine something like the above being used to very quickly write an "are these domains in the HSTS preload / pending-preload lists" script.

OK, I find that convincing, that those methods should be context-aware of whether their relevant data's been loaded.
However, I still think this could be handled a bit differently. While it's not the worst thing, I don't think it would be ideal if is_hsts_preloaded() suddenly downloaded network data without warning. Instead, I think it would be better to treat it as if it were an API call that needs to have third party credentials set ahead of time (e.g. using the censys Python library to make a Censys API call, without having set API credentials).
So what about insisting that that method needs to have initialize_caches (or maybe since we're exposing it, a more explanatory name, e.g. get_third_party_data) run first, and having the method raise a specific exception if it's not been run?

(Also, small note that since merging #125, there's a merge conflict here that should be resolved.)

(Rebased and pushed to fix conflicts.)
So it sounds like you are leaning towards something like the following where we raise an exception and force an explicit load of the data, rather than having the data implicitly loaded when it's needed if it hasn't been yet... E.g.:
def parent_domain_for(hostname):
    if suffix_list is None:
        raise RuntimeError('suffix_list data has not been loaded. You must run `initialize_caches()` in order to load')

    return suffix_list.get_public_suffix(hostname)

Yep, that's exactly right. Do you think that's good/doable?

Certainly doable, though I think I personally lean towards implicitly doing the data fetch if they need it, rather than making it explicitly required. In defense of those other services, since these get defined as globals, they would only be fetched once per library invocation and held in memory.
Maybe @h-m-f-t + @jsf9k should weigh in with their thoughts?

As an aside, I will be squashing this branch prior to merging to resolve the strange commits as we've been discussing what this ought to look like

Certainly doable, though I think I personally lean towards implicitly doing the data fetch if they need it, rather than making it explicitly required. In defense of those other services, since these get defined as globals, they would only be fetched once per library invocation and held in memory.

That is true, and would likely mitigate accidental DDoS in many cases. That said, there are still cases where people may use the Python API but still orchestrate their overall batching/parallelization in ways that don't benefit from this in-memory use. You can imagine this coming up if someone called pshtt functions inside of a Python-based Lambda function, for instance.
Based on my own experience at doing high-parallelization batching and exploring use of Lambda, I favor approaches that make sure that people are handling this network outreach, which can have implications for both clients (in time/cost) and servers (in load/cost), explicitly rather than implicitly. Very open to other thoughts, of course!

Based on my own experience at doing high-parallelization batching and exploring use of Lambda, I favor approaches that make sure that people are handling this network outreach, which can have implications for both clients (in time/cost) and servers (in load/cost), explicitly rather than implicitly.

I think this approach is reasonable, especially when viewed in terms of (ours, others) bandwidth costs. I'm okay raising an hard error to the user to enforce that.

I think I've addressed all the concerns from @konklone and @h-m-f-t (and @jsf9k already liked the changes ;)).
Squashed and settled on raising a hard exception for now. Let me know if I missed anything. I'm inclined to make this an incremental improvement on the path to a more complete caching solution, rather than kicking it down the road too far.

As always, many thanks @IanLee1521


Issue with credit card normalisation

 python3 txt2stix.py \
        --relationship_mode standard \
        --input_file tests/inputs/extraction_types/generic_bank_card_mastercard.txt \
        --name 'Test 3.1.34 pattern_bank_card_mastercard' \
        --tlp_level clear \
        --confidence 100 \
        --use_extractions pattern_bank_card_mastercard

Produces
bundle--ce871ba3-3850-4840-b24d-4abbdd03504a.json
You can see 2 dupe indicator are created for bank-card<PHONE_NUMBER>060076)
The test file
generic_bank_card_mastercard:
  test_positive_examples:
    - '5588601012060076'
    - '5588 6010 1206 0076'

Has the same card number (one with spaces, one without).
I suspect the 2 indicators are being created because the creation is done before normalisation (remove spaces) of these two cards into one.
Expected result is 1 indicator, 1 bank card for each unique card number (once spaces removed).

@fqrious it the same test now extracts 0 results
bundle--3539e8c5-e7fa-5a72-a0b4-c7a9717bb15c.json

it's failing luhn test, I added luhn validation

@fqrious the test
 python3 txt2stix.py \
        --relationship_mode standard \
        --input_file tests/inputs/extraction_types/generic_bank_card_mastercard.txt \
        --name 'Test 3.1.34 pattern_bank_card_mastercard' \
        --tlp_level clear \
        --confidence 100 \
        --use_extractions pattern_bank_card_mastercard

still fails with no extractions, expecting 1 extraction

it's invalid


Create user account page

Lo-fi wireframe
Create the page for user account. Try to make it load the data with a fake user object so in the future we can connect it to the backend.
Reminder that we're using Chakra's UI kit! Here's their documentation.

/cib user account page

Branch 7-user-account-page created!


Support registering and listing version info for languages and generators

Related discussion #219

Registered languages and generators should be able to specify version.
list-languages and list-generators cli commands should output versions also.

We could just use the version of the package they are installed with. We can't install them independently of the package they live in so no point in having separate versions. And that wouldn't require changes in the registration API.


Adap 18/convert simple copy test

Description
This one was hard because of:

all the special exceptions to snowflake
function many of these tests used in the old framework is no longer callable so I had to get creative with manipulating the project YML instead
a decent amount of effort into trying to manipulate the unique schema fixture with no real success because we don't have an easy entry points into how the profile is constructed (to my knowledge).

Checklist

[x] I have read the contributing guide and understand what's expected of me
[x] I have signed the CLA
[x] I have run this code in development and it appears to resolve the stated issue
[x] This PR includes tests, or tests are not required/relevant for this PR
[x] I have opened an issue to add/update docs, or docs changes are not required/relevant for this PR
[x] I have run changie new to create a changelog entry

Seeing as I'm going to reformat this whole repo as soon as Neelesh finishes up the snapshot test conversion, I'm going to merge things as is


DE: GR: IS: IT: LU: LV: PL: PT: SI: SK: Please upload correct public keys to acceptance.

Affected Country: DE: GR: IS: IT: LU: LV: PL: PT: SI: SK:
Issue Description
Currently the uploaded certificates(Test data) do not validate against the public keys uploaded to the acceptance test environment. The public key is either fully missing or the wrong public key has been uploaded.
Proposed Solution
Please upload correct publickeys.

Please mark as well all files with GATEWAY-ENV:["ACC"] in the Testcontext.

IS: added the GATEWAY-ENV

@SchulzeStTSI  should this be closed?

PL has correct DSC public keys uploaded to the DGCG's acc env.
If there are any validation issues with currently uploaded public keys, let us know please.


How to add new rules?

Hello,
Thank you for creating this wonderful repo. It is really helping me understand how a generative model is built.
Just a quick question, could you please tell me how to add new rules to your existing model ?
Thanks.

This is more of a question than an issues. I hope it's ok that I have created it as an issue.

@adithyaChander Please refer to the training data in files in this folder: https://github.com/bshao001/ChatLearner/tree/master/Data/Corpus/Augment2. Create rules with specially formatted tags. Then, add the functions into https://github.com/bshao001/ChatLearner/blob/master/chatbot/functiondata.py file.
Hope this helps. BTW, if you do think this repo helped you, please consider star and/or fork it. Thanks.


NW: Added new spells

Also confirmed Shadow Well id.
Note: Throw cleaver should be positioned to hit another mob. If no other mobs are alive, it should be positioned to hit the tank.
Chill Scythe is the spell cast after being drawn in by the winds.

Thanks!
I recommend opening this PR on ElitismHelper too, so we can keep it in sync.

Thanks!
I recommend opening this PR on ElitismHelper too, so we can keep it in sync.


Fix transposition counting in Jaro / JaroWinkler

The transposition count is currently broken in some cases as described in https://github.com/dguo/strsim-rs/issues/49. This fixes the transposition counts and performs some general cleanup of the implementation.

This makes both Jaro and Jaro-Winkler slower, since the previous approximation didn't have to iterate over the sequence twice. E.g. in the benchmarks included in strsim 514ns instead of 372ns.
In addition it introduces some binary overhead. Before these changes we had around 1.4kb of binary size and with them around 2.6kb. The latest commit reduces it back down to 1.6kb.

I do not see a way to reduce the binary size overhead even further at least some overhead is expected, since we fundamentally need to perform more work if we count the transpositions separately.


ERROR: Feature "Java (via SDKMAN!)" (ghcr.io/devcontainers/features/java) failed to install! for all Maven versions

Something happened today or yesterday, now all container builds end up with a very strange error:
> [dev_containers_target_stage 4/4] RUN --mount=type=bind,from=dev_containers_feature_content_source,source=java_0,target=/tmp/build-features-src/java_0     cp -ar /tmp/build-features-src/java_0 /tmp/dev-container-features  && chmod -R 0755 /tmp/dev-container-features/java_0  && cd /tmp/dev-container-features/java_0  && chmod +x ./devcontainer-features-install.sh  && ./devcontainer-features-install.sh  && rm -rf /tmp/dev-container-features/java_0:
0.313 ===========================================================================
0.313 Feature       : Java (via SDKMAN!)
0.313 Description   : Installs Java, SDKMAN! (if not installed), and needed dependencies.
0.313 Id            : ghcr.io/devcontainers/features/java
0.313 Version       : 1.4.1
0.313 Documentation : https://github.com/devcontainers/features/tree/main/src/java
0.313 Options       :
0.313     VERSION="none"
0.313     JDKDISTRO="ms"
0.313     INSTALLGRADLE="false"
0.313     GRADLEVERSION="latest"
0.313     INSTALLMAVEN="true"
0.313     MAVENVERSION="3.9.4"
0.313     INSTALLANT="false"
0.313     ANTVERSION="latest"
0.313     INSTALLGROOVY="false"
0.313     GROOVYVERSION="latest"
0.313 ===========================================================================
7.368 Version 3.9.4 not found. Available versions:
7.368 33
7.368 33
7.368 31
7.368 31
7.368 31
7.368 31
7.368 31
7.368 31
7.368 31
7.368 31
7.368 1
7.368 1
7.368 1
7.368 1
7.368 1
7.368 1
7.368 1
7.368 1
7.368 1
7.368 1
[2024-05-30T22:21:35.565Z]
7.368 0
7.368 0
7.368 0
7.368 0
7.368 0
7.368 0
7.368 0
7.368 0
7.368 0
7.368 0
7.368 ERROR: Feature "Java (via SDKMAN!)" (ghcr.io/devcontainers/features/java) failed to install! Look at the documentation at https://github.com/devcontainers/features/tree/main/src/java for help troubleshooting this error.
------
[2024-05-30T22:21:35.566Z] Dockerfile-with-features:32

No matter which Maven version is there, it shows above.

@gauravsaini04 / @prathameshzarkar9 Can you help investigate this error? Thanks!

@samruddhikhandale, looks like it was an intermittent issue with sdkmans' upstream repositories, I can't reproduce it anymore, thanks!


Page-Manager Bug Checklist

[x] Preview link modifications
[x] Bug when publishing a draft to an existing page
[x] Not redirecting when trying to edit a draft
[x] Update readme according to changes

Preview link modifications

Shows either View Draft or View, depending on if the item is a draft or not.
Getting preview link is done in config file

Bug when publishing a draft to an existing page

When publishing a draft, now updates all the fields in parent. Previously only saved the data and published field

Not redirecting when trying to edit a draft

Previously, when trying to edit a draft, it wouldn't redirect to the correct url, instead it would only change the url.

Update readme according to changes

Preview link is available without defining it in the NovaServiceProvider

Thanks a ton for the fixes! I'll go over the code, do some test, add some more changes and make a major release (2.0.0) shortly.


Password must not already be in use

"Password must not already be in use" would be a nice confusing message just to throw out at random. Means nothing here of course except "try something else"

Already imncluded, it seems


[BUG] cuDNN error existing when training parametric LSTM model in PyTorch 2.5.1

Describe the bug
I am having trouble with LSTM models running on GPU when the inputted sequence gets longer than 65535 in PyTorch 2.5.1.
To Reproduce
Steps to reproduce the behavior:

Run the following code to reproduce the error without any NAM code:

import torch

def test_case(sequence_length: int):
    # device = "cpu"  # SUCCESS
    device = "cuda"  # FAIL
    print("Attempt...")
    # Not important what values are chosen for these
    batch_size = 2
    input_size = 4
    x = torch.randn(sequence_length, batch_size, input_size).to(device)
    model = torch.nn.LSTM(num_layers=3, input_size=input_size, hidden_size=24).to(
        device
    )
    model(x)

test_case(sequence_length=65535)  # Succeeds
try:
    test_case(sequence_length=65536)
    print("SUCCESS!")
except RuntimeError as e:
    print("FAIL!")
    print(e)

Output:

Attempt...
Attempt...
FAIL!
cuDNN error: CUDNN_STATUS_NOT_SUPPORTED. This error may appear if you passed in a non-contiguous input.

Expected behavior
Attempt...
Attempt...
SUCCESS!

Desktop (please complete the following information):

OS : WSL2 on Win11
Are you running locally or is this somethig that happens on Colab?: Locally
Package version (or commit hash?): See the following

Collecting environment information...
PyTorch version: 2.5.1
Is debug build: False
CUDA used to build PyTorch: 12.4
ROCM used to build PyTorch: N/A

OS: Ubuntu 24.04.1 LTS (x86_64)
GCC version: (Ubuntu 13.2.0-23ubuntu4) 13.2.0
Clang version: Could not collect
CMake version: Could not collect
Libc version: glibc-2.39

Python version: 3.12.7 | packaged by Anaconda, Inc. | (main, Oct  4 2024, 13:27:36) [GCC 11.2.0] (64-bit runtime)
Python platform: Linux-<IP_ADDRESS>-microsoft-standard-WSL2-x86_64-with-glibc2.39
Is CUDA available: True
CUDA runtime version: Could not collect
CUDA_MODULE_LOADING set to: LAZY
GPU models and configuration: GPU 0: NVIDIA GeForce RTX 4090
Nvidia driver version: 560.94
cuDNN version: Could not collect
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True

CPU:
Architecture:                         x86_64
CPU op-mode(s):                       32-bit, 64-bit
Address sizes:                        46 bits physical, 48 bits virtual
Byte Order:                           Little Endian
CPU(s):                               24
On-line CPU(s) list:                  0-23
Vendor ID:                            GenuineIntel
Model name:                           13th Gen Intel(R) Core(TM) i7-13700
CPU family:                           6
Model:                                183
Thread(s) per core:                   2
Core(s) per socket:                   12
Socket(s):                            1
Stepping:                             1
BogoMIPS:                             4223.99
Flags:                                fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology tsc_reliable nonstop_tsc cpuid pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves avx_vnni umip waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize flush_l1d arch_capabilities
Virtualization:                       VT-x
Hypervisor vendor:                    Microsoft
Virtualization type:                  full
L1d cache:                            576 KiB (12 instances)
L1i cache:                            384 KiB (12 instances)
L2 cache:                             24 MiB (12 instances)
L3 cache:                             30 MiB (1 instance)
Vulnerability Gather data sampling:   Not affected
Vulnerability Itlb multihit:          Not affected
Vulnerability L1tf:                   Not affected
Vulnerability Mds:                    Not affected
Vulnerability Meltdown:               Not affected
Vulnerability Mmio stale data:        Not affected
Vulnerability Reg file data sampling: Mitigation; Clear Register File
Vulnerability Retbleed:               Mitigation; Enhanced IBRS
Vulnerability Spec rstack overflow:   Not affected
Vulnerability Spec store bypass:      Mitigation; Speculative Store Bypass disabled via prctl and seccomp
Vulnerability Spectre v1:             Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:             Mitigation; Enhanced / Automatic IBRS; IBPB conditional; RSB filling; PBRSB-eIBRS SW sequence; BHI BHI_DIS_S
Vulnerability Srbds:                  Not affected
Vulnerability Tsx async abort:        Not affected

Versions of relevant libraries:
[pip3] numpy==1.26.4
[pip3] torch==2.5.1
[pip3] torchaudio==2.5.1
[pip3] torchvision==0.20.1
[pip3] triton==3.1.0
[conda] blas                      1.0                         mkl
[conda] ffmpeg                    4.3                  hf484d3e_0    pytorch
[conda] libjpeg-turbo             2.0.0                h9bf148f_0    pytorch
[conda] mkl                       2023.1.0         h213fc3f_46344
[conda] mkl-service               2.4.0           py312h5eee18b_1
[conda] mkl_fft                   1.3.11          py312h5eee18b_0
[conda] mkl_random                1.2.8           py312h526ad5a_0
[conda] numpy                     1.26.4          py312hc5e2394_0
[conda] numpy-base                1.26.4          py312h0da6c21_0
[conda] pytorch                   2.5.1           py3.12_cuda12.4_cudnn9.1.0_0    pytorch
[conda] pytorch-cuda              12.4                 hc786d27_7    pytorch
[conda] pytorch-mutex             1.0                        cuda    pytorch
[conda] torchaudio                2.5.1               py312_cu124    pytorch
[conda] torchtriton               3.1.0                     py312    pytorch
[conda] torchvision               0.20.1              py312_cu124    pytorch

Thanks for the Issue and the MWE. This helps me understand.
Yes, there's a problem with PyTorch 2.5.1. Unfortunately, I didn't fix PyTorch, but implemented a workaround in #454 for nam.models.recurrent.LSTM here.
But this doesn't affect torch.nn.LSTM--that's out of scope for this repo.
However, I don't see a test in #454, so let me write one up. Either it shows the problem you're having, or it confirms that everything is ok. (Just to reiterate, the scope of this is going to be nam.models.recurrent.LSTM working--not torch.nn.LSTM).

@lbdhr, have a look at #513.
I took the test I'd implemented to check longer-than-65,536 inputs for the MPS bug  on ConvNets (see #505) and moved it up into the general testing parent class, tests.test_nam.test_models.base.Base. Since tests.test_nam.test_models.test_recurrent.TestLSTM inherits this class, it tests the condition that you're having an Issue with.
The test is skipped on the GitHub test runner since that machine doesn't have a GPU, but I ran it on my Windows desktop and it passes, which is good enough to convince me that the bug is fixed in NAM.
Let me know if you agree. If so, I'll merge the PR and resolve this Issue.

Bumping this.
If I don't hear back by, say, this weekend, I'll assume that the above works and I'll close this as resolved.

Hi, @sdatkinson . Thank you very much for your prompt response. I think I can use the nam.models.recurrent.LSTM rather torch.nn.LSTM to implement my code. I agree with you that we can merge the PR and relsolve this issue. Thank you again for your help!


Apache 2.4 support without mod_access_compat

"The directives provided by mod_access_compat have been deprecated"

Looks like github client made pull request without asking. Duplicate with #385


Add Authorization to emailMessageDAO

Only added checks for reading the DAO for now since I don't know if
we're going to allow regular users to create, update or delete email
messages. But at the moment it's totally without authorization checks,
meaning any user can see all emails sent by querying it through the
console or DIG, seeing sensitive information.
Closes https://github.com/nanoPayinc/NANOPAY/issues/5372

"Only added checks for reading the DAO for now since I don't know if
we're going to allow regular users to..."
We should disallow all actions by regular users until someone presents a use case for it.  Otherwise we might forget to close this later.

So we'd have a brief period where all (or most) emails sent out would be broken, at least I think so.

Not unless you fix that behaviour also in the same PR :)

Should probably turn on authenticateRead in the Authenticated DAO

Not unless you fix that behaviour also in the same PR :)

Truth

Should probably turn on authenticateRead in the Authenticated DAO

It does by default using the two-argument constructor. Code


Run tests on Node 15

Changes:

Add Node 15 to test matrix

Context:
Node.js has a new current release, version 15.
I don't know if you care about/support the latest current release, or if you only support LTS releases.
Feel free to close this if you don't care about Node 15. 😉

Thanks!

Thanks!


Configure Devices with MDM policy

Please add a section on how to Configure Devices with MDM policy.  In the Intune docs, there is a description on how to do it, but it refers to OMS (now Log Analytics) and there are no clear instructions on how to get the workspace ID https://docs.microsoft.com/en-us/mem/intune/protect/windows-update-compliance-reports#use-update-compliance

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

ID: 203edb5f-4274-eafb-323b-01fd55192c85
Version Independent ID: 7a4beba8-b79b-92c3-59b9-b73c92947083
Content: Get started with Update Compliance - Windows Deployment
Content Source: windows/deployment/update/update-compliance-get-started.md
Product: w10
Technology: windows
GitHub Login: @jaimeo
Microsoft Alias: jaimeo

I think a better approach would be to get the Intune docs to include this information, and then we can link to that. The reason is that if the info is in more than one place, it's harder to keep everything up to date and in sync.
@cinglis-msft can we follow up on that?

I think a better approach would be to get the Intune docs to include this information, and then we can link to that. The reason is that if the info is in more than one place, it's harder to keep everything up to date and in sync.
@cinglis-msft can we follow up on that?

@cinglis-msft Please let us know whether we could help with this. Thanks.

@cinglis-msft Please let us know whether we could help with this. Thanks.

I will make a note to work on this.

I will make a note to work on this.

Fixed in https://github.com/MicrosoftDocs/windows-itpro-docs/commit/0a45c0a88462083eaaee98f8dc5a429dda727933


[DOC] improper type syntax in basinhopping docstring.

from the current generated docs in https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.basinhopping.html
it looks like the type must be one line, or the second line get
interpreted as a blockquote that appear as the first line in description
of this parameter.
Use this opportunity to https-ify url (after checking they work over
https) and make them real links
[ci skip]
[skip azp]
[skip action]

All right lets go with this then. Thanks again Matthias and Ralf for the confirmation.


cargo-lambda watch "No Child Processes" error

On osx x86, Ventura 13.1
cargo-lambda 0.16.1 (e0c2431 2023-01-26Z) installed via brew
rustc 1.67.0 (fc594f156 2023-01-24)
When I start watching with cargo lambda watch then invoke cargo lambda invoke my-lambda --data-ascii '{}' I get the error every few seconds:
ERROR internal error watching your project error=IoError { about: "waiting on process group", err: Os { code: 10, kind: Uncategorized, message: "No child processes" } }

Might be related to specifying a binary...

@calavera, two log files.
logfiles.zip

I am actively experiencing this issues. Log lines look similar but not available to share.

   Compiling regex v1.7.1
ERROR internal error watching your project error=IoError { about: "waiting on process group", err: Os { code: 10, kind: Uncategorized, message: "No child process" } }
   Compiling regex-syntax v0.6.28
   Compiling syn v1.0.107
   Compiling rustls v0.20.8
   Compiling regex v1.7.1
   Compiling regex-syntax v0.6.28      ] 164/230: rustls, syn, regex-syntax, regex
   Compiling syn v1.0.107
   Compiling rustls v0.20.8
   Compiling regex v1.7.1

This usually is combined with spinning on compilation of this series of crates. cargo lambda build is fine, as a counter point.

If I run watch with the no-reload flag it is able to compile and I can invoke test events.

as discovered in this issue, I think we need to add target directories for each of the examples to the example crates' .gitignore files.  otherwise cargo is mutating the target directory after cargo lambda watch starts up, which triggers re-compilation, which triggers killing the running service.

the target directories are already ignored in the root crate's .gitignore file.  it'd be nice to have cargo lambda watch respect that file.  but according to the docs for the ignore-files crate:

Importantly, this should be called from the origin of the project, not a subfolder. This function will not discover the project origin, and will not traverse parent directories. Use the project::origins function for that.

that pointer to project::origins seems to be a dead link.  it'd be nice to have cargo lambda watch just find the upstream .gitignore files, which it sounds like should be possible given these docs.

#378 should address


--nvidia feature fails to find libcuda in ubuntu

Problem: in Ubuntu 16.04 setting up container with --nvidia flag fails to copy libcuda, libOpenCL, and libnvidia-opencl libraries.
Reason: Ubuntu splits nvidia libraries across (at least) two directories: /usr/lib/x86_64-linux-gnu and /usr/lib/nvidia-Vers. (e.g. nvidia-384). udocker searches for nvidia-libraries on the host but assumes that they are all in one directory, thus failing to find all necessary libraries in Ubuntu.
Dirty hack: copy manually libcuda.so, libcuda.so.1, and libcuda.so.vers (e.g. libcuda.so.384.81) from the host to the appropriate directory in the container (e.g. /usr/lib/x86_64-linux-gnu if your container is Ubuntu).

Confirm that with the new devel it works in Ubuntu 16.04 (other versions not tested (yet)).


[BUG] Using FileStreamResult with client side encrypted blobs, results in never ending download

Describe the bug
When using FileStreamResult with encrypted blob stream reported Length of stream is of the encrypted blob and not decrypted one. This results browser waiting for missing bytes reported by FileStreamResult and download fails.
Expected behavior
Client side encrypted blob stream should report decrypted size.
Actual behavior
When trying to download in browser it will first try to download missing bytes and then download will time out and fail
To Reproduce
Here is sample Azure function:
[FunctionName("Download")]
        public static async Task<IActionResult> Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req,
            ILogger log)
        {
            string name = req.Query["name"];

            string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
            dynamic data = JsonConvert.DeserializeObject(requestBody);
            name ??= data?.name;

            string storageConnectionString = Environment.GetEnvironmentVariable("CONNECTION_BLOB");
            BlobClientOptions options = await Helper.GetOptions();

            BlobClient blob = new BlobServiceClient(storageConnectionString, options)
                .GetBlobContainerClient("encrypted")
                .GetBlobClient(name);

            var blobStream = await blob.OpenReadAsync();

            return new FileStreamResult(blobStream, "application/octet-stream")
            {
                FileDownloadName = name,
            };
        }

        public static async Task<BlobClientOptions> GetOptions()
        {
            string tenantId = Environment.GetEnvironmentVariable("tenantId");
            string clientId = Environment.GetEnvironmentVariable("clientId");
            string clientSecret = Environment.GetEnvironmentVariable("clientSecret");
            string vaultName = Environment.GetEnvironmentVariable("vaultName");
            string keyName = Environment.GetEnvironmentVariable("keyName");

            ClientSecretCredential cred = new ClientSecretCredential(tenantId, clientId, clientSecret);
            var vaultUri = new Uri($"https://{vaultName}.vault.azure.net/");
            KeyClient keyClient = new KeyClient(vaultUri, cred);

            KeyVaultKey rasKey = await keyClient.GetKeyAsync(keyName);
            IKeyEncryptionKey key = new CryptographyClient(rasKey.Id, cred);
            IKeyEncryptionKeyResolver keyResolver = new KeyResolver(cred);

            ClientSideEncryptionOptions encryptionOptions = new ClientSideEncryptionOptions(ClientSideEncryptionVersion.V1_0)
            {
                KeyEncryptionKey = key,
                KeyResolver = keyResolver,
                KeyWrapAlgorithm = "RSA1_5"
            };
            BlobClientOptions options = new SpecializedBlobClientOptions() { ClientSideEncryption = encryptionOptions };
            return options;
        }

Environment:

Azure.Storage.Blobs 12.9.1
Azure.Security.KeyVault.Keys  4.2.0
Azure.Identity 1.4.0
Microsoft.Azure.WebJobs.Extensions.Storage 4.0.4
Microsoft.NET.Sdk.Functions 3.0.13
Azure AppService Core 3.1 Azure Functions
Visual Studio 2019

@jaschrep-msft can you please look at this?

In general, unless you need to seek through your stream at will or a known Length is critical, DownloadStreaming() is likely a far better option for you than OpenRead(). Code that is dependent on a stream's Length parameter will have a tough time with OpenRead() as the returned stream is designed to resize its length to accommodate blobs that are updating underneath you (assuming you've disabled ETag locking).
Even with etag locking enabled, reading using client-side decryption will still result in a changing stream length, as it's impossible to know the length of the plaintext until decryption is finished, which is impossible until the stream is fully consumed.
From an initial glance, it looks like our stream implementation does not accommodate the final read being shorter than expected, but even patching that may not be enough. I can't speak to the implementation details of FileStreamResult but if it can't handle a resizing stream at the very end then this route is doomed no matter what.
I would encourage you to see if FileStreamResult can handle a lengthless stream and to use DownloadStreaming() if that is the case. You will get a more efficient read and avoid the problem entirely.
If length/seekability is a requirement, I would encourage you to test whether FileStreamResult can handle a stream that gets shorter as you hit the final Read() call. If it cannot, then even a bug fix from us will not help you.

Thanks, after changing to:
            var response = await blob.DownloadStreamingAsync();

            return new FileStreamResult(response.Value.Content, "application/octet-stream")
            {
                FileDownloadName = name,
            };

download works fine in browser. It does not report size so it just downloads util finished, but it works perfectly.
One more question. Is the download from blob this way limited in speed ? I always got max of 500 kB/s...

It should not be limited unless the account you are downloading from is being throttled due to excessive traffic. If anything, I'd expect this method to be faster than OpenRead, as open read downloads a single section (4MB default), buffers it, then lets you read from that buffer, fetching a new buffer when you attempt to read from a stream position that is not buffered. This API just makes a single GET request to the service and gets the whole blob content as the HTTP response body.

Thanks a lot James, I will check the reasons for low speed in environment. Reported issue is resolved.


Find-DbaInstance - Fixed scans and added validation for invalid scans

Type of Change

[x] Bug fix (non-breaking change, fixes #)
[ ] New feature (non-breaking change, adds functionality)
[ ] Breaking change (effects multiple commands or functionality)
[ ] Ran manual Pester test and has passed (`.\tests\manual.pester.ps1)
[ ] Adding code coverage to existing functionality
[ ] Pester test is included
[ ] Nunit test is included
[ ] Documentation
[ ] Build system

Changes

Added validation for ScanTypes, will interrupt if no scan that can discover instances is selected (as opposed to scans that can provide additional data).
Fixed type in variable use for scantypes browser and service

lookin good,t hank you!


Fix bug in PointInCell

When FineSearch was renamed to PointInCell and move from Search to
Discretization, a bug was introduce in the CMake build. Namely, files in
Discretization where not compiled. So, we fixed the CMake bug and other bugs
found since the files are compiled now.

Looks like the ETI is messed up

Codecov Report

Merging #299 into master will decrease coverage by 1.81%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #299      +/-   ##
==========================================
- Coverage   97.48%   95.66%   -1.82%
==========================================
  Files          56       61       +5
  Lines        3217     3507     +290
==========================================
+ Hits         3136     3355     +219
- Misses         81      152      +71

Impacted Files
Coverage Δ

...ages/Discretization/src/DTK_PointInCellFunctor.hpp
33.33% <ø> (ø)

packages/Discretization/test/tstPointInCell.cpp
100% <ø> (ø)

packages/Discretization/test/unit_test_main.cpp
100% <0%> (ø)

...ackages/Discretization/src/DTK_PointInCell_def.hpp
37.73% <0%> (ø)

...ckages/Discretization/src/DTK_PointInCell_decl.hpp
0% <0%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2be85a0...e4ac7e2. Read the comment docs.


Branch off server-side output from client-side

[ ] Switch package.json referenced CJS to clientside
[ ] Export cjs/esm as XAPI.node.js/mjs
[ ] Test in all permutations for importing on client and server

decided against this!


Shaky content on assorted areas of page

This page had confusing textual elements that appeared to make it far from doctrinal Microsoft documentation (imho)....  For instance, it starts by immediately defining
"Azure Virtual Network" as VNet, and then proceeds to constantly interchange variations of the two terms even though one is much shorter and less confusing.  Microsoft is not so 'whimsical' when they write documentation.  I am similarly not so when reading it, so the added variety by the author is not a welcome feature.
Ideally it should be all Dragnet on the page... Just the Facts!  Anything else adds confusion to the issue and muddles content delivery.  Products and services by definition, options therein... and done.
Please have an appropriate and knowledgeable reviewer fix it.  You would not opt to afford my rates, and honestly given the page content I'm still somewhat shaky on what the content intended to convey so you should go elsewhere regardless.
-TnT
And this... [Enter feedback here]... should that say [Enter feedback above] ?!?  I surely hope that's what you meant because I put it above and if I shouldn't have... just more bad page writing.
See?
-TnT (ps)
[Enter feedback here]

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

ID: f03f79a2-923f-3e1a-5e8f-8ce1f5913a56
Version Independent ID: 6330e3e6-d903-b8f8-370d-e61ff4384d5e
Content: Azure Virtual Network
Content Source: articles/virtual-network/virtual-networks-overview.md
Service: virtual-network
GitHub Login: @mbender-ms
Microsoft Alias: mbender

Thank you for your feedback! We have assigned this issue to the author to review further and take the next course of action.

Thanks for the feedback, @TousleyTN.
I'm creating a doc bug related to the feedback, and I will evaluate the article accordingly.

#please-close


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/49358

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