Science metadata XML document for publicly shared resource missing Publisher element

Our science metadata specification document states that the Publisher element is required for publicly shared or formally published resources.  Neither of the resources that I just publicly shared in dev.hydroshare.org have a Publisher element in the science metadata XML document.

I do not think that Publisher should be required for a resource to be made public.  Publisher should only be required for formally published resources (i.e. ones that are assigned a DOI).

@dtarb - so, should we assume that this will be implemented when we have the capability to formally publish resources and close this issue?

While I said that publisher should only be required for a resource to be formally published, this should not preclude the publisher field being filled in earlier.
There are also some choices that may still need to be made.

Publisher is always HydroShare.
Publisher is some other organization using HydroShare to publish its resources.

If it is 2, then a user editing a resource needs the capability to fill in the publisher information, and publisher should appear in the XML as soon as it is filled in.
I suggest the following (simple) solution that accommodates both.  Have the publisher field be filled in as "HydroShare" by default when a resource is created, but then editable by a user with change permissions in case they want to change it.  Then since it is filled in, it will be in the XML document.

If we want the existing resources to have the 'publisher' element in xml document, we need to implement creation of the element as part of resource creation before the manual resource migration. I guess if we make the publisher element editable we can always add this data anytime.

We should avoid the reaction to want to do any change that we ever want before the manual migration.  There will be changes in the future as the system evolves that come after the manual migration and we'll need to figure out how to include them.  That said, if this one is simple enough and we want to do it now, that's fine.

@dtarb - as a policy decision, I'm not sure we want to allow users to just override the "Publisher" element with whatever text they want to specify. This is a policy decision that we need to be clear on before we implement. The HydroShare data publisher's agreement should probably ask the user to assert that they have the right to publish the content they are publishing when they push the button to publish it. I see some of that on the terms of use page, but I'm guessing not very may people have read that page.
I understand the use case of referenced resources that may be published/hosted elsewhere. We should support creation and sharing of resources of that type, but I'm not sure we want/need to assert anything about the publisher of those resources. And, I think we shouldn't allow users to formally "publish" referenced resources because they are, in effect, already published in another system.
I suggest the following:

"Sharing" a resource is not the same as formally "publishing" a resource.
For a resource to become formally "published" within HydroShare, it's content files must reside in HydroShare. The implication of "publishing" is that a DOI would be created and we want that to point at immutable content under HydroShare's control.
Resources formally "published" within HydroShare are published by HydroShare - e.g., HydroShare is the publisher. Users would never see an option to specify the publisher.  It would be automatic.
When a resource is formally "published" within HydroShare a "Publisher" element gets added to that resource's metadata.

@horsburgh I agree on your points 1 and 2.  However on 3 and 4 I differ.  I think that there is a case for an organization to use HydroShare as its website for publication.  HydroShare is then not the publisher.  It is the resource hosting system that facilitates an organization doing the publishing.  The organization using HydroShare in this way would then be the publisher.  I think we should facilitate this use case.  It allows organizations to take greater responsibility for their data.  I think that there are precedents for this sort of arrangement.
I agree that our data publication agreement needs to be reviewed.  We should create separate issues to do and track this, and that we need a positive affirmation of adhering to the agreement to be built into the coding of publication functionality.  Please help with this.

@hyi I think this issue should be resolved as part of issue #15

@pkdash I am not sure whether issue https://github.com/hydroshare/hydroshare/issues/15 would resolve this issue completely. Resource publication will add a Publisher metadata element, but it may not address the user case as @dtarb stated above. @horsburgh @dtarb what do you think? Should we keep this issue as separate from the issue https://github.com/hydroshare/hydroshare/issues/15 that addresses resource publication?

@hyi - I think we can resolve this issue with a policy decision.  The technical implementation of publication is described in #15 and we should stick with that issue. One of the following needs to be chosen and then we need to implement it:

HydroShare is listed as the publisher for all formally published resources for which content exists in HydroShare
OR
HydroShare also allows other organizations to publish content in HydroShare and be listed as the publisher (instead of HydroShare).

For simplicity's sake, I vote for the first option.  Also, I'm not sure why we would want to make arrangements that would seemingly reduce the role of HydroShare in publication.  Why would we make a deal with another organization to let them be the "publisher" when we are on the line to provide all of the "publication" functionality?  I suppose if they were to pay for this right, that would be awesome, but without people lined up to do so, I hesitate to recommend implementing it.  Plus, I'm not sure we couldn't add the functionality to do the second one later on.  And, I don't think we would want to enable that to happen unless the other organization was in some way partnered with us, in which case the setting of the "Publisher" element would likely be automated as part of that agreement anyway.
What I don't think we should do is allow individual users to override or set the "Publisher" element.

@horsburgh @pkdash @dtarb I agree with @horsburgh's comment above. @dtarb What do you think?  Should we resolve and close this issue and go with the first option as listed by @horsburgh above which is to be addressed when resource publication will be implemented?

@hyi please go ahead and implement this with HydroShare as the publisher.  However please have this be a metadata element that could be flexible, changed in the future, and not necessarily be the same for all resources in HydroShare.  Also I think this element should be specified before the resource is published, so that the full resource with publisher metadata element can be reviewed and seen to be complete/correct before the resource is published.
I am working on and seeking advice on the following policy issues

Should the publisher be HydroShare or CUAHSI.  I hope to have an answer soon.
Should HydroShare be a platform that can host resources published on behalf of another organization.  This may take a bit longer to sort out.

So, while in the implementation the default right now should be HydroShare, please make the implementation flexible enough so that if we decide to have other publishers in the publisher field that it is not hard to implement.

@dtarb @horsburgh @pkdash Can this issue be closed?

@hyi, @horsburgh and @dtarb I think this issue can be closed. When there is a need to allow the user to update the publisher element, we can make that change.


[CONFERENCE] PYDATA GLOBAL 2022

Conference Name
PYDATA GLOBAL
URL
https://pydata.org/global2022/
Conference Dates
01 DEC - 03 DEC 2022
Conference Type
online
Conference Location
No response
CFP URL
https://pydata.org/global2022/present/
CFP End Date
12-09-2022
Conference Description
WHAT TO EXPECT
The PyData Global Online Conference is where users, contributors, and newcomers can share experiences to learn from one another and grow together. PyData provides a virtual forum for the international community of users and developers of data analysis tools to share ideas and learn from each other. The global PyData network promotes discussion of best practices, new approaches, and emerging technologies for data management, processing, analytics, and visualization.
This three-day online event consists of talks, tutorials, and discussions to bring attendees the latest project features along with cutting edge use cases.
The time span of the conference stretches beyond any single time zone, reflecting the global nature of our community. To accommodate our attendees, each session will be recorded and made available to attendees the following day. Following the Conference, all recordings will be posted to the PyData YouTube channel.

Thank you for adding this event! \n We'll happily consider it for the next episode. \n\n The Issue autocloses but we'll be reviewing it at https://github.com/users/kjaymiller/projects/4/views/3


feat!: change output target to es2017

NOTE: this is targeting the next branch.
BREAKING CHANGE: With Node 6 going EoL in April 2019, we can change the
TypeScript output target to es2017. Node 8 implements all of es2017
except for shared memory and atomics which are not common.
One notable outcome is that projects using this config will now get
native async functions.

Codecov Report

Merging #255 into next will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             next     #255   +/-   ##
=======================================
  Coverage   98.29%   98.29%
=======================================
  Files          12       12
  Lines         823      823
  Branches       69       69
=======================================
  Hits          809      809
  Misses         14       14

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 10fe63f...fe2ba03. Read the comment docs.


Refactoring Entities annotation on index-based SPANS

#2 related

This issue is no longer relevant, see #9 choice.


Add Aeotec Smart Switch 7

This seems premature until the config from @blhoward2 is available publicly as it seems a few people are tracking using this PR.
Originally posted by @Nixon506E in https://github.com/zwave-js/node-zwave-js/issues/2027#issuecomment-842668658

HI, Wanted to get a status on this.....should I go ahead and try to make my own device file for this device until the official one comes out?

You’re welcome to do so. I only have a few left to do but I’ve had a busy few weeks at work.

I'm working on a config device file and have a question.....  For the ZWA023 there is a config parameter: "Night Light On Time". It is a 4 byte value and the format is: 0xRRHHMMSS  with the default of 0x00180000 which the manual says means 6pm (i.e 18 based on a 24 hour clock).
Focusing on the hour HH, since 0x18 means 18 decimal, this indicates to me that they are using Binary Encoded Decimal, whereby a nibble is used for each digit.  Regarding the device's config json file for this particular parameter, I understand that numbers are represented only as decimal (correct me if wrong), then I believe for HH, the values should be: "defaultValue": 24 (i.e. x18), and the range is "minValue": 0 to "maxValue": 35 (x23). Is this correct?

While that may be right if you take the hex literally, I believe they use 18 as in the 18th hour. So the range is 0-23 for the HH.

I confirmed with Aeotec. 18 means 6 pm. 19 means 7 pm, etc. It's not a true hex number.

 So they actually have 0x00, 0x01, ..., 0x09, 0x10, 0x11, ..., 0x19, 0x20, 0x21, ..., 0x23?
Then we need to use "options" to model this and a range of 0..35.

Which means 59 options for the minute field. Unless we dumb it down instead of bitmasking it and give people one field with options every 30 minutes from 0000 to 2400 or something.

That could be an option, but I'm sure that someone will want to set 19:57 or something :)

I'm not sure how we handled this elsewhere. I sort of thing we left it manual entry and said see manual.

honestly I'd be fine with that

We’ll, since its human readable in hex I vote that we let it manual entry and just put the format in the description. 235900 = 23:59 and 0 seconds.

See my edit, does that work? Aren’t we going to convert it to hex before we send it?

Maybe we need an option that sends the value through as hex instead of converting it?

Users would have to convert 0x235900 to decimal before entering it. Maybe @robertsLando could add something to the UI that does that when users enter a 0x prefixed hex number.

As an FYI.....
after running a few tests on my Smart Switch 7 I can confirm that the device does as Aeotec says and as the manual shows (i.e 0x18 is 6pm).

@robertsLando Can you do something similar to HA so we can make the description reference the hex value? Essentially if a hex value is put into a manual entry it should be treated as a hex and not a decimal.

As a reference/FYI, here is a link to the device file I came up with:
https://github.com/tommyjlong/temp/blob/main/zwa023.json

Thanks. I made good progress on these last night so hope to push the official one tonight or tomorrow.


type definition file not found

I'm using TypeScript and had tried to use this library.
package.json has typings like below
"typings": "dist/types/harvest.d.ts",
But this file does net exists at ./node_modules/harvest/
So I had tried that wrote 3slash ref comment to reference *.d.ts file directly, but it didn't work.

