Publisher Address of BibTeX Inproceedings Entries

BBT's BibTeX exporter doesn't seem to handle the Place field of Zotero items of type Conference Paper according to BibTeX's documentation. The documentation says:

The PROCEEDINGS and INPROCEEDINGS entry types now use the address field to tell where a conference was held, rather than to give the address of the publisher or organization. If you want to include the publisher’s or organization’s address, put it in the publisher or organization field.

The BibTeX exporter correctly maps Zotero's Event Place field to BibTeX's address field, but it discards Zotero's Place field. The documentation suggests that BBT should append the contents of Zotero's Place field to BibTeX's publisher field. BBT can't do the same with the organization field because Zotero doesn't support storing conference organisers.
The documentation doesn't make it clear what separator should be used between the publisher and address though. An obvious choice would be a comma, but this may not look the best in some BibTeX styles (for example when a semicolon is used to separate the entries surrounding the publisher). I still think that it'd be better for BBT to include the publisher's address with a possibly suboptimal separator rather than not including the information at all. Manually editing the the exported BibTeX file to replace commas with another separator should be quicker than manually adding the addresses of publishers.
This is the debug-report ID of an example conference paper item: QRN56KSA-euc. I haven't tested this with proceedings items and it doesn't even seem to be obvious to me how to add such an entry to Zotero. Please let me remind that this issue only pertains to the BibTeX exporter.

I'm not entirely sure what to make of the docs you point out, but before I put Place anywhere I need to know what it means inside Zotero. What does Place mean for a Zotero Conference Paper if not Event Place?
I'm not a great fan of fields being put together with hard-wired separators. But if I do, I need to know what the semantics of Place are.

Zotero's location fields are even more elaborate than I had originally thought. The documentation describes the relevant fields as follows:

Place is used for the place where the conference proceedings was published. If separate locations are needed for the publication place and the location of the conference, this field should be left blank and the Event Place and Publisher Place fields should be used instead.

Event Place records the geographic location the conference.

Publisher Place records the geographic location of the publisher.

There's also the Original Publisher Place field for 'The geographic location of the publisher of the original version of an item (e.g., the untranslated version).'. I think we can get away with not considering this field in this issue.

Back to the quote from BibTeX's documentation:

The PROCEEDINGS and INPROCEEDINGS entry types now use the address field to tell where a conference was held, rather than to give the address of the publisher or organization. If you want to include the publisher’s or organization’s address, put it in the publisher or organization field.

It seems that for conference papers (inproceedings entries) BibTeX originally only supported recording the publisher's location in the address field. It seems that the developers later decided it would be better to support recording both the publisher's and the conference's location. The above quote from the documentation implies that conference papers (inproceedings entries) should instead record the conference's location in the address field and the publisher's location should be put in the publisher field. What is exactly meant by putting the publisher's location into the publisher field isn't further discussed, but it probably partially depends on the used bibliography style. I think I went too far in my initial comment by saying that the publisher's location should be appended to the publisher field separated with a comma. Assigning any of 'Publisher, Publisher Place', 'Publisher; Publisher Place', 'Publisher (Publisher Place)', 'Publisher Place: Publisher' to the BibTeX publisher field seem like valid options depending on the used bibliography style. The fact that BibTeX's documentation states that that the publisher's location can be placed into the publisher field is also discussed on Stack Exchange.
Maybe the best first step would be to make this functionality available from BBT's scripting interface. I tried to implement the described functionality using a postscript, but it seems that the values of Event Place and Publisher Place aren't made available the way I need. It looks like BBT currently assigns the values of fields Place, Event Place and Publisher Place all to the same variable item.place (so the interface only exposes the last value that got assigned). I had in mind something like
if (Translator.BetterBibTeX && item.itemType === 'conferencePaper' && item.eventPlace && item.publisher && item.publisherPlace) {
    reference.add({name: 'address', value: item.eventPlace})
    reference.add({name: 'publisher', value: item.publisher + ', ' + publisherPlace})
}

whilst adjusting the call to reference.add depending on what looks the best in the current bibliography style. Here's the debug-report ID with an updated conference paper item: 887N52WF-euc.

Sorry I was gone so long -- Zotero 5.0.85 introduced some changes with required a bit of work on my end to address, but that's now done.
Where in the UI do you find Event Place and Publisher Place?

Can you send me a new debug log? I forgot to pick up 887N52WF-euc and the log submissions get deleted after a week.

Sorry I was gone so long -- Zotero 5.0.85 introduced some changes with required a bit of work on my end to address, but that's now done.

No problem, thanks for working on BBT =)

Where in the UI do you find Event Place and Publisher Place?

They don't have their own fields but they're entered into Zotero's Extra field.

Can you send me a new debug log? I forgot to pick up 887N52WF-euc and the log submissions get deleted after a week.

Here it is: CTCKDJ2V-euc.

:robot: this is your friendly neighborhood build bot announcing test build <IP_ADDRESS>94 ("adjust tests for #1471")
Install in Zotero by downloading test build <IP_ADDRESS>94, opening the Zotero "Tools" menu, selecting "Add-ons", open the gear menu in the top right, and select "Install Add-on From File...".

Sponsor: is actually a stanza that has special meaning in the extra field -- it's recognized as "cheater syntax" and removed (by me) from the extra field, I just stuck it in collaborator because I didn't know about what sponsors meant for bibtex, but according to BibTeXing:

organization The organization that sponsors a conference or that publishes a manual.

So 6294 should get that right without requiring a postscript.

So 6294 should get that right without requiring a postscript.

Thanks, I've tried it and Sponsor is correctly assigned to organization without needing a postscript.
Should the issue be otherwise closed though? What about the handling of Place, Event Place and Publisher Place which I mentioned previously?

Yep, if you comment on a closed issue, the bot reopens it as a reminder for me.

We can still talk about those other fields if you want.

I originally opened this issue because of how publishing addresses are handled in Zotero's Conference Paper items. In the previous comments I've described how Zotero supports fields Place, Event Place and Publisher Place. Using these fields from BBT isn't fully supported yet. I tried to implement the missing functionality using a postscript, but it seems that BBT treats the various place fields as identical. I've further described this in my previous comments here and here.
The issue you've fixed (assigning the value of Sponsor to organization) is in fact something that I, until you brought it up, haven't mentioned in any of my previous comments! That was a separate issue I worked around by using a postscript; I was planning to report the issue later on. I think that because one of my earlier comments references a postscript and because the debug-report contained another unrelated postscript (which was used to deal with Sponsor), you continued with the Sponsor problem and forgot that this issue addresses publishing locations instead :).

Sorry about that. Your extra field has:

extra
available as

Event Date: 2015-06-08/2015-06-11
item.extra

Event Place: Newport Beach, California, USA
address

Publisher Place: New York, NY, United States
item.extra

Sponsor: ACM SIGARCH
organization

Yes, and as I mentioned previously, I couldn't seem to access the values of Event Place and Publisher Place separately because BBT seems to write both of these fields to the same variable accessible through the scripting API. This means that the value of the variable depended on the order of Event Place and Publisher Place in Zotero's Extra field.

I'm currently following the Zotero rules for parsing the extra field (to the best of my abilities), and it turns out the place discussion is a long-standing problem. I'll see how I can deviate from that without running into problems when that gets fixed.

I have a concept for a solution, but it takes a lot longer than I had hoped to implement this.

@retorquere Did you figure out which types should have Place mapped to event-place and which to publisher-place?

I think I'm going to split the behavior between mapping for CSL and for other Zotero concerns. For "Place", which doesn't have an unambiguous mapping to CSL, I'm considering leaving it in the extra fields where it can be picked up by a postscript. If you want event-place you could use that and it would map unambiguously to Place for CSL->Zotero mappings.

Figuring out a consistent mapping has been a challenge however. I feel like I'm closing in, but I thought that a week ago too, and I spent most of my waking hours last week to try to get it done.

The current Zotero behavior is to map Place to both event-place and publisher-place. Doing that would make pandoc citations mirror Zotero Word processor citations. “Event place” and “Publisher place” obviously should just map to the one.

“Event place” and “Publisher place” obviously should just map to the one.

That's not what @qak is looking for though. The problem is exactly that these two map to one field, where he wants to distinguish between them. 1-to-many is less problematic than many-to-one.

No, the problem is that Place (the Zotero field) is currently only getting mapped to one, but should be mapped to both. The CSL variables Event Place (event-place) and Publisher Place (publisher-place) should only be mapped to the actual CSL variable.

Right, I'm testing that setup right now.

All "Place" fields in Zotero are mapped to both event-place and publisher-place because that field predates Zotero adopting CSL, and there was only one "Place" field for all item types. It's currently not possible for Zotero to map "Place" to one or the other across different items, hence the annoying one-to-many mapping.

I have a deterministic mapping derived from the schemas.

Still -- that deterministic mapping leaves me with a bit of a problem. If I'm exporting to CSL, and there's place in extra, if I copy that to both event-place and publisher-place, a postscript can't distinguish between there having been place:  in the extra field, or two distinct event place:  and publisher place:  lines. Postscripters would have to check whether the values happen to be the same. Ugh. That's what I'm going to do though. I've spent more than enough time on this.

Postscripters would have to check whether the values happen to be the same.

I think that this limitation shouldn't be much of a problem. The ability to programmatically extract both Event Place and Publisher Place would resolve the issue in any case. Thanks for taking the time to look into this!

I'm finally in the final stages of running my tests, and most of it is looking good, but I'm now hitting an (old) issue that I don't quite know what to do with.
A visualization of the current mapping can be found here. I'm using yEd top open it. Quick rundown:

