Poor performance of QueryFactory (most notably QueryField)

Sorry, it's going to be long. Brace yourself.
This is just a different version of what we reported in #79
We have the following frustration:

If we try to debug Apex code (printf-style debugging; not the new Apex Interactive Debugger) with a level of FINEST, the log file fills up with a bajillion of these and overflows the 2MB log limit:

13:57:03.185<PHONE_NUMBER>)|METHOD_ENTRY|[EXTERNAL]|01p36000001tRgR|fflib_QueryFactory.QueryField.equals(Object)
13:57:03.185<PHONE_NUMBER>)|METHOD_EXIT|[EXTERNAL]|01p36000001tRgR|fflib_QueryFactory.QueryField.equals(Object)

If we set a Trace Filter for fflib_QueryFactory to try to silence it (by setting Apex debug level to ERROR, not NONE .. due to the Known Issue mentioned in #79), we see these in the log instead:

13:59:44.970<PHONE_NUMBER>9)|PUSH_TRACE_FLAGS|[EXTERNAL]|01p36000001tRgR|QueryField|APEX_CODE,ERROR;APEX_PROFILING,INFO;CALLOUT,INFO;DB,INFO;SYSTEM,DEBUG;VALIDATION,INFO;VISUALFORCE,INFO;WORKFLOW,INFO
13:59:44.970<PHONE_NUMBER>5)|POP_TRACE_FLAGS|[EXTERNAL]|01p36000001tRgR|QueryField|APEX_CODE,ERROR;APEX_PROFILING,INFO;CALLOUT,INFO;DB,INFO;SYSTEM,DEBUG;VALIDATION,INFO;VISUALFORCE,INFO;WORKFLOW,INFO

Accompanying the log file overflowing, we often reach the Apex CPU Time Limit: "Apex CPU time limit exceeded. An unexpected error has occurred. Your development organization has been notified."
Our Selectors have some methods that retrieve really wide records with lots of parent/grandparent fields included in the related field list .. sometimes a hundred fields wide.
We found a couple particularly painful hot spots in the code -- both are related to fflib_QueryFactory.QueryField.
First, the use of a Set in QueryFactory to hold the fields has the 'surprising' performance behavior outlined in #79. From our perspective, this is a pre-optimization to try to keep a unique set of fields. The implementions of QueryField.hashCode and equals() are expensive and hashCode() is not consistently used by the platform. We think that a List can be used and deduped at the last minute before generating the SOQL string
Second, the loop in toSoql() to generate the list of fields in the SELECT clause uses string concatenation in Apex vs String.join. This has terrible performance characteristics. We thought that we could pass in the Set<QueryField> into String.join since it takes an iterable, but apparently String.join doesn't call the overridden toString() implemented on QueryField. So we're stuck there.
We did some quick hacking and slashing and totally removed QueryField from QueryFactory and replaced it with a List<String>. There are some corner cases there, but the code compiles and generates largely correct SOQL.
So, onto the questions:

Are we in the minority of Enterprise Pattern users and hitting problems that no one else is seeing? Or are there workarounds that we're not thinking of for snuffing out fflib debug output before it causes a performance impact or overflows the log? Anyone over at ffdev want to share the secret sauce? :-)
We don't see the real world benefit of keeping a Set of QueryFields in order to protect against dupes; it feels like if you're passing duplicate fields into QueryFactory, you're doing something wrong. To support backwards compat, we can shim this behavior and dedupe, but for the new implementations, they shouldn't depend on this behavior (just like they shouldn't depend on the sorting of the selected fields -- like what was fixed in #99)
I don't think the issue outlined in #79 is ever going to be fixed by the platform team so QueryField is a lurker that will burn developer after developer. Can we eradicate QueryField?

We're glad to dive in and submit a pull request .. but before we dot all the I's and cross the T's, we wanted to make sure we weren't running totally off the rails .. and that we weren't going to be rejected at the door

I ported QueryFactory optimisations to our internal copy of this repo in #99, but it sounds like I didn't go far enough.
I can see some very detailed analysis in #79, so again, thanks for the fine police work and if you want to raise a pull request we would be very grateful. I think you've put forward some very sensible suggestions, so I'd be keen to see how effective they are.
I can only speak for myself with regards to debugsauce, but I use the humble System.debug to find roughly where the bottle necks are. If the bottleneck is early enough in execution, a System.assert(false) to unwind the stack quickly helps keep log size down. But it sounds like your method is a bit more refined to be honest!

I was the original author of most of the choices in question, although I'm no longer employed by FinancialForce and not an authority on the future direction of this repo (although I do want to see it thrive!). In other words, I can comment with historical knowledge, but my thoughts are not in any way gospel.
Your assumption that a Set was used was indeed to ensure there were no duplicate entries. However, going to a List has issues with edge cases where different text values are referring to equal fields, which is why I introduced QueryField to encapsulate that (and a couple other things, but mainly that).
On the topic of "if you're passing duplicate fields into QueryFactory, you're doing something wrong": this might be true in many common selector use cases (which I didn't anticipate QueryFactory would end up powering initially!) but a huge value of qf is that you can do things like throw a field set at it and let it sort out dupes or not. That's actually the single use case that caused it to be written. There is serious non-selector use of queryfactory, and more than a few highly dynamic selectors, that rely on it to de-dupe effectively. With all that said, I still like the just-in-time dedupe idea. In the context of a highly dynamic query I don't expect the minor heap penalty would be a serious issue, while the CPU improvements seem very tempting. There's also the idea of making a subclass of QueryFactory that does less checking on input for use in selectors without dynamic components. This actually seems like a good idea considering that not every selector needs this, and it does add overhead.
I'd advocate for keeping QueryField in some capacity to help handle situations like ownerId vs owner and myNamespace__Field__c and Field__c where you have equal but not textually equal fields. But moving to a list and de-duping every X fields selected or during toSOQL seems a reasonable answer to the CPU hit of using a set.
As a compromise on the toSOQL() string building issue, why not toString into a List, and then String.join that? It seems to remove the excessive concatenation and assuming the apex list collection appending is fast (I haven't tested, but it seems a reasonable assumption as I write this).
I know there are internal use cases that removing de-duping would break, and I'd hate to see the internal and external versions diverge, so to me keeping the same functionality and API is highly valued, even if it does slightly compromise the performance boosts you might get. A subclass that adds those, so users can pick if they want faster or more accurate, would be a great way to address that if you do go that direction.
I'd offer to help in some capacity but I need to go get some approvals before I can offer, so in the interim godspeed.

Hi @capeterson. I have been working with @daveespo on this investigation into QueryFactory performance. Yesterday I did some prototyping of some performance enhancement ideas we have. Specifically, I tried the idea of populating a List with the strings returned from QueryField.toString so that I could then use String.join in the toSOQL method. I found that this actually did NOT yield the performance improvements we had been hoping for. It yielded about a 10% improvement in the toSOQL execution time... maybe not worth the trouble.
I also had the same idea that you had, of subclassing QueryField. I changed QueryField and its methods to be virtual, and then declared a class called LightweightQueryField that extends QueryField. LightweightQueryField is a simple marker class that maintains the name of the field being queried as a String. It has its own, very streamlined implementations of toString, equals, compareTo, etc. It allowed me to continue to carry the fields around as a collection of QueryField objects. I then added a constructor to the fflib_QueryFactory class that allows you to specify that you want to use the LightweightQueryField objects to build your query as opposed to the more powerful, but also less performant QueryField. This yielded some significant performance improvements in query build time (where query build time represents the total time to construct the QueryFactory, set the fields, conditions and orderings and then call toSOQL to get back the SOQL string). In my case, I saw the query build time reduced from about 1000 ms to about 200 ms. My changes would still you to maintain the full functionality provided by QueryField, but offer a lightweight version to those that are more concerned about query build time.

@tfuda What your describing sounds useful to me and i'm keen to see it if your happy to generate a PR. Meanwhile are you basing this on the latest code from the performance improvements @frup42 mentioned above.

I'll get back to this this week, and clean things up and submit a proper pull request @afawcett

:+1:

This pull request is the result of a lot of collaboration between @tfuda and myself. @tfuda will be submitting a separate pull request along the lines of what he and @capeterson talked about earlier in this thread. They are largely incompatible so we decided to submit them both so everyone could render an opinion on the direction as a whole. We'll call the two options:
LightweightQueryField vs. QueryFieldExorcism
Both solutions have been tested in our fairly large base of Apex and both unit test coverage and our ad hoc testing passes .. so at least in our use case, they are both viable
Test Methodology
@tfuda and I have been using the 2 selector classes in fflib-Optimization (Selector_Account and Selector_Contact) along with SelectorPerformance to kick off a run. There's a Deploy To Salesforce button on the repository home page if you want to try for yourself.
SelectorPerformance constructs 10 instances of QueryFactory, and calls selectFields on each of those 10 instances -- once with a Parent relationship, and again with a Grandparent relationship. It should be noted that each set of results below was preceded by one test run where we threw away the results. We witnessed abnormally poor performance numbers the first time code saved to server was exercised. On the second and subsequent runs, the results were fairly consistent.
The "Standard" logging level was enabled. That is:
Apex: DEBUG
Profiling: INFO
Like so: http://screencast.com/t/o5a0vKF3O1f
The following anonymous Apex was run:
SelectorPerformance.go();

The results of the tests on unadulterated fflib_QueryFactory (i.e. what's on master right now) is as follows:
10:51:58.58<PHONE_NUMBER>)|USER_DEBUG|[38]|DEBUG|Preload Elapsed:25
10:51:58.58<PHONE_NUMBER>)|USER_DEBUG|[39]|DEBUG|Parent Elapsed:429
10:51:58.58<PHONE_NUMBER>)|USER_DEBUG|[40]|DEBUG|Grandparent Elapsed:578
10:51:58.58<PHONE_NUMBER>)|USER_DEBUG|[41]|DEBUG|QF Elapsed (includes parent & grandparent):1119
10:51:58.58<PHONE_NUMBER>)|USER_DEBUG|[42]|DEBUG|SOQL Elapsed:347
10:51:58.58<PHONE_NUMBER>)|USER_DEBUG|[43]|DEBUG|Total Elapsed:1466