Thank you for reporting this issue. I will install the module into a clean project and work to recreate the issue.

@satoyan The missing typings should now be repaired. Let me know if you have any further issues.

:tada: This issue has been resolved in version 2.0.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

Thank you for fixiing this!! :tada:


Update vcr?

The gem "vcr" used to be open source software (OSS), but the latest version is not. We've been using the old OSS version, but that is starting to lead to problems.
The latest version instead uses the Hippocratic License Version Number: 2.1.
I've asked for a legal review to determine if it's safe/legal to use this non-OSS library given this license. I can't share the legal discussion, but I can include the link to show I have asked for such as review: https://legaljira.linuxfoundation.org/servicedesk/customer/portal/1/LR-1472
If they say it's okay, I'll then ask the broader community its thoughts. There's no point in wasting the community's time if it's too dangerous to consider.
The vcr gem is not something that we create or modify, and it is only used during testing - it's never included in released software nor is it included in the production site. Still, it is something we use during testing. This would be an exception to our usual OSS-only policy for anything we depend on during build, test, or deployment.

@andrewfader - fyi.

I've asked legal for review.
In the meantime, what are the alternatives? There are many other gems that do semi-related things, but have other problems. The closest I've found are:

webmock https://github.com/bblimke/webmock - lots of capabilities, but focused on calling functions to return the results, not on storing initial results & then retrieving them later if the stored version exists. I think we could write a little code to shim it, using "Dynamically evaluated raw responses recorded with curl -is" as a starting point.
web_fixtures https://github.com/trydionel/web_fixtures. Limited functionality, no changes since 2010 (presumed unmaintained)
netrecorder https://github.com/chrisyoung/netrecorder - again, no modifications since 2010, probably unmaintained.
puffing billy https://github.com/oesmith/puffing-billy - creates a separate server, which is completely overkill and runs the risk of causing race conditions when running multiple tests (or you have to run a separate server for each test, which is hideous for performance).
ephemeral_response https://github.com/sandro/ephemeral_response - looks great function-wise, but it was archived in 2012 and is unmaintained.
Net::HTTP Spy https://github.com/martinbtt/net-http-spy - shows traces (instead of replaying), early functionality. Not what we want.
REST-assured https://github.com/artemave/REST-assured - fires off a whole new webserver, not what we want (too much overhead)
stale_fish https://github.com/jsmestad/stale_fish - works at a global level, instead of a per-test level. Builds on fakeweb. Sort of, but we need per-test scope not global scope. "Fixtures are updated based on a per-fixture update interval" - maybe we could set the update interval to "never"?
fakeweb https://github.com/chrisk/fakeweb - intercepts calls. It would take extra code to reroute to specific files, I think.

Thoughts?

@david-a-wheeler  regarding the list above, webmock we already use and it is integrated with vcr. Fakeweb is an alternative to webmock. I have used puffing_billy and it can do some vcr-like functionality but it's slightly different, I've used it for stubbing/proxying requests in feature tests and the like. The rest I think are generally not maintained well. So I think better than any of all that would be forking the libre version of vcr

@david-a-wheeler to elaborate on this, webmock and vcr work together, they aren't alternatives to each other. Webmock is used to solve the problem of stubbing requests. VCR hooks into webmock to replay the cassettes. Puffing billy has a caching functionality and also supports proxying, which can help when you have requests being made to another backend from the client side. But I think minimally while puffing billy supports caching, it doesn't have the vcr cassette ymls. Stale fish looks more like a replacement for vcr but I think not as well-maintained - pragmatically, if the deprecation warnings from faraday are the only reason, I wouldn't switch on that basis.

Okay. We now need to update our own vcr to something. The easy path is update to current vcr. We need to notify the OpenSSF Best Practices WG & the best practices project via their mailing lists, to see if there are strong objects. Here's a draft message, comments welcome.

All:
The best practices badge project is considering updating the "vcr" library (gem) https://github.com/vcr/vcr. This is a library only used during testing, not in production. However, there's a licensing issue; I wanted to hear from others if this would be acceptable.
In short, newer versions of vcr are not open source software. They are instead released under the Hippocratic License Version 2.1. https://github.com/vcr/vcr/blob/master/LICENSE. This license is similar to OSS, but also requires "Compliance with Human Rights Principles and Human Rights Laws."
This would be an exception to our current policy per https://github.com/coreinfrastructure/best-practices-badge/blob/main/CONTRIBUTING.md which says:

All required reused components MUST be open source software (OSS). It is not acceptable to insert a dependency that requires proprietary software; making it portable so it can use some proprietary software is gratefully welcome. We also have to combine them legally in the way they are used.

We are currently using an older version of vcr, which is OSS. However, other library interfaces have changed, making staying with this older version untenable. The vcr library is necessary part of our current testing process. Its purpose is to "record your test suite's HTTP interactions and replay them during future test runs for fast, deterministic, accurate tests." A vast number of our tests use vcr.
Our current thinking is that we should make an exception in this case:

The component is only used in testing, it's never used or deployed in production.
We plan to comply with human rights anyway as we understand them.
Useful alternatives aren't really available in this ecosystem. We would end up having to rewrite its code (presumably based on an older version of it).
It has a notification requirement, but we believe we can meet that requirement.
We do not plan on modifying the library, but instead plan to use it as-is.

There are risks that they might believe some we do (now or in the future) violates the requirements; I find the requirements vague (which concerns me), and its arbitration process could become exhausting. But as best I can see, the risks are small. I don't like making this exception, but for a test-only library that uses an OSS-adjacent license, I think we can live with it.
We already use another non-OSS tool (Brakeman) during our CI/CD process. That's different, however. Brakeman is simply an externally-run tool used to analyze our source code. We can certainly test our software without running Brakeman. In the case of vcr, we load it into the application during testing. That's different, and is already allowed by our current policy. This would be an exception to our policy.
If you intend to create this functionality under an OSS license & maintain it, let me know :-).
Comments welcome.

Sounds good to me
On Tue, May 2, 2023, 2:58 PM David A. Wheeler @.***>
wrote:

Okay. We now need to update our own vcr to something. The easy path is
update to current vcr. We need to notify the OpenSSF Best Practices WG &
the best practices project via their mailing lists, to see if there are
strong objects. Here's a draft message, comments welcome.
All:
The best practices badge project is considering updating the "vcr" library
(gem) https://github.com/vcr/vcr. This is a library only used during
testing, not in production. However, there's a licensing issue; I wanted to
hear from others if this would be acceptable.
In short, newer versions of vcr are not open source software. They are
instead released under the Hippocratic License Version 2.1.
https://github.com/vcr/vcr/blob/master/LICENSE. This license is similar
to OSS, but also requires "Compliance with Human Rights Principles and
Human Rights Laws."
This would be an exception to our current policy per
https://github.com/coreinfrastructure/best-practices-badge/blob/main/CONTRIBUTING.md
which says:

All required reused components MUST be open source software (OSS).
It is not acceptable to insert a dependency that requires proprietary
software; making it portable so it can use some proprietary software is
gratefully welcome. We also have to combine them legally in the way they
are used.

We are currently using an older version of vcr, which is OSS. However,
other library interfaces have changed, making staying with this older
version untenable. The vcr library is necessary part of our current
testing process. Its purpose is to "record your test suite's HTTP
interactions and replay them during future test runs for fast,
deterministic, accurate tests." A vast number of our tests use vcr.
Our current thinking is that we should make an exception in this case:

The component is only used in testing, it's never used or deployed
in production.
We plan to comply with human rights anyway as we understand them.
Useful alternatives aren't really available in this ecosystem. We
would end up having to rewrite its code (presumably based on an older
version of it).
It has a notification requirement, but we believe we can meet that
requirement.
We do not plan on modifying the library, but instead plan to use
it as-is.

There are risks that they might believe some we do (now or in the future)
violates the requirements; I find the requirements vague (which concerns
me), and its arbitration process could become exhausting. But as best I can
see, the risks are small. I don't like making this exception, but for a
test-only library that uses an OSS-adjacent license, I think we can live
with it.
We already use another non-OSS tool (Brakeman) during our CI/CD process.
That's different, however. Brakeman is simply an externally-run tool used
to analyze our source code. We can certainly test our software without
running Brakeman. In the case of vcr, we load it into the application
during testing. That's different, and is already allowed by our current
policy. This would be an exception to our policy.
If you intend to create this functionality under an OSS license & maintain
it, let me know :-).
Comments welcome.
—
Reply to this email directly, view it on GitHub
https://github.com/coreinfrastructure/best-practices-badge/issues/1947#issuecomment-1531993236,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEKFJG2LM2O2IOOAME4F4LXEFKO5ANCNFSM6AAAAAAW4AD3NM
.
You are receiving this because you were mentioned.Message ID:
@.***
com>

Ugh. I just noticed that this license ALSO has an “indemnify Licensor” clause. It’s not obvious because it’s hiding under the lengthy human rights statements. I don't know if that kills it. Its text says:

Indemnity. Licensee shall hold harmless and indemnify Licensor (and any other contributor) against all losses, damages, liabilities, deficiencies, claims, actions, judgments, settlements, interest, awards, penalties, fines, costs, or expenses of whatever kind, including Licensor’s reasonable attorneys’ fees, arising out of or relating to Licensee’s use of the Software in violation of Human Rights Laws or Human Rights Principles.

I've notified legal. I am not lawyer, I don't even play one on TV. But I know that such clauses can cause trouble, and therefore that you need to ask lawyer when they show up.

I am also not a lawyer, though I have played one, and a judge, in college
mock trial. My read is that we hold the licensor harmless against any
losses, etc., only due to any use of the Software in violation of Human
Rights Laws or Human Rights Principles, which we don't plan to reasonably
ever do, so it shouldn't ever apply to us. However, I can see that a legal
department might not want the potential exposure of being sued for human
rights violations. Still, the chance of that happening seems quite slim.
Let's see what they say I guess.
On Tue, May 2, 2023 at 6:20 PM David A. Wheeler @.***>
wrote:

Ugh. I just noticed that this license ALSO has an “indemnify Licensor”
clause. It’s not obvious because it’s hiding under the lengthy human rights
statements. I don't know if that kills it. Its text says:

Indemnity. Licensee shall hold harmless and indemnify Licensor (and
any other contributor) against all losses, damages, liabilities,
deficiencies, claims, actions, judgments, settlements, interest, awards,
penalties, fines, costs, or expenses of whatever kind, including Licensor’s
reasonable attorneys’ fees, arising out of or relating to Licensee’s use of
the Software in violation of Human Rights Laws or Human Rights Principles.

