clusterconfig filename does not match management cluster name

Bug Report
The documentation says the management cluster configuration file should be found as follows:

~/.config/tanzu/tkg/clusterconfigs/.yaml where  is either the name you specified in the installer interface or else the randomly generated name if you didn’t specify a name.

However even though a cluster name was provided and verified in the config file and other places, the name of the file is a randomly generated name.

Expected Behavior

The configuration file name to match the name of the management cluster.
Steps to Reproduce the Bug

Create a management cluster using the Installer UI and give it a name.
Screenshots or additional information and context

$ tanzu management-cluster get
  NAME             NAMESPACE   STATUS   CONTROLPLANE  WORKERS  KUBERNETES        ROLES
  my-mgmt-cluster  tkg-system  running  1/1           1/1      v1.21.2+vmware.1  management

Details:

NAME                                                                READY  SEVERITY  REASON  SINCE  MESSAGE
/my-mgmt-cluster                                                    True                     51m
├─ClusterInfrastructure - DockerCluster/my-mgmt-cluster             True                     52m
├─ControlPlane - KubeadmControlPlane/my-mgmt-cluster-control-plane  True                     51m
│ └─Machine/my-mgmt-cluster-control-plane-g8jfp                     True                     51m
└─Workers
  └─MachineDeployment/my-mgmt-cluster-md-0
    └─Machine/my-mgmt-cluster-md-0-5bbb796786-rkl69                 True                     51m

Providers:

  NAMESPACE                          NAME                   TYPE                    PROVIDERNAME  VERSION  WATCHNAMESPACE
  capd-system                        infrastructure-docker  InfrastructureProvider  docker        v0.3.23
  capi-kubeadm-bootstrap-system      bootstrap-kubeadm      BootstrapProvider       kubeadm       v0.3.23
  capi-kubeadm-control-plane-system  control-plane-kubeadm  ControlPlaneProvider    kubeadm       v0.3.23
  capi-system                        cluster-api            CoreProvider            cluster-api   v0.3.23
$ ls ~/.config/tanzu/tkg/clusterconfigs
a6zgiz6zta.yaml

Environment Details

Build version (tanzu version): v0.9.1
Deployment (Managed/Standalone cluster): Managed
Infrastructure Provider (Docker/AWS/Azure/vSphere): Docker
Operating System (client): Ubuntu

Diagnostics and log bundle

/reopen

This issue is still present, and the docs do not match the current state of random clusterconfig file names.  To me this is a problem of cluster config discoverability and another, even better solution, would be to store the clusterconfig on the management cluster, so that it can be accessed by anyone that has a valid kubeconfig to the management cluster.


how to download a video after certain time

I have 5min youtube video. I want to download only the last 2min. Is it possible.

Duplicate of #622. It's not fully implemented yet.


[WIP] vendor git

I will add some explanation in later time.

I will add some explanation in later time.

Ok, 🆒. In the mean time: I definitely think we want/need to vendor Ruby but I'm much less convinced for Git (or Curl). I think we should lean on brew install git instead for a few reasons:

Git updates quite often and has had a few major security issues that require a quick turnaround. As a result I think we should have a single Git formula and binary package
Git (and particularly not a new Git) are not needed to install Git itself
We support installing from URLs e.g. brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/master/Formula/git.rb. If we want to improve this flow we could parse the tap name (e.g. org/repo) from this URL so the from-source Tab is correct.
Git is required to install Homebrew so by the stage someone would receive this: they already have Git installed. While we could tweak our install process to not require Git it feels like that's not necessarily advantageous given how much still relies on having Xcode and/or the CLT installed on our supported versions of OS X.

First of all, I think we should first acknowledge that in long term we want to make the core code, i.e. Homebrew/brew, to become cross-platform. Therefore, for git and curl, we should consider old systems like Tigerbrew and Linuxbrew. In fact, those systems are more likely to use vendor git and curl due to the fact git and curl are missing or serious outdated in those systems.

Git updates quite often and has had a few major security issues that require a quick turnaround. As a result I think we should have a single Git formula and binary package

This can also be applied to ruby because it's bundled with openssl. Since we have to vendor ruby anyway, the differential maintaining cost is less than the gain. Even more, vendor git and curl will never be used outside Homebrew.

We support installing from URLs e.g. brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/master/Formula/git.rb. If we want to improve this flow we could parse the tap name (e.g. org/repo) from this URL so the from-source Tab is correct.

This won't work for following reasons:

For old system like Tigerbrew and Linuxbrew, both git and curl have several hard dependencies. This renders brew install url unscalable. In comparison, vendor them as a single bundle is relative easier to handle.
On old systems, we have no choose but to use curl --insecure to download curl at least, due to  outdated curl and/or CA certs in those systems. If we use vendor-install, we can at least to guarantee the security by SHA256 checksum. While for brew install URL, there is no way to do it as the content of formula is changing all the time.

Git is required to install Homebrew so by the stage someone would receive this: they already have Git installed. While we could tweak our install process to not require Git it feels like that's not necessarily advantageous given how much still relies on having Xcode and/or the CLT installed on our supported versions of OS X.

This is not entirely true. We still support to install Homebrew using curl instead of git
Besides the reasons mentioned above, there is a more important issue. For approach like brew install URL, it will mean that Homebrew will depend on some files which can be unlinked during brew install/reinstall/upgrade. And in those cases, Homebrew will be likely broken. This issue becomes more severe, when git and curl actually depend on other formulae which can also be unlinked. For example, in Linuxbrew land, if you are using git and curl from Homebrew, brew upgrade will break horribly if any of git/curl/openssl get update. The only solution is to do manually brew fetch as well as careful sort the installation order. Deep down, it is a very bad idea to mix Homebrew's dependencies with tools depend on Homebrew to install. In comparison, vendor system offer a nice and clean boundary to avoid such loop dependencies.

First of all, I think we should first acknowledge that in long term we want to make the core code, i.e. Homebrew/brew, to become cross-platform. Therefore, for git and curl, we should consider old systems like Tigerbrew and Linuxbrew. In fact, those systems are more likely to use vendor git and curl due to the fact git and curl are missing or serious outdated in those systems.

I don't think the core code being cross platform necessitates that we must provide portable, binary, vendored dependencies for each of these tools on each of these platforms. I think Ruby is a special case because it's required to run any Homebrew/brew code and we've wanted to use Ruby 2 for a long time and it's the only way we can do so.

This can also be applied to ruby because it's bundled with openssl. Since we have to vendor ruby anyway, the differential maintaining cost is less than the gain. Even more, vendor git and curl will never be used outside Homebrew.

Ruby's OpenSSL is not used for downloads so it's not the same. Our vendored Ruby will not need to be updated on every (possibly any) OpenSSL update as a result.

This is not entirely true. We still support to install Homebrew using curl instead of git

In that case: why not install the Homebrew/homebrew-core tap in the same way? Then we can brew install curl git using checksums.

Deep down, it is a very bad idea to mix Homebrew's dependencies with tools depend on Homebrew to install. In comparison, vendor system offer a nice and clean boundary to avoid such loop dependencies.

I don't agree. The vendor system (even once it's been documented/rolled out to users) adds a lot of maintenance overhead and process changes.
Regardless: stepping aside for a minute: Homebrew/brew is not cross-platform yet and it's not being used by Tigerbrew. Linuxbrew requires you to sudo apt-get install build-essential curl git python-setuptools ruby to use Homebrew so there's other system-level dependencies there we're never going to provide. Linuxbrew is pretty far from using an unmodified Homebrew/brew. I think vendoring these just for versions of OS X we don't support is a mistake when they've been using the previous system fine. I'd like to see a clear user need for this  before we add the maintenance overhead and I'm really not seeing one yet.  Can you point to previously user-submitted issues in the past which have arisen from using e.g. brew install git/curl on older systems? Unless there's a sizeable number (or any) I'm not convinced this is solving a problem that exists.

In that case: why not install the Homebrew/homebrew-core tap in the same way? Then we can brew install curl git using checksums.

I explored this in https://github.com/Homebrew/brew/pull/36, which is way better than brew fetch URL. But it still fails to address other deps issue.