Summarizing:
Construction of QueryFactory (which implies selecting the fields defined in getSObjectFieldList()) was ~11ms/each ((1119 - 578 - 429) / 10) for a selector that's 54 fields 'wide'
Selecting an additional set of 45 Parent fields adds ~43ms (429 / 10)
Selecting an additional set of 45 Grandparent fields adds ~58ms (578 / 10)
Turning QueryFactory into a SOQL string takes ~35ms (347 / 10)
... which means that for a 'really wide' Selector, you spend ~147ms just constructing a SOQL string
The above numbers disregard all of the crazy business outlined in #79 -- if you start fooling around with the log levels to get more detail, these numbers go into the tank (if you can get your transaction to complete at all)
QueryFieldExorcism
Removal of QueryField
QueryField's current mission is to act as a vessel for a field path -- either a local field on the object that the QueryFactory is constructed for (i.e. Contact) or one of its ancestors (parent, grandparent, great-grandparent, etc).
Carrying around this vessel as a custom Apex class requires all of the machinery for deduping, sorting (compareTo) and hashing (hashCode/equals). However, the end goal is still to arrive at a string literal that can be used in a SOQL query. The summary on this issue already calls out the pain and suffering this causes.
The change in this pull request front-loads the effort for building the string literal up into the fflib_QueryFactory.getFieldToken method; in that method, the heavy lifting is already done to normalize the list of selected fields into SObjectField tokens and enforce CRUD/FLS. It didn't make sense to sock it away into a custom class only for it to be pulled apart later and turned into a String again.
The net effect, as the performance data shows, is that toSOQL has now become blisteringly fast. The performance penalty is now buried in selectFields (which delegates to getFieldToken)
Once the custom class was ditched, keeping a Set<String> wasn't nearly as costly as keeping the Set<QueryField>.
getFieldToken performance
There was a minor change to keep a method-local reference to the Describe result for the path component you're deduping. fflib_SObjectDescribe is good at what it does, but there is still a very minor performance penalty to call getDescribe() more than once
Use of getRelationshipName to build parent relationship paths
The code in QueryField.toString() had some logic in there to try to handle the 'special' SObjectField tokens -- there is a method on the DescribeFieldResult called getRelationshipName() that does this in a reliable way.
Collateral Damage

A bunch of methods on fflib_SObjectSelector were removed; these methods were already marked as deprecated so it feels like people can adapt to life without them. Our code base never made use of them to begin with so hopefully others will have the same experience.
The public method signature of fflib_QueryFactory.getSelectedFields now returns a Set<String> instead of a Set<QueryField>
The "sorted" order of the list of fields in the SELECT clause doesn't follow the "local fields first, followed by parent relationships" logic. It's just a straight alpha sort.

Results of QueryFieldExorcism
11:13:52.14 (854796968)|USER_DEBUG|[38]|DEBUG|Preload Elapsed:21
11:13:52.14 (854848048)|USER_DEBUG|[39]|DEBUG|Parent Elapsed:343
11:13:52.14 (854896699)|USER_DEBUG|[40]|DEBUG|Grandparent Elapsed:407
11:13:52.14 (854952159)|USER_DEBUG|[41]|DEBUG|QF Elapsed (includes parent & grandparent):811
11:13:52.14 (855004320)|USER_DEBUG|[42]|DEBUG|SOQL Elapsed:6
11:13:52.14 (855056614)|USER_DEBUG|[43]|DEBUG|Total Elapsed:817

Construction of QueryFactory (which implies selecting the fields defined in getSObjectFieldList()) was ~7ms/each ((817 - 407 - 343) / 10) for a selector that's 54 fields 'wide'
Selecting an additional set of 45 Parent fields adds ~34ms (343 / 10)
Selecting an additional set of 45 Grandparent fields adds ~41ms (407 / 10)
Turning QueryFactory into a SOQL string takes ~0ms (6 / 10)
... which means that for a 'really wide' Selector, you spend ~81ms just constructing a SOQL string -- a 44% improvement
Sadness

The result of all of this analysis is that getFieldToken is really just plain expensive -- Even after all of these changes, we only achieved a 44% increase. There's no optimization that can be done which preserves its valuable CRUD/FLS enforcement features. ISVs that need to enforce CRUD/FLS have no way around this. I had given some thought to how Platform Cache could play here -- but I'm not sure it would pass a security review since the TTL on the cache key would allow CRUD/FLS administration not be immediately reflected in Selector behavior

Wow, thanks @daveespo @tfuda for this insight, i have to dash tonight, but i've marked this for a quality read through asap! Again, great work, really appreciate it! :+1:

So that everything's bundled together on this issue, I'm mentioning PR #108  and a the writeup on that PR from @tfuda  that discusses the merits of LightweightQueryField

Thanks @daveespo and @tfuda fine work from both of you, the gains are for sure very appealing. Wondering if there a table format or some way you can show the relevant features of the current QueryBuilder as rows and as columns these two PR's / options (LightweightQueryField and QueryFieldExorcism). So we can compare more easily the two of them. Maybe also add rows that relate to performance and other benefits or side effects, such as backwards compatibility? Sorry to ask for this, i see you documented this pretty well for one of them thanks for that, it would be just easier to progress this discussion if we had a something in more of a at a glance table summary form? My other thought here is perhaps to have a call between interested parties? Whats your thoughts?

I'm also keen to get your views and results of any tests in respect to the new parameter here, https://github.com/financialforcedev/fflib-apex-common/blob/master/fflib/src/classes/fflib_SObjectSelector.cls#L122, to disable the sorting behaviour. I think this arrived since this discussion started.

No problem; There are a lot of words on this issue and the related pull requests. Is this what you were looking for?

Concern
Current Implementation
QueryFieldExorcism
LightweightQueryField