white nodes are the labels you could expect to enter in the extra field (they're lower case in the graph, but casing doesn't matter when you enter them in the extra field).
darker green nodes are zotero fields
light green fields are CSL fields
black arrows represents a directed mapping between CSL and Zotero fields as I find them in the Zotero/Juris-M schema
grey dashed arrows are a direct mapping in the schema files but which I've removed because they're ambiguous overwrites. The number besides the arrow tells which edges contributed to this. An example is place: both the event place and publisher place keywords would "write" to the place zotero field, meaning potential data loss. event-place and publisher-place would remain available to postscript, but in an export to zotero fields (which fuels the bibtex and biblatex output), they'd both not show up unless explicitly acted upon (which bblt does in places)
blue dashed lines are safe inferences from a variable mapping; an example is the place label which can safely write to the CSL fields event-place and publisher-place. The numbers besides the arrows show what route led to the inference.

I know this looks a little complicated but this was the easiest way to visualize the rats nest of field mappings.
I'm still not really happy with mappings like place for CSL. I have a sample with place: <something> in the extra field, and it looks weird to me to have that show up in both the event-place and the publisher-place field.

Another option for point 5 is to allow overwrites (with potentially arbitrary outcomes) but leave the extra fields available for postscripts to correct the situation. I'm no great fan of "arbitrary" though.

I had totally forgotten how much fun it was to work with graphs.

The current Zotero behavior is to map Place to both event-place and publisher-place. Doing that would make pandoc citations mirror Zotero Word processor citations. “Event place” and “Publisher place” obviously should just map to the one.

That's what it does now, but if at all possible, now's the chance to not just implement the existng workaround. It is, after all, supposedly better CSL JSON.

I'm hitting an issue now about container. container is not a currently mapped field, so I have to make a choice myself. The CSL var spec says its type is date, with a less than helpful description of ?.

No one knows what container is supposed to be used for, and it is marked for deprecation. I honestly would just ignore it.
If you want, I can put together a suggestion for which place field Place should go to for each Zotero type. Mostly it would be publisher-place except for Presentation (CSL speech). Conference Paper (CSL paper-conference) should still be publisher-place because that field is intended for the place of the publisher of the published proceedings, not the location of the conference (cf. the Proceedings Title vs the Conference Name fields).

Oof... per-item-type mapping should be technically possible but I'd have to rethink the architectore for the mapping I have. Hmm, I can maybe add tags to the graph... let's give it a go and see how complicated things would get. Can't commit to it though.

Organized by Zotero type or CSL type?

Errrr.... conceptually it'd be best to do this by csl type I think?

And I think I have an idea on how I could do this... hmm...

Regarding (5) above, this is a very niche issue. In most cases, users will be entering place information into the proper Zotero Place field. If something is in Extra, it is usually to force Zotero to only map to either event-place or publisher-place or to provide separate values for the two (e.g., to give a publisher location and an event location for paper-conference).
For this latter case, I'm not sure how a flow that first pushes into Zotero fields, then back out into BibTeX fields would work. Could the place fields be directly mapped to their correct Bib(La)TeX fields, rather than first into the Zotero schema?
There is also the issue that BibTeX's usage of fields is bizarre here. In my experience, styles that include the place for a published proceedings item want the publisher location, not the conference location, so BibTeX's inconsistent use of address across types is a problem (cf. here). BibLaTeX is obviously better here with separate location and venue fields for the publisher and event locations, respectively.
All that said, here is what a generic Place field should map to for each CSL/CSLm type.

CSL/CSLm type
Meaning of Place

article
publisher-place

article-magazine
publisher-place

article-newspaper
publisher-place

article-journal
publisher-place

bill
publisher-place

book
publisher-place

broadcast
publisher-place

chapter
publisher-place

dataset
publisher-place

entry
publisher-place

entry-dictionary
publisher-place

entry-encyclopedia
publisher-place

figure
publisher-place

graphic
publisher-place

interview
publisher-place

legislation
publisher-place

legal_case
publisher-place

manuscript
publisher-place

map
publisher-place

motion_picture
publisher-place

musical_score
publisher-place

pamphlet
publisher-place

paper-conference
publisher-place

patent
publisher-place

post
publisher-place

post-weblog
publisher-place

personal_communication
publisher-place

report
publisher-place

review
publisher-place

review-book
publisher-place

song
publisher-place

speech
event-place

thesis
publisher-place

treaty
publisher-place

webpage
publisher-place

classic
publisher-place

gazette
publisher-place

hearing
publisher-place

regulation
publisher-place

video
publisher-place

Basically, everything should go to publisher-place except speech. Some types, such as interview, hearing, personal_communication, and paper-conference might be expected to have both types of places, but the primary one used in citations would be publisher-place.

For this latter case, I'm not sure how a flow that first pushes into Zotero fields, then back out into BibTeX fields would work. Could the place fields be directly mapped to their correct Bib(La)TeX fields, rather than first into the Zotero schema?

Yep. That is what I now do; when extracting for bibtex I extract variables "zotero-oriented", but do not write event-place to place because that could get data loss. event-place and things like original-date, which doesn't have a zotero equivalent at all, stay in csl format, available to the BBT translators, and I decide on them in code.

All that said, here is what a generic Place field should map to for each CSL/CSLm type.
...
Basically, everything should go to publisher-place except speech. Some types, such as interview, hearing, personal_communication, and paper-conference might be expected to have both types of places, but the primary one used in citations would be publisher-place.

That's just for place though. There's more multiple-mappings; dimensions, container title and references for example. Try looking at the graph, it's pretty.