The vendor system (even once it's been documented/rolled out to users) adds a lot of maintenance overhead and process changes.

I acknowledge it introduces some overhead. But comparing with existed overhead for vendor ruby,
vendor git and curl won't add too much instead it will only solve more problems.

Linuxbrew requires you to sudo apt-get install build-essential curl git python-setuptools ruby

As far as from my daily usage, this has not been the case since Linuxbrew starts to do bottle. For now, Homeberw's hard deps are curl and git, in addition of Xcode/CLT if you cannot use bottle. Linuxbrew's hard deps are just curl, git, which makes it less deps than Homebrew.

Can you point to previously user-submitted issues in the past which have arisen from using e.g. brew install git/curl on older systems?

We can see plenty on Linuxbrew:
https://github.com/Linuxbrew/linuxbrew/issues/883
https://github.com/Linuxbrew/linuxbrew/issues/912
https://github.com/Linuxbrew/linuxbrew/issues/832
https://github.com/Linuxbrew/linuxbrew/issues/797
https://github.com/Linuxbrew/brew/issues/47
cc @sjackman and @mistydemeo Who should have more experience than me why Homebrew depends on curl and git formula is a bad idea.

I explored this in #36, which is way better than brew fetch URL. But it still fails to address other deps issue.

I'm OK with tapping the core tap using curl if we use that for this system.

I acknowledge it introduces some overhead. But comparing with existed overhead for vendor ruby,
vendor git and curl won't add too much instead it will only solve more problems.

As mentioned: vendored Git and Curl will need updated far more frequently.

We can see plenty on Linuxbrew:

But none on Homebrew, which is my point and it's unclear whether we would see the same given the linking differences on both platforms. I don't mind if Linuxbrew uses this vendor system to install their curl and git and even if their code is installed in Homebrew/brew once they are using an unpatched Homebrew/brew but I think we're a long way off that point now and I don't want to add the overhead to Homebrew when it's fixing a problem our users are currently having.
If you want to get us to that stage the best thing we can do is:

write documentation and tooling for the existing vendoring system for Ruby so we can ship it to users
fix brew tests --generic
work with Linuxbrew to get their patches into Homebrew/brew
work with Linuxbrew to see if this vendoring system makes sense for their Git/Curl usage and, if so, get this code into core just for Linuxbrew
once all the above is done and users have been using it for a while and the maintenance overhead is understood (e.g. there's been at least one Git or Curl security update): consider including this functionality into Homebrew

I'm OK with tapping the core tap using curl if we use that for this system.

However, I have changed my mind on that. Using curl to tap core tap during Homebrew installation may make sense. But it's definitely a bad idea to do it automatically inside Homebrew. The reason is the same as brew install URL. We don't have any checksum to verify download file, especially we have to use --insecure on old systems.  It's a giant security hole.

As mentioned: vendored Git and Curl will need updated far more frequently.

If it's a just git and curl version update, in long term, we can in fact to make it to be done fully automatically. e.g. auto update Homebrew/portable based on formulae in Homebrew/core. So I still don't think the overhead is as large as you thought would be.

But none on Homebrew, which is my point

That's because even we ship vendor git now, it will still be mostly used in old systems like Tigerbrew and Linuxbrew. There is a survival basis here. The majority of normal Homebrew users will always use git and curl from Apple. Make no mistake. Vendor system is never intended to be used by everyone.

it's unclear whether we would see the same given the linking differences on both platforms.

Even without linking issue and assume git formula and curl formula are self contained(which are not true in reality), it would still be a bad idea. For example, users can always run brew update to fix any unexpected bug with vendor git, but won't do much so if it is required to install git formula at first place. The major differences between vendor system and formula are:

Vendor git and curl are always linked(even during update), while git and curl formula may be unlinked.
Bash is the only dependency to install vendor tools, while installing formula depends on whole Homebrew codebase and even compilers if bottle cannot be used.

If you want to get us to that stage the best thing we can do is:

We can of course do this as from the starting point, vendor git and curl is meant to be mostly used by Linuxbrew and old systems like Tigerbrew.  And they are not near urgent like Ruby does. But may I ask not to judge vendor as a bad idea for git and curl too soon?

However, I have changed my mind on that. Using curl to tap core tap during Homebrew installation may make sense. But it's definitely a bad idea to do it automatically inside Homebrew. The reason is the same as brew install URL. We don't have any checksum to verify download file, especially we have to use --insecure on old systems. It's a giant security hole.

I don't see a big difference between install and runtime but 👍 to having less code in Homebrew itself.

If it's a just git and curl version update, in long term, we can in fact to make it to be done fully automatically. e.g. auto update Homebrew/portable based on formulae in Homebrew/core. So I still don't think the overhead is as large as you thought would be.

If you get everything setup and written so it's automatic I'll be a lot more 👍 on this PR. I do think it needs done before this PR is merged, though. I still don't think the documentation or tooling is where is should be for the vendored Ruby and I think it's a shame we're focusing on this before that is done.

That's because even we ship vendor git now, it will still be mostly used in old systems like Tigerbrew and Linuxbrew. There is a survival basis here. The majority of normal Homebrew users will always use git and curl from Apple. Make no mistake. Vendor system is never intended to be used by everyone.

If it's not intended to be used on any Homebrew supported platforms: I'm not sure I understand why Homebrew maintainers are responsible for building and maintaining these formulae. Again, this is more arguments for it being at the bottom of the list I mentioned.

For example, users can always run brew update to fix any unexpected bug with vendor git, but won't do much so if it is required to install git formula at first place. The major differences between vendor system and formula are:
Vendor git and curl are always linked(even during update), while git and curl formula may be unlinked.
Bash is the only dependency to install vendor tools, while installing formula depends on whole Homebrew codebase and even compilers if bottle cannot be used.

Sure, I understand the differences, I'm just (still) not convinced the trade-offs are worth it for the moment. Ruby was/is different because we can't have brew update just break Homebrew for anyone on <10.9 whereas those on older versions have a curl and git situation which, although not ideal, is working for them now.

We can of course do this, as from the starting point vendor git and curl is meant to be mostly used by Linuxbrew and old systems like Tigerbrew. And they are not near urgent like Ruby does. But may I ask not to judge vendor as a bad idea for git and curl too soon?

If it's not used by the vast majority of Homebrew users and Tigerbrew and Linuxbrew aren't using an unmodified Homebrew/brew: it's far too soon to be including this.
As an aside, Tigerbrew is currently not using Homebrew/brew at all and we don't have access to a 10.4 VM for testing. If you want us to better support Tigerbrew getting those things fixed first is another requirement before we can sensibly include these.
--
It's obviously up to you what you work on and when you work on it but I'll be a very strong 👎 on merging this for Git or Curl for a long time and I've suggested in this issue a lot of things that are far higher priority (and actually blocking) this PR from being included. I don't want to monopolise conversation here but it does seem a bit premature to have this PR opened and definitely merged before more of those other things are addressed.

If it's not intended to be used on any Homebrew supported platforms:

It is not intended widely used by average Homebrew users rather than not be used at all. There is a difference here. For example, no Xcode/CLT configuration is the same that not intended to be widely used yet.

Ruby was/is different because we can't have brew update just break Homebrew for anyone on <10.9 whereas those on older versions have a curl and git situation which, although not ideal, is working for them now.

I have stated enough reasons. So I don't want to repeat again that in long term vendor is the best solution from stability and robustness respect. Why we want to force certain users to use unideal solution when there is a much better one. One of biggest reasons that I'm 👎 on using formula to solve this problem is the fact it works terribly on Linuxbrew.

It's obviously up to you what you work on and when you work on it but I'll be a very strong 👎 on merging this for Git or Curl for a long time and I've suggested in this issue a lot of things that are far higher priority (and actually blocking) this PR from being included. I don't want to monopolise conversation here but it does seem a bit premature to have this PR opened and definitely merged before more of those other things are addressed.

I'm not suggesting to merge this immediately as it's labeled as WIP. And how a PR can be opened premature? I acknowledge there are much to do, which are what I'm actually working on, i.e, to make it perfection. But you are basically tell me not working on this and vendor is a bad idea without much consideration on its actual use context, which is very frustrated.

And how a PR can be opened premature?

If you're asking for review and discussion when there's other, blocking dependencies that do not have PRs.

But you are basically tell me not working on this

I said I'm not and can't tell you what to work on but: yes, I think working on this right now is not sensible when there's other work that needs done before this can be included in any form.

and vendor is a bad idea without much consideration on its actual use context, which is very frustrated.

I have considered it: you've just not convinced me that it's necessary for Homebrew users, particularly right now.
It's also frustrating to have things that are worked on, almost done and then neglected. Some examples:

HOMEBREW_SANDBOX is still opt-in, almost working for homebrew/core but hasn't been finished off
The New dependency implementation milestone had https://github.com/Homebrew/legacy-homebrew/issues/42312 added to it but has no activity in a year
The vendored Ruby is still opt-in and lacking discussed documentation, a testing/roll-out plan and tooling. Arguably these should have all been done before it was merged but I wanted to try and compromise there (which may have been a mistake).

I can't really understand why we're spending time discussing the pros and cons of the vendor system when it's still not been tested by our users in production.

HOMEBREW_SANDBOX is still opt-in

I think we're at the point where it should just be turned on now.

I think we're at the point where it should just be turned on now.

Need to fix or boneyard at least these formulae https://github.com/Homebrew/homebrew-core/issues/342 and then enable it just for homebrew/core to start with.

then enable it just for homebrew/core to start with.

There's something other than homebrew/core? :see_no_evil:

Closing this; it's marked "do not merge", "in progress" and has conflicts. I'd recommend an issue first to reach some consensus on how we want to implement this (if at all).


Enable egui-winit to support wasm target

I am using egui-winit + egui-wgpu in my project, and when I compile the project to wasm, the following error occurs:
Running `target/release/run-wasm --bin simuverse`
Compiling egui-winit v0.21.1 (/Users/lijinlei/Rust/forks/egui/crates/egui-winit)
error[E0432]: unresolved import `raw_window_handle`
 --> /Users/lijinlei/Rust/forks/egui/crates/egui-winit/src/clipboard.rs:1:5
  |
1 | use raw_window_handle::HasRawDisplayHandle;
  |     ^^^^^^^^^^^^^^^^^ use of undeclared crate or module `raw_window_handle`

error[E0432]: unresolved import `raw_window_handle`
  --> /Users/lijinlei/Rust/forks/egui/crates/egui-winit/src/lib.rs:24:5
   |
24 | use raw_window_handle::HasRawDisplayHandle;
   |     ^^^^^^^^^^^^^^^^^ use of undeclared crate or module `raw_window_handle`

This PR should have no side effects, as winit already depends on raw-window-handle itself.
Tested via https://github.com/jinleili/simuverse/tree/wasm

thanks!


Increase maximum signal length for COVIDcast to 64 characters

Database schema
Signal name length guard in CSV uploader
Integration test verifies signal length 32<x<64 succeeds, x>64 fails

Unit tests and integration tests pass.
To apply this to the live DB, use the following:
ALTER TABLE `covidcast`
MODIFY `signal` varchar(64) NOT NULL;

The column type has been updated 👍


Merging Player Cells leads to an Increase in Overall Mass

It may not be noticeable in vanilla gameplay, but this is definitely noticeable in the instant merging server.

Actually you can overload onEat function and define merge mass calculation with no correction.
This correction is important for viruses. May be it will be better just to change mass calculation for PlayerCell to not use correction. Need to compare with vanilla

SimonOrJ: I added anti-minion protection, so you can enable it with setting serverScrambleCoords = 1.
Unfortunately some clients, such as OgarUL with old protocol doesn't support it, so these clients will show jumping cells. But it works fine with vanilla client and ogar.mivabe.nl

I reworked mass calculations. Now server works with size instead of mass. It reduces SQRT calls for mass -> size conversions. So, it should improve performance for split and eject.
Also I removed mass correction for non-virus cell. Now mass always constant. If you split and remerge, your mass will be unchanged.
Please note that there is major changes in gameserver.ini, now there is size units instead of mass. Also some unused and redundand variables were removed.


How to mute speaker output?

This is not a bug report but a question.
I can mute the microphone of the client, set the torch on/off when back camera is active but I could not find a way to mute the speaker (or earphone) output.
MediaStreamTrack has enableSpeakerphone and setVolume functions but I could not figure out which one to use or on which stream (on localStream or on all remoteStreams) to use.
Can you please enlighten my path?

You can try audioTrack.enabled = false.

Setting enabled to false on remoteStream worked. Thank you very much.
I can't believe I could not figure out such a trivial solution.


Customizable protocol

In the current implementation, the developer can not change the behavior of the protocol.
By implementing a subclass of HttpProtocol and making it an argument of the run function,
the developer can change the behavior when data is received and the behavior when an error occurs.
This is related #115 and #208 .

@seemethere
Thank you for reviewing.
Your pointing out is correct.
I fixed this code.

@seemethere
Of course I will make document and test.

@seemethere
I made document, example and test.


feat: Added diverse specs for User-defined types

Description
New structure-aligned version of #1711
Added diverse specs for User-defined types:

BCPNFR9 - Category: Inputs - Decorators
BCPNFR18 - Category: User-defined types - Specification
BCPNFR19 - Category: User-defined types - Naming
BCPNFR20 - Category: User-defined types - Export
BCPNFR21 - Category: User-defined types - Decorators
BCPRMNFR2 - Category: User-defined types - AVM-Common-Types

Dependend on #1737

Ready to go @eriqua :)

Linked to https://github.com/Azure/bicep-registry-modules/pull/4098


Column Validation

Mike once famously said:
Basic columns need to be validated/tested before we pass them on.
These are: lab_id, participant_id, media_name, x, y, t, pupil_left, pupil_right
lab_id
should be in the list
should be characters
participant_id
should be characters
should be unique within lab (how to check)
check if it's unique between labs? uniquify?
from alvin: how to check participant_id: filter for the rows where t is less than lag(t), i.e., timestamps where t “resets”. then see if length(ppt_id) == length(unique(ppt_id))
media name
should be characters
check again that they're in the list
check that they're unique within participant_id
x, y
numbers
within coordinate system (check coordinate system)
not all NA within participant_id, lab_id
different from one another within participant_id, lab_id
t
range of t should be on the order of 10^5 and not 10^8
check that resampling interval is correct
check that they're unique within participant id, lab id, and media name
pupil_left, pupil_right
check that units are scaled
check not all NA within participant_id, lab_id

Tracking column validations—completed items are marked by the location in the code as [doc: line numbers]
lab_id

[x] should be in the list [002b: LL152–158]
[x] should be characters (entailed by first item)

participant_id

[x] should be characters (entailed by second item)
[x] should correspond across ET/demog [002b: LL332–337]
[ ] should be unique within lab (how to check)
[ ] check if it's unique between labs? uniquify?
[ ] from alvin: how to check participant_id: filter for the rows where t is less than lag(t), i.e., timestamps where t “resets”. then see if length(ppt_id) == length(unique(ppt_id))

media name

[x] should be characters (entailed by second item)
[x] check again that they're in the list [002b: LL39–75]
[ ] check that they're unique within participant_id

x, y

[x] numbers (entailed by second item)
[ ] within coordinate system (check coordinate system)

basic check in [002b: LL366–369; 385–388], but not specific to coord system of that lab's ET device

[ ] not all NA within participant_id, lab_id
[ ] different from one another within participant_id, lab_id

t

[ ] range of t should be on the order of 10^5 and not 10^8
[ ] check that resampling interval is correct
[ ] check that they're unique within participant id, lab id, and media name

pupil_left, pupil_right

[ ] check that units are scaled
[ ] check not all NA within participant_id, lab_id


⚠ Bofrost.be has degraded performance

In 25f5f1d, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1243 ms

Resolved: Bofrost.be performance has improved in ab303ca.


Add CI workflow for running doctests

Addresses #9

Added CI workflow for testing on windows, macos and ubuntu

I found that all tests were passing except on Ubuntu due to mismatched outputs, you can check the GitHub Actions logs for more details.

Do you have any suggestions for how to fix the test failures on Linux? It's odd that the numbers are off by one in some cases, given that it's the same architecture and Pillow/Wand versions. My guess is floating point rounding issues?

Thanks for this! Just a couple of minor comments.
Do you want to address the ANTIALIAS warning issue from #9 as well?

I've replaced it with PIL.Image.Resampling.LANCZOS. Test results are the same as before.

Do you have any suggestions for how to fix the test failures on Linux? It's odd that the numbers are off by one in some cases, given that it's the same architecture and Pillow/Wand versions. My guess is floating point rounding issues?

Strangely, the tests pass locally on my Ubuntu x64 and Manjaro x64 virtual machines, on both Python 2 and 3 (3.10.6).

Thanks, @elliotwutingfeng. I added a few more changes to allow older and new versions of Pillow, and "fixed" the tests.

I re-ran the old tests with this workflow (https://github.com/elliotwutingfeng/dhash/actions/runs/3280926289).
ubuntu-latest (ubuntu-20.04 as of today) uses an older version of libmagickwand-dev than ubuntu-22.04, that may be causing the output differences. See below.
https://github.com/actions/runner-images/blob/main/images/linux/Ubuntu2004-Readme.md#installed-apt-packages
https://github.com/actions/runner-images/blob/main/images/linux/Ubuntu2204-Readme.md#installed-apt-packages
The old tests are successful on 22.04 just like windows and macos. Python 2 had to be manually installed using apt-get on ubuntu-22.04 as it is deprecated. I think the delta workaround is not necessary.
ubuntu-latest will be bumped to ubuntu-22.04 by around December 2022.


Discord link not accessible if you are not on the Server

The link in the md
This dalamud Repo
is not working if you are not on the Server in the first place

Thanks for adding


Allow bind and unbind methods to take 'this' instance

A common pattern is to have a view that binds to a model; when the view is removed it should clean up its listeners using unbind. One problem with the current way Backbone does things is that you have to do something like this to handle things (pseudocode):
My view class:
initialize: function(){
this.changeListener_ = this.render.bind(this);
this.model.bind('change:revision', this.changeListener_);
},
render: function(){
// ...
},
remove: function(){
this.model.unbind('change:revision', this.changeListener_);
}

Most of the time you want to bind your Backbone listeners to an instance. However, in order to safely unbind them you have to keep an instance variable around for them to truly unbind them. This gets gross and leads to code clutter.
If the bind and unbind methods allowed an optional instance variable as their third argument, this goes away and the code becomes much cleaner (pseudocode):
My view class:
initialize: function(){
this.model.bind('change:revision', this.render, this);
},
render: function(){
// ...
},
remove: function(){
this.model.unbind('change:revision', this.render, this);
}

Now there is enough context to unbind 'change:revision' for this.render bound to the 'this' variable. When Backbone makes the call it can simply do an apply and pass in the optional third argument.

+1 except it should unbind all of the callbacks associated with the context
Pull request @ #667

You can now pass a context to on and off in backbone events on master...


Added nullable attribute and validation

'Nullable' could be useful when 'required' is set to 'no'.

Hi @gonditeniz ,
have you any plans on merging that?

@mall The code you have submited is lacking some basic things. One is tests for the new attribute/feature. Next is example code for this feature. Third is general documentation changes for this. Fourth is updates in changelog file. Without fixing these basic things i will not merge this PR.

@Mallone63 This MR needs some more work in order to be mergable. If possible please rebase your changes ontop of the latest master branch in my repo inside your fork, fix the comments that you have here above and finally submit a new MR and i will get this feature in to the code base. I will not do more work on this feature inside this MR scope until that is done.

@Grokzen PR has been rebased on current master branch. Added tests, example \ docs, and changelog update.
https://github.com/Grokzen/pykwalify/pull/117


Date/time slider

This is a nice to have. Some ideas:

https://github.com/ghusse/jQRangeSlider
https://github.com/dwilhelm89/LeafletSlider

I had a play around but didn't get far. Some tips here.
This would also require changes to the Python to return a time property or something in the GeoJSON. I can easily do that.


bump cluster-api with k8s 1.27 support

What type of PR is this?
kind/dependency
What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

Will merge until v1.5.0 is released.


Window scaling

I cant control the window size. When dragging it. It just become one big Size

Duplicate of known issue #262

amazing way tell support. smart idea with the hastag. Thank you m8.
On Sun, 20 Sep 2020 at 23:46, Timothy Minahan<EMAIL_ADDRESS>wrote:

Duplicate of known issue #262
https://github.com/TimothyLuke/GnomeSequencer-Enhanced/issues/262
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/TimothyLuke/GnomeSequencer-Enhanced/issues/690#issuecomment-695840442,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIY55UCI22X5WZ2DGFY67C3SGZZ4NANCNFSM4RT3M2HQ
.

--
Med klimavenlig hilsen
John Aalegaard Larsen
tlf. +45 52 40 50 60
*Denne e-mail kan indeholde fortrolig information. Hvis du ved en
fejltagelse modtager e-mailen, beder vi dig ikke læse indholdet og venligst
informere John Aalegaard med det samme samt slette e-mailen. If you are not
the addressee of this e-mail and/or attachments, please inform John
Aalegaard immediately and delete this e-mail and/or attachments.


rkyv, avoid the copy to byte ?

Looking at the code, I think there is a copy that shoul dbe avoided in the following code:
There is the serialization, which is fine and gives an AlignedVec that is then re-encoded a Bytes.
The annoyance comes from Bytes::copy_from_slice(encoded.as_ref());
Is there a way to send the AlignedVec directly ?

IIRC you can convert the rkyv type into a boxed slice, and then Bytes from a boxed slice, without copies.
Any interest in making a PR?

That will be my first PR but yes definitely!

Just dug into AlignedVec implementation, converting the AlignedVec into a Boxed slice via into_boxed_slice reallocates, "This method reallocates and copies the underlying bytes. Any excess capacity is dropped.".
I will try something else.

Apparently, it works directly with the AlignedVec. Don't know why it failed, before.
Please forget that (non) issue


Update HelloScalanStaged  example in readme

See Discussion thread

Updated and added https://github.com/scalan/scalan-ce/blob/master/lms-backend/src/test/scala/HelloScalan.scala to make sure it doesn't go stale again.


Switches servers in Attach to list, "Attach To" behaves wrong

Connect to big data cluster and previous version box SQL, and cloud in OE
ctrl+shift+N create a new notebook
Switch Kernel to PySpark 3, we can see the servers list in Attach to.
Select/switch between them multiple times
Issues:

select "Add New connection" -> Connection Dialog doesn't pop up.
finally Attach To display 'localhost'

Got notifications:

Could not display contents: TypeError: Cannot read property 'display_name' of undefined
Failed to change kernel: Invalid response: 403 Forbidden

Fixed by  #4371.


Update idle-session-timeout-web-apps.md

updated the statement to reflect that a CA policy is needed only if you would like to restrict the idle session timeout on unamanged device

@JohanFreelancer9 Please copy review

Issue#https://github.com/MicrosoftDocs/microsoft-365-docs/issues/9314

Docs Build status updates of commit 4c3d2bb:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/admin/manage/idle-session-timeout-web-apps.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

@tiburd Please merge this PR. Thanks

Docs Build status updates of commit be5eac7:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/admin/manage/idle-session-timeout-web-apps.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Change naming urls

As I changed the repo name to use hyphens instead of underscores we need to change some URLs that refer to this repository.

Fixed in #5099611.


Update footer.html

Current LinkedIn URL redirects to an individual's LinkedIn page and not the Microsoft LinkedIn page.

Good catch, thank you!


Issue #3874 - Add support for s3a:// to run.py

Adds support for s3a URI scheme to run.py script.

As part of hacktoberfest, we have a raffle to win Snowplow t-shirts.
To enter the raffle you can fill out this form: https://docs.google.com/forms/d/e/1FAIpQLSeBbwQMWD9w9CEvjKt1KblDVpMy9mHOvQXS6YMRYH3geM8pCw/viewform

[ ] Change commit message to reflect #3870


Do not log options in HTTPServer to prevent circular reference

Description
Having a debug log with options was causing a circular reference while using HTTP Server (see attached issue). This PR simply removes the logs and fixes it.
Issue reference
We strive to have all PR being opened based on an issue, where the problem or feature have been discussed prior to implementation.
Please reference the issue this PR will close: #488
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[ ] Code compiles correctly
[ ] Created/updated tests
[ ] Extended the documentation

@holopin-bot @shubham1172 :)


fix: OAuth2SAMLBearerAssertion for technical user and subscriber destination

While investigating the OAuth2UserTokenExchange I was comparing the code blocks we have already from the OAuth2SAMLBearerAssertion case. Here the docs on the SAML2: https://help.sap.com/viewer/cca91383641e40ffbe03bdc78f00f681/Cloud/en-US/3cb7b81115c44cf594e0e3631291af94.html
And I think I found and error for the technical user case and subscriber/provider account destination. It is about this case:

If the destination was from the subscriber account one should also use a clientCredentials token using the subscriber subdomain not the one from the provider account. I adjusted this in the addOAuthSamlAuth method.

@mr-flannery it would be really great if you could perhaps also a quick look here since you are the expert on this whole token flow thingies.

I'd double-check if the destinationOrigin is actually set the way you expect it here. I might mix something up here, but I think we had deprecated that...

No you are not mixing it up. It was deprecated but when I did the refactoring I found it useful to have a destinationSearchResult which had info like: fromCache and origin in it because it made the post-processing easier.

I will create also a follow up ticket to include E2E tests for all the OAuth cases since we are currently also implementing OAuth2UserTokenExchange.


Added Mollie Mistercash

Added Mollie Mistercash integration
Refactored Mollie API/redirect creation to a parent module
Fixed failing tests in remote_mollie_ideal_test.rb
Added tests for mollie_mistercash.rb

For testing I tried both checkouts locally and they worked for me. I was not able to test the redirection back to Shopify.
@wvanbergen @girasquid

Fixing/adding unit tests -- hold off on review

You probably want to delete lib/offsite_payments/integrations/._mollie_mistercash.rb

@wvanbergen @girasquid should be good to go now

This looks good to me :+1:


Is there a way to connect perspectives between each other ?

Hi! I wonder why the language doesn't provide any means to connect two perspectives between each other ?
I have been using perspectives to describe processes within a system for a while. I've seen that some of them have parent-child relationships for example. Some of them shows that one process affects another one and so on.
These connections allow to see transitions from one process to another which is quite useful. DAG can be used to that extent in order to visualise perspectives as a bunch of interconnected processes. It will also help to mitigate logical errors in terms of an execution flow.
So I think it would be great to have such kind of functionality which can look the following way:
...
A = component "A" {
    perspectives {
         "Parent" "Do this"
         "Parent" -> "Child" "Produce an in-process signal which is handled by another related component"
    }
}

B = component "B" {
   perspectives {
        "Child" "Do that"
   }
}
...

Let say we have CRUD process for component A. This component has a sort of broadcasting tool for propagating its changes to another components of the system. These components relate to another process which should be connected with it. Ultimately, It should increase transparency.

I still don't really understand what you're trying to achieve I'm afraid, but perhaps the dynamic views are better suited to describe processes ... along with things like activity diagrams from UML. Closing this issue, as it's not something I'll likely be implementing. Sorry!


Install should not rely upon filesystem state in order to prevent database anihilation

I've been working on deploying OpenNMS with Kubernetes, and noticed that the user tables disappear every time I apply an update. Looking at create.sql, it appears that this is because /opt/opennms/etc/configured is missing. This is to be expected because I am using etc-overlay and not persisting the full etc folder, and as such changes to etc will be lost on every generation (read: every change to configuration files, container liveness probe failure, node failure, etc...).
It would be relatively easy to fix this by handling the database initialization entirely with liquibase, which appears to be in use already, or querying the database beforehand.
That having been said, it would also make more sense to write the file to the data directory instead of the etc directory.

Looking more at the contents of etc, I suppose this is more of an overarching problem.

I'll agree, the running configuration. Running it as a container myself, I've noticed the following problems especially with the configuration:

Runtime configuration is persisted in the file system which makes it hard to distribute configs when you want to separate core processes and the web app in dedicated processes
There is a version dependency between the configuration and the running container image which requires manual tasks on updates when you not use the etc-overlay mechanism
Runtime configuration can be changed from the WebUI and the requires changes in the file system directly, which makes it hard to deal with configuration
The topology UI persists state in Karaf data directory

IMHO, to solve this problems I would be necessary to:
One way would be to persist runtime configuration in appropriate storage and maintain schema changes, e.g. PostgreSQL with Liquibase.

@blaisep here is what I do, I mount the ${OPENNMS_HOME}/etc directory to the host system. That way the state of configuration files changed through the WebUI are persisted. To make config merges easier, I mount also the etc-overlay directory to the host system. This contains all configuration files I've changed and can't be changed through the web UI. Candidates are e.g.:

property files in opennms.properties.d
service-configuration.xml
poller-configuration.xml
categories.xml
viewsdisplay.xml
collectd / eventd - I don't use the webui to edit those files
snmp-graph.properties.d
data collection configuration directories
etc.

poller-configuration.xml

This is the one that really drives me insane. Restarting OpenNMS on Kubernetes effectively means redeploying the set. This effectively adds around two minutes (worst case) for the implementation (GKE in this case) to regenerate workloads and reconfigure VMs to the already long OpenNMS startup time.

Ultimately, the best bet is just using the database as a K/V store. PostgreSQL has some good features for this like embedded JSON, which is pretty useful when you want to correlate "free-form" data, but still want the ability to search it. I can't see an application for PostgreSQL searching in JSON fields, rather just retrieving them; however, I can certainly see a human at the PostgreSQL shell using that feature to find configuration values.

Totally agree with you.


Update modal.md

Hello everyone...
Please edit onRequestClose prop and add setModalVisible(!modalVisible); to function component and add this.setModalVisible(!modalVisible); to class component.
Thus the modal has been closed with hardware back button practically...
Thanks

I fixed it...از گوشی هوشمند Samsung Galaxy ارسال شده است.
-------- پیام اصلی --------از: Bartosz Kaszubowski<EMAIL_ADDRESS>تاریخ: ۲۰۲۰/۸/۲۶  ۱۱:۲۹  (GMT+03:30) گیرنده: facebook/react-native-website<EMAIL_ADDRESS>گیرنده کپی: Mojtaba Vandaei<EMAIL_ADDRESS>Manual<EMAIL_ADDRESS>موضوع Re: [facebook/react-native-website] Update modal.md (#2175)
@Simek requested changes on this pull request.
Thank you for fixing that part of example! 👍
Unfortunately I'm not able to commit to this PR to correct the whitespaces in the class component example. Can you fix that?
—You are receiving this because you are subscribed to this thread.Reply to this email directly, view it on GitHub, or unsubscribe.
[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/facebook/react-native-website/pull/2175#pullrequestreview-475202677",
"url": "https://github.com/facebook/react-native-website/pull/2175#pullrequestreview-475202677",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]


In UPIEC transition, bvs should be filtered

As of this commit, we just return bvs unfiltered:
https://github.com/input-output-hk/fm-ledger-rules/blob/18ae351cc45bd49ec9037fa7f7f5c493cba24534/specs/ledger/hs/src/Ledger/Update.hs#L780
which disagrees with the LaTeX spec.
Applying a patch like
diff --git a/specs/ledger/hs/src/Ledger/Update.hs b/specs/ledger/hs/src/Ledger/Update.hs
index 41035ba..8e33117 100644
--- a/specs/ledger/hs/src/Ledger/Update.hs
+++ b/specs/ledger/hs/src/Ledger/Update.hs
@@ -769,6 +769,7 @@ instance STS UPIEC where
         let pidskeep = Set.fromList [ pid | pid <- Set.toList . foldl' Set.union Set.empty
                                      . Map.elems . Map.filterWithKey (\pvi _ -> pv' < pvi)
                                      $ invertMap (fst <$> rpus)]
+            bvs' = Core.PairSet (Set.filter ((pv' <=) . fst) (Core.unPairSet bvs))
         return ( e'
                 , (pv', pps')
                 , fads'
@@ -777,7 +778,7 @@ instance STS UPIEC where
                 , raus
                 , pidskeep ◃ cps
                 , pidskeep ◃ vts
-                , bvs
+                , bvs'
                 , pidskeep ◃ pws
                 )