Dev Console / Developer experience
With Apex log level at FINEST or NONE, Set<QueryField> performance becomes linear (see #79) and results in CPU timeouts
Fixed; a Set<String> is used instead
Fixed; a List<QueryField> is used instead

Debug Log output
With Apex log level at FINEST, log file overflows 2MB with QueryField.equals() calls
Fixed; inserting into Set<String> doesn't create log output
Fixed; inserting into List<QueryField> doesn't call equals() override

CRUD/FLS enforcement (optional)
Supported
Supported
Unsupported

Performance of building SOQL string in production environment
147ms
81ms
39ms

API backwards compatibility
N/A
Four 'deprecated' public methods on fflib_SObjectSelector were removed: getFieldListBuilder(), setFieldListBuilder(), getFieldListString(),  getRelatedFieldListString(); Also, the method signature for fflib_QueryFactory.getSelectedFields now returns a Set<String> instead of a Set<QueryField>
No API changes (The "sortFields" feature is now a no-op since deduplicating the List<QueryField> requires that the list be sorted then deduped)

Gracefully handles duplicate fields in Selector
Yes
Yes
Yes

A few additional notes:

I hadn't given a ton of thought to creating shims for the 4 public methods removed in SObjectSelector -- if removing those methods is a big deal, I can ruminate on restoring them
I think we can actually "do both" (both QueryFieldExorcism and the Lightweight query building) with some refactoring -- The larger performance benefit seen by LightweightQueryField is largely due to bypassing of CRUD/FLS enforcment here: Line 91
For LightweightQueryField, we didn't get super hung up on the method signatures for the fflib_QueryFactory constructors; we realize that overloaded constructors can result in madness so if you want the additional constructor removed, we can refactor that to just have a setLightweight() method that initializes the implementation

Tom and I are US East Coasters and work in the same office so we can do a GHangout/Skype/Zoom/whatever generally between 8am and 4pm ET Monday to Thurs. This week, Tom's on holiday so next week would be the earliest we could chat. I think you know both my work and personal email addresses so you can send a meeting invite to either
Glad to see this moving forward and the great discussions on this and some of the other open tickets in this repo; lots of great stuff to think about!

Sorry, one last thing: addressing your Q about whether the sortSelectFields feature that landed was part of our benchmarks:
Yes, we had this code in place and were constructing fflib_QueryFactory using sortSelectFields=false constructor (as you'll see in the fflib-Optimization repo). So the "before" benchmark numbers are all reflective of using the optimizations committed as part of #99

Hi guys (@afawcett and crew) -- can we resurrect this thread and come to a decision on what, if anything can be merged into the fflib-apex-common/master branch? We've been living with the code changes in the QueryFieldExorcism branch for about 2 months and haven't had any regressions. Additionally, 2 of our packages went through security re-review in that period and passed so SFDC's security team is still satisfied with CRUD/FLS enforcement.

Is there any decision here if or if not this PR gets merged. I am hardly suffering this issue and would love to see a solution inside the lib.
@afawcett @daveespo @tfuda @capeterson

We'd love to see it merged in too! :-)
We've been using the "QueryFieldExorcism" branch in production now for 6+ months with no regrets and we'd like to get off of our fork and back onto the stock fflib distribution

I'm going to look at this next week, promise! Thanks everyone for your patience. 👍

We'd love to see this in fflib too, @afawcett. We're using our own workarounds because debugging is very difficult as QueryFactory uses so much of the debug log. Thanks.

@afawcett  Is there work to do besides merging? If so maybe we can support you...

Hi @afawcett, thank you for your quick reply. If we can merge this branch, it would give us exactly what we need.

Thanks everyone, i have had a good look at this today and finally got comfortable committing it.
I spent a bit of time thinking about the sortSelectFields functionality, which was put in to improve performance. The comment above that indicates this was included in the before analysis confirms to me that the nullification of this behaviour, means that those using this feature currently to get performance improvement will not see a regression. Let me know though if i have misunderstood this or this is not the case.
Meanwhile, its now been merged and Travis says all is well with the world! 👍
So next it would be great if someone could write a blog or provide a wiki page PR for this repo. That describes the pros and cons of the two modes. We can add it to the README doc section and i'll of course promote on my channels, blog, twitter etc.

To confirm https://github.com/financialforcedev/fflib-apex-common/pull/107 has been merged. Thanks @daveespo 👍

And thank you @afawcett!

Great! I would love to see a blog post by @daveespo on AndyInTheCloud.com to explain how and when to use the new lightweight version.

@up2go-rsoesemann the lightweight version was not merged, only the general improvements with existing functionality. So in the end there is not much to write about, but plenty to be happy about! 👍


Support killing only the GPU process

Look for processes with the argument "gpu" in the command line arguments

Completed in the https://github.com/b0bh00d/crash-firefox/releases/tag/Windows-64-1.1.


API: Enhance BPN user link with BPN allowed BPN

In the current implementation additional BPNs can get added to user account.
The solution does not verify/support to validate if the BPN is a valid BPN or if this BPN is really correctly added.
With one of the latest BPDM feature enhancements, this is now possible.
Endpoint supported by BPDM: GET /api/catena/legal-entities/\{bpnl}/sites
BPDM Pool Swagger

Details of the needed change:

Backend
Portal Endpoints impacted by the new function

PUT /api/administration/user/owncompany/users/\{companyUserId}/businessPartnerNumbers/\{businessPartnerNumber}
POST /api/administration/user/owncompany/users/\{companyUserId}/businessPartnerNumber

Both endpoints are used to enhance the user linked BPNs. The user linked BPNs are stored inside the portal db as well as the user jwt token (via keycloak user attributes).
The backend logic of both those endpoints need to get enhanced. The BPN submitted by the user via the api endpoints need to get validated against the BPDM service GET /api/catena/legal-entities/\{bpnl}/sites
Only if the users company BPN is connected to the submitted BPN(s), the BPN(s) should get added to the respektive user (portal db and keycloak user attribute). For those BPNs where the BPDM service check GET /api/catena/legal-entities/\{bpnl}/sites is unsuccessful, the request should fail and the user attributes/portal db should not get updated for those specific BPN(s).

Please use for the implementation extended error handling.
Means: if the user tries to add 3 BPNs; one of them being valid and the other two not connected to the company BPNL; in this case the response should be †he following

API Response of the both API endpoints mentioned above should include following details:
- list of successful added BPNLs
- list of unsuccessful added BPNLs ++ the reason why the BPNL could not get added

Linked tickets:
FrontEnd needed changes will be taken over by the FE team as part of https://github.com/eclipse-tractusx/portal-frontend/issues/989

@MaximilianHauer I've migrated this issue from jira, it was previously assigned to Prasanna, I will take care of the implementation


Link Yozora's Proof + Item

I believe this will be addressed when moving to the Plando solution #18


docs(readme): add instructions on how to run tests

Just adds a small section on the readme on how to run the tests, even though it is pretty straighforward.

Merging this, clippy error will be fixed in: https://github.com/monero-ecosystem/monero-rpc-rs/pull/53


support configure cpu.idle by Cgroupfs

@utam0k @tsturzl updated! PTAL

and seems tag 0.5.6 doesn't contains https://github.com/containers/oci-spec-rs/pull/103, so I edited commit messa

Oops, sorry, I failed to include your PR when I released oci-spec-rs 😭

@utam0k Can you help trigger ci again? I don't have a cgroupv1 env, and I would like to ensure integration test is correct😂

@tsturzl Can I ask you to review it again?


ip/lvds_rf_input.sv missing?

Hi,
Thanks for posting this project. I couldn't find this required file in the Cyclone III port:
sdr.qsf:set_global_assignment -name SYSTEMVERILOG_FILE ip/lvds_rf_input.sv
Is it missing?

Il 2020-05-12 22:12 Steve Haynal ha scritto:

Hi,
Thanks for posting this project. I couldn't find this required file in
the Cyclone III port:
sdr.qsf:set_global_assignment -name SYSTEMVERILOG_FILE
ip/lvds_rf_input.sv
Is it missing?

Now you can find it in the repository.
Regards.
Alberto

Hi Alberto,
Thank you, but there appear to be more missing files, all in the ip subdirectory:
set_global_assignment -name SYSTEMVERILOG_FILE ip / sine_cosine.sv
set_global_assignment -name SYSTEMVERILOG_FILE ip / pwm.sv
set_global_assignment -name SYSTEMVERILOG_FILE ip / nco.sv
set_global_assignment -name SYSTEMVERILOG_FILE ip / mixer.sv
set_global_assignment -name SYSTEMVERILOG_FILE ip / lvds_rf_input.sv
set_global_assignment -name SYSTEMVERILOG_FILE ip / cic_filter.sv
set_global_assignment -name SYSTEMVERILOG_FILE ip / am_receiver.sv
set_global_assignment -name SYSTEMVERILOG_FILE ip / am_demod.sv
Best Regards,
Steve Haynal

Hi
Same problem here, seems that cyclone version has several missing files.
Thanks.

Sorry for this, I asked the contributor, I'll let you know.
Regards
Alberto
Il 17/05/20 07:29, Steve Haynal ha scritto:

Hi Alberto,
Thank you, but there appear to be more missing files, all in the ip subdirectory:
set_global_assignment -name SYSTEMVERILOG_FILE ip / sine_cosine.sv
set_global_assignment -name SYSTEMVERILOG_FILE ip / pwm.sv
set_global_assignment -name SYSTEMVERILOG_FILE ip / nco.sv
set_global_assignment -name SYSTEMVERILOG_FILE ip / mixer.sv
set_global_assignment -name SYSTEMVERILOG_FILE ip / lvds_rf_input.sv
set_global_assignment -name SYSTEMVERILOG_FILE ip / cic_filter.sv
set_global_assignment -name SYSTEMVERILOG_FILE ip / am_receiver.sv
set_global_assignment -name SYSTEMVERILOG_FILE ip / am_demod.sv
Best Regards,
Steve Haynal
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/alberto-grl/1bitSDR/issues/1#issuecomment-629745869, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AO6XMHZ4JHN55TYI2CUD7Q3RR5Y5JANCNFSM4M7G2IAA.

Sorry for this, I asked the contributor, I'll let you know.
Regards
Alberto
Il 17/05/20 22:45, gmtii ha scritto:

Hi
Same problem here, seems that cyclone version has several missing files.
Thanks.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/alberto-grl/1bitSDR/issues/1#issuecomment-629858096, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AO6XMH7V5MOMLGJOBSPCMGDRSBEG5ANCNFSM4M7G2IAA.

Il 2020-05-17 20:45 gmtii ha scritto:

Hi
Same problem here, seems that cyclone version has several missing
files.
Thanks.

Here they are
https://github.com/alberto-grl/1bitSDR/tree/master/SDR_CycloneIII
Regards
Alberto

Il 2020-05-17 05:29 Steve Haynal ha scritto:

Hi Alberto,
Thank you, but there appear to be more missing files, all in the ip
subdirectory:
set_global_assignment -name SYSTEMVERILOG_FILE ip / sine_cosine.sv
set_global_assignment -name SYSTEMVERILOG_FILE ip / pwm.sv
set_global_assignment -name SYSTEMVERILOG_FILE ip / nco.sv
set_global_assignment -name SYSTEMVERILOG_FILE ip / mixer.sv
set_global_assignment -name SYSTEMVERILOG_FILE ip / lvds_rf_input.sv
set_global_assignment -name SYSTEMVERILOG_FILE ip / cic_filter.sv
set_global_assignment -name SYSTEMVERILOG_FILE ip / am_receiver.sv
set_global_assignment -name SYSTEMVERILOG_FILE ip / am_demod.sv
Best Regards,
Steve Haynal

Here they are
https://github.com/alberto-grl/1bitSDR/tree/master/SDR_CycloneIII
Regards
Alberto

Thanks !


Update zio-schema, zio-schema-derivation, ... to 1.1.0

About this PR
📦 Updates

dev.zio:zio-schema
dev.zio:zio-schema-derivation
dev.zio:zio-schema-protobuf

from 0.4.17 to 1.1.0 ⚠
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "dev.zio" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "dev.zio" }
}]

labels: library-update, early-semver-major, semver-spec-major, commit-count:1

Superseded by #448.


Need amount of collateral not added to pool

In order to determine the user's initial cost of shares from adding liquidity, I need to know how much collateral actually went into the pool. I already have the amount of collateral they sent in.
I think this would need to be a contract change to emit _sets  right. For now I can assume all collateral went into the pool until we figure this out.
When user receives shares from removing liquidity I can use collateral in for adding liquidity minus collateral received from removing as the base cost of user's shares. I'll also assume all collateral went into the pool when the user added liquidity.

worked with Justin came up with different approach, seems to be working. closing


[Discussion] Azure Functions Runtime 2.0.12115

Discussion issue for https://github.com/Azure/app-service-announcements/issues/136

Is this release GA? Is Azure Functions ~2 now considered GA? (Not beta, preview, etc.)

Great question :) You'll hear from us loud and clear when functions V2 is GA.

I wanted to give a try on Azure to 2.0.12115 new runtime version and this is what I've got:

Unsupported Runtime Version
Your custom runtime version is not supported. As a result 2.0.12095.0 runtime is being used.

@ferantivero It is not yet deployed everywhere. Can you try in North Central US?

thanks @davidebbo northcentralus up & running

It seems the known issues page has disappeared?
https://github.com/Azure/azure-functions-host/wiki/Azure-Functions-runtime-2.0-known-issues

@fabiocav thanks for the quick reply - I think one important thing is:

Missing HttpRequestMessage extension methods from WebApi client packages (e.g. GetQueryNameValuePairs, CreateResponse). The assembly is not registered by default and the approach is to either reference the package or bind to HttpRequest instead.

With Microsoft.NET.Sdk.Functions 1.0.22 this is still the case: all the online examples/documentation use HttpRequestMessage.
I actually couldn't find a way to reference the correct assembly that has the  HttpRequestMessage extension methods and is supported by netstandard2.0?

@TurtleBeach I think that would be useful and I had similar issue the other day. I am writing to Azure Tables which returns an int status code: it would be useful to be able to pass back into the HttpResponseMessage, but instead I have to do my own test:
let onTableAccess (tableResult : TableResult) =
    let result = string tableResult.HttpStatusCode
    if result.StartsWith "2" then Ok tableResult
    else
        let r = new HttpResponseMessage()
        r.StatusCode <- HttpStatusCode.BadRequest
        Error r

I can now confirm that this is the GA release - see https://github.com/Azure/app-service-announcements/issues/138
Since there is some discussion of Java in this thread I should note that Java support in Azure Functions is not yet GA and remains in preview.

Hi all. It seems like with update to the most recent runtime version proxies have been broken again.
It was previously fixed by https://github.com/Azure/azure-functions-host/issues/3466
but today I can see they do not work again (it affects autoscaling scenarios). So I downgraded runtime to 2.0.12050 and they started to work again. But I would like to have this bug fixed not to pin my app to the version which is going to be outdated soon :-)
thanks

@igorgnedish this is tracked by https://github.com/Azure/azure-functions-host/issues/3533