(I'm not really following the numbers next to the dashed lines. How do I know what "13" means?)
Are the collisions you are worried about if the user supplies a value in Extra but there is already a value for the variable in a proper Zotero field? If that's the case, these are the resolution rules used by citeproc-js:

name variables can have multiple entries
For other variables, the last encountered value in Extra wins
Values in Extra don't override proper Zotero fields except:

date variables
item type

In terms of the specific gray collision lines in your graph, most of them aren't a problem I don't think. These are just type-specific "localizations" or labels for the generic term. Multiple of these variables in a class don't occur within a single item type. That these don't all collapse to the same internal Zotero database variable reflects its history of the database structure coming before the CSL adoption (or else, runningTime and artworkSize would be internally mapped to a common dimensions variable in the same way bookTitle is mapped to publicationTitle).

dimensions you shouldn't ever encounter a collision because no Zotero type has both runningTime and artworkSize. Those are just the type-specific "localizations" of the general dimensions variable
Same with references. history and references are just the type-specific "localizations" of the references variable for patent (references) and other legal types (history)
Same with container-title. code and reporter are just the type-specific "localizations" for publicationTitle for cases and legislation.
Same with authority. These are just the type-specific wordings of the general authority variable.
Same with volume. codeNumber is just a specific wording of volume for legislation
Same with call-number. applicationNumber is just the wording for patent. You shouldn't ever have a collision for those.

In contrast,

series and seriesTitle is a bit of a mess. Even the Zotero variables series, seriesTitle, and seriesText are a jumble with unclear distinction. Here, seriesTitle is the rarely used variable, so if there is a collision, I would suggest prioritizing series in the map to collection-title.

The "last encountered" behavior is also what Zotero CSL JSON and Better CSL JSON currently do if both series and seriesTitle are supplied in proper fields.

:robot: this is your friendly neighborhood build bot announcing test build <IP_ADDRESS>31 ("test cases for new mapping")
Install in Zotero by downloading test build <IP_ADDRESS>31, opening the Zotero "Tools" menu, selecting "Add-ons", open the gear menu in the top right, and select "Install Add-on From File...".

(I'm not really following the numbers next to the dashed lines. How do I know what "13" means?)

The numbers don't mean anything, it's just that edges that have the same number do something together. In the case of a grey-dashed edge, there will be black edges with the same number that explain why it's removed.

Are the collisions you are worried about if the user supplies a value in Extra but there is already a value for the variable in a proper Zotero field? If that's the case, these are the resolution rules used by citeproc-js:
* name variables can have multiple entries

I have that

* For other variables, the last encountered value in Extra wins

I have that too

* Values in Extra don't override proper Zotero fields except:

  * date variables
  * item type

I'll have to change this. This surprises me. Wouldn't something entered in the extra field be considered to be more deliberate by the user?

1. `dimensions` you shouldn't ever encounter a collision because no Zotero type has both runningTime and artworkSize. Those are just the type-specific "localizations" of the general `dimensions` variable

But a user could enter both in the extra field. This goes for all these.

In contrast,
1. series and seriesTitle is a bit of a mess. Even the Zotero variables series, seriesTitle, and seriesText are a jumble with unclear distinction. Here, seriesTitle is the rarely used variable, so if there is a collision, I would suggest prioritizing series in the map to `collection-title`.

Alright, that's doable I think.

dimensions you shouldn't ever encounter a collision because no Zotero type has both runningTime and artworkSize. Those are just the type-specific "localizations" of the general dimensions variable

In such a case I would have expected a baseField mapping to exist for those. If that existed, all of these double mappings would probably disappear. But since there isn't, if you change item type from film to artwork, runningTime is lost. Which isn't too strange -- a runningTime of 2 hours doesn't have a sensible translation to a artworkSize for a painting.
I can add a mapping-specific baseField-like mapping for these fields. That may well resolve the lot.

I don't really care for users entering Zotero labels rather than CSL variable names in Extra, but I get that's a possibility. Still though, I think the type-specificity of most of these labels makes collisions a rare possibility. If they do occur, I think the last-encountered rule is a reasonable behavior.
Regarding Zotero fields vs Extra getting priority, I think there were two arguments. First, Frank was leery about being too aggressive with the Extra "cheater" syntax. The date and type overrides are there really to overcome major limitations of the Zotero object model (missing CSL types and a relatively inflexible date parser). Second, Extra will get preserved if an item is duplicated, has the type changed, etc., so there is reasonable possibility of bad data in Extra that might escape users' notice more than proper fields.

I think if Zotero's object model were built today, it would have baseField mappings for many of these, but changing item types and fields hasn't been possible until recently because of the syncing architecture.

I'll just do the faux basefields and the conservative read from extra and see where that gets me. If that works, it would keep things simpler.

I think the only things that would remain to be addressed in that case is the handling of Place and series/seriesTitle.

I don't really care for users entering Zotero labels rather than CSL variable names in Extra, but I get that's a possibility.

The graph hides those for readability, but what happens is if there is a [a-zA-Z_-]+: .* line in the extra, I pick up the part before the : and transform it using
label.replace(/[-_]/g, ' ').replace(/([a-z])([A-Z])/g, '$1 $2').toLowerCase()

and then test whether it's any of those white labels. This means event-place and event place (and EvEnt-PlaCe, but we obviously would not encourage this) all end up as event place in the matching process. Inside the translators, these would always show up as event-place in the parsed extra fields. They wouldn't automatically show up in non-CSL-based translators, but there I pick them out individually as I write out fields from Zotero or "extra-CSL" to bib(la)tex.
Zotero labels get the same treatment so you can enter either. AAMOF the old-style cheater syntax {:publicationTitle:stuff} will also work, although I wouldn't expect people to use that.

Wait, the faux-basefields don't solve anything. if I find dimensions in the extra field I will just treat those as both artworkSize and runningTime, and they're not even written out now, so that's not at all interesting right now. More interesting is call number. I do write out both callNumber and applicationNumber and they mean different things. And right now, you can't say "no, just fill callNumber, not applicationNumber" (where you can say "fill applicationNumber but not callNumber.

Wait, that's an error anyhow. If there's a direct edge between a label and a domain (zotero/csl) var, it should not also infer a longer route to a var in the same domain. That's just an error.

The graph hides those for readability, …
What I meant was, I'm not a fan of users entering "Artwork size" instead of "Dimensions" or "Book title" instead of "Container title".

Wait, the faux-basefields don't solve anything.
I'm not following.

What I meant was, I'm not a fan of users entering "Artwork size" instead of "Dimensions" or "Book title" instead of "Container title".

Ah.  They are distinct Zotero fields that I write to distinct biblatex fields.
It'll be easier to explain once I have the changes in place and my tests passing again.

:robot: this is your friendly neighborhood build bot announcing test build <IP_ADDRESS>32 ("conservative mapping")
Install in Zotero by downloading test build <IP_ADDRESS>32, opening the Zotero "Tools" menu, selecting "Add-ons", open the gear menu in the top right, and select "Install Add-on From File...".

Is there something specifically you need tested here?

No, my test scripts just publish by default when they pass. Maybe @qak wants to try whether this works for him. Still pondering place.

The test build does exactly what I need. I can now extract and update the relevant metadata using the following postscript:
if (Translator.BetterBibTeX && item.itemType === 'conferencePaper' && item.extraFields.kv && item.publisher) {
  if ('event-place' in item.extraFields.kv) {
    let eventPlace = item.extraFields.kv['event-place']
    reference.add({name: 'address', value: eventPlace})
  }
  if ('publisher-place' in item.extraFields.kv) {
    let publisherPlace = item.extraFields.kv['publisher-place']
    reference.add({name: 'publisher', value: publisherPlace + ': ' + item.publisher})
  }
}

Thanks for the confirmation - I've released it as things were stacking up. If further refinements are needed I'll pick them up as a different change.


Make it safe to call uninit() multiple times.

Addresses https://github.com/NordicSemiconductor/nrfx/issues/43 for us: uninit() cannot be called safely when DEBUG is set if the nrfx driver object is already uninitialized.
Also discussed in https://devzone.nordicsemi.com/f/nordic-q-a/39433/nrfx_-_uninit-not-idempotent-can-t-be-safely-called-on-an-already-uninitialized-driver-instance.

After this, will submit a PR to use adafruit/nrfx in adafruit/circuitpython.


Compare a pure OpenCV pipeline with one accelerated in hardware

Add a notebook that shows the FPS achieved by a pure software pipeline and one in hardware

https://github.com/Xilinx/PYNQ_Composable_Pipeline/tree/v1.1.0-dev.opencv_vs_composable


Ability to create a component without creating it's parent directory?

If I have a components/ directory and want to just create a file in that directory when running the script can I do that with the current implementation?
so if I run create-component-app -t container and call it NavContainer can I get it to create it under components/NavContainer.js instead of components/NavContainer/NavContainer.js

Hi @mdxprograms,
I'm sorry about that but you can't do this.
How can the tool know if the component file should be copied directly or not? There is no a "dynamic way" to know if the user wants a single file or a folder (the only way is to ask to him, but it's another question).
Do you have some solution in mind?
If you don't understand what I mean, I'm here for any question 🙂
Thanks a lot for your question 👍

Hey @CVarisco @mdxprograms ,
Maybe we can create an optional config file in the base directory of the template with specific configs for it.
When we use the template first we read the config and then we can generate the components by them.

create directory or not
set of extra questions
...

.config.yml
dir: bool
questions: Array<Question>,
...etc

Very cool idea @puemos!
This is what I mean before, the only way to do that is with a user input and this could be a great idea 🙂
What do you think @mdxprograms ?

ya I think this is probably a solid idea for this. I worked on my a custom generator as well (thank you especially for the inspiration) and made it where the templatesDir is just referenced as the base directory for the templates. So you can do 1 of the following:
react-do component People
and
react-do component People/Person

Hey @mdxprograms !
@puemos implement the capability to put a config file in the custom template folder!
Here the doc: Link
thanks again @mdxprograms and @puemos for the support 🏆

Thanks @CVarisco


Adding apache airflow

Pre-submission checklist:
Please check each of these after submitting your pull request:

[x] Are you only including a repo_url if your project is 100% open source? If so, you need to pick the single best GitHub repository for your project, not a GitHub organization.
[x] Is your project closed source or, if it is open source, does your project have at least 300 GitHub stars?
[x] Have you picked the single best (existing) category for your project?
[x] Does it follow the other guidelines from the new entries section?
[x] Have you added your SVG to hosted_logos and referenced it there?
[x] Does your logo clearly state the name of the project/product and follow the other guidelines?
[x] Does your project/product name match the text on the logo?
[x] Have you verified that the Crunchbase data for your organization is correct (including headquarters and LinkedIn)?

Ready to go we just need the DCO thing to pass.

Just asking, is Apache Airflow cloud native?

Airflow provides the workflow management capabilities that are integral to modern cloud-native data platforms.

@John151 thanks. Sorry that I asked and brought this topic here. I randomly saw your PR and had this question in my mind.
@castrojo is there a solid border to accept apps? AFAIK "cloud native" doesn't have a strict meaning! So do you accept a PHP or BASH server/service also? Can you lead me to some definition?


New term request :N-hydroxypipecolic acid biosynthesis

relates to #15634
The two papers referenced indicate that FMO1 is required for the conversion of L pipecolate to N-hydroxpipecolic acid which is the bioactive mobile signal.
So could we add another term? I can open this in another issue so as not to confuse things.
Term:N-hydroxypipecolic acid biosynthesis
Def:The chemical reactions and pathways resulting in the synthesis of N-hydroxypipecolic acid

Assigning to @hdrabkin because I think it need a new ChEBI term request.

Requested CHEBI id CHEBI:140874., using PMID: 29576453

Suggested Parent:?

Since we don't have termgenie any more, this will take three steps:

[ ] Wait until the term is available in ChEBI. Did they suggest a parent?

[ ] Add the ChEBI term to the import request file.

[ ] Generate the new ChEBI import file

[ ] Create the logical definition for the term.

Usually in the meantime, I create the term without the logical def and leave it 'in progress'. Perhaps 'cellular modified amino acid biosynthetic process' for now?

Chebi request has been granted

But no parents in record yet

I don't think it fits the ChEBI def of a modified amino acid.

Sorry, amino acid derivative.

perhaps
isa
GO:0008652 cellular amino acid biosynthetic process
and also?
GO:0019477 L-lysine catabolic process

No definitely not. it's a 6 membered ring with single Nitrogen, not aromatic.
At the moment, its N-hydroxypipecolic acid is_a organic molecular entity (CHEBI:50860); not useful.

Based on quick look-see of paper, I would feel comfortable with GO:0019477 L-lysine catabolic process

sounds good- thats where I had suggested before for the precursor to N-hydroxypipecolic acid

Chebi uses "plant metabolite" as a role for unhydroxylaed parent;
We don't have a similar GO branch to use as a parent...

Can't I use something like defense response to bacterium??

that seems odd I mean I can annotate FMO1 to that term but seems odd to put this there- you mean as 'sometimes is a part of'
there is this term...
GO:0002440 production of molecular mediator of immune response

My hunch is to prefer Harold's term to avoid the taxon constraints that ought to be in place for "immune response" because the multicellular animal processes that fit that label, like all the children of GO:0002440, are basically very different from the multicellular plant ones mediated by pipecolate, and the "defense response to bacterium" evades this whole ambiguity by saying concretely what happens.

Doesn't
GO:0042398 modified amino acid biosynthetic process
work here?


Decide what fields are needed for personal information

Age: uniform from age 1 to age 90 (?).
Gender: male 47%, female 48%, non-binary 4%, NA 1%.
Weight (since it is a factor in so many conditions).

Increases with age up to age 18 (or 20, or 25).
Increases more slowly after that to age 75.
Declines gently after age 75.
How wide a band around the mean?
Should it be correlated with some allele(s)?

Presence of diabetes.

Increases slowly with age.
Correlates with being above-average weight for age.
Should correlate with some allele(s).

Presence of Noone's Syndrome (made up).

Correlates completely with a single allele.
Probability of manifesting goes from 0% at age 25 to 100% at age 50.

Taste in music.

Starts at zero.
Ramps down to negative at age 15.
Ramps up to positive at age 50.
Ramps down to zero at age 90.
No genetic component, but lows are lower for males.

Some thoughts:

I'm not sure how realistic you want to be, but for example UK Biobank participants are limited to 40-69 y/o. Personally, I don't think we have to have the same restriction on our population here.
I like having a gender column, and realistic representation of gender identities :). We should also include "genetic sex", though.
I think we can just follow a normal distribution of weight?
Does diabetes mean both T1 and T2 here?
Are you trying to say that teenagers have dismal taste in music? 😢

I'm happy restricting the population to adults - it makes the weight calculations a lot easier (no need for piecewise if we're looking at age 25-75).
If we're doing genetic sex, are we including XXY and the like?
:+1: for a normal distribution of weights if subjects are all adults.
Should we use diabetes at all, or stick to lycanthropy and other made-up ailments?
Yes.


Key creation out of String is not clear

I would like to create the key out of a String that I am getting from server side.
The key is constructed in java : byte[] raw = new sun.misc.BASE64Decoder().decodeBuffer(keyStr);
The JavaScript now accepts a var key = [....], however how to translate the java version to a key accepted on aes-js?

You will likely want to use a base64 decoding library. I am still debating whether to include a base64 coder in the utils, as it is a common use case, but often there are existing libraries available.
Are you using node.js? Or have the SlowBuffer available? If so, the Buffer object already supports base64 conversion.
node.js:
> a = new Buffer([1, 2, 3])
<Buffer 01 02 03>
> a.toString('base64')
'AQID'
> new Buffer('AQID', 'base64')
<Buffer 01 02 03>

Browser:
> btoa('\01\02\03')
< "AQID"
> atob('AQID')
< "\01\02\03"

I am trying to impelement a decryption that is done on the new Salesforce.com lighting interface. This is an Aura environment. The issue is currently that i can not find a way to get a key representation that is "multitude of 16 bytes". In a java version, a 24 char key is fed in the standard Java library to base64decode.decodebuffer and that is accepted after you puch is through SecretKeySpec. However on the JavaScript realm there seems to be a gap not having nodejs, ... available. Your atob is possible, however returns "no multitude of 16" issue.
So something internally is done on the java side that is not done the same way on javascript between atob and your library key.

with the encrypted version, based on allowing in the encryption the signed byta array, I now get on the JavaScript side:
[186, 172, 108, 98, 188, 21, 126, 22, 109, 193, 210, 5, 85, 252, 137, 29, 166, 18, 238, 154, 63, 207, 211, 40, 200, 23, 70, 26, 186, 23, 9, 220]
on the Java side I get the signed version of this Byte Array
[-70, -84, 108, 98, -68, 21, 126, 22, 109, -63, -46, 5, 85, -4, -119, 29, -90, 18, -18, -102, 63, -49, -45, 40, -56, 23, 70, 26, -70, 23, 9, -36]
This means that actually there is progress.
I now need to convert this to the same String version.
On the Java side I am using sun.misc.BASE64Encoder().encode(enc).

I guess the difference is signed vs. unsigned? You see the difference is
256 when there is a negative number/value?
Den 4. sep. 2017 22.39 skrev "SilverG"<EMAIL_ADDRESS>
with the encrypted version, based on allowing in the encryption the signed
byta array, I now get on the JavaScript side:
[186, 172, 108, 98, 188, 21, 126, 22, 109, 193, 210, 5, 85, 252, 137, 29,
166, 18, 238, 154, 63, 207, 211, 40, 200, 23, 70, 26, 186, 23, 9, 220]
on the Java side I get the signed version of this Byte Array
[-70, -84, 108, 98, -68, 21, 126, 22, 109, -63, -46, 5, 85, -4, -119, 29,
-90, 18, -18, -102, 63, -49, -45, 40, -56, 23, 70, 26, -70, 23, 9, -36]
This means that actually there is progress.
I now need to convert this to the same String version.
On the Java side I am using sun.misc.BASE64Encoder().encode(enc).
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ricmoo/aes-js/issues/39#issuecomment-327025549, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABymbGWra3cELgDe87PIzg6YsB7CfiJhks5sfF_pgaJpZM4PCZPN
.

There is only one AES standard. There are multiple modes of operation though, maybe this is what you are encountering in the different online tools? Or perhaps the padding method (cipher stealing vs. PKCS#7)
The above array is equal if you ignore the signs and just take the twos-compliment. Is there no unsigned byte array in Java?
In Base64 though, the signs do not matter since Base64 is a binary encoding, and does not have signs. The signs only happen once you decode into values. You should not need to modify the aes-js library.
Are you trying to decode the base64 data in a browser? Or in node?
For browsers, you can simply do something akin to:
var output = [];
var bytes = atob('AQID');
for (var i = 0; i < bytes.length; i++) {
    output.push(s.charCodeAt([i]));
}

For node, you can simply use:
var output = new Buffer('AQID', 'base64');

In the last version, I now can encrypt the value to the same result as the one I am getting on Java ECB.
I just need to avoid the pwd base64 encoding and change the aes js library to accept signed byte array (no check on <0, later on if I find a way to base64 encode decently i can drop changing the aes js of course).
var key = [12, -45, ....];
var value = 'toEncrypt';
var valueAsBytes = aesjs.utils.utf8.toBytes(value);
var paddedData = aesjs.padding.pkcs7.pad(valueAsBytes);
var aesEcb = new aesjs.ModeOfOperation.ecb(key);
var encryptedBytes = aesEcb.encrypt(paddedData);
var base64String = helper.arrayBufferToBase64(encryptedBytes);
where helper contains
arrayBufferToBase64 : function (str){
    var binary = '';
    var bytes = new Uint8Array( str );
    var len = bytes.byteLength;
    for (var i = 0; i < len; i++) {
        binary += String.fromCharCode( bytes[ i ] );
    }
    return window.btoa( binary );
}

For decrypting, I however now really need to get a base64 encoding that represents the one in Java.
So "hello world" needs to translate to
[14, -29, 35, 54, -34, -104, -114, -123, -113, -21, -46, 120, 116, -79, -128, 33]
or the unsigned version of it.

OK, all working now.
so using the functions
    arrayBufferToBase64 : function (str){
        var binary = '';
        var bytes = new Uint8Array( str );
        var len = bytes.byteLength;
        for (var i = 0; i < len; i++) {
            binary += String.fromCharCode( bytes[ i ] );
        }
        return window.btoa( binary );
    },
    base642ArrayBuffer : function (str){
        var binary_string = window.atob(str);
	    var len = binary_string.length;
	    var bytes = new Uint8Array(len);
    	for (var i = 0; i < len; i++)        {
        	bytes[i] = binary_string.charCodeAt(i);
    	}
    	return bytes;
	}

makes that i can do the encryption/decryption with teh method
	doDecrypt : function(component, event, helper) {

             var origKey = 'base64encodedkey';
             var key = helper.base642ArrayBuffer(origKey);
             var value = 'encrypted stuff';

             var valueAsBytes = helper.base642ArrayBuffer(value);
             console.log('valueAsBytes : ', valueAsBytes);

             var aesEcb = new aesjs.ModeOfOperation.ecb(key);
             var decryptedBytes = aesEcb.decrypt(valueAsBytes);

	     var decryptedText = aesjs.utils.utf8.fromBytes(decryptedBytes);
             console.log('decrypt result : ',decryptedText);
	},
	doEncrypt : function(component, event, helper) {
             var origKey = 'base64encodedkey';
             var key = helper.base642ArrayBuffer(origKey);

             var value = 'securitypentestuser';
             var valueAsBytes = aesjs.utils.utf8.toBytes(value);
             var paddedData = aesjs.padding.pkcs7.pad(valueAsBytes);
             console.log('paddedvaluebyte : ',paddedData);

             var aesEcb = new aesjs.ModeOfOperation.ecb(key);
             var encryptedBytes = aesEcb.encrypt(paddedData);

             var base64String = helper.arrayBufferToBase64(encryptedBytes);
             console.log('encrypt result : ',base64String);

        return base64String;
	}

Thanks for posting your solution. It works for me.
But I cannot resist the urge to pull out my eyes seeing your method names dude:
base642ArrayBuffer is just heavy. Why would you replace 'To' with a numerical '2'?? You're headed for so much maintainability pain down the road.... btw: arrayBufferToBase64 has a 'To' in it. What?
Sorry, this is just something you cannot leave uncommented when your mind is set to writing 'clean' code. 😆

@sylverg so this issue can be closed?

yes, can be closed

Van: Rasmus Christiansen<EMAIL_ADDRESS>Verzonden: woensdag 13 september 2017 13:43
Aan: ricmoo/aes-js
CC: SilverG; Mention
Onderwerp: Re: [ricmoo/aes-js] Key creation out of String is not clear (#39)
@sylverghttps://github.com/sylverg so this issue can be closed?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/ricmoo/aes-js/issues/39#issuecomment-329171921, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AA_F2kgLAVX5KaJ6l-s5z_hpdYo9lbVgks5sh9wEgaJpZM4PCZPN.


~/.emacs.d/bin/org-capture fails with ERROR: Unknown terminal type

What did you expect to happen?
When I run:
org-capture -k n "To the mind that is still, the whole universe surrenders."

I expect a new Emacs frame to open with an org capture prompt.
What actually happened?
The command fails with:
~/.emacs.d/bin$ ./org-capture -k n "To the mind that is still, the whole universe surrenders."
*ERROR*: Unknown terminal type

Describe your attempts to resolve the issue
I thought this was because I use a non-standard shell (fish), so I tried running the same command from a bash shell. The outcome was the same.
Steps to reproduce

Open a terminal
Change directory to ~/.emacs.d/bin (if it's not in your PATH)
Run org-capture

System Information
https://pastebin.com/QbShTSyt

Getting the same issue, using alacritty. Have tried manually setting TERM to either linux or xterm-256color without success. For me the command works perfectly as long as there is at least 1 emacs frame open, but when I'm running only the daemon without any clients I get the Unknown terminal type error.

The issue seems to be with if ! emacsclient --suppress-output --eval nil; then on line 17. When the code emacsclient --eval nil via the terminal, nil is printed. However, when an emacs daemon is running in the background, the script will return false to the conditional statement.
Thus, emacsclient -c -a "" \     -e "(+org-capture/open-frame \"$str\" ${key:-nil})" is run but without any open frame, there Unknown terminal type

I managed to work around this issue by adding the following snippet to my config.el:
(after! org
  (setq +org-capture-frame-parameters
        `((name . "doom-capture")
          (width . 70)
          (height . 25)
          (transient . t)
          ,(when IS-LINUX
             `(display . ,(or (getenv "DISPLAY") ":0")))
          ,(if IS-MAC '(menu-bar-lines . 1)))))

Thanks to Gilles great explanation.
As far as I understand, +org-capture/open-frame calls make-frame which causes the error message *ERROR*: Unknown terminal type when an emacs daemon is running and no GUI frames already exists. Seems like you need to specify display parameter explicitly. It doesn't read from env even though emacsclient -a '' -e '(getenv "DISPLAY")' returns the correct display identifier.

This issue should now be resolved. Let me know if that isn't the case and I'll reopen it. Thanks for bringing it to my attention!

Thank you for taking the time to fix this!


Google Nearby has stopped working

Since Friday 9th March Google Nearby has stopped working. Neither do you get any notifications nor does the Nearby app show any content. We have customers across the globe who are reporting the same issue.
Just to rule out issue mentioned from content policies as reported here, we added a new beacon in a completely different account and attached a nearby notification to it. This also did not show up.
We've tested it on multiple devices with various OS versions.
Can someone confirm if there is some issue with Nearby Notifications or is it just us who are facing this.
P.S. We started seeing this issue the same time google cloud functions reported its 4hr outage.

@firecast Have you tried other URLs than from your own systems? Our customers have not reported any issues and we have no issues on our test devices either.

@ferencbrachmann We tried putting URL's which are not associated with our systems like wikipedia.com on the nearby notification attachment but still there seems to be no content for the beacon. Can you try clearing the cache of the Nearby app and testing again.
Out of the 20 devices we tested this on there is just one device that shows nearby content for al the beacons in the proximity. I know that the nearby notification is known to be inconsistent but we have never seen this kind of inconsistency.

@firecast It's not a cache issue on our end for sure. Could it be the case that the domain was blacklisted/flagged by Google for spam for example?

@ferencbrachmann We did test that scenario by adding a completely new beacon on the Beacon dashboard for a new project and were still unable to see the notification on our test devices. We added a generic URL there as well not associated with our domain.

@firecast Are you using Google Beacon dashboard or Eddystone URL?

@ferencbrachmann All our beacons are registered on the Google Dashboard for Nearby for their Eddystone UID. However, the beacons also broadcast the URL packets (Physical Web/Eddystone URL).
Funny thing is that the Nearby app which generally shows content of both the Physical Web and Nearby is not showing for any.

Yes, since March 1st Google Nearby has been up and down.  In any case, only a faction of beacons are being seen with Nearby.   Saturday, 0% detection, and today I heard only a 3rd of beacons are being seen.
After talking with numerous customers and other Beacon related vendors, Google is affecting Nearby users dramatically.   I even hear that they are having issues with their own Pixel 2 smartphone in detecting Nearby too.  Not sure if the Google folks monitor github, but it would be good to hear from Google regarding Nearby and beacon issues.

I suggest you file a Nearby Bug Report here: https://github.com/google/physical-web/wiki/Taking-a-Nearby-Bug-Report

We got a response from nearby engineers and they have now fixed the issue. We are able to see nearby content as expected.

Thanks for the bug report, it helped us nail down an issue triggered in the presence of an invalid URL beacon (ex: a non-HTTPS page) in the proximity of other valid beacons. This bug was included in a software rollout last week, and the fix should already be live. Since the bug only manifested with multiple beacons, with one in an invalid configuration, the impact was likely limited.

I know this issue is closed but I am checking in as all our beacons are down and not found in nearby app at all. I have even set up a new dashboard and created a new project and new beacons with still nothing found. Has anyone else noticed this?
Google Nearby has stopped working. Neither do you get any notifications nor does the Nearby app show any content.

https://www.androidpolice.com/2018/10/26/google-shuts-nearby-notifications-due-much-spam/

On Dec 20, 2018, at 10:53 AM, wfive5<EMAIL_ADDRESS>wrote:
I know this issue is closed but I am checking in as all our beacons are down and not found in nearby app at all. I have even set up a new dashboard and created a new project and new beacons with still nothing found. Has anyone else noticed this?
Google Nearby has stopped working. Neither do you get any notifications nor does the Nearby app show any content.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Thanks for news: OK, we are using beacons in an art gallery to direct users to a video of the art installation that 100% of all users have loved the experience. Is there ANY other way of doing this with beacons and users NOT having to have to install an app first? We were using a 40 character message to inform them of the video and a ssl link. the video then took them on a journey of how the art piece was created... (We tried a custom app install and NO one wanted to install an app first...)
At the end of that android police announcement it stated:
However, this is not the end for Nearby. The API still has two other aspects with Messages and Connections, so if you're a developer invested in creating experiences that rely on those, you're in the clear.
Is anyone familiar with "Messages" or Connections"? Perhaps there is a way to enable our beacons for this?

Nope. All other options require a special app install.

On Dec 20, 2018, at 12:20 PM, wfive5<EMAIL_ADDRESS>wrote:
Thanks for news: OK, we are using beacons in an art gallery to direct users to a video of the art installation that 100% of all users have loved the experience. Is there ANY other way of doing this with beacons and users NOT having to have to install an app first? We were using a 40 character message to inform them of the video and a ssl link. the video then took them on a journey of how the art piece was created... (We tried a custom app install and NO one wanted to install an app first...)
At the end of that android police announcement it stated:
However, this is not the end for Nearby. The API still has two other aspects with Messages and Connections, so if you're a developer invested in creating experiences that rely on those, you're in the clear.
Is anyone familiar with "Messages" or Connections"? Perhaps there is a way to enable our beacons for this?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Is there perhaps still an ibeacon option where only a URL link is displayed?
Or perhaps an Apple iPhone ibeacon option?
Any beacon with no pre-installed app option?

 But, believe me, I know how you feel.
Sorry, the answer is still no. No other options that don’t require an app install. Zero. Zilch.

On Dec 20, 2018, at 12:44 PM, wfive5<EMAIL_ADDRESS>wrote:
Is there perhaps still an ibeacon option where only a URL link is displayed?
Or perhaps an Apple iPhone ibeacon option?
Any beacon with no pre-installed app option?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

I am with Zimbu98.  Sorry to say, without an app install I cannot think of a way to accomplish your needs with ble tech... given the recent/current state of android/ios support.

What about with this?
https://developers.google.com/nearby/connections/overview
or this:
https://developers.google.com/nearby/messages/overview

Oh, right! Yes, you can totally do both of those things. Just build your own app, incorporate those api's into your app, then get your visitors to download your app. Viola! ;-)

We already built the gallery an app for this and ZERO downloads in 6 months. This is why we went with Nearby notifications, Once setup they had 50 views a day from the beacons with a very positive response... So NO an app is not an option... 8-(
Hoping anyone else can chime in... perhaps a way for the beacon to interact with any other pre-installed android app?

But seriously, the only way I can suggest for you to get what you want is to offer your visitors some sort of hardware device (think of it as a really simple smartphone, so obviously you would need them to leave a deposit of some kind, or perhaps you could have a security system at the door that would prevent them from taking it away with them).
Maybe one of those super cheap tablets would do the trick (no brandname, purchased direct from China). In this case, I would not even bother using beacons. Just have a menu on the tablet screen with different choices for each exhibit. When the visitor gets to exhibit A, they would tap A on the tablet and see a video or info about exhibit A. Tablet would not need bluetooth but would probably need wifi to download the content.


[WIP] - implement user get roles and has roles functionality

Motivation
JIRA: https://issues.jboss.org/browse/AGDROID-684
Description
When a user is created an authenticator is passed to the User Object.  Inside this authenticator Object (OIDCAuthCodeImpl) is where the users data/identity is decoded from their credentials.  This decoded data is then used to build the user Object.
The getRoles function for the User should return a collection of Roles.
Note: hasRole function implementation has been included in this PR too.  See this ticket for more info.
Progress

[x] Implemented get user roles functionality
[x] Unit Testing
[x] JavaDocs

There's been some back and forth on whether an arraylist or map should be used for storing a user's roles.
Reason's for map:

quickly get a user's roles - roles.values()
quickly check does a user have a role by passing the role name and/or client id - roles.containsKey()
a RoleKey is used in the map to avoid naming conflicts between realm and client role names
@ziccardi might have more reasons here

Reasons for arraylist

simplifies the code - one class for roles that will have the attributes type, name namespace (clienId).  To avoid naming conflicts between client and realm roles we can override the equals method to compare the attributes
there should be no performance issues as there shouldn't be a lot of roles
@wei-lee might have more reasons here.

I'd be in favour for using an arraylist as it's a lot more readable and maintainable to me.  And from the discussions above there shouldn't be any performance issues.  A lot of the code seems like overkill to me for something small like a user's roles.  I'm not a Java expert though so guys @ziccardi @wei-lee @TommyJ1994 @secondsun @aidenkeating @ciaranRoche @matzew  what do ye think?

@rachael-oregan I don't want to further complicate things but instead of an ArrayList i would suggest a HashSet: it works like the ArrayList but guarantees that you can't have duplicates (you also need to  override equals and hashCode). Lookups (contains) are not iterative but use the hash value.

+1 for the arraylist.

We don't want duplicates, so if we want to remove the Map, I would go for a HashSet as suggested by @pb82.

@wtrocki mind having a look please?

@rachael-oregan I'm not sure if you want another person to take look on this, considering number of reviews that happened :)  I took a look on the code and I do not have anything against that. Personally not like that we use enum for types. You could avoid a lots of different if's etc. if we will have just two separate classes, but that's personal point of view.
I would say at this point it's best to get agreement with people who rejected PR and merge it.
We could always improve it/refactor it when having bigger picture. From all the comments I think that @TommyJ1994 collisions is the most important one as it will be hard to track possible bugs once we merge that to master.

@wtrocki thanks for having a look.  Just to give you some context, it was decided yesterday on a meeting that we use HashSet as the structure for a user's roles. This addresses both concerns of 1) its currently being over-engineered with extra interfaces/classes and 2) we want to ensure no duplicate roles.
In relation to your comment on the enum types, do you think it would be better to use two different classes for the Role's? I'm afraid that might lead us down the over-engineered road again with extra classes/interfaces that will probably need to be introduced.  It is something to consider though like you said when we have the bigger picture.
The issue with collisions has been addressed by using HashSet's for a user roles.  If you think its best to get approval from other members then that's OK I'll wait until they are free.  Thanks :)


Daily Metrics Job Failure

The daily metrics job is failing due to the command argument not being replaced properly. This is likely due to the way the command is defined in the job type. Error is:
ValueError: time data '${:Day}' does not match format '%Y-%m-%d'

Closed via https://github.com/ngageoint/scale/pull/1643


adding node js program for json to PDF

node js Program for converting json to PDF

typo mistakes fixed and code refactor also done, please someone take a review and suggest me

@praveen2896 : twitter_thread.json is missing i think

hi @tr0mbl3y  it is already there please check , https://github.com/twindle-co/twindle/pull/364/files

Screen shot of pdf output please

Hi @proful please find the screenshot of pdf in the previous comment

Looking great

Thanks @proful

You please review other javascript labeled or. Just give your suggestions

sure @proful

@kingsley-einstein @tolgaerdonmez could you give your feedback on this :smiley:

@praveen2896 awesome work.


Clarification about the metrics in the output of this repo.

Thanks for sharing this impressive work!
I have two questions.

I'm confused about the numbers output by this repo. How do all these outputs correspond to the thesis metrics (close/open-set) ?  Can you explain them?
How to choose the open vocabulary predicates? Can you point them out in the code? Does this work contain open vocabulary object detection?

Thank you in advance. Looking forward to your reply.

1. There are two primary parts for evaluation. One is the standard mean recall and recall of the SGG task. Additionally, the standard evaluation metric is the mean recall for novel classes.
2. We randomly select novel classes with more than 10 instances in the test set.


broken links

Hallo,
The following links are broken:
“CassiniDev CodePlex Archive site (https://archive.codeplex.com/?p=cassinidev)” leads to another page.
"A fork of the original (http://cassinidev.codeplex.com) project." is no longer available.
Best regards

codeplex was shutdown by Microsoft in October 21, 2021.
Codeplex.com was primarily a free open source project hosting site offered by Microsoft


Headers in code generator are missing

Most files lack license headers.
We should resurrect the scalastyle check, that produced a waring in this case.

done


SW – adding framework targets to SwiftWisdom.xcodeproj so that `IpS…

…wiftWisdomandRxIpSwiftWisdom` can be consumed via Carthage
DO NOTE MERGE YET
Changes

Added build targets IpSwiftWisdom and RxIpSwiftWisdom.
Removed Pod references.
Added Cartfile.
Update .gitignore.
Wired up framework dependencies for all build targets.
Ensured that all existing targets build and that tests run.
Updated README

Dependent Work
This PR is dependent on https://github.com/IntrepidPursuits/uikit-wisdom/pull/18 .  After Ip-UI-Kit-Wisdom is consumable via Carthage, the Cartfile on this repo will need to be updated to point to the IntrepidPursuits/uikit-wisdom instead.
Notes

Post-install steps in the Podfile seem to mainly deal with Swift 4.2 migration which look to be complete now in 0.11.0, so I did not make project or script changes to accommodate those custom build configurations.
Podspec name is 'Intrepid', which seems inconsistent with name of repo 'swift-wisdom'.  When creating the new targets, I chose to use the names IpSwiftWisdom and RxIpSwiftWisdom to align with the repo name.  May want to consider changing the podspec name to match since it means that folks who consume via Cocoapods are currently doing import Intrepid as opposed to import IpSwiftWisdom.
Noted the app & test targets in the project.  Verified that project modifications allow these to run smoothly (not quite sure that the app does besides function as a host for the tests).

Impact to Consumers

Since the podspec lists source files, current consumers will be able to continue consuming swift-wisdom without any visible impact.
Updated README to include Carthage consumption instructions.

Impact to Contributors
Because CocoaPods touches the workspace & project file (Pods-project and build-phases), to allow consumption via Carthage, these had to be removed to avoid build errors.  This means that contributors must contribute via Carthage going forward instead of Cocoapods.  Notably,

when getting started, instead of cloning this repo and doing a pod install, one would do carthage bootstrap.
when updating dependencies, instead of updating the Podfile, one would update the Cartfile instead.

Impact to Workflows
These changes will likely break custom build/business workflows, or custom CI setups.  I don't have any visibility into these workflows, so any feedback is appreciated.

@Steven-Wu-ConnectedLab Hey! Nice to hear from you! This PR is not forgotten. We just need to get together and think about implications of using Carthage moving forward. We'll get back to you with some reviews/questions soon. Cheers.


Sync with google drive

Sync with google drive:
https://github.com/isar/isar/discussions/1027

I would like to work on it


DAPs paper understanding problem

I don't understand how much proposals are generated in all in one video.During training, only one stream is processed in one video,so the overall number of proposals is K.Is that true?

Thanks for your interest in our work.
K is the nunmber of proposals after reasoning about a segment of length T. In DAPs, we slide the model and applied on multiple chunks of length T. If you need more proposals, you can reduce the striding. Effectively, you are still processing the video stream only once.

If I slide the model for n times,  there will be n*K anchor segments matching the prior K anchor segments?

I'm sorry for your confusion.
The anchors spanned by the model belongs to the time interval T. If you slide it by delta, the following K predictions will be in the interval [delta, T+delta]. In other word, the anchors are parametrized in terms of T.
Please, take a look at the inference code. It's simple to understand there.

Hello @escorciav , I 'm curious about how you prepare your training data.
In the network, the structure is pre-defined (the output dimension is always K for giving K proposals). However, during the training, for a audio clip of T, what if the number of activities is less than K? How do you assign the ground truth label?
Thanks a lot. And this work is really interesting.


Opentherm loses connection: Future exception was never retrieved

Home Assistant release with the issue:
0.99.2
Operating environment (Hass.io/Docker/Windows/etc.):
Hassio
Component/platform:
Opentherm GW
https://www.home-assistant.io/components/opentherm_gw/
Description of problem:
The opentherm inegration is losing its connection to the gateway after working for a few hours / days.
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
living_room:
  device: /dev/ttyUSB0
  name: CV Thermo
  climate:
    precision: 0.5
    Floor_temperature: True

Traceback
Mon Sep 23 2019 06:49:13 GMT+0200 (Midden-Europese zomertijd)

Error doing job: Future exception was never retrieved

Traceback (most recent call last):

Sun Sep 22 2019 13:25:21 GMT+0200 (Midden-Europese zomertijd)

Error doing job: Task exception was never retrieved

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/pyotgw/protocol.py", line 131, in _watchdog
    await self._watchdog_cb()
  File "/usr/local/lib/python3.7/site-packages/pyotgw/pyotgw.py", line 93, in reconnect
    connection_timeout, inactivity_timeout)
  File "/usr/local/lib/python3.7/site-packages/pyotgw/pyotgw.py", line 70, in connect
    stopbits, connection_timeout))
  File "/usr/local/lib/python3.7/asyncio/coroutines.py", line 120, in coro
    res = func(*args, **kw)
  File "/usr/local/lib/python3.7/site-packages/serial_asyncio/__init__.py", line 410, in create_serial_connection
    ser = serial.serial_for_url(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/serial/__init__.py", line 88, in serial_for_url
    instance.open()
  File "/usr/local/lib/python3.7/site-packages/serial/serialposix.py", line 265, in open
    self._update_dtr_state()
  File "/usr/local/lib/python3.7/site-packages/serial/serialposix.py", line 595, in _update_dtr_state
    fcntl.ioctl(self.fd, TIOCMBIS, TIOCM_DTR_str)
OSError: [Errno 5] I/O error

Thanks for the report.
Unfortunately, the traceback you provided seems to be unrelated. Looks like it's coming from the icloud device tracker.
The opentherm_gw integration and the pyotgw library it's using are designed to handle disconnects as gracefully as possible. Upon disconnect, pyotgw.protocol will log an error-level message stating the reason for the disconnect. After that, it will keep trying to reconnect automatically. Please look for the disconnect message and post it here.
I see that you are connecting to the Gateway directly via a USB cable. This rules out any network-related problems, but still leaves other problems that can arise. I recently experienced some problems myself that were caused by a problem with the USB-TTL cable. Please check your dmesg for any possibly-related messages. In my case it looked like this:
[3876849.643274] pl2303 ttyUSB2: usb_serial_generic_read_bulk_callback - urb stopped: -32

@mvn23 sorry about this. I copied the wrong traceback. Updated this in my initial post.
You are right. I have the OTG connected thru USB. The USB is extended over Ethernet. I will dig into my dmesg

Can you still access the gateway on /dev/ttyUSB0 (e.g. with screen) after this happens? You may need to stop HA before you can test this.

Did some more testing. It keeps stopping. After server reboot it works for a couple of hours. Sometimes days.
Looking at my dmesg gives me lines like:
[82223.241525] pl203 ttyUSB0: usb_serial_generic_read_bulk_callback  - urb stopped: -32
I don;t know how ta access the gateway on /dev/ttyUSB0 (screen command is not found).

Did some more testing. It keeps stopping. After server reboot it works for a couple of hours. Sometimes days.
Looking at my dmesg gives me lines like:
[82223.241525] pl203 ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
This is exactly what I was seeing at the time. In my case it turned out to be a hardware issue. I don't suppose you have another USB-TTL cable you can try?

I don;t know how ta access the gateway on /dev/ttyUSB0 (screen command is not found).
cat should work as well, but it will be read-only.

No output on CAT. Also not when HA is stopped. Now its up and running. But will test when down again.
Got no USB TTL cable left. But i will also first test it with an USB extender cable instead of a USB over Ethernet connection.

Did update my Hassio install a few weeks ago to the latest version. Somehow this also made the OTGW work as it supposed to. No outfall anymore for over 2 weeks now.
Probably not the right place to ask. But how can i prevent my thermostat to overrulle the gateway on the heating settings?

Did update my Hassio install a few weeks ago to the latest version. Somehow this also made the OTGW work as it supposed to. No outfall anymore for over 2 weeks now.
Probably not the right place to ask. But how can i prevent my thermostat to overrulle the gateway on the heating settings?

Not possible with HA at the moment. This would require a separate service to set the target temperature with an option to disallow scheduled changes from the thermostat. Manual changes on the thermostat are always allowed as far as I know.
What you could do instead is create a heating schedule in HA and disable the thermostat schedule to allow for greater control over scheduled changes.
Good to hear your issue is solved. I take it this issue can be closed?

Yes. I will close the issue. Thanks for the fast replies!


Create link_github_notification_abuse.yml

Description
Add coverage for observed campaign
Associated hunts
If you ran any hunts with your rule, please link them here.

Hunt 1

/update-test-rules

/update-test-rules

/update-test-rules

/update-test-rules

/update-test-rules

/update-test-rules

/update-test-rules

last modifications seemed to have reduced FPs significantly, will monitor for this week as well.

/update-test-rules


Generic Cases for Modular Hardware System

We want to use 3D printing to make cases for the boards and sensors. These cases should be as generic as possible. For example, the main controller case should support both Raspberry Pi and Orange Pi.

The board mount is not accurate. The left wall is not strong enough.

A little bit of error here:

Fan cooling holes are blocked by the fan itself.


docs/concepts/policy/pod-security-policy.md: update link to example

Example has been moved to another repository. This PR updates the link.
CC @simo5

This change is

@chenopis Could this be merged?

@php-coder Sorry for the delay.


Current Annotations list renders raw HTML in annotation text

If I enter in some raw HTML into an annotation and look at that annotation under the "Annotations" tab, the HTML is rendered by the browser as opposed to being displayed as plain text. e.g.

I had an instructor complain that < > was disappearing from the annotations.  I think we need to decide whether we are going to go with plain text or render html.  If we are going to render html, then we need an obvious way in the UI to include < and >
My gut feeling is that html is not used much for annotations, and we could just drop it.


Eurosport 1 and 2 for the Netherlands

Source
https://www.tvgids.nl/gids/eurosport1
Channels
-Eurosport 1
-Eurosport 2
Notes
No response

Both channels have been added to the guide:
https://iptv-org.github.io/epg/guides/nl.xml

Thanks!!!send from my iPhone 13 Pro MaxOn Nov 17, 2022, at 4:07 AM, Aleksandr Statciuk @.***> wrote:
Both channels have been added to the guide:
https://iptv-org.github.io/epg/guides/nl.xml
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>


test: add new set of tests

What ❔

disable-optimization tests
format
llvm-ir
llvm-degug-logging
llvm-verify-each
metadata-hash
overwrite
fix in debug-output-dir test

Why ❔
Checklist

[ ] PR title corresponds to the body of PR.
[ ] Tests for the changes have been added / updated.
[ ] Documentation comments have been added / updated.
[ ] Code has been formatted via cargo fmt and checked with cargo clippy.

@hedgar2017 I have done with rebase, can we merge it?


Refactor parameterstore unit test

refactor parameterstore_test.go, I try to follow the style with secretsmanager_test.go to keep it consistent
ignore vim swp files 😁

@moolen hmm, just fixed the test case, but it seems like the test coverage still couldn't pass. Should I try to rebase this with main branch and try again? 🤔

hmm, just fixed the test case, but it seems like the test coverage still couldn't pass. Should I try to rebase this with main branch and try again?

I would not worry that much about the codecov report. Codecov is being a bit agressive on the analysis. We need to make it a bit more forgiving.

/merge

/approve

/merge


:ambulance: pos_reference errors for some localizations

Is it for 10 or 11?
it-projects-llc:10.0 from KolushovAlexandr:11.0-pos-pos_reference-localization_issue

@yelizariev it's for 10th, mistakenly called 11


ERROR - cattle-global-data kubernetes version

Rancher Server Setup

Rancher version: 2.6.5
Installation option (Docker install/Helm Chart): Helm

If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc): RKE 2

Information about the Cluster

Kubernetes version: v1.23.6+rke2r1
Cluster Type (Local/Downstream): Local

I'm getting error on the creation of a Global DNS Provider ( CloudFlare ), it's a brand new install, running rancher 2.6.5 through Helm Install of Stable repository, the global-data pod wasn't createad;
Docker version: 20.10.16
RKE2: v1.23.6+rke2r1
2022/05/20 18:39:05 [ERROR] error syncing 'cattle-global-data/cloudflare': handler mgmt-global-dns-provider-catalog-launcher: template system-library-rancher-external-dns incompatible with rancher version or cluster's [local] kubernetes version, requeuing
What's the "maximum" version needed?

We're facing the exactly same error after an upgrade from rancher 2.5.15 to 2.6.8 :
kubernetes version v1.24.4
rke version v1.3.15
2022/10/03 13:42:42 [ERROR] error syncing 'cattle-global-data/migration1': handler mgmt-global-dns-provider-catalog-launcher: template system-library-rancher-external-dns incompatible with rancher version or cluster's [local] kubernetes version, requeuing
2022/10/03 13:42:42 [ERROR] error syncing 'cattle-global-data/migration2': handler mgmt-global-dns-provider-catalog-launcher: template system-library-rancher-external-dns incompatible with rancher version or cluster's [local] kubernetes version, requeuing
@maurodouglas
In our case, according to rancher compatibility matrix rancher 2.6.8 supports kubernetes version 1.24 -> https://www.suse.com/suse-rancher/support-matrix/all-supported-versions/rancher-v2-6-8/
We're now going to test with a lower version of kubernetes, because we need to going on with the migration.
Any news about that?
Thanks,
Alberto Viana


Use PreparedStatement.getConnection for JDBC Array Encoders

Skips calling Context#withConnection when encoding JDBC array types since prepared statements contain a reference to the existing connection.
Problem
I'm not 100% sure this was the underlying problem, but in load tests we observed what appeared to be a deadlock getting connections from the connection pool when the number of DB threadpool threads was the same as the number of connections. The stack trace pointed to that line as the potential cause:
java.sql.SQLTransientConnectionException: hikaricp-default - Connection is not available, request timed out after 6002ms.
	at com.zaxxer.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:676)
	at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:190)
	at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:155)
	at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:100)
	at io.getquill.context.jdbc.JdbcContext.$anonfun$withConnection$1(JdbcContext.scala:43)
	at scala.Option.getOrElse(Option.scala:121)
	at io.getquill.context.jdbc.JdbcContext.withConnection(JdbcContext.scala:42)
	at io.getquill.context.jdbc.ArrayEncoders.$anonfun$arrayEncoder$1(ArrayEncoders.scala:44)
	at io.getquill.context.jdbc.ArrayEncoders.$anonfun$arrayEncoder$1$adapted(ArrayEncoders.scala:40)
	at io.getquill.context.jdbc.Encoders.$anonfun$encoder$1(Encoders.scala:22)

Solution
The PrepareRow aka PreparedStatement instance already has a backing connection, and calling row.getConnection seems more appropriate.
Checklist

[x] Unit test all changes
[x] Update README.md if applicable
[x] Add [WIP] to the pull request title if it's work in progress
[x] Squash commits that aren't meaningful changes
[x] Run sbt scalariformFormat test:scalariformFormat to make sure that the source files are formatted

@getquill/maintainers

I took a quick look around the codebase and couldn't find any other instances of encoders reaching back into the connection pool after already having a reference to the current prepared statement (and therefore an existing connection). Any idea when this fix might make its way into a release? As mentioned above, this issue can cause a connection pool that's more than 50% utilized to deadlock when all connections are performing array operations.

thank you! I'll prepare a release PR


Cross-repo issue link in issue title

See https://github.com/rust-lang/rust/pull/41830. The link in the title goes to #4000 of the current repo even though it should be possible to match the org/repo#num pattern and make the correct link.

We already have the regex to make it happen here: https://github.com/sindresorhus/refined-github/blob/b1d48b1916674bdbd0ab4d12b1a9d80295677cb2/extension/linkify-urls-in-code.js#L2 We should move it to util.js.

@durka Good catch! Do you think you'd be able to work on a PR for this?

Absolutely, not until later this week though.
On Tue, May 9, 2017 at 3:01 PM, Haralan Dobrev<EMAIL_ADDRESS>wrote:

@durka https://github.com/durka Good catch! Do you think you'd be able
to work on a PR for this?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/sindresorhus/refined-github/issues/412#issuecomment-300268843,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAC3n8H1mMfpearLa90GBdnbtq0KI0Qxks5r4LgcgaJpZM4NViUN
.


[rshapes] Line drawing bug when using Camera2D

I tested this on latest commit (commit/52f2a10db610d0e9f619fd7c521db08a876547d0)
Issue description
When using Camera2D Line drawing i want to draw lines from center of the screen to somewhere else here is code i used
Environment
I use Windows 11 with Nvdia graphics card more information below
INFO: GLFW platform: Win32
INFO: PLATFORM: DESKTOP (GLFW): Initialized successfully
INFO: GLAD: OpenGL extensions loaded successfully
INFO: GL: Supported extensions count: 403
INFO: GL: OpenGL device information:
INFO:     > Vendor:   NVIDIA Corporation
INFO:     > Renderer: NVIDIA GeForce RTX 3060 Laptop GPU/PCIe/SSE2
INFO:     > Version:  3.3.0 NVIDIA 555.99
INFO:     > GLSL:     3.30 NVIDIA via Cg compiler
Issue Screenshot

Code Example
#include "raylib.h"

const char* title = "Title";
const int screenWidth = 1280;
const int screenHeight = 720;
Camera2D camera;

int main()
{
    camera.offset = (Vector2){ screenWidth / 2, screenHeight / 2 };
    camera.target = (Vector2){ 0, 0 };
    camera.rotation = 0.0f;
    camera.zoom = screenHeight / 2.0f;

    SetConfigFlags(FLAG_VSYNC_HINT | FLAG_MSAA_4X_HINT);
    InitWindow(screenWidth, screenHeight, title);

    while (!WindowShouldClose())
    {
        BeginDrawing();
        ClearBackground(BLACK);
        BeginMode2D(camera);

        DrawCircleV((Vector2){0, 0}, 0.1f, WHITE);  // Centered
        DrawLine(0, 0, 0, 1, WHITE);  // Not centered, why?

        EndMode2D();
        EndDrawing();
    }
    CloseWindow();
}

Found the source of the issue. Adding 0.5f would center the pixer if using default camera but when using a diffrent camera it causes some issues.
void DrawLine(int startPosX, int startPosY, int endPosX, int endPosY, Color color)
{
    rlBegin(RL_LINES);
        rlColor4ub(color.r, color.g, color.b, color.a);
        // WARNING: Adding 0.5f offset to "center" point on selected pixel
        rlVertex2f((float)startPosX + 0.5f, (float)startPosY + 0.5f);
        rlVertex2f((float)endPosX + 0.5f, (float)endPosY + 0.5f);
    rlEnd();
}

Potential fixes:

Remove 0.5f offset return to old version (does it really matter);
Divide 0.5f with camera's zoom level

@mfbulut Oh! Good catch! Reviewing it!


138 - Fix: Add Interactive filtering to the faceted search

Issue Number
Closing #138
Purpose/Implementation Notes
Added the interactive filtering to the faceted search in the case of the site code swap occurs before the BE API update.
Please see the latest UI here.
Types of changes

Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist

[x] Lint and unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)
[ ] Any dependent changes have been merged and published in downstream modules

This is fine for now, but we will be removing this before launch when the API updates response facets. Additionally, we will be removing all client side only queries as previously mentioned before development started.

Sure, please let me know once the API updates are completed and the new FE requirements have been set.


Introduce health check

To observe the uptime of obyte nodes, a health check would be great
See e.g.
https://medium.com/better-programming/how-to-add-a-health-check-to-your-node-js-app-5154d13b969e
Remarks:

healthcheck might be different for e.g. witness / hub / ... (what it internally checks)
would be good preparation for later containerization / dockerization of obyte nodes

The linked article doesn't apply directly to obyte nodes but nevertheless good idea, contributions are welcome.


Open circuit based on number of failures the last n ms, not n requests

We'd like to have a sliding window being checked for percentage of failures, instead of a definite number of requests. Levee has this, for instance.
Any particular reason why this is not implemented here? Would you be opposed to a PR adding it?
E.g. There is more than 25% failures the last second, open the circuit.

This is how it works already, by setting bucketNum, bucketSpan, and threshold.
Levee only supports maxFailures, and isn't percentage based.

Hmm, I tried that, but was unable to make it open. I'll try again tomorrow,
thanks!
On Mon, 3 Oct 2016, 16:59 Jacob Quatier<EMAIL_ADDRESS>wrote:

This is how it works already, by setting bucketNum, bucketSpan, and
threshold.
Levee only supports maxFailures, and isn't percentage based.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/awolden/brakes/issues/50#issuecomment-251129901, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABVvihT6wHDYvzkdONP-RkcMyEg3oBmjks5qwRhAgaJpZM4KMjEV
.

--
--
Simen Bekkhus

You might be running into an issue with waitThreshold option. Brakes waits a given # of requests before monitoring the health of the circuit. This is present to avoid immediately tripping the circuit if the first request fails. The default for waitThreshold is 100, which is probably high for lower traffic environments.

Yeah, I can see it working. I just wasn't able to follow the code. Thanks!


Fix oref0-upload-profile when NS default auth role denies read

The unmodified code could not query the current profile from NS if NS default access is set to denied and the user uses tokens because the token has to be provided as part of the query parameters instead of a header value.


Performance

https://github.com/vapor/multipart/blob/master/Sources/Multipart/BoundaryParser.swift#L35
Copying every single byte of a multipart upload to a new buffer one-by-one. It's really destructive for performance.

That's only for parsing boundaries which is arguably negligible. The content of the upload is not copied byte by byte. https://github.com/vapor/multipart/blob/master/Sources/Multipart/Parser.swift#L227

Closing since this is a "general" performance issue and not related to a specific bug or feature request.


Updated validations.py python script.

Fixed the behavior of validate_user function in validations.py.
Closes: #1
Fixes #<issue_number_goes_here>

It's a good idea to open an issue first for discussion.

[x] Tests pass
[x] Appropriate changes to README are included in PR

@googlebot I signed it!
On Thu, Jun 11, 2020 at 4:52 PM googlebot<EMAIL_ADDRESS>wrote:

Thanks for your pull request. It looks like this may be your first
contribution to a Google open source project (if not, look below for help).
Before we can look at your pull request, you'll need to sign a Contributor
License Agreement (CLA).
📝 Please visit https://cla.developers.google.com/
https://cla.developers.google.com/ to sign.
Once you've signed (or fixed any issues), please reply here with @googlebot
I signed it! and we'll verify it.
What to do if you already signed the CLA Individual signers

It's possible we don't have your GitHub username or you're using a
different email address on your commit. Check your existing CLA data
https://cla.developers.google.com/clas and verify that your email is
set on your git commits
https://help.github.com/articles/setting-your-email-in-git/.

Corporate signers

Your company has a Point of Contact who decides which employees are
authorized to participate. Ask your POC to be added to the group of
authorized contributors. If you don't know who your Point of Contact is,
direct the Google project maintainer to go/cla#troubleshoot (Public
version https://opensource.google/docs/cla/#troubleshoot).
The email used to register you as an authorized contributor must be
the email used for the Git commit. Check your existing CLA data
https://cla.developers.google.com/clas and verify that your email is
set on your git commits
https://help.github.com/articles/setting-your-email-in-git/.
The email used to register you as an authorized contributor must
also be attached to your GitHub account
https://github.com/settings/emails.

ℹ Googlers: Go here
https://goto.google.com/prinfo/https%3A%2F%2Fgithub.com%2Fgoogle%2Fit-cert-automation-practice%2Fpull%2F3284
for more info.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/google/it-cert-automation-practice/pull/3284#issuecomment-642580459,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMYJLZDNNYZP64AC2AC6Q53RWC5APANCNFSM4N3KG26A
.


remove externalLinkRegex

closes https://github.com/webpack/webpack.js.org/issues/4175

I'm merging this for the moment and we can add it back later when we have enough reports to support test.


Setup user subdomain routing in caddy

Route USERNAME.hackclub.app and APP.USERNAME.hackclub.app to a user caddy instance that listens on a unix socket.

Some reference configs (needs testing at the very least, very likely to require modification)
/etc/caddy/CaddyFile
*.hackclub.app:80 {
        @host header_regexp host Host ^(?:[a-zA-Z0-9]+\-)?([A-Za-z0-9]+)\.hackclub\.app
        handle @host {
                reverse_proxy unix///home/{re.host.1}/.webserver.sock {
                        health_status 2xx
                        health_interval 5s
                        health_timeout 60s
                }
        }
        handle_errors {
                @502 expression {err.status_code} == 502
                handle @502 {
                        respond * 502 {
                                body "This site is either down or does not exist.
If this site really does exist, please make sure your Caddy is running. Try systemctl --user start caddy. It is also possible you have a config issue, if so, please send us a message in the #nest channel in the slack
"
                        }
                }
                respond "{err.status_code} | {err.status_text} (on {re.host.1})" {
                        close
                }
        }
}