should put us in agreement (though I am not sure my style is in line with how the rest of the model is written).

In light of https://github.com/input-output-hk/cardano-ledger-specs/pull/360, I'm going to close this issue since the discrepancy between spec and model is now different.
/cc @dnadales


Switch build to sbt 1.0.2 (WIP)

Blocked by:

[x] sbt-pack (https://github.com/xerial/sbt-pack/issues/113)
[x] sbt-proguard (https://github.com/sbt/sbt-proguard/issues/18)
[x] sbt-sonatype (https://github.com/xerial/sbt-sonatype/pull/46)

Hi. sbt-sonatype 2.0 is ready for sbt-1.0.
I'm also working on migrating sbt-pack for sbt 1.0, but found that some dependent sbt plugins are not supporting sbt-1.0 yet, so migration may take a few days (or a week) to find a workaround.
Thanks

Just released sbt-pack 0.9.0 that supports both sbt-0.13 and 1.0.0-RC3.
Now you need to use enablePlugins(PackPlugin) instead of adding packSettings. See also for the details https://github.com/xerial/sbt-pack#usage

@xerial Thanks a lot!

sbt-pgp 1.1.0 and sbt-proguard 0.3.0 are out!

@wsxarcher Thanks!
There are a few issues with the build now...

It seems sbt ++2.12.1 http-server/publishLocal doesn't do anything. Tweaking things around this line doesn't seem to change anything.


Reconcile the Market Opening for Futures and Scheduled Events

Description

Fix bug in GetNextMarketOpen() method. This method didn't consider the cases when the open market time was part of the last market open segment. Also, when some potential market open wasn't accepted it just jumped into the next day but didn't consider the next segment in the day if possible.
Fix bug in AfterMarketOpen() method. This method processed more than once the same date because applicator didn't consider the date returned by GetNextMarketOpen() and the time period it had advanced.
Fix wrong regression tests statistics. Debugging the failing regression and unit tests It was found that they were directly relationed with the changes in GetNextMarketOpen() and AfterMarketOpen() and that the previous returned values were wrong.

The following regression tests were also failing for the changes in AfterMarketOpen() and GetNextMarketOpen():

Algorithm.CSharp/FutureOptionBuySellCallIntradayRegressionAlgorithm.cs
Algorithm.CSharp/FutureOptionCallITMExpiryRegressionAlgorithm.cs
Algorithm.CSharp/FutureOptionCallOTMExpiryRegressionAlgorithm.cs
Algorithm.CSharp/FutureOptionPutITMExpiryRegressionAlgorithm.cs
Algorithm.CSharp/FutureOptionPutOTMExpiryRegressionAlgorithm.cs
Algorithm.CSharp/FutureOptionShortCallITMExpiryRegressionAlgorithm.cs
Algorithm.CSharp/FutureOptionShortCallOTMExpiryRegressionAlgorithm.cs
Algorithm.CSharp/FutureOptionShortPutITMExpiryRegressionAlgorithm.cs
Algorithm.CSharp/FutureOptionShortPutOTMExpiryRegressionAlgorithm.cs
Although, the tests above were failing for the changes in GetNextMarketOpen() they were also failing because applicator function didn't take into account the dates GetNextMarketOpen() have already processed looking for the next market open so, if the given date was for example a Thursday at 00:00:00 as GetNextMarketOpen() is not inclusive, it jumped into the next day and returned the first segment(at 00:00:00) according to the MHDB. However, as we see for the last tests this date returned by GetNextOpenMarket() was wrong, so the date returned by AfterMarketOpen() was also wrong. Here we can see an example of the difference between the logs before and after the changes:
BEFORE

AFTER

As you can see for 06/01/2020 00:00:00 the date AfterMarketOpen() should return should be 06/01/2020 16:30:00, which is the next segment for that day according to MHDB

Related issue

Closes #6189
Motivation and Context

With this change users will have the correct next open market date and they won't get repeated dates
Requires Documentation Change

This change does not require updates to documentation
How Has This Been Tested?

To test GetNextMarketOpen() was working correctly, there where made unit tests asserting cases in which the market opened at midnight or just opened one day of the week and it kept open until Friday. Also, there were made tests to assert this method returned the next segment of the day market schedule if the open market date was the same as the given date.
To test AfterMarketOpen() was working correctly, there was made a test in which for a given set of dates, the method returned the open market dates for each of them, then those dates returned by the method were compared to the expected ones(computed manually) to check they were the same.

Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] Refactor (non-breaking change which improves implementation)
[ ] Performance (non-breaking change which improves performance. Please add associated performance test and results)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Non-functional change (xml comments/documentation/etc)

Checklist:

[x] My code follows the code style of this project.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.
[x] My branch follows the naming convention bug-<issue#>-<description> or feature-<issue#>-<description>

Closing for now in favor of https://github.com/QuantConnect/Lean/pull/6397


Improvement in Log messages for EtagMessageDigestServletFilter.java

Required Information

[x] AEM Version, including Service Packs, Cumulative Fix Packs, etc: 6.5.5
[x] ACS AEM Commons Version: 4.4.2
[x] Reproducible on Latest? yes/no yes

Expected Behavior
Please describe briefly the expected behavior, i.e. when I do X, Y should happen.
When page X is requested and AEM internal redirects the user to Page Y from custom Sling Filter then there should are error message logged for Etag "Can not send ETag header because response is already committed, try to give this filter a higher ranking!" with log.error.
Actual Behavior
When page X is requested and AEM internal redirects the user to Page Y from custom Sling Filter then there should not be error message logged for Etag "Can not send ETag header because response is already committed, try to give this filter a higher ranking!", can be logged as a warning.
Steps to Reproduce

Create a custom sling filter with a lower ranking than https://github.com/Adobe-Consulting-Services/acs-aem-commons/blob/master/bundle/src/main/java/com/adobe/acs/commons/etag/impl/EtagMessageDigestServletFilter.java to redirect the user to another page
Access a page that fulfills custom filter criteria.
Check the error logs.

Links
Error log is defined at
https://github.com/Adobe-Consulting-Services/acs-aem-commons/blob/master/bundle/src/main/java/com/adobe/acs/commons/etag/impl/EtagMessageDigestServletFilter.java#L171

@arunpatidar02 Can you come up with a PR?

@arunpatidar02 Can you come up with a PR?

@kwin it seems I don't have write access, could you please help here?

@arunpatidar02 you would want to make the change as a PR, push it to your Fork, and then PR it from your For the ACS AEM Commons master branch. (all changes must go through PR process)


Invalid content /en/shelley/about/supported-platforms/

Where does the issue occur?
https://testnets.cardano.org/en/shelley/about/supported-platforms/
Describe the issue
"It is also possible to run a testnet node on any platform using a virtual machine or Docker image."
 Hence, the specification of docker images on this page could be rephrased to "...or applicable Docker CPU architecture image"? At least, I advise this until all architectures are supported by Docker images.
Additional context
I tried deploying the amd64 docker image on aarch64, which failed.

Thank you for your feedback, the PR for an update is created and changes will be visible after merging.

Thank you for your feedback, the PR for an update is created and changes will be visible after merging.


Abort a refresh if the previous refresh is still in progress

Also improve the logging in this area. With multiple inverters it was hard to tell which inverter a log message related to sometimes
Fixes: #141

@canton7 can you take a look at the merge conflicts please?

That was painful... There we go!


Add Pesto for pitch estimation

Very new technique. Could prove really good.
https://github.com/SonyCSLParis/pesto

I read a paper on it a while back that interested me too.
I'll give it a shot.

According to the results in the paper, it currently performs worse than crepe, both for clean and noisy vocals. In terms of speed, it seems to be on the same level as rmvpe, but rmvpe is stronger than crepe on average. In addition, the new fcpe is even faster than rmvpe and stronger than crepe. So pesto may not be considered at the moment.
Of course, if you change the dataset for training, the performance may be improved. We will give it a try after the author updates the training code.

Uh, sure.
I'll try a few more to improve result


[FEATURE] Add Performance Comparison to Other Thread Pool Implementations

Add performance comparisons via benchmarks to other thread pool implementations:
Implementations to compare to

[x] https://github.com/bshoshany/thread-pool
~~https://github.com/dkormalev/asynqro~~
QThreadPool
boost::asio::thread_pool
[x] riften::ThiefPool

A note on boost::asio::thread_pool: I tried intergrating boost::asio::static_thread_pool but could not achieve stable results so I have omitted it for now. Over all, dp::thread_pool beat it in most cases anyway.

Would be interesting to see a comparison to my implementation, can I get on the list? :) Don't take it for a shameless plug - mine is extremely similar to yours conceptually, but there are some implementation differences, for example I use condition_variable instead of a semaphore. Would be very curious to see which impl is better.
https://github.com/VioletGiraffe/cpputils/blob/master/threading/cworkerthread.h

Sure thing I can try and include your implementation as well or maybe you can file a PR once I have the basic setup going for comparative benchmarks (right now I only compare to std::async).

Sure, good idea, I would of course do the job of adding my implementation to the bench suite once you have it.

@VioletGiraffe I've finished up the benchmark setup. Feel free to add in your library as a PR

Hi! Can't build the benchmark on my Windows system / MSVC, do you happen to know how to fix it?
CPM: ConorWilliams_ThreadPool: Adding package<EMAIL_ADDRESS>(v1.1.0)
CMake Error at E:/THREAD-POOL/BUILD/_deps/concurrentdeque-src/CMakeLists.txt:30 (add_library):
  add_library INTERFACE library requires no source arguments.

CMake Error at E:/THREAD-POOL/BUILD/_deps/concurrentdeque-src/CMakeLists.txt:32 (target_compile_features):
  Cannot specify compile features for target "RiftenDeque" which is not built
  by this project.

CMake Error at E:/THREAD-POOL/BUILD/_deps/concurrentdeque-src/CMakeLists.txt:35 (target_compile_options):
  Cannot specify compile options for target "RiftenDeque" which is not built
  by this project.

@VioletGiraffe Yeah sometimes things are Cryptic. I wonder what the minimum CMake version is now for this project. I'll have to update it. Thanks for reporting the issue


Unable to access docs on rubydoc.org

Steps to reproduce

Open browser to https://rubydoc.org/gems/yard/frames

Actual Output

Expected Output
Docs?
Environment details:

OS: [MacOS]
Browser: [Chrome and Firefox]
YARD version: [0.9.20]

Back up!


Problem installing Veracrypt in Sierra

Hi, I'm having some trouble trying to install Veracrypt (on macOS Sierra) - I think it might be a permissions problem with /usr/local which is apparently read only in Sierra.
Output below.
$ brew cask install veracrypt
==> Caveats
veracrypt requires osxfuse with "MacFUSE Compatibility Layer" enabled.
If you did not enable that option, veracrypt will fail to install.

To enable the option, you need to install osxfuse manually (double-click the installer).
The installer should be located under /usr/local/Caskroom/osxfuse

==> Satisfying dependencies
==> Installing Cask dependencies: osxfuse
osxfuse ...
already installed
complete
==> Downloading https://download-codeplex.sec.s-msft.com/Download/Release?Projec
Already downloaded: /Users/drawcard/Library/Caches/Homebrew/Cask/veracrypt--1.18a
==> Verifying checksum for Cask veracrypt
==> Running installer for veracrypt; your password may be necessary.
==> Package installers may write to any location; options such as --appdir are i
Password:
==> installer: Error -
Error:   Command failed to execute!

  ==> Failed command:
  ["/usr/bin/sudo", "-E", "--", "/usr/sbin/installer", "-pkg", "#<Pathname:/usr/local/Caskroom/veracrypt/1.18a/VeraCrypt_Installer.pkg>", "-target", "/"]

  ==> Standard Output of failed command:

  ==> Standard Error of failed command:
  installer: Error -

  ==> Exit status of failed command:
  #<Process::Status: pid 59917 exit 1>

You must always follow the reporting bugs guide. When you opened this issue, the template in place urged you to do so and gave you the relevant links.
The template also stated clearly that

if it is apparent you ignored the instructions for reporting issues, your issue may be closed without review.

That seems very much to be the case, here, which is why this was closed.
Again, as the template states (emphasis added)

When the guide isn‘t followed we get the same issues over and over. Having to repeatedly deal with the same solved and documented problems leads to maintainer burnout and a lot of wasted hours that could instead have been spent improving Homebrew-Cask itself and fixing real bugs.

I’ll add it is exhausting, and when maintainers are exhausted, everyone loses.
A lot of work was put into those guides precisely so we can keep things running smoothly.
I ask that you respect our time and efforts and follow the guides.
Also, try installing the app manually (i.e. without homebrew cask) to see if it fails.

Ok, I got the message :) I have resubmitted a bug report: https://github.com/caskroom/homebrew-cask/issues/25040