@odd-rune has anyone from Microsoft responded to you regarding this? (I saw you posted it in a few places.) We're seeing this issue too.

@odd-rune can you share your support case # so we can correlate with our internal investigation? Thanks!

Actually, @odd-rune, never mind. Talking to others, I see you are already the person which case they are investigating. @pragnagopa will open a new GitHub issue to better track this.

@odd-rune / @NickDarvey: let's use https://github.com/Azure/azure-functions-host/issues/3600 to discuss further.


[Fix][UI Next] Fix Security User Manage route was outdated

#8133 #8137

Codecov Report

Merging #8153 (15b4fa9) into dev (1fd748f) will decrease coverage by 0.02%.
The diff coverage is n/a.

:exclamation: Current head 15b4fa9 differs from pull request most recent head 59e1ac8. Consider uploading reports for the commit 59e1ac8 to get more accurate results

@@             Coverage Diff              @@
##                dev    #8153      +/-   ##
============================================
- Coverage     41.47%   41.44%   -0.03%
+ Complexity     3732     3730       -2
============================================
  Files           637      637
  Lines         27176    27176
  Branches       3092     3092
============================================
- Hits          11270    11264       -6
- Misses        14815    14828      +13
+ Partials       1091     1084       -7

Impacted Files
Coverage Δ

...he/dolphinscheduler/common/enums/SqoopJobType.java
0.00% <0.00%> (-88.89%)
:arrow_down:

...org/apache/dolphinscheduler/remote/utils/Host.java
37.77% <0.00%> (-2.23%)
:arrow_down:

...inscheduler/common/task/sqoop/SqoopParameters.java
74.00% <0.00%> (ø)

...e/dolphinscheduler/remote/NettyRemotingClient.java
52.11% <0.00%> (+1.40%)
:arrow_up:

...dolphinscheduler/remote/future/ResponseFuture.java
83.60% <0.00%> (+1.63%)
:arrow_up:

Continue to review full report at Codecov.

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


Update configuration doc with the config generated from the main repo