I've notified legal. I am not lawyer, I don't even play one on TV. But
I know that such clauses can cause trouble, and therefore that you need to
ask lawyer when they show up.
—
Reply to this email directly, view it on GitHub
https://github.com/coreinfrastructure/best-practices-badge/issues/1947#issuecomment-1532230046,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEKFJFGPMO6TX6M2VQ37L3XEGCDJANCNFSM6AAAAAAW4AD3NM
.
You are receiving this because you were mentioned.Message ID:
@.***
com>

We've monkeypatched VCR for now


#345 Include option to show completion list after a character is typed

trigger completion by default when both AutoListMembers and
ShowCompletionListAfterCharacterTyped options are selected
adds option to options page

Fix #345

This will be cool to get in, but changes in these areas are really hard to get just right (just ask @paulvanbrenk how many times he had to redo it for TypeScript :smile: ). Let's not check this in before the last RC and RTM.

:+1:


Rangy with RequireJs and AngularJs

Hi,
I am trying to use Rangy with Requirejs. I have added rangy-core in require config Path and shim section as below
require.config({
paths: {
'rangy': '../../Scripts/rangy-core',
},
shim: {
'rangy': {
exports: 'rangy',
init: function () { return this.rangy; },
},
}
})
In require section I have added 'rangy' but still I am getting error as rangy is undefined. so can anybody help me to resolve this issue ?

I had a similar issue as you and my config was similar (no init), however I needed this definition for another lib that was looking for it on the global scope:
define(['rangy-core'], function (rangy) {
    'use strict';
    if (!rangy.initialized) {
        rangy.init();
    }
    window.rangy = window.rangy || rangy;
    return function () {
        return window.rangy;
    };
});


New Website - WIP

Link to issue:

https://github.com/datasciencebr/serenata-website/issues/43

How to test:
1 - Clone the project:
$ git clone git@github.com:datasciencebr/serenata-website.git

2 - Check out the PR:
$ git checkout -b next origin/thulioph-next

3 - Run the project:
$ bundle install
$ jekyll server

Description of your solution:

Following the best practices of javascript code execution, we moved all the scripts tag to the footer with the async attribute.

I've split the SASS code into small parts, starting with _variables.scss that manages all CSS variables like, colors, font-definitions, etc. And _grid.scss that manages how the grid system works with Flexbox.

I think that we can make a good code reuse if we create our components followed by this mindset:
<aside class="card-component"></aside>

.box {
    width: 200px;
    height: 200px;
}

.rounded {
    border-radius: 12px;
}

.pink {
    background-color: pink;
}

.m1 {
    margin: 10px;
}

.card-component {
    @extends .box;
    @extends .rounded;
    @extends .pink;
    @extends .m1;
}

Instead of having, a lot of classes in the HTML markup, we can create descriptive classes and change their functionality just in CSS file.
Thinking on SRP, we can focus the HTML structure to be easy to read and identify the components, while the CSS is just for presentation, allowing us to reuse with @extends easily.
What do you think about it, does it make sense?
Thanks!

Hi @thulioph! I really like this PR — the strategy to break up the CSS in smaller (rather semantic) SCSS files is much appreciated as well as your approach to CSS classes (basically the last comment). It's a really good job!

@thulioph Years ago I started to see some debates on CSS architecture that basically tended to define one font-size (usually for the body) and all the rest tended to be relative to it using rem units. Surely @media could be used to define different body { font-size: … } for different medias, but anyway… what do you think about it?
Another doubt: what about including the Google Analytics only when deploying to production (with JEKYLL_ENV=production jekyll build)? Any pros or cons?

Hi @thulioph, I tested your PR now :)
the only thing in your testing routine is that is missing the command to get into the folder:
$ cd serenata-website

and the checkout command is inversed:
$ git checkout -b thulioph-next next

As @cuducos I really liked that approach:

I really like this PR — the strategy to break up the CSS in smaller (rather semantic) SCSS files is much appreciated as well as your approach to CSS classes (basically the last comment). It's a really good job!

Another doubt: what about including the Google Analytics only when deploying to production (with JEKYLL_ENV=production jekyll build)? Any pros or cons?

I agree with that, because we can only use the Analytics for production results, not getting from other addresses.
Is there more things you plan to do with this PR @thulioph?
I was testing its responsivity and it completely makes sense, and I think we can add to the project right now, as new structure :)

Great work!
Just a question, @thulioph the pieces of commented out code can be removed or they will be used?

Years ago I started to see some debates on CSS architecture that basically tended to define one font-size (usually for the body) and all the rest tended to be relative to it using rem units. Surely @media could be used to define different body { font-size: … } for different medias, but anyway… what do you think about it?

Hey @cuducos, I already saw something about it and it's a good idea. We can define a base value for the font-size on body and if we need to change just make it in one place and everything will follow. I can apply this approach to help us with the responsive design, but it depends on how the layout will be.  BTW, with SASS we can make something like this to convert px to em values.

Another doubt: what about including the Google Analytics only when deploying to production (with JEKYLL_ENV=production jekyll build)? Any pros or cons?

I'm not sure, but I think that the google analytics doesn't collect metrics when we're working in the development mode. What's the purpose to change it?

Hey @anaschwendler, thank you for your feedback.
If we divide the next steps into two parts:
Implementation of new design - HTML and CSS

[ ] Set some base values like variables, colors, grid position, etc.
[ ] Continue with the development of new components like navbar, cards, footer, etc.
[ ] Apply some component interactions like hover, loading, animations and stuff like that.

Removing the unnecessary libraries - JS

[ ] Rewrite the javascript code to work without jQuery.

What do you think about this "roadmap"? Do you have any suggestions?
Thanks.

Hey, @giovanisleite I'll be using to get the data for the new layout.
It's a work in progress but will be removed in next commits.
Thanks.

I'm not sure, but I think that the google analytics doesn't collect metrics when we're working in the development mode. What's the purpose to change it?

If it doesn't send data to Google when running on localhost thats fine ; )

Hi @thulioph — not sure if I've ever said that, but thanks for leading the new site development! We all are very glad about it 🎉
I see the WIP label but I would like to be able to merge your work into next so it'd be easier for other people to join you in this task. Do you have any milestone in mind before you consider this ready for further code review and merge?
cc @cabral (who asked my how to contribute to the new website development)

Hi @thulioph !
Sorry for my delay, but I completely agree with your roadmap :)
We can totally follow this.
As @cuducos said, thank you very much for leading our new website. It is really helping us to focus in deliver more things <3

If @thulioph has no more things to add, I would like to test as the way it looks right now, so we can open a new PR and separate things

If @thulioph has no more things to add

AFAIK he has. @giovanisleite asked about about the commented blocks and @thulioph said he's keeping them to make it easy to access old contents. But I do agree with Giovani: this is totally fina for a WIP, but I wouldn't merge the commented blocks. if it's a matter of accessing old version of code Git handles that ; )

Hi @thulioph — not sure if I've ever said that, but thanks for leading the new site development! We all are very glad about it 🎉

Hi @cuducos, I'm so happy to may help! 😃

I see the WIP label but I would like to be able to merge your work into next so it'd be easier for other people to join you in this task. Do you have any milestone in mind before you consider this ready for further code review and merge?

I haven't idea about which milestone we can use, I never used it.
Do you have any suggestions?
Thanks!

I do agree with Giovani: this is totally fina for a WIP, but I wouldn't merge the commented blocks. if it's a matter of accessing old version of code Git handles that ; )

Yes, the commented code it was removed and @anaschwendler can test it now.

What do you think, about creating a new file like a CONTRIBUTING.md with the steps to submit a new pull request? Currently, we don't have it and it's very important rules to follow when the project is open.
Contributing

Fork it!

Hi @thulioph!
Already tested your PR. I thought that we would make the enhancement for the website as it is right now, and then start working on the new one. But now, I think the best way is to get something consistent to the next branch. What do you think @cuducos?
I see that you have developed a beginning of the new one, good :)
We can divide the home page in its sections to the PRs, like this one can finish with the menu completed. Once merged, we can open a PR with the next section, so we don't have a lot of changes in one PR, what do you think, looks good?

I haven't idea about which milestone we can use, I never used it.
Do you have any suggestions?

I think that here @cuducos was talking about setting some endpoints so other don't bother in the part that you are developing, because they where are you going and where to start developing something, and no one develop the same thing.

What do you think, about creating a new file like a CONTRIBUTING.md with the steps to submit a new pull request?

Sure, we can totally do that, the best way is creating a issue for that :)

Hi @thulioph — let me try to clarify what I was saying…
We don't have any specific milestone in mind. But we have more people (me included) willing to help in coding this website. So it's not a good strategy to keep everything in your branch until we have 100% done, and just then review and merge.
I would like to see the basic stuff merged to next so more people can open PR to next continuing what you've started.
So what I would like to hear from you is when you're comfortable with this PR so we can merge it to next. This way more people can jump in and code over the beautiful structure you're putting forward.
Does that make sense?

Hello everyone! I would like to help on this new version of the website.
What is the actual status?

Hi @notnotgabriel – many thanks for your enthusiasm. Unfortunately we had to unprioritize this new version of the website to focus on other projetcs. I'm afraid the status is… idle.

Closed/archived by inactivity.


Blog Post

Write a blog post about this project including things like the engineering decisions and the logic behind them.

https://cloud.google.com/blog/products/application-development/deploy-nosql-javascript-web-applications-to-google-cloud/

also this: https://cloud.google.com/blog/topics/developers-practitioners/easy-deployment-mean-stack-w-mongodb-atlas-cloud-run-and-hashicorp-terraform


loadChildren is not working with angle 7.0.0

Angular 7
Angular CLI: 7.0.1
I'm trying to use loadChildren, to work with Lazy Loading, but it does not work, it can not find the module
module

dashboard routing

app routing

tsconfig

I have tried in two ways already:
loadChildren: 'app / dashboard / dashboard.module # DashboardModule'
loadChildren: 'dashboard / dashboard.module # DashboardModule'
error in console

error accessing the route

Hi, you should prefix the routes with ./ See https://angular.io/guide/lazy-loading-ngmodules#routes-at-the-app-level.