add a naive TimerHook LinkHook.

This PR adds LinkHook based TimerHook mentioned in #5197.
This does not implement backward support mentioned as optional in the issue.

Do I need to add 'chainer.link_hooks' to setup.py?

Jenkins, test this please.

Jenkins CI test (for commit 82a25b80cc182b395b54540f8a8ac94ac2acc76c, target branch master) succeeded!


LLD: Update Sentry + sampling 100% + more errors filtering

📝 Description

Update Sentry to @sentry/electron 4.0.0
error sampling from 50% to 100%
ignore more cases of errors

❓ Context

Impacted projects: LLD
Linked resource(s): live-3508

✅ Checklist

[ ] Test coverage to test, we need to manual test with this: https://github.com/LedgerHQ/ledger-live/wiki/Manually-Test-Sentry-integration
[x] Atomic delivery
[x] No breaking changes

📸 Demo
I have manually tested this build on Mac OS:

🚀 Expectations to reach
Please make sure you follow these Important Steps.
Pull Requests must pass the CI and be internally validated in order to be merged.

/regen-pods

honestly I have no idea why i needed to regen pods here. maybe someone have an idea?

@valpinkman / @elbywan  : i'm having difficulties understanding why updating only LLD part impacts LLM part. this is a bit a problem because i really only want to update Sentry on LLD. i have a feeling this is due to some sort of dependencies sharing in this mono repo system?