Extracted from #84.
Do not merge this PR.
Review, but do not merge.
It builds on #104 branch, so that other PR will need to be approved/merged first.
Config file is correctly mirroring the default config in main repo, I just checked.
(Left nav is still messed up, I know, don't worry about it in this PR)

@xPaw, re-generated the config file from your changes that I merged.


Upgrade Job always changes

When helm upgrade, Job and pre-upgrade ClusterRole always seeing diff in 0.15.1
spire-system, spire-server-pre-upgrade, ClusterRole (rbac.authorization.k8s.io) has changed:
...
  apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    name: spire-server-pre-upgrade
    annotations:
      "helm.sh/hook": pre-upgrade
      "helm.sh/hook-delete-policy": before-hook-creation, hook-succeeded, hook-failed
  rules:
    - apiGroups: ["admissionregistration.k8s.io"]
      resources: ["validatingwebhookconfigurations"]
-     resourceNames: ["spire-system-spire-controller-manager-webhook"]
+     resourceNames: ["spire-controller-manager-webhook"]
      verbs: ["get", "patch"]
spire-system, spire-server-pre-upgrade, Job (batch) has changed:
...
        securityContext:
          {}
        containers:
        - name: post-install-job
          securityContext:
            {}
          image: docker.io/rancher/kubectl:v1.26.10
          args:
            - patch
            - validatingwebhookconfiguration
-           - spire-system-spire-controller-manager-webhook
+           - spire-controller-manager-webhook

Hi @DingGGu this is expected for this release. We added support for running multiple controller managers with https://github.com/spiffe/helm-charts-hardened/pull/60. They are differentiated by running in different namespaces so we changed the name of some of the webhooks to reflect that.

I've done some testing locally. It seems like 'helm diff' may have a bug in it where it does not honor the 'lookup' function call that is done in the job to successfully upgrade from the previous version. When the helm upgrade happens, the correct name is used, so its kind of a false positive. We will get rid of the lookup call in the 0.16.0 release so the diff should be fixed then.

Thank you! I didn't know the context of the past.

Going to close this for now. If you need anything else, please let us know.


NullPointerException

Hello, in Fragment, if you call ButterKnife.unbind (this) in onDestroyView (), you can set the view resource to null. If you have not completed the network request at this time, and the network request will be used to view resources, then it will happen NullPointerException.
Forgive me for not good English

Add if (someView != null) checks or don't reset views via ButterKnife.unbind(this) or unsubscribe from async operations when fragment destroyed.

This is a problem with your code, not the library. You need to account for the views having disappeared if you are making a network call inside the fragment

Hello，I want to know if I don't set ButterKnife.unbind(this) in activity and fragment ，that will hava what happen? Memory leaks will happen?


Platform specific page transitions.

Thank you for adding page transitions to the router.
Could you also add platform specific page transitions?
{N}'s NavigationEntry have three transition parameters:
https://docs.nativescript.org/api-reference/interfaces/_ui_frame_.navigationentry.html#transition

transition
transitionAndroid
transitionIOS

In the current implementation nativescript-angular only supports transition, so if we want to set another transition for iOS than we want for Android we can't do that.

Hello @m-abs ,
You can use Angular-2 directives (like *ngIf, ngSwitch or custom ones) to create your own platform-specific controls.
e.g. with custom directive
my-page.component.ts
import {Component, Directive, ViewContainerRef, TemplateRef, Inject} from '@angular/core';
import {Device, platformNames} from "platform";
import {DEVICE} from "nativescript-angular/platform-providers";

@Directive({ selector: "[ifAndroid]" })
export class IfAndroidDirective {
    constructor( @Inject(DEVICE) device: Device, container: ViewContainerRef, templateRef: TemplateRef<Object>) {
        if (device.os === platformNames.android) {
            container.createEmbeddedView(templateRef);
        }
    }
}

@Directive({ selector: "[ifIos]" })
export class IfIosDirective {
    constructor( @Inject(DEVICE) device: Device, container: ViewContainerRef, templateRef: TemplateRef<Object>) {
        if (device.os === platformNames.ios) {
            container.createEmbeddedView(templateRef);
        }
    }
}

@Component({
    selector: 'create-custom-directive',
    styleUrls:["custom-directive/create-custom-directive/create-custom-directive.component.css"],
    directives: [IfIosDirective, IfAndroidDirective],
    templateUrl: "custom-directive/create-custom-directive/create-custom-directive.component.html",
})

export class CreateCustomDirectiveExampleComponent{

}

my-page.component.html
<Button *ifAndroid [nsRouterLink]="yourLink" pageTransition="curl" ></Button >
<Button *ifIos [nsRouterLink]="yourLink" pageTransition="explode" ></Button >

Another example with the usage of *ngIf can also be applicable for your case (with a little modification to set the specific page transition).

Hi @NickIliev
Thank you for your suggestion.
Unfortunately it only covers using the [nsRouterLink]-directive for navigating. It doesn't cover using the RouterExtensions-class directly.

In code you can do:
import {isAndroid, isIOS} from "platform";

And pass different transitions based on the isAndroid and isIOS variables.

That's a good idea, thank you.


template: change the delete button with delete icon.

Duplicate of #17691
Why did you create two PRs?


Improve GitHub Actions for pull requests

See https://github.com/Senzing/community-roadmap/issues/71

Pull requests:

https://github.com/Senzing/docker-sshd/pull/99


Test improvements for Queues/ServiceBus DynamicConcurrency (#24426)

Addresses https://github.com/Azure/azure-sdk-for-net/issues/24426 and https://github.com/Azure/azure-sdk-for-net/issues/24745. Initially I was considering a larger overhaul of the tests, e.g. having a message writer that continued to write messages until concurrency increased by a certain amount. However, I think If we just adjust the message numbers and test conditions we should be able to arrive at a stable configuration.

/azp run net - storage - tests


fix: typo "sonyflake" -> "cuid"

I adjusted the idiom as while the optimizer might see through it and merge the checks, in pure Rust semantics this code can execute the check done in if let Err twice, as unwrap is internally
match result {
    Ok(o) => o,
    Err(e) => panic!("called `Result::unwrap()` on an `Err` value: {:?}", e),
}

and if let Enum::Variant(inner) = enumeration { code_using(inner); } is functionally sugar for
match enumeration {
    Enum::Variant(inner) => {
        code_using(inner);
        ()
    }
    _ignored => (),
}

Hey @workingjubilee this looks great -- I wanted to rewrap the errors with something a bit more intelligible, but the match is much cleaner. Thanks!


API-based git clone

This adds scm.Clone() to clone a repository and fixes various issues related to cloning repositories and processing of content.
Fixes #665.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 79 (0.0%)  changed or added relevant lines in 5 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.08%) to 25.525%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

scm/fake.go
0
3
0.0%

scm/gitlab.go
0
3
0.0%

scm/github.go
0
4
0.0%

assignments/assignments.go
0
34
0.0%

scm/fetcher.go
0
35
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.08%

Covered Lines:
2710

Relevant Lines:
10617

💛  - Coveralls


Fix PluginInfo bwc for opensearch_version field

Description
Updated opensearch_version field in PluginInfo json to represent a string of single version as opposed to a list of single version to ensure bwc in 2.x.
Without this fix
/_cluster/stats

"plugins" : [
        {
          "name" : "analysis-icu",
          "version" : "2.13.0-SNAPSHOT",
          "opensearch_version" : [
            "2.13.0"
          ],
          "java_version" : "11",
          "description" : "The ICU Analysis plugin integrates the Lucene ICU module into OpenSearch, adding ICU-related analysis components.",
          "classname" : "org.opensearch.plugin.analysis.icu.AnalysisICUPlugin",
          "custom_foldername" : "",
          "extended_plugins" : [ ],
          "has_native_controller" : false
        }
      ],

With fix:
"plugins" : [
      {
        "name" : "analysis-icu",
        "version" : "2.13.0-SNAPSHOT",
        "opensearch_version" : "2.13.0",
        "java_version" : "11",
        "description" : "The ICU Analysis plugin integrates the Lucene ICU module into OpenSearch, adding ICU-related analysis components.",
        "classname" : "org.opensearch.plugin.analysis.icu.AnalysisICUPlugin",
        "custom_foldername" : "",
        "extended_plugins" : [ ],
        "has_native_controller" : false
      }
    ],

Related Issues
Resolves #[12528]
Check List

[ ] New functionality includes testing.

[X] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[ ] Failing checks are inspected and point to the corresponding known issue(s) (See: Troubleshooting Failing Builds)
[X] Commits are signed per the DCO using --signoff
[ ] Commit changes are listed out in CHANGELOG.md file (See: Changelog)
[X] Public documentation issue/PR created

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

What's the reason to keep the breaking change in main? Either way, lets add the same test in main regardless of what it's returning.

PR for main - https://github.com/opensearch-project/OpenSearch/pull/12543

Let's merge #12543 instead and backport it, and close this one?

Right, missed closing this one.


Persistent space settings

This is related to #128 but in addition to setting a default mode, being able to also set padding, gaps, and other  space-dependent settings would be nice. (Including a default bsp-tree instead of manually performing kwmc tree restore ..).
Again, this has the same problem, that there are so far no permanent way to identify spaces. I may have come up with a solution that would work good enough, that I will try in the near future.

In what order does kwm recognize windows at startup? I'm wondering if it would be possible to manipulate that order if its a system thing, that way trees could be preserved on unexpected restarts.

I have been thinking the same thing. If the windows are already in the right place it would be nice if they stayed there.

The order is based upon front to back (last focus, in an descending order). See CGWindowListCopyWindowInfo from apple docs.

After finding a solution to #236 I believe I have also found a way to reliable provide this support.

Padding, gaps, and tiling mode, can now be specified for individual spaces in kwmrc.
Check the kwmc/README or kwmc help for information.
In short:
kwmc config space id mode bsp|monocle|float
kwmc config space id padding top bottom left right
kwmc config space id gap vertical horizontal

where id is the number shown in mission control.


Make edition feature defaults from protoc available

The recent release v25 of protoc makes edition feature resolution available via a flag:
--experimental_edition_defaults_out outputs a google.protobuf.FeatureSetDefaults message, which can be used to see feature resolution.
This PR adds functionality to the internal upstream-protobuf package to make it easy to shell out to protoc, and to generate the defaults.

 IIUC, it looks like the meat of the changes are in e16130a36d4e00b8c6e24997ff2085760482ce44, but that was apparently merged to main already in #616. (Oops?)
The diff for this PR shows zero files changed, so I guess that's why.
Anyhow, I looked at that commit, and it looked sane to me 😄!

The diff for this PR shows zero files changed, so I guess that's why.

Welp. I split the noisy formatter fixes into separate PRs for a better commit history :neutral_face:
Yes, this was supposed to be just https://github.com/bufbuild/protobuf-es/commit/e16130a36d4e00b8c6e24997ff2085760482ce44.


[Documentation] Link to CLI Walkthrough is broken

The link on this url is broken.
I would like to learn how to use the XGBoost CLI.

The link should be revised to https://github.com/dmlc/xgboost/tree/master/demo/CLI/binary_classification.


Should I have functions as default argument values?

@janosh, I have a question for you whenever you have a moment.
In some parts of my quacc package, I have classes where some of the default arguments are set to a function. An example is shown below (note: mp_prerelax_job and mp_relax_job are functions defined earlier in the code).
https://github.com/Quantum-Accelerators/quacc/blob/3ec7d8c704bc4494268360a961ce38a1e756a212/quacc/recipes/vasp/mp.py#L87-L111
My question for you is: is this okay to do? For instance, I'm well aware that having a dict or list as a default value for an argument is a bad idea because they're mutable. But do I have similar concerns with a function? And if so, is there a recommended way to avoid it (e.g. should I set the default as None and do the usual self.prerelax_electron = prerelax_electron or mp_prerelax_job like I usually do when the default is an empty dict?).
I think what I have is okay, but I just want another person's input. If I had a class as the default argument, I imagine that would be problematic on its own.

I think it's fine. Python has no guarantees on immutability but people almost never mutate functions, and if they do, hopefully they really know what they're doing. Since the functions are defined in the module scope, they are parsed when that file is imported but not re-parsed until you start a new Python session. Any changes your class makes to these functions would accumulate every time you instantiate a class. Just to give a very contrived example:
def foo():
    "doc str"
    return foo.__doc__

class C:
    def __init__(self, doc_func=foo):
        doc_func.__doc__ += 'some C-specific comment to always have no matter the doc_func'
        self.doc_str = doc_func()

C()
C().doc_str # double specific comment
>>> 'doc strsome C-specific comment to always have no matter the doc_funcsome C-specific comment to always have no matter the doc_func'

This problem wouldn't be fixed by doing the None or mutable construction either. For that, you would have to define the default function inside the class.

Thank you!! This is super helpful :) makes sense!


Links are dead

Links to 'Real Estate Bot sample' and 'Job Listing Bot sample' do not work. 404 Error

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

ID: b9cdb2f8-2862-a662-f01c-d8a3f26024c2
Version Independent ID: 77444357-8674-41ae-6b81-c993190791f3
Content: Create data-driven experiences with Azure Search - Bot Service
Content Source: articles/nodejs/bot-builder-nodejs-search-azure.md
Product: bot-framework
GitHub Login: @matthewshim-ms
Microsoft Alias: v-shimma

@jawine1 - the correct link is:https://github.com/Microsoft/BotBuilder-Samples/tree/v3-sdk-samples/Node/demo-Search


Add end to end tests for late cloning. (to master)

This is one of the many small PRs that enable the support for late
cloning.
Signed-off-by: Amit Barve<EMAIL_ADDRESS>

@dcantah can you approve this PR? This is identical to #841 but #841 was merged into another branch and that branch has already been merged into master. So I had to create this PR to master.


Yellow triangle on Nugetizer nuget package reference  under project  dependencies -> packages

Describe the Bug
theres a yellow triangle on Nugetizer nuget package reference  under project  dependencies -> packages.
Steps to Reproduce
open VS 2022, create a console application using net 6.0
install the Nugetizer 0.8 using the VS package manager GUI
you will see a triangle on Nugetizer nuget package reference  under project  dependencies -> packages.
Expected Behavior
you should not have a triangle on Nugetizer nuget package reference  under project  dependencies -> packages.
Version Info
Nugetizer 0.8 ,using MS logging , DI, MS Test SDK, Moq MS SqlClient.

Non-repro. VS will display a triangle very briefly while restore happens, but that's just how VS works.


Caret ranges in package.json and breaking changes

Currently, all packages within aws-cdk reference other cdk modules using caret ranges: ^0.9.2
Here is an example from @aws-cdk/aws-lambda:
  "dependencies": {
    "@aws-cdk/assets": "^0.9.2",
    "@aws-cdk/aws-cloudwatch": "^0.9.2",
    "@aws-cdk/aws-codepipeline-api": "^0.9.2",
    "@aws-cdk/aws-ec2": "^0.9.2",
    "@aws-cdk/aws-events": "^0.9.2",
    "@aws-cdk/aws-iam": "^0.9.2",
    "@aws-cdk/aws-logs": "^0.9.2",
    "@aws-cdk/aws-s3": "^0.9.2",
    "@aws-cdk/aws-s3-notifications": "^0.9.2",
    "@aws-cdk/aws-sqs": "^0.9.2",
    "@aws-cdk/cdk": "^0.9.2",
    "@aws-cdk/cx-api": "^0.9.2"
  },

https://github.com/awslabs/aws-cdk/blob/master/packages/%40aws-cdk/aws-lambda/package.json
The most recent release of 0.9.2 introduced many breaking changes. Projects dependent on 0.9.1 version are now broken, even if they specified the exact version in their package.json, as each 0.9.1 dependency pulls in other cdk modules using ^0.9.1
Please consider using exact versions of cdk dependencies within modules for the next release.

The mistake here was releasing as 0.9.2 instead of 0.10.0. Our apologies for the breakage, we will do better going forward.


test issue for github integration on slack

Prerequisites

[ ] Did you check past issues for similar issue(s) ?
[ ] Can you reproduce the issue with any of the files found in sct_testing_data ?
[ ] If you are using a development environment, is your environment updated ?

Description
Description of the issue and use the labels to add additional context.
Steps to Reproduce

[First Step]
[Second Step]
[and so on...]

Expected behavior:
What you expect to happen
Actual behavior:
What actually happens
Reproduces how often:
What percentage of the time does it reproduce?
State of spinalcordtoolbox
Include the first 3 lines printed when running the command.
Example:
$ sct_qc

--
Spinal Cord Toolbox (github-templates/a63f51caa065655ad1b926901adf7ef144d2cc2b)
Running /Users/geper/devel/spinalcordtoolbox/scripts/sct_qc.py

...

Additional Information
Screen-shots, error logs and output files.

test comment

test using gtihub legacy

final test from GH


[FEAT] Method of Generating Cards Similar To Logseq Redesign

Edit: Sorry, I meant RemNote
Is your feature request related to a problem? Please describe.
I'm frustrated by the friction created by purposely/deliberating creating cards with question :: answer format - it disrupts thinking and isn't as intuitive and flowing as it should be.
Describe the solution you'd like
A good video description here: https://www.youtube.com/watch?v=8LqxWlXYaZg
In a nutshell, you can basically create all types of cards very easily:
Forward cards: Question >> Answer
Backward cards: Answer << Question
Bidirectional cards: Question <> Answer
Descriptor cards: Description ;; Back side
What I love is what they did with Multi-line, which is basically:
Question ::
every other answer becomes a point
this is also another answer
I think the visual aspect with the arrows are great. This far exceeds needing to tag something with “#card” - creates a LOT of friction (you don’t realise how much friction that is until you have to deal with 10,000 cards).

Why do you have to tag something with "#card"?
To create a bidirectional card you just add another colon: :::


remove unused permission.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: morvencao
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS [morvencao]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@morvencao: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
09f0152d56a2fd7fa116c45711a9ff8dcff4d95d
link
/test istio-integ-k8s-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@morvencao: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
09f0152d56a2fd7fa116c45711a9ff8dcff4d95d
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
09f0152d56a2fd7fa116c45711a9ff8dcff4d95d
link
/test istio-pilot-multicluster-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@sdake can you approve this?
All tests are passing which is good.
/lgtm

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: linsun, morvencao
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS [linsun,morvencao]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@sdake can you approve this?
All tests are passing which is good.
/lgtm

@linsun I see the tests are passing, but this doesn't look correct in the helm template case.  with helm install, everything should be fine as the admin SA is used.
@morvencao can you test the helm template case?
Perhaps there is a different bug in this chart that the correct sa is not used for the job and in-cluster apps have some type of admin context?
Cheers
-steve

@linsun placing a  hold on this PR.  I don't believe we actually validate that istio-init is used in both the helm template and helm install cases.  I'd really like to see a manual test of this change with both modes.
Also, can you please submit to master, and we can backport?
Cheers
-steve

@sdake Sorry for the late response
Have test the helm template case:
root@master:~/istio# helm template install/kubernetes/helm/istio-init --name istio-init --namespace istio-system > istio-init.yaml
root@master:~/istio# kubectl create ns istio-system
namespace/istio-system created
root@master:~/istio# kubectl apply -f istio-init.yaml
configmap/istio-crd-10 created
configmap/istio-crd-11 created
serviceaccount/istio-init-service-account created
clusterrole.rbac.authorization.k8s.io/istio-init-istio-system created
clusterrolebinding.rbac.authorization.k8s.io/istio-init-admin-role-binding-istio-system created
job.batch/istio-init-crd-10 created
job.batch/istio-init-crd-11 created
root@master:~/istio# kubectl -n istio-system get pod
NAME                      READY     STATUS              RESTARTS   AGE
istio-init-crd-10-l8xpm   0/1       ContainerCreating   0          11s
istio-init-crd-11-dkhsd   0/1       ContainerCreating   0          11s
root@master:~/istio# kubectl -n istio-system get pod
NAME                      READY     STATUS      RESTARTS   AGE
istio-init-crd-10-l8xpm   0/1       Completed   0          2m
istio-init-crd-11-dkhsd   0/1       Completed   0          2m
root@master:~/istio# kubectl get crd | grep istio.io | wc -l
53

My understanding is that the configMap is mounted into the pod, so the kubectl in the podd doesn't need the permission to list/watch the configmap from kube-api-server, on the contrary, for the CRDs, the kubectl does need the permission to apply them into the kube-api-server.
Anyway, it would be all right to merge to master to avoid break the 1.1.x release.

Close this in favor of https://github.com/istio/istio/pull/12978

@sdake Sorry for the late response
Have tested the helm template case locally:
root@master:~/istio# helm template install/kubernetes/helm/istio-init --name istio-init --namespace istio-system > istio-init.yaml
root@master:~/istio# kubectl create ns istio-system
namespace/istio-system created
root@master:~/istio# kubectl apply -f istio-init.yaml
configmap/istio-crd-10 created
configmap/istio-crd-11 created
serviceaccount/istio-init-service-account created
clusterrole.rbac.authorization.k8s.io/istio-init-istio-system created
clusterrolebinding.rbac.authorization.k8s.io/istio-init-admin-role-binding-istio-system created
job.batch/istio-init-crd-10 created
job.batch/istio-init-crd-11 created
root@master:~/istio# kubectl -n istio-system get pod
NAME                      READY     STATUS              RESTARTS   AGE
istio-init-crd-10-l8xpm   0/1       ContainerCreating   0          11s
istio-init-crd-11-dkhsd   0/1       ContainerCreating   0          11s
root@master:~/istio# kubectl -n istio-system get pod
NAME                      READY     STATUS      RESTARTS   AGE
istio-init-crd-10-l8xpm   0/1       Completed   0          2m
istio-init-crd-11-dkhsd   0/1       Completed   0          2m
root@master:~/istio# kubectl get crd | grep istio.io | wc -l
53

My understanding is that the configMap is mounted into the pod, so the kubectl in the pod doesn't need the permission to list/watch the configmap from kube-api-server, on the contrary, for the CRDs, the kubectl does need the permission to apply them into the kube-api-server.
Anyway, it would be all right to merge to master to avoid break the 1.1.x release.

your right, mounted, no need for CRBs for configmaps.
Cheers
-steve


use temp ssh keys for all node

adding the ssh keys to config is annoying
A better solution is to generate temp ssh keys on the fly

This was solved by uploading the same user key to all region.


fix: replace deprecated dynamic props

This issue correlates with Kirby 3.4 and the introduction support of php 8.2 as dynamic properties on Kirby's Page object has been deprecated and are not recommended to use. Here I've found the same problem around kirby search core component [https://github.com/getkirby/kirby/pull/4888]
I've changed the way search results are stored. Instead of assigning the search results to the page objects, the search results are stored in a separate associative array $searchData that maps page IDs to their search results.
This array can then be sorted using uasort() based on the search score, which is stored as a key-value pair in each entry. The sorted $searchData array can then be used to return the filtered pages in the desired order.

Thx, but I've fixed by pulling in most of the needed parts again from Kirby's core search helper.


[BugFix] fix partial update by column not work in broker load

If we want to use partial update by column in broker load, set partial_update_mode to column.
LOAD LABEL test_db.table4
(
    data infile("hdfs://<hdfs_host>:<hdfs_port>/example4.csv")
    into table table4
    format as "csv"
    (id, name)
)
with broker
properties
(
    "partial_update" = "true",
    "partial_update_mode" = "column"
);

But it doesn't work right when enable_pipeline_load = true.
What type of PR is this:

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[x] 3.1
[ ] 3.0
[ ] 2.5
[ ] 2.4

[FE PR Coverage Check]
:disappointed: fail : 3 / 7 (42.86%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/load/loadv2/LoadLoadingTask.java
0
1
00.00%
[147]

:large_blue_circle:
com/starrocks/sql/LoadPlanner.java
2
5
40.00%
[228, 229, 460]

:large_blue_circle:
com/starrocks/load/loadv2/LoadJob.java
1
1
100.00%
[]

run FE PR Coverage Check

@Mergifyio backport branch-3.1


Move to SciPy optimizers, made differentiable through jax.lax.custom_root

The current implementation of the maximum likelihood fits uses gradient descent to converge to the optimal parameter values. In principle, for comparison with the optimization implementation in pyhf, and for more robust minimization, switching to SciPy optimizers is preferred.
To do this, one needs to differentiate through the optimizer using implicit differentiation. It's probably possible to do this using fax like we do now, but this issue on the jax repo discusses the possibility of wrapping SciPy optimizers using jax.lax.custom_root, which would remove a dependency, and make for (probably) more simplistic code.

You can easily achieve this in fax.implicit.twophase.two_phase_solver by specifying a foward_solver. The documentation for that argument seems to have disappeared (probably during our last refactor) but you can look at the signature for the default solver for how to use it.
We originally implemented this before jax.lax.custom_root was added but I'm looking adding a version based on it. There seems to be a few advantages over the current jax.defvjp approach but this might change once the jax devs reimplement the defvjp API. I believe custom_root supports both forward and backward differentiation which might be the most significant advantage over a defvjp approach which only supports backwards differentiation.
Otherwise, the two phase approach is essential a more specific instance of jax.lax.custom_root; they are both a direct application of the implicit function theorem. The two phase approach uses an additional assumption that the constraints (i.e., the root f(solution)=0 in custom_root) defining the implicit function corresponds to an attractive fixed point (i.e., f(x) := h(x) - x where two_phase_solver expects to be given h).
The two phase approach leverages the attractive assumption to solve for the derivatives by simply iterating (which is guaranteed to converge in this case) while custom_root needs to be given a solver. If you were to define a solver using a simple fixed point iteration approach on the residual, you'd be doing exactly the same thing as two_phase_solver. As a side note, two_phase_solver used to support custom solvers for the backwards pass but we never really used it so we dropped it from the API. Adding that back in would be trivial.
One thing to note is that, last we checked, it's not obvious to "extract" intermediate information from the backwards pass using jax.lax.custom_root, e.g., number of iterations to solve for the gradient, residual error. I haven't had the time to check if Deepmind's newly released haiku can handle this with their hk.set_state method but this issue is the reason we've split up the core behavior of two_phase_solver. You'll notice that two_phase_solver is little more than a wrapper over those two calls which, in our work, we often ended up calling directly in order to have access to that extra info.
I hope this helps clarify the differences and similarities between custom_root and what fax does with two_phase_solver. If you'd like us to look more seriously into a custom_root implementation, it would be useful if you opened an issue in fax for tracking purposes.

Fyi, we're discussing re-implementing fax's implicit differentiation backend as a root finding problem instead of a fixed-point problem (gehring/fax#19). We plan on implementing our own version of jax.lax.custom_root (most likely with a similar api to theirs) which would support calling non-jax code in the solvers. If you have an opinion on the topic, I'd encourage you to let us know!

Thanks for letting us know @gehring! From what you’re saying, it sounds like one could outright use SciPy optimisers/root-finders without writing the corresponding jax code, which would cover the use case in this issue (and another one that I haven’t written on GH yet) — my thoughts are only positive!
@lukasheinrich, do you think this could end up baked straight into pyhf’s optimise module?
(Also thanks for your previous comment @gehring, it clarified some things for me!)

From what you’re saying, it sounds like one could outright use SciPy optimisers/root-finders without writing the corresponding jax code [...]

I think you are referring only to the solver and, in that case, yes. Note that you can already do that with fax.implicit.two_phase_solve and we've recently added an example in our readme. The only limitation is that you won't be able to wrap the whole thing in jax.jit until jax implements support for XLA's CustomCall (or until someone implements a jax primitive for it that we feel comfortable depending on). This applies to the current two_phase_solve and will also apply to our version of custom_root.
However, just to make sure thinks are extra clear, I'll mention that you will still need to provide jax code when specifying the function for which the root is being solved. This is because we'll still need to make use of automatic differentiation through jax.vjp in order to solve for the derivatives using implicit differentiation. Though you have a lot of freedom as to what this jax function is. The only requirement is that the output of the solver is the root of this jax function, but, otherwise, it doesn't need to be related to anything used by the solver.
For an example of what I mean in the fixed-point case (e.g., using two_phase_solve), you could be looking for the fixed-point of some simple gradient step (e.g., x + grad(f)(x)) but solve for that optimum using ADAM, Newton's method, or even a sequential quadratic solver of some kind. The choice of solver won't matter as long as they all agree on the optimum.


IP Range won't install - ER-X

I have an ER-X and following the install options for IPRange I had an error:
package architecture (mips) does not match system (mipsel)
Errors were encountered while processing:
 iprange_1.0.3+ds-1_mips.deb

Checked out that repository and there was a mipsel out there so I downloaded that:
curl -O http://http.us.debian.org/debian/pool/main/i/iprange/iprange_1.0.3+ds-1_mipsel.deb
Just wondering if your script will use this version and wanted you to be aware of it.

Reading your comments closer you already provide this information.  Apologies.

Yes - mipsel (rather than mips) should be used for an ER-X.  I plan to provide a little more detail when I move the notes to a wiki page instead, where it really should be.


Slow for long PDFs

Hi, I have a PDF that is 700 pages long. It takes 30 seconds to extract paragraphs from it when I used the docker-compose setup.
Is there a way to speed this up? Perhaps by using GPU or parallelizing computation among multiple workers?

Hello,
Thank you for your interest.
Unfortunately, it is not easy to speed up the process. Let me explain.
For 700 pages the time for each step is as follow:

3 seconds: Converting the PDF to an XML using Poppler
10 seconds: Convert the XML to a Python class and extract the features
9 seconds: Using LightGBM to segment the PDF. LightGBM, even inside the docker container, is using all the cores in the machine so it is not possible to speed up with parallelizing, and in our tests, it is not improving the time using GPU.
6 seconds: Get the results back

So, theoretically, the second and fourth steps can be speed up but it requires some work that we are going to do in the future. Unfortunately, we can not give right now an estimation of when this is going to happen.
If you are interested in contributing to the project, you are welcome.
Thank you

I see. Thank you for the detailed explanation!


improve error message with possibility of missing ^ operator

https://github.com/elixir-explorer/explorer/issues/786

:green_heart: :blue_heart: :purple_heart: :yellow_heart: :heart:


can't creat a socket with TYPE=CAT_SOCKET_TYPE_FLAG_STREAM

https://github.com/libcat/libcat/blob/a0dc63ad2ec67019367141b531702d21000b0ae7/src/cat_socket.c#L796

type should be one of cat_socket_type_t, e.g TCP, UDP, and so on... But not cat_socket_type_flag_t.

thanks


Use constructors instead of static everything. Load JSON with Jackson.

Coverage decreased (-92.6%) to 0.0% when pulling 287c90a0abc03ead0ee60e1a4926e21357c5d5e5 on lukevs:non-static into f06c0e38accf4cc8d0a0321c18862a6c7c77f7a9 on vdurmont:master.


Create final PR for DOT graph generation, and CMake tweaks

See https://github.com/ethereum/webthree-umbrella/pull/90

renamed the PR :)

Thanks!

Moved to https://github.com/ethereum/webthree-umbrella/pull/91.
I will do a fresh pass on the edges too, based on a tip from Gav.

Merged :-)
https://github.com/ethereum/webthree-umbrella/pull/94

yay! :D

Ding dong!


[zeus-next, python3-pyqt5] Add QtCharts

I have a problem to add QtCharts to python3-pyqt5.
I have tried to create a python3-pyqt5_%.bbappend recipe with:
DEPENDS += " qtcharts"

PYQT_MODULES += " QtCharts"

but apparently it's not the way to do it, as I am getting errors:
Error: 'QtCharts' is not a valid module name.

I turn out it was simply missing.
I have created a recipe which hopefully will be merged to upstream.

I turn out PyQtChart was simply missing in the layer.
I have created a recipe which adds it and hopefully will be merged to upstream.


updating T2D loci with Spacklen et al. (2020)

Updating T2D top loci with Spacklen et al. (2020) (https://www.nature.com/articles/s41586-020-2263-3).

77,418 East Asian T2D cases
Supp Table 4: (Lead variants associated with type 2 diabetes in East Asian sex-combined BMI-unadjusted and BMI-adjusted meta-analyses)
Choose BMI-unadjusted results (because this corresponds to the analysis FinnGen is doing).

Betamatching

Beta sign not matching
Looked up five variants with non-matching effect size signs in Table S4.
        rsid X.chrom       pos alt_ext ref_ext   beta_ext alt_fg ref_fg beta_fg unif_alt unif_ref
1 rs12712928       2  44964941       C       G 0.05826891      C      G -0.0421        G        C
2 rs60089934       8 125459032       A       G 0.03922071      A      G -0.0637        A        G
3  rs7307263      12 113685917       G       C 0.03922071      G      C -0.0081        C        G
4 rs76704029      15  28301027       T       C 0.05826891      C      T  0.0089        A        G
5  rs6416749      16  73066409       C       T 0.04879016      T      C  0.0057        G        A
  unif_beta_ext unif_beta_fg
1    0.05826891      -0.0421
2    0.03922071      -0.0637
3    0.03922071      -0.0081
4    0.05826891      -0.0089
5    0.04879016      -0.0057

No matching FinnGen variant
These variants have no matching FinnGen variant (East Asian study!)
 [1] "rs562138031" "rs201297151" "rs6806156"   "rs9866168"   "rs16902871"  "rs565050730"
 [7] "rs117737118" "rs201375651" "rs77065181"  "rs141583966" "rs148928116" "rs149212747"
[13] "rs79826452"  "rs35559984"  "rs147413364" "rs35880795"  "rs59820396"  "rs79823890"


[BUG] NAM auto crashes in standalone or VST, in multiple DAWs

Describe the bug
When I start the standalone, nothing happens - if I'm looking at task manager I can see a process flicker into existence for a second and then disappear without anything showing up on screen.
If I open the plugin in any DAW (have tried Ableton Live 12 and the most current version of Reaper), it automatically closes the DAW. Reaper gives me no error, Live says "A serious program error has occurred" and closes the program when I click OK on the error.
To Reproduce
Open NAM standalone, or open NAM as VST in any DAW.
Expected behavior
I expect the VST or standalone to open.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS Windows 10 Home
Plugin version [e.g. 0.7.9]
Standalone and VST3
DAW - Reaper and Ableton Live 12
Audio interface - Steinberg UR816C
Sample rate 44.1 kHz
Buffer size 256 samples

processor/graphics - AMD Ryzen 3 3200G with Radeon Vega Graphics (integrated)
Additional context
Add any other context about the problem here.

try updating your graphics drivers

@olilarkin, if it's a graphics driver issue, is it possible to catch exceptions like it and alert the user?  The bug reports like this make me feel uncomfortable with the guesswork needed.These types of Issues are tricky to me and it feels like it may be possible to make it more clear what's going wrong?
Alternatively, is there something about the computer that I can ask for in the bug report template that would help pinpoint this as the issue? (E.g. "What graphics drivers do you have installed?" or something like that?)

It might be possible. I'm just guessing here that if the GUI is not opening in any format, then it's quite possible that there is a problem with the OpenGL driver for the graphics card. The fact that the OP mentioned that they have onboard graphics Also makes me suspicious about this.
I hope to soon be able to show you how you can switch the graphics backend to skia which doesn't need to use the gpu, and therefore should improve compatibility.
If it is the open GL drivers , This is not an issue unique to iPlug2 or nanovg ... I've heard so many times about flaky OpenGL drivers on windows

It might be possible. I'm just guessing here that if the GUI is not opening in any format, then it's quite possible that there is a problem with the OpenGL driver for the graphics card. The fact that the OP mentioned that they have onboard graphics Also makes me suspicious about this.
I hope to soon be able to show you how you can switch the graphics backend to skia which doesn't need to use the gpu, and therefore should improve compatibility.
If it is the open GL drivers , This is not an issue unique to iPlug2 or nanovg ... I've heard so many times about flaky OpenGL drivers on windows

Thanks for the response.
Unfortunately, the computer already has the latest graphics drivers installed. I had seen other bugs with the GPU mentioned which is why I mentioned the onboard graphics.

Would you be be able to try a few test plug-ins for me? These are recent VST3 CI builds of the iPlug2 example plug-ins. If they fail in the same way on your machine, then I might have something to go on.
I've used different examples so it's easy for you to say which ones work and which ones dont:
WIN_VST3_IPlugInstrument_SKIA.zip
WIN_VST3_IPlugEffect_NANOVG.zip
WIN_VST3_IPlugControls_SKIA_CPU.zip
Thanks!

FYI: working on handling OpenGL problems more gracefully here: https://github.com/iPlug2/iPlug2/pull/1131

Hey, sorry for the delay.
Unfortunately for you, and fortunately for me, I don't have any new info for you - all three of the ones you posted worked, so I tried NAM again and it works. I'm not sure what's different... possible I updated my graphics drivers and forgot to restart...
anyway, thanks!


Unable to see exercise 8.4 Training a seq2seq Chatbot code

Unable to see code for exercise 8.4 Training a seq2seq Chatbot.

Odd. Something must have gone wrong. I'll look around to see where that thing went.

Ok, I checked. There is not notebook for this section, since this is part of the seq2seq code from Google, which is hard to run from a notebook. Would it help if I put together a script instead?

Yes, sure


Add MATLAB code syntax highlighting

Describe the feature you'd like
It would be nice if you could add MATLAB syntax highlighting to the supported languages for code blocks
Describe the benefits this would bring to existing BookStack users
In scientific and industrial areas MATLAB is a popular software for calculations and simulations.
Therefore, lots of people would use and like this feature!
Can the goal of this request already be achieved via other means?
No. The only option is to use i.e. LaTeX syntax highlighting but it does not match well.
Have you searched for an existing open/closed issue?

[X] I have searched for existing issues and none cover my fundemental request

How long have you been using BookStack?
Not using yet, just scoping
Additional context
No response

Relevant codemirror mode: https://codemirror.net/5/mode/octave/index.html

Now added in 391fb2cc62f19e36d4cb27a204135e0a95189bdb, will be part of the next feature release.


Dataset Viewer issue for MoritzLaurer/multilingual_nli

Link
No response
Description
I've just uploaded a new dataset to the hub and the viewer does not work for some reason, see here: https://huggingface.co/datasets/MoritzLaurer/multilingual_nli
It displays the error:
Status code:   400
Exception:     Status400Error
Message:       The dataset does not exist.

Weirdly enough the dataviewer works for an earlier version of the same dataset. The only difference is that it is smaller, but I'm not aware of other changes I have made: https://huggingface.co/datasets/MoritzLaurer/multilingual_nli_test
Do you know why the dataviewer is not working?
Owner
No response

Thanks for reporting  @MoritzLaurer.
Currently, the dataset preview is working properly: https://huggingface.co/datasets/MoritzLaurer/multilingual_nli
Please note that when a dataset is modified, it might take some time until the preview is completely updated.
@severo might it be worth adding a clearer error message, something like "The preview is updating, please retry later"?

Thanks for your response. You are right, its now working well. I had waited for 30 min or so and refreshed several times and thought there was some other error. Yeah, a different error message sounds like a good idea to avoid confusion.

I'm closing this issue then.

@severo might it be worth adding a clearer error message, something like "The preview is updating, please retry later"?

Yes, it's a known issue, and we're about to ship a better version


Bug with different text size and texture atlas

Since<PHONE_NUMBER>694d5a3692361b7ca945a5760f3390, there is a problem when drawing text in differents sizes.
The texture atlas stores and retrieve characters without checking the current text size, so, for example, if we call sftd_draw_text(font, x, y, color, 10, "he") and then sftd_draw_text(font, x, y, color, 30, "hello"), the second call will draw "he" in size 10 (caracters stored in the texture atlas in the first call) and "llo" in size 30.
This results in some weird mix of text sizes.

Yes, that's right. I'll try to solve it by storing the current size of the glyph in the atlas, and then applying scale.

Solved with 2f2b384278513c4564bc02b1d3de83fbf1e6eeea.


FIxed Gaussian Mesh Export

Fixed Gaussian Mesh Exporting (Issue: https://github.com/cxh0519/threestudio-gaussiandreamer/issues/6)
Copied the missing function gaussian_3d_coeff from DreamGaussian (https://github.com/dreamgaussian/dreamgaussian/blob/main/gs_renderer.py#L64)

Thanks for your effort! Your request has been merged.


Option identityMap doesn't work for Sass-files.

Option identityMap doesn't work for *.scss files. I use in the project gulp with gulp-sourcemaps, and gulp-sass, gulp-autoprefixer. I compile but in a browser I see a linenumber of selector in root of the sourcefile, but I need to see the linenumber of the nested selectors.
My gulp task:

gulp.task('sass', function () {
gulp.src('sass/**/*.scss')
.pipe(sourcemaps.init({loadMaps: true, identityMap: true}))
.pipe(sass()).on('error', sass.logError)
.pipe(autoprefixer({
browsers: ['last 10 versions'],
cascade: false
}))
.pipe(sourcemaps.write())
.pipe(gulp.dest('css/'));
});

Versions of the packeges from package.json:

"gulp": "^3.9.1",
"gulp-autoprefixer": "^3.1.1",
"gulp-sass": "^3.1.0",
"gulp-sourcemaps": "^2.4.1"

May be I do something wrong? # #

Support questions should be directed to StackOverflow.


WIP Add Travis CI config

This isn't ready for prime time yet, but this PR adds a Travis config.
Track status here: https://travis-ci.org/GoogleWebComponents/model-viewer/builds

Great! This seemed peculiar to me in the travis results:
Linux chrome 41.0 (3/0/0)
Windows 10 firefox 62.0 (58/1/6)
macOS 10.13 safari 12.0 (63/1/1)
Windows 10 MicrosoftEdge 17.17134 (61/1/3)
iPhone XR Simulator (63/1/1)
Android GoogleAPI Emulator (error)

Besides the failures, the Chrome target seems very out of date

We use it as a low water mark for Chrome support. ~10% of the Android ecosystem is KitKat and the webview on that version is eternally pegged at Chrome 41. If it becomes a problem we can change it but it's a handy canary for low-end Android device support.

(note that we also test latest stable Chrome and Firefox locally on the Travis instance as a prerequisite to testing on Sauce)

Looks great :+1:


Update deploy_wml_pmml.ipynb

Changes have been made to include spark_ml_3.0 version in deploy_pmml.ipynb instead of spark_ml_2.4 as this is giving a version incompatibility issue.

thanks a lot [x] merged


⚠ Bofrost.at has degraded performance

In fde7d71, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1428 ms

Resolved: Bofrost.at performance has improved in bf48fca.


Error: vkCreateDevice: VK_KHR_portability_subset must be enabled when calling Device::new

Template

Version of vulkano: 0.20
OS: macOS (using MoltenVK)
GPU (the selected PhysicalDevice): GTX 680
GPU Driver:
Upload of a reasonably minimal complete main.rs file that demonstrates the issue: TODO

Issue
When trying to create a logical device on macOS, it's giving the following error:
Validation layer: "Validation Error: [ VUID-VkDeviceCreateInfo-pProperties-04451 ] Object 0: handle = 0x7f8115c2d8f0, type = VK_OBJECT_TYPE_PHYSICAL_DEVICE; | MessageID = 0x3a3b6ca0 | vkCreateDevice: VK_KHR_portability_subset must be enabled because physical device VkPhysicalDevice 0x7f8115c2d8f0[] supports it The Vulkan spec states: If the [VK_KHR_portability_subset] extension is included in pProperties of vkEnumerateDeviceExtensionProperties, ppEnabledExtensions must include \"VK_KHR_portability_subset\". (https://vulkan.lunarg.com/doc/view/<IP_ADDRESS>/mac/1.2-extensions/vkspec.html#VUID-VkDeviceCreateInfo-pProperties-04451)"
VK_KHR_portability_subset does not appear to be present in the repo or documentation. Is there 1. A way to detect this is required, and 2. A way to enable it manually?

@drhaynes This is default behavior when the user is trying to use some feature from not-included extension.

A way to detect this is required

It would shade more light on the issue if you provide a code snippet. It's sometimes tricky and implementation-wise.

A way to enable it manually

Device extensions(and Instance extensions too) are specifying during initialization: https://github.com/vulkano-rs/vulkano/blob/master/examples/src/bin/triangle.rs#L131 I don't see if we support this particular extension in Vulkano (there is unfortunately only a small subset of Vulkan extensions that we currently support), but if you need this one you can implement it and contribute to the project. It's usually not too difficult, the list of extensions reside here: https://github.com/vulkano-rs/vulkano/blob/master/vulkano/src/device/extensions.rs#L106

hey,
I read the same on MacOS. According to the vulkan docs, VK_KHR_portability_subset has to be set if supported by a device, I made a PR fixing that, but the user doesn't have to check this. It's automatically detected.
Please check.

Great. Nice that it can be auto detected too.

@drhaynes This issue should be fixed.
#1489 has landed, but without auto-detection (you can read about it in the PR discussion).
Please check the debug.rs example. Error message should now be gone: new fn DeviceExtension::required_extension(phys) is now helping.

I think this is done now, so this issue can be closed.


[Intention] New Event Architecture

Is your feature request related to a problem? Please describe.
A feature request. Our current AcousticEvent class is a poorly-designed one-size-fits-all mess that has been evolved over the entire lifetime of the code base. We want to add more structure to the types of events we detect and report but it will be difficult to add more into AcousticEvent
Describe the solution you'd like
@Towsey and I have created the following proposal for a new Event hierarchy. It will allow use encode events with more data, to visualise them better, and to make testing and maintaining the code easier over time.

The intention is that this structure will replace and deprecate AcousticEvent over time.
Describe alternatives you've considered
We could augment AcousticEvent but there is a lot of old code that depends on it's behaviour and quirks. It'd take weeks to fix it all. Our suggested approach would give us the benefits of our new structure now, while allowing us to move away from AcousticEvent over time.
Additional context
@towsey and I have discussed this extensively but we are open to further feedback. Please let us know.
We also want to map ontologies for:

source metadata (recording, location, datetime, lat/long etc...)
event source properties (species, bio/geo/anthropo phonicness, vocalisations/stridulations, songs/calls)

but both of these can be added in later via associations and don't need to modelled as part of the event inheritance hierarchy.

It is worth noting that other component events are likely to arise.
Also in the diagram it is not clear in case of the CompositeEvent, that the ComponentEvent refers to the long list of component events to to the right.,


Fix AnthropicApi Error Message

close https://github.com/spring-projects/spring-ai/issues/1583
I have modified the error message that is output by the AnthropicApi when an error occurs.

Sorry, we should have closed the issue last friday, the fix is already part of this commit which is in main branch
9fa89a2fd65dba03bd27b26ac49fd32a9fab558a


Minimal example with single entry point and one process

As discussed some time ago, showcase a minimal example of bundler with single entry point running in one process.

In order to finish this task, I have an idea to refactor some of the mapping structures in our data type. Like the below https://github.com/Vid201/aa-bundler/blob/540c0de4faa0b2a8bbc0b2819350ef2d2cacf783/src/uopool/services/uopool.rs#L37-L45
We should refactor the structure to
pub struct UoPoolService<M: Middleware> {
    pub entry_point: EntryPoint<M>,
    pub mempools: MempoolBox<Vec<UserOperation>>,
    pub reputations: ReputationBox<Vec<ReputationEntry>>,
    pub eth_provider: Arc<M>,
    pub max_verification_gas: U256,
    pub min_priority_fee_per_gas: U256,
    pub chain_id: U256,
}

And we build another routeing service which could route the service to the corresponding UoPoolService based on the mempool_id. In that case, we could save a lot of dupicate mempool validation codes.
What do you think?

In order to finish this task, I have an idea to refactor some of the mapping structures in our data type. Like the below
https://github.com/Vid201/aa-bundler/blob/540c0de4faa0b2a8bbc0b2819350ef2d2cacf783/src/uopool/services/uopool.rs#L37-L45
We should refactor the structure to
pub struct UoPoolService<M: Middleware> {
    pub entry_point: EntryPoint<M>,
    pub mempools: MempoolBox<Vec<UserOperation>>,
    pub reputations: ReputationBox<Vec<ReputationEntry>>,
    pub eth_provider: Arc<M>,
    pub max_verification_gas: U256,
    pub min_priority_fee_per_gas: U256,
    pub chain_id: U256,
}

And we build another routeing service which could route the service to the corresponding UoPoolService based on the mempool_id. In that case, we could save a lot of dupicate mempool validation codes.
What do you think?

Sounds good. What do you have exactly in mind when you say another routing service?

What do you have exactly in mind when you say another routing service?

It is just simple route which is based on the MempoolId.

Are you working on this one? @zsluedem

Are you working on this one? @zsluedem

not really

Are you working on this one? @zsluedem

not really

Then I will take new routing for uopool/mempools.

In my assumption of the finished line of this issue, it would take several small tasks and some refactoring.

In my assumption of the finished line of this issue, it would take several small tasks and some refactoring.

Yeah I agree, I will create another issue for the routing only.