~/CaddyFile
{
        admin unix//home/YOUR-USERNAME/.caddy-admin.sock
}
http://YOUR-USERNAME.hackclub.app {
    bind unix/.webserver.sock
    reverse_proxy localhost:11111
}

Can't use wildcards (DNS, HTTPS certs), but can use a CLI tool! Done in #18


MongoDB Atlas Search Support

It appears that MongoDB Atlas Search supports Vector Search via the kNNBeta operator:

https://github.com/esteininger/vector-search/blob/master/foundations/atlas-vector-search/Atlas_Vector_Search_Demonstration.ipynb
https://www.mongodb.com/docs/atlas/atlas-search/knn-beta/

Is there anyone else that is working with or exploring MongoDB as a Vectorstore?
If not, @hwchase17, would you be open to a pull-request?
cc: @sam-lippert and @AggressivelyMeows

I started working on this for in langchainjs. Ran into a couple of issues, hopefully I can get them worked out. Once these issues are addressed I will be glad to bring the python version up to parity.
It would sure be nice to be able to use existing mongodb instances as opposed to having to use something else in addition.

Hi, guys，I'm using MongoDBAtlasVectorSearch(from langchain.vectorstores) to store my docs and embeddings，does anyone know how to retrieve docs and embeddings from MongoDBAtlasVectorSearch? @nathanclevenger @floomby
I have tried
    retriever = vectorStore.as_retriever()````

but I can't get any docs using `docs = retriever.get_relevant_documents(query)`, while I can get docs thought Altas UI search using a same query, I think it retrieved nothing.

Ok, I looked back and I think I know what the problem is. Does it work if you add metadata to the docs?

It sounds like it could be a problem with the index. When you ran a search query manually did you use the knnBeta operator? Also double check that there are no errors with the index and that it shows that your documents are indeed indexed (i.e. it didn't get stuck on the indexing state).

Thanks @floomby
My bad, the constructor of MongoDBAtlasVectorSearch using 3 default params:
index_name: str = "default",
text_key: str = "text",
embedding_key: str = "embedding",
In my case, index_name is not 'default'，so I should do
vectorStore = MongoDBAtlasVectorSearch(collection, embedding, index_name=index_name)
then you can using
retriever = vectorStore.as_retriever()
docs = retriever.get_relevant_documents(query)
or
docs = docsearch.similarity_search(query)
both works fine, because retriever.get_relevant_documents invoked similarity_search in it's implementation.
P.S. using 1536 of dimensionality is fine.

@Pliman it seems that MongoDB Atlas just recently raised the 1024 dimension limit to 2048, so 1536 from ada-002 now works in Mongo!

Good to know.