@gre I think it comes from this: patched: true thing in the lockfile.
Maybe someone pushed a lockfile on dev with a previous pnpm version or something similar.
Worst case, there is 0 impact as the only thing which changed is the hash in the path of the native modules.

i'll regen then


[NTR] GTP cyclohydrolase I deficiency

Background: Based on discussion with the ClinGen Aminoacidopathy Gene Curation Expert Panel and ClinGen Lumping and Splitting Working Group chair, the following change is requested.
To best capture the spectrum of disease for GTP I cyclohydrolase deficiency, we propose to have a parent term, “GTP Cyclohydrolase I deficiency” (would need new MONDO ID), with child terms “Dystonia 5” (keeping the current MonDO ID, text definition, and synonyms) and “GTP Cyclohydrolase I deficiency with hyperphenylalaninemia” (MONDO:0009314; updating the term name from “GTP cyclohydrolase I deficiency” and using the current text description and synonyms for MONDO:0009314).
Preferred term label: GTP cyclohydrolase I deficiency. (Would need a new MonDO ID; Note that a change is being requested to the preferred term label for the current entry that is labeled GTP cyclohydrolase I deficiency, see below)
Synonyms GTPCH deficiency
Definition (free text, please give PubMed ID, if applicable, in format PMID:#######)
GTP cyclohydrolase I, which is encoded by GCH1, catalyzes the first reaction, and rate-limiting step, in the biosynthesis of tetrahydrobiopterin (BH4) from GTP. GTP cyclohydolase I deficiency, with the consequent reduction in BH4, reduces the activity of three BH4-cofactor dependent enzymes - phenylalanine hydroxylase, tyrosine hydroxylase, and tryptophan hydroxylase. GTP cyclohydrolase I deficiency encompasses a spectrum of disease that includes autosomal dominant and autosomal recessive forms (PMID:19234759), with severity correlating with the residual enzyme activity. Individuals who are heterozygous for pathogenic variants in GCH1 have symptoms ranging from none (due to reduced penetrance) to dopa-responsive dystonia, which is the most common presentation in symptomatic cases, to rarer neurological presentations such as adult-onset "benign" parkinsonism, various types of focal dystonia, and symptoms simulating cerebral palsy or spastic paraplegia (PMID:19332422). Hyperphenylalaninemia is absent, and patients respond well to treatment with levodopa. Individuals who are homozygous or compound heterozygous for pathogenic variants in GCH1 typically present with hyperphenylalaninemia, often identified by newborn screening, and severe neurological features and due to very low or undetectable enzyme activity. Treatment with levodopa, BH4, and 5-hydroxytryptophan can improve the symptoms but does not prevent development of severe encephalopathy (PMID:22729819). Rare cases of GTP cyclohydrolase I deficiency with a phenotype that is intermediate in severity between dopa-responsive dystonia and the severe autosomal recessive form have also been described, supporting the existence a phenotypic spectrum of disease (PMID:9566389, PMID:9667588, PMID:18044725, PMID:18276179, PMID:20818608, PMID:20842687, PMID:29471552).
Parent term (use OLS, or your favorite ontology browser)  Tetrahydrobiopterin metabolic process disease (MONDO:0045014)
We propose that the above entry would be a parent term for:

“Dystonia 5”, MONDO:0007494 (all details in the current entry remain the same)
AND
“GTP Cyclohydrolase deficiency with hyperphenylalaninemia”, MONDO:0009314. Currently, the term name for MONDO:0009314 is “GTP cyclohydrolase I deficiency”. We propose changing the term label to ““GTP cyclohydrolase I deficiency with hyperphenylalaninemia” and to keep the description and synonyms that are currently used for MONDO:0009314.

We greatly appreciate your consideration of this request and would welcome any feedback.
Attribution: ORCID: 0000-0002-5655-9589
@nicolevasilevsky

@cmungall could I ask for some guidance with this one:
The request is to:

rename the orphanet term to from GTP Cyclohydrolase I deficiency to GTP Cyclohydrolase I deficiency with hyperphenylalaninemi (MONDO:0009314)
and create a new grouping class called GTP Cyclohydrolase I deficiency

and the hierarchy would  be:
GTP Cyclohydrolase I deficiency (new term)
-GTP Cyclohydrolase I deficiency with hyperphenylalaninemia (MONDO:0009314) (OMIM:128230, Orphanet:2102)
-Dystonia 5 (OMIM:128230, Orphanet:98808)
Is this okay?
And if we do this, should I obsolete MONDO:0009314 and create new classes for GTP Cyclohydrolase I deficiency and GTP Cyclohydrolase I deficiency with hyperphenylalaninemia?

I agree with your proposed course of action and the obsoletion, with one modification. The OMIM:128230  should only be equivalenced to a single MONDO, not two. Also let's coordinate with Orphanet to resolve the naming confusion

@ana-rath-orphanet @annieolry @Orphanet
FYI - we renamed Orphanet:2102 to GTP Cyclohydrolase I deficiency with hyperphenylalaninemia in Mondo.


No issues. Badabing Badaboom!

Way to go Kamran! Great work!
Just a quick question...
I thought it would be really cool to blur the background view of the web page... ( kind of like creating the frosted glass effect... ) I tried filter: blur(..px) but that did not do the effect I was after.
What do I need to add to CSS so that as you dim the background, whatever on the background gets that blurry, frosted glass effect? These guys ( https://texascreative.com/blog/frosted-glass-html-css-tweaks ) took it to the next level but it gives you the idea of what I mean by blur.

Thanks Haluk. You may try backdrop-filter: blur(5px) i.e.
#driver-page-overlay {
}

Looks pretty good...  Thanks...
[image: Screen Shot 2020-06-01 at 2.39.32 AM.png]
On Sun, May 31, 2020 at 12:39 PM Kamran Ahmed<EMAIL_ADDRESS>wrote:

Closed #242 https://github.com/kamranahmedse/driver.js/issues/242.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/kamranahmedse/driver.js/issues/242#event-3390451187,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA6X2J6DZRBH5EULHZ5QFVLRUIQWLANCNFSM4NPB6WHQ
.


Implemented swizzle for neon and neon64

This PR is not ready yet, I will rebase it when #649 is merged so it can leverage the tests.
This is mainly for review and discussion.
Rebase done.

@JohanMabille for the formatting part, you need to run
find -name '*.[ch]pp' -exec clang-format -i {} \;

from the top source dir.

@serge-sans-paille I think this is ready to be merged

Now it is ;)