@alan-agius4  I already tried too ```./dashboard/dashboard.module#DashboardModule

would it have any other way?

Hvae the same problem. Anyone found how to fix it?

@fintalex The solution for me was to uninstall the webpack and install again.


What is the Maximum Rotation Speed in RPM?

Hello,
I was able to successfully test the position sketch, but offset deviation is occurring with each course reversal.
I'm trying to read the motor shaft position from a motorized potentiometer. Ref.: https://a.aliexpress.com/_mrwDFDs
When manually rotating the axis slowly, the position offset does not deviate. But if it's too fast, a detour occurs.
Being the 12-bit AS5600, and the 150us sampling. How many rpm is the rev limit?
If each lap has 4096 positions. Does each position need at least 150us to be read?

@rtek1000
Did a small I2C measurement (ESP32 @240 MHz) based upon AS5600_I2C_frequency.ino (added time measurement).
CLOCK   us      raw   degrees    //  added for clarity  Clock = i2c clock
100000	640	748	65.74
200000	404	788	69.26
300000	325	787	69.17
400000	286	788	69.26
500000	262	788	69.26
600000	245	788	69.26
700000	235	788	69.26
800000	226	788	69.26
900000	226	788	69.26
1000000	226	788	69.26

I2C clock from 100k => 400k you win factor ~2.2
I2C clock from 100k => 800k you win factor ~2.8
(simplified estimate @ 400 kHz)
Assume you use 15% of the time to sample and 85% for processing the sample etc
Then you have a sample every 2.5 milliseconds ==> 400 samples per second.
You need ~4 samples per rotation => max 100 rotations per second
So 6000 RPM should be feasible (within assumptions)
https://github.com/RobTillaart/AS5600/issues/24 confirmed measurements up to 1400 RPM.

I'm using ESP8266 at 160MHz, and 400kHz clock on I2C. I tried 800kHz but my AS5600 crashed for some unknown reason.
I believe the potentiometer is doing about 1800 RPM. Cursor displacement needs 5.9 motor shaft revolutions in 200ms. About 30 rotations per second.

ESP8266 at 160MHz and 400 kHz clock on I2C.

So processor / I2C is fast enough.
6 shaft revolutions in 200ms == 1 revolution in 30 ms
so you need to sample every 7 ms or so.
Can you test how fast the ESP8266 can sample the sensor?
//
//    FILE: AS5600_I2C_frequency.ino
//  AUTHOR: Rob Tillaart
// PURPOSE: demo
//    DATE: 2022-05-28

#include "AS5600.h"
#include "Wire.h"

AS5600L as5600;   //  use default Wire

uint32_t clk = 0;

uint32_t start, stop;

void setup()
{
  Serial.begin(115200);
  Serial.println(__FILE__);
  Serial.print("AS5600_LIB_VERSION: ");
  Serial.println(AS5600_LIB_VERSION);

  Wire.begin();

  //  UNO
  as5600.begin(4);  //  set direction pin.
  //  ESP32
  as5600.begin(14, 15);     // no direction pin.
  as5600.setAddress(0x40);  // AS5600L only

  as5600.setDirection(AS5600_CLOCK_WISE);  // default, just be explicit.
  int b = as5600.isConnected();
  Serial.print("Connect: ");
  Serial.println(b);
}

void loop()
{
  clk += 100000;
  if (clk > 500000) clk = 100000;
  Wire.setClock(clk);

  delay(10);
  start = micros();
  int angle = as5600.readAngle();
  stop = micros();

  Serial.print(clk);
  Serial.print("\t");
  Serial.print(stop - start);
  Serial.print("\t");
  Serial.print(x);
  Serial.print("\t");
  Serial.println(as5600.rawAngle() * AS5600_RAW_TO_DEGREES);

  delay(1000);
}

// -- END OF FILE --

ESP8266 at 160MHz and 400 kHz clock on I2C.

So processor / I2C is fast enough.
6 shaft revolutions in 200ms == 1 revolution in 30 ms
so you need to sample every 7 ms or so.
Can you test how fast the ESP8266 can sample the sensor?
(you need to adapt the pins)
//
//    FILE: AS5600_I2C_frequency.ino
//  AUTHOR: Rob Tillaart
// PURPOSE: demo
//    DATE: 2022-05-28

#include "AS5600.h"
#include "Wire.h"

AS5600 as5600;   //  use default Wire

uint32_t clk = 0;

uint32_t start, stop;

void setup()
{
  Serial.begin(115200);
  Serial.println(__FILE__);
  Serial.print("AS5600_LIB_VERSION: ");
  Serial.println(AS5600_LIB_VERSION);

  Wire.begin();

  //  UNO
  as5600.begin(4);  //  set direction pin.
  //  ESP32
  as5600.begin(14, 15);     // no direction pin.
  as5600.setAddress(0x40);  // AS5600L only

  as5600.setDirection(AS5600_CLOCK_WISE);  // default, just be explicit.
  int b = as5600.isConnected();
  Serial.print("Connect: ");
  Serial.println(b);
}

void loop()
{
  clk += 100000;
  if (clk > 500000) clk = 100000;
  Wire.setClock(clk);

  delay(10);
  start = micros();
  int angle = as5600.readAngle();
  stop = micros();

  Serial.print(clk);
  Serial.print("\t");
  Serial.print(stop - start);
  Serial.print("\t");
  Serial.print(x);
  Serial.print("\t");
  Serial.println(as5600.rawAngle() * AS5600_RAW_TO_DEGREES);

  delay(1000);
}

// -- END OF FILE --

The IDE was unable to compile this sketch:
Line 30:
as5600.setAddress(0x40);  // AS5600L only

'class AS5600' has no member named 'setAddress'; did you mean 'getAddress'?

I did another test, I put the maximum speed that my circuit can give to the engine (L293D IC), about 5900 RPM (60ms). Strangely the displacement graph seems to be much more stable.
The main difference is the use of PWM for motor speed control. In the displacement of 60ms, the voltage of 9V is applied directly to the motor. In the displacement of 200ms, the motor receives energy via PWM. I believe that the AS5600 is receiving electromagnetic interference from the motor.

class AS5600' has no member named 'setAddress'; did you mean 'getAddress'?

I have an AS5600L - that is a derived class, you can remove that line.

I believe that the AS5600 is receiving electromagnetic interference from the motor.

mmmm think think think
You use a 8266, can you add a call to analogWriteFreq(new_frequency) in setup().
The default frequency is 1 kHz (?)  - can you set it to 10.000 Hz. ==> analogWriteFreq(10000)
max is 40 kHz - https://randomnerdtutorials.com/esp8266-pwm-arduino-ide/

I believe that the AS5600 is receiving electromagnetic interference from the motor.

mmmm think think think
You use a 8266, can you add a call to analogWriteFreq(new_frequency) in setup().
The default frequency is 1 kHz (?) - can you set it to 10.000 Hz. ==> analogWriteFreq(10000)
max is 40 kHz - https://randomnerdtutorials.com/esp8266-pwm-arduino-ide/

Actually, I'm using an Arduino Nano (ATmega328) to control the motor, and an ESP8266 to read the AS5600. The PWM is sourced from pins D5 and D6, it should be around 960Hz. Ref.: analogwrite

Can you use a 490Hz PWM pin of the nano?
just to see if there is a difference?

Are the nano and ESP connected, e.g. do they share GND or other signals?

Need to attend other tasks - to be continued

The original idea was to adapt the AS5600 to a Yamaha mixer (01v96), but at the moment I don't have this table at hand. The potentiometer track wears out with use, so I thought of adapting the AS5600 together with an MCP4725 to replace the analogue potentiometer track. The problem is that the Yamaha mixer makes rapid movements of the potentiometer cursors, so the response time needs to be small, otherwise the mixer must oscillate the potentiometer cursor. I believe the mixer uses PID to control the motor. In another mixer model (Pro Mix 01), where the potentiometer cursor was very easy to move (very worn), the mixer was oscillating the potentiometer cursor as well.

Can you use a 490Hz PWM pin of the nano? just to see if there is a difference?
2. Are the nano and ESP connected, e.g. do they share GND or other signals?

I will test with 490Hz, yes the grounding is common.

Using pins D9 and D10 (490Hz) the offset deviation also occurred, in the same way as with pins D5 and D6 (980Hz).
I'll have to wait to have access to the mixer to test the original motor control circuit, to find out if the AS5600 will be affected. I remember that eventually the 01v96 potentiometer made a noise in the order of kHz, so it must be similar.
Anyway, thanks for the feedback.
About another sketch, of angular velocity, I noticed that the RPM is smaller than the W.
Is the W in radians? Shouldn't it be the other way around, W less than RPM?

About another sketch, of angular velocity, I noticed that the RPM is smaller than the W.
Is the W in radians? Shouldn't it be the other way around, W less than RPM?

In the source code it has a reference of 180 degrees, does this mean that there is no way to use this function for full turns (>360 degrees)?

I did some more tests, added an LC filter to the motor, but it didn't fix it.
Then I removed the timing belt from the engine pulley and noticed that the graph was stable.
Apparently, when reaching the end of the potentiometer travel, the timing belt is jumping from the engine pulley, (which is not good).
In this way it must not be an electrical problem, but a mechanical one.
I'm going to try to add a sensor at the end of the stroke to shut off the motor before the timing belt jumps off the pulley.

Apparently, when reaching the end of the potentiometer travel, the timing belt is jumping from the engine pulley, (which is not good).
In this way it must not be an electrical problem, but a mechanical one.

Think you've almost found the root cause. Question remaining is why the belt is jumping.

too large?
not tight enough?
wear and tear?
motor too fast?
does it heat up (and expand just a tiny bit)
motor need readjustment?

About another sketch, of angular velocity, I noticed that the RPM is smaller than the W.
Is the W in radians? Shouldn't it be the other way around, W less than RPM?

which sketch exactly? There might be an error in the math.
From theory:
1 RPM == 360°/minute == 6.28.. radians/ minute ==> RPM < radians/minute < degrees /minute
And if angular velocity is defined in seconds than
1 RPM == 6°/second == 0.104.. radian/sec  ==> radians/s < RPM < degrees/s

looked at the code and the raw measurement is converted with these constants:
//  0.087890625;
const float   AS5600_RAW_TO_DEGREES     = 360.0 / 4096;
//  0.00153398078788564122971808758949;
const float   AS5600_RAW_TO_RADIANS     = PI * 2.0 / 4096;
//  4.06901041666666e-6
const float   AS5600_RAW_TO_RPM         = 60.0 / 4096;

1 rotation per second == 4096 raw ==>

360 degrees per second
2 PI radians per second
60 RPM

So if the unit RPM is chosen you get a unit per minute, otherwise you get per second.

Apparently, when reaching the end of the potentiometer travel, the timing belt is jumping from the engine pulley, (which is not good).
In this way it must not be an electrical problem, but a mechanical one.

Think you've almost found the root cause. Question remaining is why the belt is jumping.
* too large?

* not tight enough?

* wear and tear?

* motor too fast?

* does it heat up (and expand just a tiny bit)

* motor need readjustment?

I made two virtual sensors for the end of strokes, which gave good results.
The ESP sends a signal to the NANO when the position is within the range of 1500 for the end of the stroke, in this way the motor is turned off before the cursor hits the housing too hard.
Apparently the problem is that the timing belt and the pulley are already very used, but the idea is to take advantage of the potentiometers in this state.
For you to have an idea, the new potentiometer track is 10k, but when the cursor is failing, the track resistance is already at 20k many times. Aging causes an increase in the ohmic resistance of the track.
This ohmic resistance drift causes a shift in the relative position of the mixer cursor, the cursor stops on a different scale position.
I believe the next step is to add MCP4725, to try to make NANO obey random position commands, like stopping the cursor at intermediate positions.
About the maximum RPM reading of the AS5600, I still don't know what it is, but it must be higher than the value I got (>5900 RPM).

About another sketch, of angular velocity, I noticed that the RPM is smaller than the W.
Is the W in radians? Shouldn't it be the other way around, W less than RPM?

which sketch exactly? There might be an error in the math.
From theory: 1 RPM == 360°/minute == 6.28.. radians/ minute ==> RPM < radians/minute < degrees /minute
And if angular velocity is defined in seconds than 1 RPM == 6°/second == 0.104.. radian/sec ==> radians/s < RPM < degrees/s

Using an online calculator, 1800 RPM is about 188.5 rad/sec.
Calculator Angular speed to RPM
I used the Angular speed examples.

getAngularSpeed()
getAngularSpeed(AS5600_MODE_RPM)

Using an online calculator, 1800 RPM is about 188.5 rad/sec.

yup factor = 2PI / 60 ~0.1047...    (or reverse 60/2PI = 9.55..)
There are many ways to express angles - wrote this converter library some months ago as a spin of

https://github.com/RobTillaart/AngleConvertor
(Note that rotation is mentioned as "turns", maybe add two oneliners to add "rotations" for . )

About the maximum RPM reading of the AS5600,
I still don't know what it is, but it must be higher than the value I got (>5900 RPM).

There is no hard number, it depends on accuracy and precision one wants.
If we assume that during a measurement of 200 usec the magnet may only move 1 raw position  (ultra high accuracy).
At that speed the sensor would only move ~1.2 rotations per second = 72 RPM
However
If we assume that during the measurement of 200 usec the magnet may move 100 or even 1000 raw positions.
Then the RPM goes up with the same factor. However the accuracy will drop
From what we know:
From measurements above (400000	286	788	69.26)  we see that can make a measurement in 286 usec over I2C.
For 1 rotation one needs at least 2+ measurements per rotation. With 2 measurements you loose the information about direction. So lets say we make 5 measurements in 2 rotations (that is 2.5 measurement per rotation, enough to determine the direction of the rotation).
In one second we can make 1.000.000 / 286 ~ 3500 measurements.
5 needed to make 2 rotations => 3500 / 5 * 2 = 700 * 2 = 1400 rotations per second.
1400 * 60 = 84000 RPM
84000 RPM, think you will get mechanical problems too (heat, wear/tear)
More realistic you want to do more than 100% of the time making measurements.
So in practice I expect 10000 - 15000 RPM is pretty much the limit.
For faster RPM measurements one uses e.g. white and black patterns on the axis.
Shine a light on it and a photosensor generate pulses which are counted in an interrupt routine.
Depending on the pattern one get 1 .. n pulses per rotation.
Assume 1 pulse per rotation and an interrupt routine using 1 us (ESP) one could measure up to several million RPM.

About the maximum RPM reading of the AS5600,
I still don't know what it is, but it must be higher than the value I got (>5900 RPM).

There is no hard number, it depends on accuracy and precision one wants. If we assume that during a measurement of 200 usec the magnet may only move 1 raw position (ultra high accuracy). At that speed the sensor would only move ~1.2 rotations per second = 72 RPM
However If we assume that during the measurement of 200 usec the magnet may move 100 or even 1000 raw positions. Then the RPM goes up with the same factor. However the accuracy will drop
From what we know:
From measurements above (400000 286 788 69.26) we see that can make a measurement in 286 usec over I2C. For 1 rotation one needs at least 2+ measurements per rotation. With 2 measurements you loose the information about direction. So lets say we make 5 measurements in 2 rotations (that is 2.5 measurement per rotation, enough to determine the direction of the rotation). In one second we can make 1.000.000 / 286 ~ 3500 measurements. 5 needed to make 2 rotations => 3500 / 5 * 2 = 700 * 2 = 1400 rotations per second. 1400 * 60 = 84000 RPM
84000 RPM, think you will get mechanical problems too (heat, wear/tear)
More realistic you want to do more than 100% of the time making measurements. So in practice I expect 10000 - 15000 RPM is pretty much the limit.
For faster RPM measurements one uses e.g. white and black patterns on the axis. Shine a light on it and a photosensor generate pulses which are counted in an interrupt routine. Depending on the pattern one get 1 .. n pulses per rotation. Assume 1 pulse per rotation and an interrupt routine using 1 us (ESP) one could measure up to several million RPM.

The operating range of the AS5600 really seems to be very wide.
Just out of curiosity I found a 500,000 RPM motor.
I don't even know where to use a 500,000 RPM engine. For drone use maybe?

Dentist drill?

Thank you for your attention!

You're welcome


DDB-sql-toolkit is not working for SQL Server 2008 R2 because of concat function

DDB-sql-toolkit is not working for SQL Server 2008 R2 because of concat function does not exist.
Can you please provide a version that is compatible with SQL Server 2008 R2?

Gary,
Thanks for the heads up and I will get to this as soon as I can, unfortunately that may be a while. I am busy with other projects and I do not have a test environment for this at the moment. You should be able to correct this pretty easy. The concat function is only used in a few places. Here is an example of how you would eliminate it's use.
Change This:
Concat(Convert(varchar(20),dateadd(day,@RetentionDays,getdate()), 101),' ',Convert(varchar(20),dateadd(day,@RetentionDays,getdate()), 108));
To This:
(Convert(varchar(20),dateadd(day,@RetentionDays,getdate()), 101)) + ' ' + (Convert(varchar(20),dateadd(day,@RetentionDays,getdate()), 108));
I hope this helps and I will make the changes as soon as I can.
Thanks,
Dave


createFromObjects() doesn't copy custom properties

Version

Phaser Version: 3.60.0-beta.18

Description

For example giving an Object a property of alpha: 0.5 in Tiled will be reflected in the Game Object that is created.

This happened in v3.55.2 but it doesn't happen now.
Example Test Code
https://labs.phaser.io/edit.html?src=src/3.60\tilemap\create from objects.js&v=3.60.0-beta.18
const coinObject = this.map.objects[0].objects[3];

console.assert(coinObject.properties.alpha === 0.25);

const [ coin ] = this.map.createFromObjects('Coin Object Layer', [
    { id: coinObject.id, key: 'coin' }
]);

console.assert(coin.alpha === 0.25, 'Coin sprite should have alpha 0.25 not %s', coin.alpha);

Thank you for submitting this issue. We have fixed this and the fix has been pushed to the master branch. It will be part of the next release. If you get time to build and test it for yourself we would appreciate that.

@photonstorm I guess the currently documented behavior is changing, then? Per new docs, "Custom object properties that do not exist as a Game Object property are set in the Game Objects data."
That said, an option to automatically update gameobject properties based on custom properties sounds great.

The correct behavior should be the same in v3.55 and v3.60. The incorrect behavior was in the some the v3.60 betas only.
If you create a sprite from Tiled Object
{ alpha: 0.5, color: 'green' }

then the resulting sprite will have
alpha === 0.5
data.values.color === 'green'

Here color is the custom object property.

Thanks for underscoring that, @samme . I definitely misread it.
That said, I cannot get custom properties to have any effect. In my case, I'm creating game objects from a class that extends Physics.Matter.Image in this way:
        this.tileMap.createFromObjects("GameObjects/Ships", {
            name: "SimpleShip",
            scene: this,
            key: "ship",
            classType: SimpleShip,
        })

The corresponding "SimpleShip" entry in Tiled on the Tiled layer "GameObjects/Ships" is defined like this:

This works great, except for the custom properties issue.
Examining the data store ...

Only "alpha" and "color" show up. Alpha shouldn't even be there, if I understand you correctly. "dummy" should be there, but it's not.
gameObject.alpha, gameObject.flipX, and gameObject.flipY are the default values (1, false, false).
For completeness, I tried again without a custom class (I added to the aforementioned Tiled Layer an object named "LOL").
        const LOL = this.tileMap.createFromObjects("GameObjects/Ships", {
            name: "LOL",
            scene: this
        })

For the "LOL" object, all of the custom properties do show in the data store, including the ones that shouldn't (like alpha and scale).
Do you think there's an issue with my code, or perhaps there's a bug?
Thank you

For the "LOL" object, all of the custom properties do show in the data store, including the ones that shouldn't (like alpha and scale).

This is definitely in Phaser v3.60.0, not a beta? I can't think of why that would happen. In tilemap/create from objects alpha is working correctly (see dim coin at top).

I just scrutinized "node_modules/phaser/package.json" and can confirm that package.json.version indicates as much.

I will try again from scratch with what you shared.

I just scrutinized "node_modules/phaser/package.json" and can confirm that package.json.version indicates as much.

Check the Dev Tools. Phaser logs it's version number to the console when it boots. For example, you may have npm at 3.60 but override it with a different package / script tag. Worth checking.

Indicated there too, I'm afraid.

Hmm, I'm still getting unexpected results.
Tiled object:

I created a gist that will hopefully help anyone else reproduce what I'm seeing. 🤞
https://gist.github.com/paxperscientiam/c6a443d5315f2ce7b7e843c40353e073

@paxperscientiam I reproduced your problem. @photonstorm could you reopen?

Thanks @samme


Fixed #31604 -- Made SafeExceptionReporterFilter protect URL credentials.

Trac ticket number

ticket-31604
Branch description
*_URL settings are the one key hole in protecting credentials. My wish for plugging was rejected 4 years ago but I have seen it lead to potential arbitrary remote code execution recently and so I'm helping out with a pull request myself now…
For example:
In [1]: from django.conf import settings

In [2]: settings.configure()

In [3]: from django.views.debug import SafeExceptionReporterFilter

In [4]: SafeExceptionReporterFilter().cleanse_setting("CELERY_BROKER_URL", "redis://user:secret@host:6379/0")
Out[4]: 'redis://********************:********************@host:6379/0'

I can add tests and extend docs when there is approval for this general direction from you.
Checklist

[x] This PR targets the main branch.
[x] The commit message is written in past tense, mentions the ticket number, and ends with a period.
[x] I have checked the "Has patch" ticket flag in the Trac system.
[ ] I have added or updated relevant tests.
[ ] I have added or updated relevant docs, including release notes if applicable.
[ ] I have attached screenshots in both light and dark modes for any UI changes.

Closing per ticket.

I don't understand why this is being closed, again, without further discussion. There's a whole argument made in that issue that this is not a real problem, yet you have an actual user that outlined this as a real issue.
At the Tor Project, we had the same problem, which we had to patch out of the default settings file (https://gitlab.torproject.org/tpo/web/donate-neo/-/commit/8c1848e1cd83e3a6ae530d2f71168b2409e53f35).
At least the default configuration should warn about this, as this seems to be a common mistake people make.


Send info avatar in lobby

Adaptation to avatar in the lobby. Lobby will use name.png avatars.

Client+ lobby "https://github.com/FAForever/fa/pull/2519"

Dear Super4121,
thank your for your support.  If you think you are done and want a review of your work, please add the label "ready to be merged". Otherwise keep "in progress".
To understand changes our git log in the future we always open an issue (in your case i.e. "Support avatars in game lobby" and reference that issues in the commit message (i.e. Stores avatar files on disk with consistent naming (fixes #xxx) )
In your special case you may want to squash the many commits into one, since only few files are touched. This can be done with an "interactive rebase" ending with a force push on this branch. More information can be found here: https://robots.thoughtbot.com/git-interactive-rebase-squash-amend-rewriting-history

Please use "full names" for variables in this project, therefore rename e. g. nameAva to nameAvatar.

I don't know how to add a Label.

You can not you need to be made contributer by @micheljung

Please make all those commit one commit, with format:

Fixes #943
By either rebasing and squashing commit or by resetting branch(soft) and adding new commit(force push)

There are security concerns about that people could manipulate their avatar. We could only rule them out if game asked the server/its own client (for every player) right?


[BUG REPORT]: NDFD Conus Airtemp Processor, Geoprocess Container Crashing

Describe the bug
A call in the processor associated with the file shown below is failing.  This causes the geoprocess container to crash/exit whenever attempting to process one of these kinds of files.
Input file example causing the behavior shown below.

Log Message screen-capture:

Hey @jeffsuperglide, hoping you can pick this issue up.


Upgrade Hapi to v17

Almost closes #472 😁

This PR is WIP and needs work but hopefully a starting point for others to contribute.

Summary

converted code and tests to async/await
removed connections api and unit tests
removed use strict as it's no longer needed since Node v8 is min requirement
validate.log is now async/await and returns true or false
validate.test is now async/await and returns true or false
updated dependencies

boom ^7.1.1
swagger-parser ^4.0.1
hapi ^17.0.2
hapi-auth-bearer-token ^6.0.1
inert ^5.0.1
lab ^15.1.2
vision ^5.2.0
wreck ^14.0.2

TODO

[ ] update all examples
[ ] authentication-test.js and helper.createJWTAuthServer is dependent on https://github.com/dwyl/hapi-auth-jwt2/pull/249 for hapi v17 support
[ ] proxy-test.js is dependent on https://github.com/hapijs/h2o2/pull/64 for hapi v17 support

h2o2 seems to be released as v7.0.0 with v17 support

hapi-auth-basic was upgraded as well 🎉

builder.js internals.getHost is going to need some work to add the port. At least this is how the port was added before.

@nickrobillard wasn't that only used for different connections which no longer exist?

@robmcguinness I've made my internals.getHost looks like this in order for swagger to make requests to the correct non 80 port. Without it, requests are made to port 80 and obviously fails.
internals.getHost = function(request) {
    let host = request.server.info.host;
    const port = request.server.info.port;
    const protocol = request.server.info.protocol;

    if (
        (port && (protocol === 'http' && port !== 80)) ||
        (protocol === 'https' && port !== 443)
    ) {
        host += ':' + port;
    }

    return (
        request.headers['x-forwarded-host'] ||
        request.headers['disguised-host'] ||
        host
    );
};

I don't know why I should see different behavior than anyone else. I've patched glennjones/hapi-swagger master branch and I updated my HapiSwagger register object in my project to be compatible with Hapi 17. Is no one else having the same problem?

I’d agree with both of you. Guess it’s necessary because the port is not part of the host. So I assume it’s a bug in the current version, if there’s no named connection?

@nickrobillard @felixheck
7 of 186 tests are failing.

3 grouping tests are failing with 2 EADDRINUSE issues and another because localhost:3000 !== localhost
All the hapi-auth-jwt2' are failing since the plugin hasn't been updated yet.

@nickrobillard added your code back into this PR.

Hi All, just like to first say thanks, especially to @robmcguinness for all the work. I have been so busy with my day job I can not even keep up with my Github notifications. This weekend had a chance to quickly go through the code and tried to work out had much needs to be done to get out a released version of the plugin that work with Hapi v17.x.
@robmcguinness  I have merged your work into a branch rather than asking you to do changes or creating  my own PR's against your fork. You can find it at https://github.com/glennjones/hapi-swagger/tree/feature/hapi-17 Not sure if this follows common git workflow patterns, but I wanted a way to quickly add to your work and it seem the best route. Hope thats OK
I am about 3/4 of the way through updating all the example code and will move onto the documentation after that.  Finally I will go through the outstanding test errors. We may have to drop the hapi-auth-jwt2 tests if the plugin has not been updated, the current code works with the two other auth modules in the examples, which makes me feel the JWT will be OK once its updated.
If anyone still wants to help out, please feel free to point out outstanding issues/possible solutions work arounds or post PRs to the new branch.
I have also started a v7 branch which I will move back to work with pre Hapi v17.x to allow me to release updates for people who cannot move their projects to the latest version of Hapi
Glenn

awesome thanks @glennjones glad this helped!

@glennjones Hi! Just by pure curiosity I'm wondering how the last part of the V17 upgrade is coming along? Is everything under control or is there anything you need assistance with?

@jimutt I am on the last bit, now have only 5 areas where code coverage has been lost during upgrade process. This could be down to issue with the upgraded code or changes made inside JOI.
Thanks for the offer of help, but I need to fully understand these last few bits, before feeling comfortable about releasing such a big change. I want to track down all the causes for lose of coverage to make sure we have as few regressions as possible.
I did hope to have it all finished last night, but ran out of time. So close...


Add GSQ sampling-method vocabulary

Closing as https://linked.data.gov.au/def/sampling-method is now working due to other GSQ PID updates


feat: Remove Searchkick

Remove Searchkick because we are moving search to another dedicated Elasticsearch service.

Changed my mind. 😅


Updated Graph SDK to v6

This update required some refactoring.

Because v6 of the SDK does not implement classes for the change notification payloads (https://github.com/microsoftgraph/msgraph-sdk-java/issues/1891), several classes had to be implemented. These are all in the com.example.graphwebhook.notifications namespace in the sample.
SpringOAuth2AuthProvider updated to implement the Kiota-based AuthenticationProvider interface instead of the old-style IAuthenticationProvider interface.
Controller methods no longer return CompletableFuture since v6 SDK no longer needs it.
Updated socket.io client-side JS version - old version was no longer functional, so notifications weren't showing up in the UI.

@baywet one more update to replace the JSON serialization code with the simpler approach Andrew provided.


Ghidra hangs on decompilation/function graph of huge main()

Describe the bug
Hangs on decompiling/Function graph of function main in a certain binary
To Reproduce
Load up "01_angr_avoid" from the Angr tutorial in Ghidra 10.0.3
https://github.com/jakespringer/angr_ctf/blob/master/dist/01_angr_avoid
Ghidra hangs for some minutes before throwing an error.
Expected behavior
Do not hang
Environment (please complete the following information):

OS: Debian 11
Java Version: openjdk 11.0.12 2021-07-20
Ghidra Version: PUBLIC 10.0.3
Ghidra Origin: Ghidra official Github release page

Binary Ninja presents a message like this with a warning about a large function before starting analysis.
If press "force analysis" then BN seems to hang as well but at least could have been avoided by not forcing analysis.

EDIT: BN GUI stays responsive and I can just press Ctrl+Q to exit

The Decompiler is working in the background in this case and does not lockup the UI.    On the other hand, the Function Graph is locking the UI while it is building its nodes.    The graph is created and laid out in the background, but the nodes are being built in the UI thread.  In this case there are over 16000 nodes being built.   Each node must access the database, which causes file IO.  For a normal graph, this happens in real time or with minimal sluggishness.   Assuming the graph were to finish the building process, the graph that gets created would be so large that it would likely make the UI unresponsive when trying to render the graph.
In this case, to work around the issue, the Function Graph should not be open when navigating to this exceptional function.   It would be possible for us to add a node limit for graph creation, but no such option currently exists.

Yes. Closing the Function Graph seems to improve the matter a lot.
Actually seems enough to just let a Listing tab stay focused on top of the Function Graph so I guess having the Function Graph anywhere but in the foreground does help.
Letting Function Graph complete takes around 5 minutes on my (older) system.
This is not a very common type of binary so I guess I can live with closing the Function Graph.
Then perhaps this is better suited as a feature request for not rendering Function Graph for nodes over a certain number ?

Then perhaps this is better suited as a feature request for not rendering Function Graph for nodes over a certain number ?

I think so.  We could easily add this with an option to specify a limit for the number of nodes.

Do you prefer I edit this issue into a feature request or close this and create a new one ?

Using this issue is the easiest.


wasmtime: build c-api, bump version to 0.34.1

build wasmtime c-api libraries & headers as the "dev" output.

bump wasmtime source version to 0.34.1.

Motivation for this change

currently-packaged wasmtime is ancient
currently-packaged wasmtime contains just the interpreter executable, and I needed to build a project that embeds wasmtime via the C/C++ API

Things done

Built on platform(s)

[v ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[v] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[v] Fits CONTRIBUTING.md.

I'm personally using this, and I can confirm it works without problems

Now that https://github.com/NixOS/nixpkgs/pull/188095 merged, this is included as well. Thanks @cmm!


TypeError on. browsers

When I login, Something went wrong... is shown.

Should be fixed in latest


Support for OS X .bash_profile + install logging

Adds support for OS X's default bash configuration file,
~/.bash_profile, and more logging during install about
what to do if no shell configuration file was found.

Hey @ndbroadbent - I really love scm breeze but I noticed that the install script doesn't work on a default out-of-box install of the Terminal on Mac, since OS X reads from a file called .bash_profile instead of .bashrc for its bash setup settings. Since I know a bit about Terminal, I went ahead and extended the install script to also try to add the exec_string to that file (and added a little more feedback during installation so that the user knows if the install was successful and why not if it wasn't). Let me know what you think.

Hi, sorry I haven't really been maintaining this project lately, but these changes look great! Thanks!


change react dependency in package.json

move react and react-dom dependencies to peerDependency and use greater or equal (support react 17 and 18) to prevent installing multiple versions of react

This was already fixed in #93


chore: include pools when getting specs

Include the list of pools when getting the specs from the REST API.

bors merge


MINOR: random cleanup and JavaDoc improvements for clients and Streams

Call for review @guozhangwang @dguy @bbejeck @apurvam @hachikuji

Jenkins failure seems relevant:
:streams:compileTestJava/home/jenkins/jenkins-slave/workspace/kafka-pr-jdk7-scala2.11/streams/src/test/java/org/apache/kafka/streams/processor/internals/InternalTopicManagerTest.java:124: error: constructor StreamsKafkaClient in class StreamsKafkaClient cannot be applied to given types;
            super(StreamsKafkaClient.Config.fromStreamsConfig(streamsConfig), new MockClient(new MockTime()), Collections.EMPTY_LIST);
            ^
  required: Config,KafkaClient,List<MetricsReporter>,LogContext
  found: Config,MockClient,List
  reason: actual and formal argument lists differ in length
/home/jenkins/jenkins-slave/workspace/kafka-pr-jdk7-scala2.11/streams/src/test/java/org/apache/kafka/streams/processor/internals/StreamsKafkaClientTest.java:216: error: constructor StreamsKafkaClient in class StreamsKafkaClient cannot be applied to given types;
        return new StreamsKafkaClient(StreamsKafkaClient.Config.fromStreamsConfig(streamsConfig),
               ^
  required: Config,KafkaClient,List<MetricsReporter>,LogContext
  found: Config,MockClient,List<MetricsReporter>
  reason: actual and formal argument lists differ in length
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
2 errors
 FAILED

Updated.

@mjsax test failures are related the TaskMangerTest  checking for restoreConsumer.assign(Collections.<TopicPartition>emptyList()); but needs to be restoreConsumer.unsubscribe()

It is related. For TaskMangerTest I can simply update the test. For StoreChangelogReaderTest is actually exposes a buggy test that needs a proper fix.

Updates this.

retest this please

LGTM. @hachikuji do you want to make a pass over the client part?

Addressed @hachikuji 's comment while merging to trunk.

Thx @guozhangwang @hachikuji


fixed testcase for duplicate username when adding a customer

I need to resolve 11 conflicts when I try to rebase. Maybe it's better to not rebase because I am afraid something would go wrong.


 I beat your program

I did too but it took a lot defeat for me. Its quite formidable chess bot I should say.


Integration of the NFT pallet in XCM

Problem
While working on integrating the pallet-nfts with XCM, I ran into a problem with the CollectionId. The NFTs pallet works with a NextCollectionId storage, where the CollectionId for the next collection is stored. Each time a collection is created, the Id for the next collection is calculated and stored. We require the collectionId to implement the Incrementable trait, so that it's easy to calculate the next value.
To enable derivative NFTs in the NFTs pallet, we should be able to represent a CollectionId as a MultiLocation. For Example, the CollectionId of a derivative of a NFT on the relay chain could be represented as Parent/GeneralIndex(x). However, the current flow of the NextCollectionId does not allow for this structure, as there is no incremental flow for these MultiLocations.
Solution
We add an additional extrinsic that takes a collectionId and bypasses the whole NextCollectionId flow.
pub fn create_with_collection_id (
        origin: OriginFor<T>,
	admin: AccountIdLookupOf<T>,
	config: CollectionConfigFor<T, I>,
        collection_id: T::CollectionId,
) -> DispatchResult

The NFT pallet should add on top of the CreateOrigin and ForceOrigin config types, also a CreateCollectionIdOrigin (other names are welcome) that gates the Origins that can create collections with custom CollectionIds.

we should be able to represent a CollectionId as a MultiLocation

It sounds like you mean it should be possible to represent a MultiLocation as a CollectionId?

@gavofyork I think you are right! Just to make it more clear, I want the CollectionIds of the nfts pallet to be a MultiLocation. This is btw currently not possible because MultiLocation does not implement the Incrementable trait, so in this draft I introduced a wrapper for MultiLocation.
Do you think the solution described in this issue is the right approach?

I see. So it seems that the NFT pallet is rather overzealous in its trait bounds to the point where it's not really fit for this purpose. In particular it has determined that the key type must be self-generating when under certain usage situations (which the original designer was apparently ignorant of) it need not be, and may not even be practical.
If we were doing it right, the collection creation logic which uses this autokey functionality (the Incrementable trait) should be an optional adjunct, at the very least fallible and ideally contained in a separately configurable module or pallet.
Right now it seems there's two trait Incrementals in the codebase 😕 I would suggest we first ditch one of them (the one actually in pallet-nfts I suppose) and then I would make the remaining trait Incrementable be fallible for both functions. MultiLocation can return None/Err for both. If the auto-keying create is called, it can error out in the case that the auto-key is not available.


form-floating label is not aligned correctly when placed in .row element

I wanted to create horizontal form as given in example using the grid and using the floating labes. Probably some negative margin is calculated wrongly.
OS: Windows 10:
Browser: Microsoft Edge (Chromium based -  88.0.705.63)

        <input type="text" class="form-control text-end" value="0" />
        Cena od

        <input type="text" class="form-control text-end" value="100" />
        Cena do

this is the result:

Our docs cover this—don't mix grid classes with components. You're facing some clashing padding values here.


Image print issue

Hello, I'm trying to print an image in my ionic app.
var img = new Image();
img.src = 'https://sguru.org/wp-content/uploads/2018/02/facebook-logo-jpg-facebook-logo-1.jpg';
.image(img, 40, 40, 'threshold')
This is part of the code, but when I try to print there isn't any image on the receipt, it's all blank and in the ispection there aren't any errors. Can you give me support on this problem? Thank you.

It's hard to give support on this issues as there is very little information about how you are using the library. But what you can try to look at is whether or not the image is loaded using the browser's network dev tools. If not, that is something you could try to fix.
And one other possible area is CORS. If you are loading an image from a different domain than where the app is running, you might encounter issues. If you have control over that other domain you could add CORS headers to prevent this issues. Otherwise use a CORS proxy on your app's domain or simply move the images over to your app's domain.
More info can be found here:
https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image


gfxrecon-replay --screenshot-dir does not create a directory if the specified one doesn't exist

Other tools like compress & extract do, which is inconsistent.

Addenum: On windows, the implementation of this issue uses _mkdir which appears to only be able to make 1 directory at a time. While it would be possible to parse the path and call _mkdir as many times as needed, that isn't a strong need. If others find that the lack of arbitrary new folder creation is a problem, they should open a new issue to track it.


feat(bundler): cache bundling tools in a common dir for all projects

What kind of change does this PR introduce?

[ ] Bugfix
[X] Feature
[ ] Docs
[ ] New Binding issue #___
[ ] Code style update
[ ] Refactor
[ ] Build-related changes
[ ] Other, please describe:

Does this PR introduce a breaking change?

[ ] Yes, and the changes were approved in issue #___
[X] No

Checklist

[X] When resolving issues, they are referenced in the PR's title (e.g fix: remove a typo, closes #___, #___)
[X] A change file is added if any packages will require a version bump due to this PR per the instructions in the readme.
[X] I have added a convincing reason for adding this feature, if necessary

Other information

On Linux, I only changed the download path of linux-deploy and AppRun, I don't even know if the script was already caching them or downloads this files each tauri build

Ahh I forgot we're shipping updates like that, I'll remove the -nc flag so it always downloads it.

Ah lol you added the flag, gosh I can't read diffs in the GitHub mobile app 😂

maybe the -N flag is better ?


Update requirements.txt - Duplicated package

Remove duplicated package wandb, it was already declared on line 17

Thanks!


Multi pmcollector setup

Hi,
I have 2 clusters.
One with single pmcollector, the second one with 4.
I'm testing the prometheus exporter.
It works on the single pmcollector cluster, it doesn't on the one with 4.
Did you tests cover the multi-pmcollector setup?

Hi @gpplo,
I'm working only with environments having at least 2 pmcollectors in a federated mode. What exactly does not work in your environment?

Hi Helene,
good, I just wanted to rule out this.
We are trying the exporter with a cluster with 4 pmcollectors, the exporter exits like this
2024-05-14 15:18 - MainThread                               - INFO     -  *** IBM Storage Scale bridge for Grafana - Version: 8.0.0 *** 2024-05-14 15:18 - MainThread                               - ERROR    - QueryHandler: getTopology returns no data. 2024-05-14 15:18 - MainThread                               - WARNING  - No Metadata results received from the pmcollector. Start retry attempt 1 in 60s (MAX_ATTEMPTS_COUNT:3) 2024-05-14 15:19 - MainThread                               - ERROR    - QueryHandler: getTopology returns no data. 2024-05-14 15:19 - MainThread                               - WARNING  - No Metadata results received from the pmcollector. Start retry attempt 2 in 60s (MAX_ATTEMPTS_COUNT:3) 2024-05-14 15:20 - MainThread                               - ERROR    - QueryHandler: getTopology returns no data. 2024-05-14 15:20 - MainThread                               - WARNING  - No Metadata results received from the pmcollector. Start retry attempt 3 in 60s (MAX_ATTEMPTS_COUNT:3) %s Server internal error occurred. Reason: Empty results received 2024-05-14 15:21 - MainThread                               - ERROR    - Metadata could not be retrieved. Check log file for more details, quitting
On the collector side I see these warnings
May-14 15:18:03  [Warning] FedCtrl: received unexpected NGetMetadataRep reply (peerID=2, queryID=1661) ... May-14 15:18:06  [Warning] QueryEngine: searchForMetric: could not find metaKey for given metric gpfs_disk_disksize, returning. May-14 15:18:06  [Warning] QueryEngine: searchForMetric: could not find metaKey for given metric gpfs_disk_free_fullkb, returning. May-14 15:18:06  [Warning] QueryEngine: searchForMetric: could not find metaKey for given metric gpfs_disk_free_fragkb, returning. ...

Hi @gpplo,
the communiction channel works as follow:
bridge > sysmon daemon > pmcollector.
When the bridge starts and the connection to sysmon works fine, the first what the bridge requests from pmcollector is the Metadata. From the error above I see that the bridge did receive empty result back. Now we need to verify where is the bottleneck on your system, is it pmcollector itself or might be sysmon daemon.
Couple of questions I need info from you:

GPFS version
RedHat or used os version
Are all 4 pmcollectors configured as peers?
If you run 'mmsysmonc noderoles list' on the node, where the pmcollector is running, do you see PMCollectorNode role in the output?
Example:

[root@my-pmcollector-node ~]# mmsysmonc noderoles list
### Node Roles ###
------------------------------
 - CallhomeNode
 - CesManagerNode
 - ClusterManagerNode
 - FileSystemMgrNode
 - GUINode
 - LinuxNode
 - ManagerNode
 - NSDServer
 - PMCollectorNode
 - PMSensorsNode
 - QuorumNode
 - SpectrumScaleServer
 - ThresholdNode

### Active Monitors ###
------------------------------
 - CallHome
 - ClusterState
 - FileSystem
 - GPFS
 - GUI
 - Healthcheck
 - Network
 - Perfmon
 - Threshold
 - cescluster
 - disk
 - filesysmgr

Probably I need to check sysmon+pmcollector logs on your system.
On the pmcollector node, run the following command to increase sysmon traces
# mmsysmonc d setopt logging buffer False

Start the bridge and wait until it fails.
Collect and compress the log from:
/var/log/ibm_bridge_for_grafana
/var/log/zimon
/var/adm/ras/ only *the latest mmsysmonitor..log
You can open a ticket by IBM Storage Scale support with reference to this issue and my name, and upload the collected packages there.


Crash with Compact Machine

I'm getting a crash with Compact Machine.
I have a XNet setup inside a machine with a connector on a tunnel.
It's configured to extract item from the tunnel.
Outside the Compact Machine, I have a chest that is connected directly to the tunnel.
If I remove the chest, XNet will crash on next tick when it try to get item from the chest.
I had to put back a chest with MCEdit to fix my world.
I think it's more related to the Forge API used by Compact Machine for the tunnel, it may happens with mod with similar capabilities.
Version used:
Minecraft: 1.12.2
Forge: 2573
XNet: 1.6.4
Compact machine: 3.0.4
Here's the relevent part from the crash report:
Description: Ticking block entity

java.lang.ArithmeticException: / by zero
	at mcjty.xnet.apiimpl.items.ItemChannelSettings.tick(ItemChannelSettings.java:176)
	at mcjty.xnet.blocks.controller.TileEntityController.func_73660_a(TileEntityController.java:187)
	at net.minecraft.world.World.func_72939_s(World.java:1832)
	at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:612)
	at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:765)
	at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:396)
	at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:666)
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:524)
	at java.lang.Thread.run(Unknown Source)

A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Server thread
Stacktrace:
	at mcjty.xnet.apiimpl.items.ItemChannelSettings.tick(ItemChannelSettings.java:176)
	at mcjty.xnet.blocks.controller.TileEntityController.func_73660_a(TileEntityController.java:187)

-- Block entity being ticked --
Details:
	Name: minecraft:xnet_controller // mcjty.xnet.blocks.controller.TileEntityController
	Block type: ID #4002 (tile.xnet.controller // mcjty.xnet.blocks.controller.ControllerBlock)
	Block data value: 2 / 0x2 / 0b0010
	Block location: World: (1025,41,6), Chunk: (at 1,2,6 in 64,0; contains blocks 1024,0,0 to 1039,255,15), Region: (2,0; contains chunks 64,0 to 95,31, blocks 1024,0,0 to 1535,255,511)
	Actual block type: ID #4002 (tile.xnet.controller // mcjty.xnet.blocks.controller.ControllerBlock)
	Actual block data value: 2 / 0x2 / 0b0010
Stacktrace:
	at net.minecraft.world.World.func_72939_s(World.java:1832)
	at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:612)

This has already been fixed in b6e21fa. Update.


Using Custom Handlebars helpers in Standalone

I want to use a custom handlebars helper for response templating which I will write, but in wiremock standalone. Is that possible? Didn't find a way to do it in the docs.
Can it be integrated as a helper to be available in the classpath when I start the wiremock standalone server?
In my case, the need is for a dynamic response which is generated with some calculations on the current timestamp (e.g. the timestamp of the current rounded hour -<PHONE_NUMBER>).

At this point you'd need to build your own standalone JAR to achieve this, as there isn't a configuration option for adding helpers.
A few people have been asking about working with dates in templates recently, and I'd like to add a set of helpers as standard for this e.g. to calculate offsets from the current time, render dates in different formats etc.
I'd happily receive a PR to add this to WireMock if you'd like to go down that route.

Thanks for your response.
Maybe I can do that by using my own extension and then adding it to the classpath? as was done here?
I think dynamic dates helpers would be useful, indeed. Would love to help with a PR but I still have to decide whether I will got that road.
Specifically regarding render dates in different formats, I think most of it is already available with the functionality of the string helpers of java handlebars.

Helpers aren't a full extension in their own right, they're added during construction of the ResponseTemplatingTransformer extension, so you can't at present specify them on the command line.
As I mentioned, at this point you'll need to "re-bake" your own WireMock JAR with these added.

Hi Tom,
Could you add a handlebars helper which can iterate over set of data x amount of time
{{#times 10}}
test
{{/each}}

@yishaic I've a similar need (see https://github.com/tomakehurst/wiremock/issues/1000) and would appreciate if you can tell me what you ended up doing.

@asarkar I've ended up using other internal service in our system for this specific request mock. Unfortunately I didn't have the time to make a PR for wiremock and that was the fastest solution.


DNAseq pipeline

What is the exact resource of the default reference genome file? I am using the 37 and think there are 4 common "hg19(grch37)" references that are not directly interchangeable.

hg19 (ucsc.hg19.fasta, MD5sum: a244d8a32473650b25c6e8e1654387d6)
b37 (Homo_sapiens_assembly19.fasta, MD5sum: 886ba1559393f75872c1cf459eb57f2d)
GRCh37 (GRCh37.p13.genome.fasta, MD5sum: c140882eb2ea89bc2edfe934d51b66cc)
humanG1Kv37 (human_g1k_v37.fasta, MD5sum: 0ce84c872fc0072a885926823dcd0338)

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

ID: 796846ea-4dff-5c31-15f7-63fb61faccd0
Version Independent ID: 79c141f4-790b-4d18-6a04-7270e9f3438c
Content: DNASeq pipeline - Azure Databricks - Workspace
Content Source: databricks/applications/genomics/secondary/dnaseq-pipeline.md
Service: azure-databricks
GitHub Login: @mssaperla
Microsoft Alias: saperla

@YidiQin  Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

Thanks for your dedication to our documentation. Unfortunately, we have been unable to address your issue and apologize for the delayed response. We are closing this issue, but if you feel that it's still a concern, please let us know directly at<EMAIL_ADDRESS>#please-close

#please-close


undefined symbol when import mxnet

OSError: /home/liuji/experiments/mxnet/python/mxnet/../../lib/libmxnet.so: undefined symbol: _Z9rleDecodePK3RLEPhm
when install mxnet using cuda 9.0, cudnn 7.0, ubuntu 16.04 from  Scratch。Could give some advice？

Please refer to #51.

Ｈi, @lji72,i meet the same problem with you. Have you figure it out?

SimpleDet use COCO API to encode mask, whose header files should be put into the mxnet folder.
mkdir -p src/coco_api
cp -r $COCOAPI_DIR/common src/coco_api/

I have done this, but the same error happend. @xchani

https://github.com/apache/incubator-mxnet/issues/14471

@Baby47 Check the existence of maskApi.cc under src/coco_api.


Date picker requires options like disable previous dates

Hi I have a requirement to design a start end date so need to disable dates before present date
Is the option there in present materialize js

See pickadate.js

Also include the timepicker provided by them could be useful


Balance of time

Good day
i played recently with deep Resonance plus i watched all direwolf20 deep resonance setups, and i gotta say it feels like we are doing lot of work for small amount of burning time.
let me explain briefly
you need to setup lot of machine ,lot of different part, items, liquids balance, lava, different crystals, lot of numbers, in the end u get 5-15 mint of on time and energy if you think about it,its good amount of energy for early  and early mid game maybe but you can set it up early because its bit expensive and in mid game you need lot of power that is not enough in the long run so thats why even direwolf doesnt use it as long term energy source because the work you put in it is lot, and its very difficult to automate because u have to place empty crystals and expensive items and keep checking plus radiations since i just found out u increased the radios it gets tedious.
so other than bothering myself with it, i and others skip or set it up and find how difficult its and unreliable its, and use other easier options well not easier but more efficient and better way where u know u can control easier and doesn't waste time to get power for 5-20 mint and do another tedious and unnecessary work  like immersive engineers or thermal expansion or extreme reactors, so we spend time work on it automate it and get to other important projects.
i build one crystal with reddit recommendation and i use it only to power of EU2 quarry and its not enough.
so i suggest you increase the burning time of crystal so at least every now and then we check on it and we dont need to be worried every 5 mint even if you make it more expensive its better than making it last 10 mint or so .

Well these values can already be fully tweaked in the configs. So it is up to the pack maker to balance this as he sees fit

i dont use pack and i feel you should balance it for everyone so it will be worth it to use the mod and it spreads out more in the community. because for first time its fun mod but after that people are looking for efficiency the next time.

I feel it is already balanced. Keep in mind that mods are balanced to themselves + vanilla. i.e. imagine this mod in a pack that doesn't have Extreme Reactors or other OP powergen mods. That's how the default balance of a mod should be. It should be ok on its own. When other mods are added it is up to the maker of the pack to change the settings.


Ability to indicate retryable errors for invoke API

Hello.
I am testing DAPR resilience in service to service invocation and the behaviour is not perfect for me. I understand that retryable HTTP errors are:

5XX
429 TooManyRequests
408 RequestTimeout

... but it's retrying all 4XX errors.
I have an API that can respond 404 for some requests and DAPR is activating resiliency for this case. An error 404 should not be retryable, at least by default.
Another example. If I am requesting an API secured with user/pass and I type the pass incorrectly, the error 401 can't be retryable. It will fail in all cases.
My proposal is exporting a parameter to configure the HTTP errors that have to be retried. Is this possible?
Thanks!

This seems to be connected to #5872
I would agree that our Resiliency features should be more aware of HTTP response codes and not retry on all errors.
Thoughts @yaron2 @artursouza

Allright, this issue should, in my opinion, be revisited. Having for example 404 be treated as errors when it comes to retries and circuit breakers is just not the best way.
@yaron2 maybe you can pin this issue as the bot suggests?

I see this is a dup of https://github.com/dapr/dapr/issues/6683


Logs that are not via the mackerel-agent's logger are also output to the eventlog

behavior is changed at https://github.com/mackerelio/mackerel-agent/pull/364, so fixed.

Thank you for looking this. LGTM.

LGTM!