@serge-sans-paille this is now ready.

Thanks for going through this :-)


create-tauri-app for sveltekit is broken

yarn create tauri-app with sveltekit or sveltekit-ts are both failing currently after running yarn install && yarn dev on linux
I believe this may be related to this vite issue  with mismatched plugin and vite  v4.0.0.
The yarn create tauri-app for svelte and svelte-ts are both still working.  I think this may  be fixed by pinning dependency or updating vite/sveltekit dependencies.
$ yarn dev
yarn run v1.22.19
$ vite dev
failed to load config from /vite.config.js
error when starting dev server:
file://node_modules/@sveltejs/kit/src/exports/vite/dev/index.js:6
import { isCSSRequest } from 'vite';
         ^^^^^^^^^^^^
SyntaxError: The requested module 'vite' does not provide an export named 'isCSSRequest'
    at ModuleJob._instantiate (node:internal/modules/esm/module_job:123:21)
    at async ModuleJob.run (node:internal/modules/esm/module_job:189:5)
    at async Promise.all (index 0)
    at async ESMLoader.import (node:internal/modules/esm/loader:533:24)

it's being fixed in https://github.com/tauri-apps/create-tauri-app/pull/257 - thanks for the report

it is failing again

Alright, thanks. There's nothing we can do on our side for you, so try doing the same we did in the PR i linked above: https://github.com/tauri-apps/create-tauri-app/pull/257/files#diff-0b1c6ded4854f21db9e99e347d7c9e15c96dbc8962336cab843024127d7b18ed


[Event Request] Codeunit 5790 Available to Promise - OnBeforeCalcScheduledReceipt

Hi, in the Codeunit 5790 "Available to Promise", in the procedure CalcScheduledReceipt, we would like to add our code instead of the standard code in the procedure. To do so, we would need a IsHangled flag in the already existing event publisher OnBeforeCalcScheduledReceipt, like this :

With this event publisher :

Do you think it could be possible ?
Thank you for your work.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Shouldn't some Object properties be Data properties?

Whenever their range can only be a literal or a number :
U10 has order number
U24 has award (no controlled vocabulary attached)
U41 has catalogue number
U42 has opus number
U43 has opus subnumber
caveat : U41, 42, 43 can have alphanumerical values, e.g. KV 93a, opus 27c, opus 27/c

Yes, all properties that have for value literals (in the RDF sense) should be of type owl:DataProperty (and not owl:ObjectProperty). This seems the case for all the properties you cite above.

What about the meaning behind the value? e.g. regarding the order number, I guess it is ok to say that track nr. 1 in a recording doesn't have any particular meaning :
M24_Track u10_has_order_number "1"
In this case, "1" just means a position in an ordered list.
But when it comes to a musical piece, e.g. Beethoven's Symphony nr.3, the number is an identifier, just as a name : the symphony is known as "Eroica" or as "Symphony nr.3" (among other appellations), therefore "3" is not just a number, it is an appellation. To make things even more complicated, the same musical piece can have various numbers, depending on the musicologists, e.g. the famous "Unfinished Symphony" by Schubert can be either nr. 8 (most common) or nr. 7.
This is the reason why mus:u10_has_order_number is a subproperty of ecrm:p1_is_identified_by.
So, should we have distinct "order number" properties for these distinct cases ?

You love to re-open issues that have been closed :-)

What about the meaning behind the value? e.g. regarding the order number, I guess it is ok to say that track nr. 1 in a recording doesn't have any particular meaning :
M24_Track u10_has_order_number "1"
In this case, "1" just means a position in an ordered list.

A property has always a meaning. In this particular case, we will not create such a property since we say we will use the built-in RDF list construct to number the tracks in a CD, see issue #16.

But when it comes to a musical piece, e.g. Beethoven's Symphony nr.3, the number is an identifier, just as a name : the symphony is known as "Eroica" or as "Symphony nr.3" (among other appellations), therefore "3" is not just a number, it is an appellation.

That's why we say "Literal" in the RDF world. A literal is interpreted as a string. This is the meaning you seem to want to give.

So, should we have distinct "order number" properties for these distinct cases ?

The examples you give do not talk about the same thing, so yes, we need different properties for stating different things. Order of tracks in a CD, or order of performance in a concert, or order of lines in  a program, or ... can be handled with rdf:List. If you want to bring a different notion of order, then, please, define what you mean, show how it is represented in current MARC records, and let's work out which properties are needed to be created or re-used.

You love to re-open issues that have been closed :-)

Hey, I mentioned the ordered list precisely to say that in this case we should use the built-in RDF list, so the idea was not to re-open the issue :smile:
What I wanted to point out was the fact that, contrary to what I thought when I opened this issue (thx to Jean's owl2csv tool btw), the situation is more nuanced.
So far, I would say :
U10 has order number has a meaning of identifier, we should only use it for F2_Expression (F22, F24, M43, ...)
U24 has_award is definitely a literal (but see issue #22 for more on this)
U41, U42, U43 are components of a catalogue or opus statement, they are literals. The identifier is the combination of the catalogue name and the number.

You love to re-open issues that have been closed :-)

To be more explicit on this point, my question is also : how do I model this rdf-list implementation in our schemas. We should tell our people how to map their data with the model. Or should we say that whenever there is a track number this will be dealt with at the implementation level ?

Hello,
Also from my experience from ELI the ontology for legal notices based on
FRBR: after a lot of discussions, we decided to double some properties as
data properties and object properties with a specific suffix to
differentiate both.
We did this for the properties where we find institutions using controlled
vocabularies for a property, and other organisations with no controlled
vocabulary for the same property. It's make it easier to adopt the standard
for institutions which have a lot of text values in their notices and still
want to publish their data. The same idea exists for Schema.org, unlike
schema.org we decided to double the properties to have a clean owl ontology.
Jean
Jean Delahousse
Independent Consultant
Semantic technologies, Linked Open Data
https://fr.linkedin.com/in/jeandelahousse
<EMAIL_ADDRESS><EMAIL_ADDRESS>mob +33 6 01 22 48 55
skype jean.delahousse
2016-09-28 13:43 GMT+02:00 Pierre Choffé<EMAIL_ADDRESS>
You love to re-open issues that have been closed :-)
To be more explicit on this point, my question is also : how do I model
this rdf-list implementation in our schemas. We should tell our people how
to map their data with the model. Or should we say that whenever there is a
track number this will be dealt with at the implementation level ?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/DOREMUS-ANR/doremus-ontology/issues/21#issuecomment-250143754,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AD8ZexPQLiIgOlDJyF1oLegsobB13tlVks5qulLKgaJpZM4KIldU
.

@pierrechoffe I'm glad you're asking for examples since this is what I'm asking in nearly all single messages I'm writing :-) So, if you give me a concrete MARC record and optionally the corresponding DOREMUS schema, I can show you how it will be serialized in turtle following our model.

Or should we say that whenever there is a track number this will be dealt with at the implementation level ?

No, you can represent this in the model, using node and edges labeled rdf:List, rdf:first, rdf:rest, etc.  (see the full specification or alternatively this excellent tutorial).
To come back to "what I understand" is your issue:

U24, U41, U42, U43 are indeed probably owl:DataProperty
U10 is an owl:ObjectProperty ?

I suggest you clarify your terminology when you say "has a meaning of identifier" ... an identifier is a string. Sometimes, you meant a reference to an identifier (in XML, an idref), which is an object.
@delahousse Duplicating properties that can have both a literal value OR a URI (e.g. pointing to a skos:Concept) is a hammer for me. Its only interest is to be kept in the OWL DL world ... but who cares? Having a single property that have both a literal AND a URI as value is possible in RDF, and thus in OWL Full. Actually, this was the decision made by schema.org ... not duplicating properties because they don't care about OWL DL specifically.

I suggest you clarify your terminology when you say "has a meaning of identifier"

Attached below is an Intermarc record of Beethoven's Symphony nr 3 "Eroica". The number can be found in 144$n and the nickname in 444. As it happens, the number is "No 3", so they write the wole string, including the abbreviation "No".
Coming back to your question : a value is a value, so the meaning is in the property, am I right?
Number 3 is just number 3, it can be the order number of a symphony or the number of yogurts left in my fridge. The property gives it a meaning. The property mus:u10_has_order_number is a subproperty of p1_is_identified_by, which implies a certain meaning (if I understand it right). This would not be the case with a DataType Property which would not inherit from any other CRM/FRBRoo property.
Said diferently, inside the conceptual frame of CRM/FRBRoo, a meaning may be (more or less) clear. Concretely, I create a subproperty of p1_is_identified_by and things are meaningful (of course I have to specify things in the scope note), I know that my data is a "Symbolic Object" in the sense of CRM. But when I create a property as DataType, I have no superproperty to cling to (or RDF properties? but how do I connect them together?) and I have a feeling that the coherence is lost. But maybe I am lost :))
My conclusion is that making U10 a DataType Property will make it impossible to understand what "No 3" means in the case of the symphony. It would just be a number in an ordered list, whereas in reality it is the name that the composer (or an editor or a musicologist) gave it.
I hope this is clearer - although I must admit this is still not absolutely clear to me :)
liste de notices complètes 28_09_2016 17_51.pdf

Attached below is an Intermarc record of Beethoven's Symphony nr 3 "Eroica". The number can be found in 144$n and the nickname in 444. As it happens, the number is "No 3", so they write the wole string, including the abbreviation "No".

Is it a recurrent pattern? I.e. will the value of 144$n always be "No " or not? If you say yes, then we might interpret the value of 144$n as a number, while if the value varies in the form, we would be better at interpreting it as a string.

Coming back to your question : a value is a value, so the meaning is in the property, am I right?

Not quite. A value has a type. 3 interpreted as a string "3", or as an integer 3 or as a double 3.0 is not the same thing although the lexical representation of the value will always be 3. The machine will do very different things with it.

The property mus:u10_has_order_number is a subproperty of p1_is_identified_by, which implies a certain meaning (if I understand it right).

This is an interesting example. What do you mean by a certain meaning? By adding this subProperty axiom, you just further constraining the domain and range of this property which means that this property can do a number of additional inferences.

This would not be the case with a DataType Property which would not inherit from any other CRM/FRBRoo property.

Why not? It all depends on how you would define this datatype property, but I'm not sure where you want to go. FRBRoo provides  a useful framework to further refine in the context of DOREMUS, in particular, there is a large number of patterns we can directly re-use or specialize. This does not mean that all classes and properties from DOREMUS should be linked to a FRBRoo entity.

But when I create a property as DataType, I have no superproperty to cling to (or RDF properties? but how do I connect them together?) and I have a feeling that the coherence is lost. But maybe I am lost :))

It seems so. You do not have to cling to any property. This is done by the virtue of the RDF metamodel. Your problem is that you have a top-down approach for modeling things. You feel you need to start with some existing top concepts or properties  to cling new entities. This is a fallacy. Think "bottom up" and just define what you need. All you worries will go. To clarify: if you need a new DOREMUS mus:Uxx property, just create it either by mus:Uxx a owl:DataProperty OR mus:Uxx a owl:ObjectProperty ... add a rdfs:label, notes, descriptions, etc. If you want to add a subPropertyOf axiom to an existing DOREMUS or FRBRoo property, you can ... but you don't have to. Is it clear?

My conclusion is that making U10 a DataType Property will make it impossible to understand what "No 3" means in the case of the symphony. It would just be a number in an ordered list, whereas in reality it is the name that the composer (or an editor or a musicologist) gave it.

No, no, no. Why are you talking about number? "No 3" is a string composed of 3 characters that has to be interpreted as such. You write in the description, usage notes, etc. how this string should be interpreted. The fact that you type this property as an owl:DataProperty just means that the value is a literal. If you would have type U10 has a owl:ObjectProperty, then, the machine would expect that the value to be a URI pointing to a resource (an object if you prefer).

sur les propriétés data property et object property
si on peut faire cela proprement, c'est ok. Dans le cadre d'ELI et pour la
version OWL on n'est pas arrivé à une solution satisfaisante pour déclarer
les ranges des deux aspects de la propriétés, mais je serais content de
voir la solution. Peut etre ne voulions nous pas avoir un OWL Full.
Jean
Jean Delahousse
Independent Consultant
Semantic technologies, Linked Open Data
https://fr.linkedin.com/in/jeandelahousse
<EMAIL_ADDRESS><EMAIL_ADDRESS>mob +33 6 01 22 48 55
skype jean.delahousse
2016-09-28 21:28 GMT+02:00 Raphael Troncy<EMAIL_ADDRESS>
Attached below is an Intermarc record of Beethoven's Symphony nr 3
"Eroica". The number can be found in 144$n and the nickname in 444. As it
happens, the number is "No 3", so they write the wole string, including the
abbreviation "No".
Is it a recurrent pattern? I.e. will the value of 144$n always be "No " or
not? If you say yes, then we might interpret the value of 144$n as a
number, while if the value varies in the form, we would be better at
interpreting it as a string.
Coming back to your question : a value is a value, so the meaning is in
the property, am I right?
Not quite. A value has a type. 3 interpreted as a string "3", or as an
integer 3 or as a double 3.0 is not the same thing although the lexical
representation of the value will always be 3. The machine will do very
different things with it.
The property mus:u10_has_order_number is a subproperty of
p1_is_identified_by, which implies a certain meaning (if I understand it
right).
This is an interesting example. What do you mean by a certain meaning? By
adding this subProperty axiom, you just further constraining the domain and
range of this property which means that this property can do a number of
additional inferences.
This would not be the case with a DataType Property which would not
inherit from any other CRM/FRBRoo property.
Why not? It all depends on how you would define this datatype property,
but I'm not sure where you want to go. FRBRoo provides a useful framework
to further refine in the context of DOREMUS, in particular, there is a
large number of patterns we can directly re-use or specialize. This does
not mean that all classes and properties from DOREMUS should be linked to a
FRBRoo entity.
But when I create a property as DataType, I have no superproperty to cling
to (or RDF properties? but how do I connect them together?) and I have a
feeling that the coherence is lost. But maybe I am lost :))
It seems so. You do not have to cling to any property. This is done by the
virtue of the RDF metamodel. Your problem is that you have a top-down
approach for modeling things. You feel you need to start with some existing
top concepts or properties to cling new entities. This is a fallacy. Think
"bottom up" and just define what you need. All you worries will go. To
clarify: if you need a new DOREMUS mus:Uxx property, just create it
either by mus:Uxx a owl:DataProperty OR mus:Uxx a owl:ObjectProperty ...
add a rdfs:label, notes, descriptions, etc. If you want to add a
subPropertyOf axiom to an existing DOREMUS or FRBRoo property, you can ...
but you don't have to. Is it clear?
My conclusion is that making U10 a DataType Property will make it
impossible to understand what "No 3" means in the case of the symphony. It
would just be a number in an ordered list, whereas in reality it is the
name that the composer (or an editor or a musicologist) gave it.
No, no, no. Why are you talking about number? "No 3" is a string composed
of 3 characters that has to be interpreted as such. You write in the
description, usage notes, etc. how this string should be interpreted. The
fact that you type this property as an owl:DataProperty just means that
the value is a literal. If you would have type U10 has a
owl:ObjectProperty, then, the machine would expect that the value to be a
URI pointing to a resource (an object if you prefer).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/DOREMUS-ANR/doremus-ontology/issues/21#issuecomment-250273268,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AD8Ze8sW9fhjD-tZFx9XakTtDR5FcTG8ks5qur_YgaJpZM4KIldU
.

Think "bottom up" and just define what you need. All you worries will go.

OK thanks! Now, with great power comes great responsibility, so watch out :smile:

Is it a recurrent pattern? I.e. will the value of 144$n always be "No digit" or not? If you say yes, then we might interpret the value of 144$n as a number, while if the value varies in the form, we would be better at interpreting it as a string.

Yes it is a recurrent pattern at BnF. The rule is "type in 'No', then space, then number". So this is a string but we can easily extract the number and make it an integer.

So this is a string but we can easily extract the number and make it an integer.

Yes, we can. However, the decision criteria is not what we can do, but the meaning we want to give for this value. In this case, you're arguing that this value is not really a number but a name that the composer (or an editor or a musicologist) wants to give.

@rtroncy Can we discuss this point in Montpellier? So far M10_Order_Number is a subclass of E41_Appellation, based on a discussion with Patrick. But now, I would argue the appellation is "Symphonie No 3" , not "3". The number is just a number (i'm not talking about formats), the appellation is a combination of concepts (in this case, the Genre) ordered into a list, in which this symphony happens to be the third.
So the appellation "symphony No 3" will be one of the titles and "3" is just an information for whoever would like to make requests based on it. It may be a handy way to list Beethoven's symphonies also.
But let us talk further.

Having a single property that have both a literal AND a URI as value is possible in RDF

@rtroncy Our MOPs are to be found in controlled vocabularies, therefore mus:u1_has_medium_of_performance is an Object Property, but what happens if we have a mop so rare that it is not in our cv ? You said this is possible to have both a literal and a URI value, how do we do this ? Practically speaking, how do I treat such properties (that can have both types) in Protégé : as data properties or object properties ? Thx

@rtroncy Can we discuss this point in Montpellier?

Sure ! If I understand your reasoning, you want to further structure the value of the E41_Appelation into a genre and a number and you're confident that this will be a systematic pattern worth to implement? I have yet to be convinced of what will be the added value.

You said this is possible to have both a literal and a URI value, how do we do this ?

I will try to not make a tautological answer but you just do it. On a concrete example this means:
<http://data.doremus.org/performance/1234>
    mus:U1_has_medium_of_performance <http://iflastandards.info/ns/unimarc/terms/mop/kfp>
<http://data.doremus.org/performance/5678>
    mus:U1_has_medium_of_performance "An unknown instrument"@en

The practical consequence is that the mus:U1_used_medium_of_performance should not be declared as an owl:ObjectProperty but as a rdf:Property. The relationship with the property ecrm:P125 might be unnecessary.

Practically speaking, how do I treat such properties (that can have both types) in Protégé : as data properties or object properties ?

None. As rdf:Property.
Your Google spreadsheet needs to be reworked. Avoid to have as possible value a string and a date. Make a choice or create two distinct properties. Dates refer to a mathematical construction in which you have a TRS (temporal reference system) and mathematical operators even if dates can be fuzzy (e.g. circa.). On the contrary, named period (e.g. Renaissance) are human construction that are culture dependent. In this particular case, it makes sense to have two properties for differentiating the two.
Regarding the general case where we expect a SKOS concept as value of a property, yes, we cannot guarantee that the scheme will be exhaustive, but enabling literal as value is a false solution. An alternative is to simply have a placeholder 'other' in the scheme for those values.

pour répondre au retour de Pierre  "Je crois qu’on a dit cela à propos de M10_Catalogue_Name car en effet cela renvoit au référentiel des catalogues. Par contre je ne crois pas qu’on ait répondu cela à propos de M11_Catalogue_Number car le “numéro” de catalogue est et ne peut être qu’une chaîne de caractères alphanumériques."
I need a list of the classes we should keep as range for object properties,
and a list of classes of the conceptual model we should not declare in the owl model as the property using them as range in the conceptual model will be declared as data property in the owl.
I would report this in the owl ontology.
@pierre : could you do this list ? or could we have a conf call to do it together ?
Jean

After reading this thread again, I made numerous changes to fix this issue, see the commits https://github.com/DOREMUS-ANR/doremus-ontology/commit/ab75272477986275f26004d39330bf32105ac3bf, https://github.com/DOREMUS-ANR/doremus-ontology/commit/f69d2b257f0144571d4acd6f8f268b873dcceefb, https://github.com/DOREMUS-ANR/doremus-ontology/commit/f471b48eabb355aa4a03125f8effd9a61d948847, https://github.com/DOREMUS-ANR/doremus-ontology/commit/e052ed2d7cf7c25e970cad45626d3f8a8797b607, https://github.com/DOREMUS-ANR/doremus-ontology/commit/ddc9b0ba1eb37d9eab533df9cd8e13ebfc75791f, https://github.com/DOREMUS-ANR/doremus-ontology/commit/3c9eff5cb1969b9b0b79a38604d96e1118b7f323 and https://github.com/DOREMUS-ANR/doremus-ontology/commit/6bd02e30c9367e6d062947f11877123e0f04d60c


fix an AsciiDoc inline code block

needed to use "unconstrained formatting pair" since there was no space after the closing backtick (see https://docs.asciidoctor.org/asciidoc/latest/text/#unconstrained)

Merged, nice catch.


NPM: fix security update for indirect and direct dependencies

What are you trying to accomplish?
When a security update is run and the project has the vulnerability as both a direct dependency, and indirect dependency of other top-level dependencies, Dependabot only fixes the top-level dependency.
By using the audit's abilities during the lowest_security_fix_version check we can return nil to force a full unlock.
Also made a slight modification to return audit results more often when doing a security update.
Anything you want to highlight for special attention from reviewers?

How will you know you've accomplished your goal?
I have a real-world test here: https://github.com/dsp-testing/npm-multiple-top-level-ancestors
The PR created should remove all instances of the vulnerable lodash.

Checklist

[x] I have run the complete test suite to ensure all tests and linters pass.
[x] I have thoroughly tested my code changes to ensure they work as expected, including adding additional tests for new functionality.
[x] I have written clear and descriptive commit messages.
[x] I have provided a detailed description of the changes in the pull request, including the problem it addresses, how it fixes the problem, and any relevant details about the implementation.
[x] I have ensured that the code is well-documented and easy to understand.

Verified it bumps the top-level and the parent of a transient dependency: https://github.com/dsp-testing/npm-multiple-top-level-ancestors/pull/1