Added kube-state-metrics app

Signed-off-by: kadern0<EMAIL_ADDRESS>
Added kube-state-metrics app
Description

New app
Motivation and Context

Fixes #11

[ ] I have raised an issue to propose this change (required)

How Has This Been Tested?

./arkade install kube-state-metrics --helm3=true --wait
Using kubeconfig: /home/kaderno/.kube/config
Node architecture: "amd64"
Using helm3
Client: "x86_64", "Linux"
2020/04/05 19:39:10 User dir established as: /home/kaderno/.arkade/
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "arm-stable" chart repository
...Successfully got an update from the "inlets" chart repository
...Successfully got an update from the "traefik" chart repository
...Successfully got an update from the "openfaas" chart repository
...Successfully got an update from the "jetstack" chart repository
...Successfully got an update from the "stable" chart repository
...Successfully got an update from the "bitnami-redis" chart repository
Update Complete. ⎈ Happy Helming!⎈
Chart path:  /tmp/charts
VALUES values.yaml
Command: /home/kaderno/.arkade/bin/helm3/helm [upgrade --install kube-state-metrics stable/kube-state-metrics --namespace kube-system --wait --values /tmp/charts/kube-state-metrics/values.yaml]
Release "kube-state-metrics" has been upgraded. Happy Helming!
NAME: kube-state-metrics
LAST DEPLOYED: Sun Apr  5 19:39:18 2020
NAMESPACE: kube-system
STATUS: deployed
REVISION: 4
TEST SUITE: None
NOTES:
kube-state-metrics is a simple service that listens to the Kubernetes API server and generates metrics about the state of the objects.
The exposed metrics can be found here:
https://github.com/kubernetes/kube-state-metrics/blob/master/docs/README.md#exposed-metrics

The metrics are exported on the HTTP endpoint /metrics on the listening port.
In your case, kube-state-metrics.kube-system.svc.cluster.local:8080/metrics

They are served either as plaintext or protobuf depending on the Accept header.
They are designed to be consumed either by Prometheus itself or by a scraper that is compatible with scraping a Prometheus client endpoint.
=======================================================================
= kube-state-metrics has been installed.                                  =
=======================================================================
# Port-forward

kubectl port-forward -n kube-system service/kube-state-metrics 9000:8080 & http://localhost:9000/metrics

# Find out more at:
# https://github.com/kubernetes/kube-state-metrics

Thanks for using arkade!

 ./arkade install kube-state-metrics --helm3=true
Using kubeconfig: /home/kaderno/.kube/config
Node architecture: "amd64"
Using helm3
Client: "x86_64", "Linux"
2020/04/05 19:38:48 User dir established as: /home/kaderno/.arkade/
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "arm-stable" chart repository
...Successfully got an update from the "inlets" chart repository
...Successfully got an update from the "traefik" chart repository
...Successfully got an update from the "openfaas" chart repository
...Successfully got an update from the "jetstack" chart repository
...Successfully got an update from the "stable" chart repository
...Successfully got an update from the "bitnami-redis" chart repository
Update Complete. ⎈ Happy Helming!⎈
Chart path:  /tmp/charts
VALUES values.yaml
Command: /home/kaderno/.arkade/bin/helm3/helm [upgrade --install kube-state-metrics stable/kube-state-metrics --namespace kube-system --values /tmp/charts/kube-state-metrics/values.yaml]
Release "kube-state-metrics" has been upgraded. Happy Helming!
NAME: kube-state-metrics
LAST DEPLOYED: Sun Apr  5 19:38:55 2020
NAMESPACE: kube-system
STATUS: deployed
REVISION: 3
TEST SUITE: None
NOTES:
kube-state-metrics is a simple service that listens to the Kubernetes API server and generates metrics about the state of the objects.
The exposed metrics can be found here:
https://github.com/kubernetes/kube-state-metrics/blob/master/docs/README.md#exposed-metrics

The metrics are exported on the HTTP endpoint /metrics on the listening port.
In your case, kube-state-metrics.kube-system.svc.cluster.local:8080/metrics

They are served either as plaintext or protobuf depending on the Accept header.
They are designed to be consumed either by Prometheus itself or by a scraper that is compatible with scraping a Prometheus client endpoint.
=======================================================================
= kube-state-metrics has been installed.                                  =
=======================================================================
# Port-forward

kubectl port-forward -n kube-system service/kube-state-metrics 9000:8080 & http://localhost:9000/metrics

# Find out more at:
# https://github.com/kubernetes/kube-state-metrics

Thanks for using arkade!
kaderno@kaderno-XPS-13-9360:~/go/src/github.com/alexellis/arkade$ kubectl get svc -n kube-system
NAME                 TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)         AGE
kube-dns             ClusterIP   <IP_ADDRESS>    <none>        53/UDP,53/TCP   42d
kube-state-metrics   ClusterIP   <IP_ADDRESS>   <none>        8080/TCP        34s
metrics-server       ClusterIP   <IP_ADDRESS>   <none>        443/TCP         14d

Override values seem to be working too:
 ./arkade install kube-state-metrics --namespace default --helm3=true --set replicas=2
Using kubeconfig: /home/kaderno/.kube/config
Node architecture: "amd64"
Using helm3
Client: "x86_64", "Linux"
2020/04/05 19:51:09 User dir established as: /home/kaderno/.arkade/
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "inlets" chart repository
...Successfully got an update from the "arm-stable" chart repository
...Successfully got an update from the "traefik" chart repository
...Successfully got an update from the "openfaas" chart repository
...Successfully got an update from the "jetstack" chart repository
...Successfully got an update from the "stable" chart repository
...Successfully got an update from the "bitnami-redis" chart repository
Update Complete. ⎈ Happy Helming!⎈
Chart path:  /tmp/charts
VALUES values.yaml
Command: /home/kaderno/.arkade/bin/helm3/helm [upgrade --install kube-state-metrics stable/kube-state-metrics --namespace default --values /tmp/charts/kube-state-metrics/values.yaml --set replicas=2]
Release "kube-state-metrics" has been upgraded. Happy Helming!
NAME: kube-state-metrics
LAST DEPLOYED: Sun Apr  5 19:51:17 2020
NAMESPACE: default
STATUS: deployed
REVISION: 3
TEST SUITE: None
NOTES:
kube-state-metrics is a simple service that listens to the Kubernetes API server and generates metrics about the state of the objects.
The exposed metrics can be found here:
https://github.com/kubernetes/kube-state-metrics/blob/master/docs/README.md#exposed-metrics

The metrics are exported on the HTTP endpoint /metrics on the listening port.
In your case, kube-state-metrics.default.svc.cluster.local:8080/metrics

They are served either as plaintext or protobuf depending on the Accept header.
They are designed to be consumed either by Prometheus itself or by a scraper that is compatible with scraping a Prometheus client endpoint.
=======================================================================
= kube-state-metrics has been installed.                                  =
=======================================================================
# Port-forward

kubectl port-forward -n default service/kube-state-metrics 9000:8080 & http://localhost:9000/metrics

# Find out more at:
# https://github.com/kubernetes/kube-state-metrics

Thanks for using arkade!
kaderno@kaderno-XPS-13-9360:~/go/src/github.com/alexellis/arkade$ kubectl get pods
NAME                                             READY   STATUS              RESTARTS   AGE
kube-state-metrics-6f74d9898c-kqw4x              0/1     ContainerCreating   0          5s
kube-state-metrics-6f74d9898c-xml4s              0/1     Running             0          5s

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[X] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[X] I've read the CONTRIBUTION guide
[X] I have signed-off my commits with git commit -s
[ ] I have added tests to cover my changes.
[X] All new and existing tests passed.

[X] I have tested this on arm, or have added code to prevent deployment

Thanks for this. I guess we could break up the text in the info message to not go over 80 characters? Using \?

Thanks for this. I guess we could break up the text in the info message to not go over 80 characters? Using \?

Sorry, I didn't realize. Usually Emacs does this for me automatically so I didn't even look. Feel free to break the line (or edit the message if you feel it can be improved :) ).

here:
kubectl port-forward -n kube-system service/kube-state-metrics 9000:8080 & http://localhost:9000/metrics

Write:
kubectl port-forward -n kube-system \
service/kube-state-metrics 9000:8080 & http://localhost:9000/metrics

To be fair, there seems to be some text that is on the wrong line too.
It should be:
kubectl port-forward -n kube-system service/kube-state-metrics 9000:8080 &

# Then access via:
http://localhost:9000/metrics


Title and Description blocks

@nileshgulia1

@silviubogan I would love to look into test part, let me know if you haven't already started to work on it.

I am already working on it. Thanks.


update if statement to handle eth and erec20

This PR handles the #459 issue relating to the funding of sub daos. The issue - subdao proposals could not be created with subdaofunding. The reason for this error was created when checking if Ethereum was == address.zero - ethereum is not address.zero - it is an empty string.

@christopherdancy can you please address my comments/questions, and resolve the conflict, so we can get this PR merged? Thanks!

My apologies for the delay @adamgall. My day was packed yesterday - along with trying to get this other sprint completed. It is tough to go back. Reviewing now.

@christopherdancy can you fix the conflicts? (rebase on develop)


Fixed unit tests for dokany 1.0.0-RC4

Adapted unit tests in DokanNet.Tests to behavioural changes in dokany 1.0.0-RC4

Hi @Liryna,
I've finally gotten around to fixing the DokanNet.Tests suite for dokany 1.0.0-RC4. They are now back to a perfect record in both my local test execution and AppVeyor build.
I have not squashed the individual commits yet - maybe you could to that while merging the PR. A single comment along the lines of the PR title should suffice IMHO.
When I say "perfect record" I mean the previously existing .NET 4.0-based version of DokanNet. I tried referencing the .NET 4.6-based version from my test suite and all hell broke loose.
One problem seems to be a change in sync/async file mode handling.
Has the 4.6 variant been tested at all?

Hi @viciousviper !
Thank you for the fixies :heart:  ! I will try to merge the missing changes from your PR into the master in a single commit as you said.
About .NET 4.6, I didn't test to say the truth :smile: I was thinking it would change nothing but I am going to test it now !

@viciousviper Strange that it not working for the .NET 4.6 version.
I have successfully run all unit tests (before this PR), and test with both DokanNetMirror and RegistryFS.
What is the problems you see?

@magol haven't had time so far to dig deeper into matters. I just very briefly changed the assembly ref to the .NET 4.6 variant and got about 10 errors in FileInfoTests citing something like an invalid stream operation due to the async state of the file handle.

I have try to run the tests from the PR on my machine, and I get the same result both for .NET 4.0 and .NET 4.6
But to be able to run the tests, I have to use MockBehavior.Loose instead of MockBehavior.Strict
And I still get 10 failed tests.

CopyTo_WhereSourceIsEmpty_CallsApiCorrectly

FileInfoTests.cs : line 251
Test Outcome:	Failed
Test Duration:	0:00:00,0417389
Result StackTrace:
at Moq.Mock.Verify()
at DokanNet.Tests.DokanOperationsFixture.Verify() in DokanOperationsFixture.cs:line 1397
at DokanNet.Tests.FileInfoTests.CopyTo_WhereSourceIsEmpty_CallsApiCorrectly() in FileInfoTests.cs:line 275
Result Message:
Test method DokanNet.Tests.FileInfoTests.CopyTo_WhereSourceIsEmpty_CallsApiCorrectly threw exception:
Moq.MockVerificationException: The following setups were not matched:
IDokanOperations d => d.CreateFile("\DestinationFile.txe", FileAccess.ReadData, WriteData, AppendData, ReadExtendedAttributes, WriteExtendedAttributes, ReadAttributes, WriteAttributes, Delete, ReadPermissions, ChangePermissions, Synchronize, FileShare.None, FileMode.CreateNew, FileOptions.SequentialScan, FileAttributes.Normal, It.Is(i => i.IsDirectory == False))
IDokanOperations d => d.CloseFile("\DestinationFile.txe", It.Is(i => (i.Context == null && i.IsDirectory == False) && i.DeleteOnClose == False))

CopyTo_WhereSourceIsLargeFile_CallsApiCorrectly

Test Source:	FileInfoTests.cs : line 323
Test Outcome:	Failed
Test Duration:	0:00:00,4455842
Result StackTrace:
at lambda_method(Closure )
--- End of inner exception stack trace ---
at Moq.Mock.Verify()
at DokanNet.Tests.DokanOperationsFixture.Verify() in DokanOperationsFixture.cs:line 1397
at DokanNet.Tests.FileInfoTests.CopyTo_WhereSourceIsLargeFile_CallsApiCorrectly() in FileInfoTests.cs:line 358
Result Message:
Test method DokanNet.Tests.FileInfoTests.CopyTo_WhereSourceIsLargeFile_CallsApiCorrectly threw exception:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.IndexOutOfRangeException: Index was outside the bounds of the array.

CopyTo_WhereSourceIsNonEmpty_CallsApiCorrectly

Test Source:	FileInfoTests.cs : line 282
Test Outcome:	Failed
Test Duration:	0:00:00,0375617
Result StackTrace:
at Moq.Mock.Verify()
at DokanNet.Tests.DokanOperationsFixture.Verify() in DokanOperationsFixture.cs:line 1397
at DokanNet.Tests.FileInfoTests.CopyTo_WhereSourceIsNonEmpty_CallsApiCorrectly() in FileInfoTests.cs:line 317
Result Message:
Test method DokanNet.Tests.FileInfoTests.CopyTo_WhereSourceIsNonEmpty_CallsApiCorrectly threw exception:
Moq.MockVerificationException: The following setups were not matched:
IDokanOperations d => d.CreateFile("\DestinationFile.txe", FileAccess.ReadData, WriteData, AppendData, ReadExtendedAttributes, WriteExtendedAttributes, ReadAttributes, WriteAttributes, Delete, ReadPermissions, ChangePermissions, Synchronize, FileShare.None, FileMode.CreateNew, FileOptions.SequentialScan, FileAttributes.Normal, It.Is(i => i.IsDirectory == False))

GetFileSystemInfos_OnRootDirectory_WhereSearchOptionIsAllDirectories_CallsApiCorrectly

Test Source:	DirectoryInfoTest.cs : line 925
Test Outcome:	Failed
Test Duration:	0:00:00,1610379
Result1 Name:	GetFileSystemInfos_OnRootDirectory_WhereSearchOptionIsAllDirectories_CallsApiCorrectly (Data Row 0)
Result1 Outcome:	Failed
Result1 Duration:	0:00:00,0931301
Result1 StackTrace:
at DokanNet.Tests.DokanOperationsFixture.PrepareVerify() in DokanOperationsFixture.cs:line 1381
at DokanNet.Tests.DokanOperationsFixture.Verify() in DokanOperationsFixture.cs:line 1395
at DokanNet.Tests.DirectoryInfoTest.GetFileSystemInfos_OnRootDirectory_WhereSearchOptionIsAllDirectories_CallsApiCorrectly() in DirectoryInfoTest.cs:line 967
Result1 Message:
Test method DokanNet.Tests.DirectoryInfoTest.GetFileSystemInfos_OnRootDirectory_WhereSearchOptionIsAllDirectories_CallsApiCorrectly threw exception:
System.InvalidOperationException: Negative pending files count
Result2 Name:	GetFileSystemInfos_OnRootDirectory_WhereSearchOptionIsAllDirectories_CallsApiCorrectly (Data Row 1)
Result2 Outcome:	Failed
Result2 Duration:	0:00:00,0679078
Result2 StackTrace:
at DokanNet.Tests.DokanOperationsFixture.PrepareVerify() in DokanOperationsFixture.cs:line 1381
at DokanNet.Tests.DokanOperationsFixture.Verify() in DokanOperationsFixture.cs:line 1395
at DokanNet.Tests.DirectoryInfoTest.GetFileSystemInfos_OnRootDirectory_WhereSearchOptionIsAllDirectories_CallsApiCorrectly() in DirectoryInfoTest.cs:line 967
Result2 Message:
Test method DokanNet.Tests.DirectoryInfoTest.GetFileSystemInfos_OnRootDirectory_WhereSearchOptionIsAllDirectories_CallsApiCorrectly threw exception:
System.InvalidOperationException: Negative pending files count

MoveTo_WhereParentIsDirectory_CallsApiCorrectly

Test Source:	DirectoryInfoTest.cs : line 1003
Test Outcome:	Failed
Test Duration:	0:00:00,0424665
Result StackTrace:
at DokanNet.Tests.DokanOperationsFixture.PrepareVerify() in DokanOperationsFixture.cs:line 1386
at DokanNet.Tests.DokanOperationsFixture.Verify() in DokanOperationsFixture.cs:line 1395
at DokanNet.Tests.DirectoryInfoTest.MoveTo_WhereParentIsDirectory_CallsApiCorrectly() in DirectoryInfoTest.cs:line 1027
Result Message:
Test method DokanNet.Tests.DirectoryInfoTest.MoveTo_WhereParentIsDirectory_CallsApiCorrectly threw exception:
System.TimeoutException: Cleanup wait cycles exceeded

MoveTo_WhereParentIsDirectory_CallsApiCorrectly

Test Source:	FileInfoTests.cs : line 564
Test Outcome:	Failed
Test Duration:	0:00:00,037551
Result StackTrace:
at Moq.Mock.Verify()
at DokanNet.Tests.DokanOperationsFixture.Verify() in DokanOperationsFixture.cs:line 1397
at DokanNet.Tests.FileInfoTests.MoveTo_WhereParentIsDirectory_CallsApiCorrectly() in FileInfoTests.cs:line 589
Result Message:
Test method DokanNet.Tests.FileInfoTests.MoveTo_WhereParentIsDirectory_CallsApiCorrectly threw exception:
Moq.MockVerificationException: The following setups were not matched:
IDokanOperations d => d.CreateFile("\DestinationDir\DestinationFile.txe", FileAccess.WriteData, Synchronize, FileShare.ReadWrite, FileMode.Open, FileOptions.None, FileAttributes.0, It.Is(i => i.IsDirectory == False))

MoveTo_WhereParentIsRoot_CallsApiCorrectly

Test Source:	DirectoryInfoTest.cs : line 974
Test Outcome:	Failed
Test Duration:	0:00:00,0463552
Result StackTrace:
at Moq.Mock.Verify()
at DokanNet.Tests.DokanOperationsFixture.Verify() in DokanOperationsFixture.cs:line 1397
at DokanNet.Tests.DirectoryInfoTest.MoveTo_WhereParentIsRoot_CallsApiCorrectly() in DirectoryInfoTest.cs:line 996
Result Message:
Test method DokanNet.Tests.DirectoryInfoTest.MoveTo_WhereParentIsRoot_CallsApiCorrectly threw exception:
Moq.MockVerificationException: The following setups were not matched:
IDokanOperations d => d.CreateFile("\DestinationDir", FileAccess.AppendData, Synchronize, FileShare.ReadWrite, FileMode.Open, FileOptions.None, FileAttributes.0, It.Is(i => i.IsDirectory == False))
IDokanOperations d => d.CreateFile("", FileAccess.AppendData, Synchronize, FileShare.ReadWrite, FileMode.Open, FileOptions.None, FileAttributes.0, It.Is(i => i.IsDirectory))

MoveTo_WhereParentIsRoot_CallsApiCorrectly

Test Source:	FileInfoTests.cs : line 534
Test Outcome:	Failed
Test Duration:	0:00:00,0405704
Result StackTrace:
at Moq.Mock.Verify()
at DokanNet.Tests.DokanOperationsFixture.Verify() in DokanOperationsFixture.cs:line 1397
at DokanNet.Tests.FileInfoTests.MoveTo_WhereParentIsRoot_CallsApiCorrectly() in FileInfoTests.cs:line 557
Result Message:
Test method DokanNet.Tests.FileInfoTests.MoveTo_WhereParentIsRoot_CallsApiCorrectly threw exception:
Moq.MockVerificationException: The following setups were not matched:
IDokanOperations d => d.CreateFile("\DestinationFile.txe", FileAccess.WriteData, Synchronize, FileShare.ReadWrite, FileMode.Open, FileOptions.None, FileAttributes.0, It.Is(i => i.IsDirectory == False))
IDokanOperations d => d.CreateFile("", FileAccess.WriteData, Synchronize, FileShare.ReadWrite, FileMode.Open, FileOptions.None, FileAttributes.0, It.Is(i => i.IsDirectory))

Replace_WhereParentIsDirectory_CallsApiCorrectly

Test Source:	FileInfoTests.cs : line 1522
Test Outcome:	Failed
Test Duration:	0:00:00,0813051
Result StackTrace:
at DokanNet.Tests.DokanOperationsFixture.PrepareVerify() in DokanOperationsFixture.cs:line 1381
at DokanNet.Tests.DokanOperationsFixture.Verify() in DokanOperationsFixture.cs:line 1395
at DokanNet.Tests.FileInfoTests.Replace_WhereParentIsDirectory_CallsApiCorrectly() in FileInfoTests.cs:line 1558
Result Message:
Test method DokanNet.Tests.FileInfoTests.Replace_WhereParentIsDirectory_CallsApiCorrectly threw exception:
System.InvalidOperationException: Negative pending files count

Replace_WhereParentIsRoot_CallsApiCorrectly

Test Source:	FileInfoTests.cs : line 1482
Test Outcome:	Failed
Test Duration:	0:00:00,0785214
Result StackTrace:
at DokanNet.Tests.DokanOperationsFixture.PrepareVerify() in DokanOperationsFixture.cs:line 1381
at DokanNet.Tests.DokanOperationsFixture.Verify() in DokanOperationsFixture.cs:line 1395
at DokanNet.Tests.FileInfoTests.Replace_WhereParentIsRoot_CallsApiCorrectly() in FileInfoTests.cs:line 1515
Result Message:
Test method DokanNet.Tests.FileInfoTests.Replace_WhereParentIsRoot_CallsApiCorrectly threw exception:
System.InvalidOperationException: Negative pending files count

@magol This hints at a deeper problem in your machine configuration - the behaviour of the underlying dokany driver does not match with the expectations of the test suite.
Disabling MockBehavior.Strict kinda defeats the purpose of the test suite - namely to capture each and every API call and to detect any missing, surplus, or differently parameterized API calls.
Seeing how the latest AppVeyour tests ran fine I'd first ask you to check precisely which version of dokany you are using. There have been significant changes between 1.0.0-RC3 and 1.0.0-RC4 where the exact sequence of calls is concerned.

@magol Another possibility would be that your test configuration is set to use x86 instead of x64 - please check under VS2015 menu Test/Test configuration/Default processor architecture.

Ahhh! I did have RC3 installed, so I have now updated to RC4.
I have also set the Default processor architecture to x64 and reset to MockBehavior.Strict
But, it do not fix my problems. I now have 54 failed tests when I test the .NET 4.0 version :-(

@magol Using the NETWORK_DRIVE setting or not?

@viciousviper  No, I do not use NETWORK_DRIVE

@viciousviper I have try to merge the changes but I got totally lost in what should be changed and what should not :disappointed: do you think you can move your changes to a clean history ? :heart:
About 4.6 test, I tried to move the mirror to 4.6 and reference the dokannet4.6 but I cannot build:
1>C:\Project\dokan-dotnet\sample\DokanNetMirror\Mirror.cs(50,26,50,37): error CS0012: The type 'FormattableString' is defined in an assembly that is not referenced. You must add a reference to assembly 'StringInterpolationBridge, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=761dcf67ba0bf74d'.
1>C:\Project\dokan-dotnet\sample\DokanNetMirror\Mirror.cs(62,17,62,28): error CS0012: The type 'FormattableString' is defined in an assembly that is not referenced. You must add a reference to assembly 'StringInterpolationBridge, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=761dcf67ba0bf74d'.
1>C:\Project\dokan-dotnet\sample\DokanNetMirror\Mirror.cs(234,35,234,46): error CS0012: The type 'FormattableString' is defined in an assembly that is not referenced. You must add a reference to assembly 'StringInterpolationBridge, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=761dcf67ba0bf74d'.
1>C:\Project\dokan-dotnet\sample\DokanNetMirror\Mirror.cs(258,35,258,46): error CS0012: The type 'FormattableString' is defined in an assembly that is not referenced. You must add a reference to assembly 'StringInterpolationBridge, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=761dcf67ba0bf74d'.

That's strange :cry:

@Liryna I got that errors to before I removed packages.config in DokanNetMirror. In packages.config it is a reference to "StringInterpolationBridgeStrong" that contains FormattableString. But FormattableString already exists in .NET 4.6, and it become a conflict.
So simply remove packages.config, and the project should compile and run as expected (it works for me)

@magol :+1: it worked, I also had to directly target the dokannet dll and not the project 4.6.

@Liryna Grate that it works :-)
But, strange that you cannot reference to the 4.6 project. I do reference to the project, and it works for me.
Something to consider if we maybe also should have double sets of DokanNetMirror and DokanNet.Tests, one for .NET 4.0 and .NET 4.6. It might be a value to run the tests against both environments, even if it is exactly the same code
The downside is that everything becomes more complicated, and it takes longer to run the tests. But it is foolish not to have tests for everything.


selinux PR review update

Followup on https://github.com/testcontainers/testcontainers-java/pull/6294

PR review done
Updated branch to latest testcontainers-java

Commits in total:

Use shared selinux context for filesystem binds (6294)
Update condition (6294)
Fix test (6294)
Fix format (6294)
Review feedback: only needs to mount on READ_WRITE access (new)
Update branch (new)

Update from our side: we can achieve the same result by using the local compose. Still this might be an addition to the code base, but for us the added value has vanished. Maybe for @monosul it still adds value.


left / right arrow keys delete / undelete instead of move cursor

either that or any text after the cursor is hidden

Seems fixed. Closing for now, feel free to reopen if relevant.


Scaleway

Hello,
I want to know if this program work in arm processor ? I have see some server on scalway : https://www.scaleway.com/
But I don't know if it's work ;)
Best regard.
Lesnox

If you can run Docker on it, then yes, it will work.
-- ab1
On 18 January 2016 at 20:06, lesnox<EMAIL_ADDRESS>wrote:

Hello,
I want to know if this program work in arm processor ? I have see some
server on scalway : https://wwwscalewaycom/
But I don't know if it's work ;)
Best regard
Lesnox
—
Reply to this email directly or view it on GitHub
https://github.com/ab77/netflix-proxy/issues/55.

I will test the next month ;)

Isn't Scaleway out of a French data center?

Yes it's on Paris :)
Envoyé de mon iPhone

Le 30 janv. 2016 à 11:00, Shawn Hwei<EMAIL_ADDRESS>a écrit :
Isn't Scaleway out of a French data center?
—
Reply to this email directly or view it on GitHub.


no module named 'mmdet.distillation'

using 'pip install mmdet==2.11.0' leads to a ModuleNotFoundError. Path error? I have distillation under mmdet.

This is because you did not properly configure mmdetection. You can go to the source repo of mmdet for help. I can only help you solve the problem about FGD.


feat(examples): Add URL Shortener Smart Function

Pull Request: Add URL Shortener Smart Function
Description
This PR introduces a new URL shortener smart function using the JSTZ framework. The smart function allows users to shorten URLs and retrieve the original URLs using the shortened versions. It leverages the JSTZ key-value store (Kv) for storing URL mappings and provides a simple HTTP interface for interacting with the function.
Changes Included

URL Shortener Smart Function Implementation:

index.ts: The main implementation of the smart function which includes:

A utility function generateShortCode to create a unique short code for each URL.
A function shortenUrl to store the original URL with a generated short code.
A function getOriginalUrl to retrieve the original URL using the short code.
A handler function to process HTTP requests for shortening URLs and redirecting to original URLs.

Setup and Configuration:

TypeScript configuration (tsconfig.json) for compiling TypeScript code.
NPM initialization and necessary dependencies for TypeScript and Node.js.

Documentation:

README.md: Comprehensive instructions for setting up, deploying, and using the URL shortener smart function.
Detailed steps for creating an account, compiling the function, deploying it, and interacting with it.

How to Test

Clone the repository and navigate to the examples directory:
git clone https://github.com/trilitech/jstz.git
cd jstz/examples

Set up the URL shortener project:
mkdir url-shortener
cd url-shortener
npm init -y
npm install typescript @types/node --save-dev
npx tsc --init
touch index.ts

Add the URL shortener implementation in index.ts as per the provided code.

Compile the TypeScript code:
npx tsc

Start the JSTZ sandbox in a new terminal:
jstz sandbox start

Create an account for deploying the smart function:
jstz account create bob

Commit the changes with a proper commit message:
git add .
git commit -m "feat: add URL shortener smart function"

Deploy the smart function:
jstz deploy dist/index.js -n dev

Submit a URL to be shortened:
jstz run tezos://<your-smart-function-address>/shorten --data '{"originalUrl":"https://beata.com"}' -n dev --request POST

Retrieve the original URL using the short version:
jstz run tezos://<your-smart-function-address>/<shortCode> -n dev

Checklist

[x] Implemented the URL shortener smart function in index.ts.
[x] Configured TypeScript and NPM dependencies.
[x] Added comprehensive setup and usage instructions in README.md.
[x] Verified the functionality with local testing using JSTZ sandbox.

Additional Notes

This implementation provides a basic URL shortener functionality. Future enhancements could include:

Adding validation for URLs.
Implementing better error handling.
Creating a more robust short code generation to avoid collisions.
Adding logging and monitoring capabilities.

Might also be worth rebasing on #515 since you could construct the redirect (301) response using:
      return new Response(null, {
        status: 301,
        headers: { Location: originalUrl },
      });


Gem stopped working?

Retrieval of tweets appears to be broken, possibly by an API change. When I try to retrieve https://twitter.com/ProSyn/status/1355184111900569604 through
tweet = client.status(1355184111900569604)
tweet.text and tweet.full_text both yield only part of the tweet, and the media array is empty - the image also isn't accessible through any other method, as far as I can see.
Has anyone got this working? Or has everyone migrated to another gem or fork that works? If so, which one? I cannot use the official Twitter commandline thingie because Heroku.

I found the solution:
tweet = client.status(1355184111900569604, tweet_mode: "extended")
Also, the image is available through tweet.media.first.media_url .
Neither the tweet_mode: "extended" parameter (which can also be added to list_timeline, user_timeline etc. methods) nor the media_url parameter are documented. Would be good to add these to the documentation.
Thank you for a great gem!


ALE Fixers - (Javascript)? prettier - how to install and use?

I wanted to use one of the features of ALE, but "just can't get there from here".
Thought I would take you through my flow to figure out how to use it, so that if documentation updates are required (I think they are), they will help someone else enable these features.
First the usual:
:ver
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Aug  3 2017 08:16:42)
MS-Windows 32-bit GUI version with OLE support
Included patches: 1-846

ALEInfoToClipboard
 Current Filetype: javascript
Available Linters: ['eslint', 'flow', 'jscs', 'jshint', 'standard', 'xo']
  Enabled Linters: ['eslint']
 Linter Variables:

let g:ale_javascript_eslint_executable = 'eslint'
let g:ale_javascript_eslint_options = ''
let g:ale_javascript_eslint_suppress_eslintignore = 0
let g:ale_javascript_eslint_use_global = 0
 Global Variables:

let g:ale_echo_cursor = 1
let g:ale_echo_msg_error_str = 'Error'
let g:ale_echo_msg_format = '%s'
let g:ale_echo_msg_warning_str = 'Warning'
let g:ale_enabled = 1
let g:ale_fix_on_save = 0
let g:ale_fixers = {'javascript': ['prettier', 'eslint']}
let g:ale_keep_list_window_open = 0
let g:ale_lint_delay = 200
let g:ale_lint_on_enter = 1
let g:ale_lint_on_save = 1
let g:ale_lint_on_text_changed = 'always'
let g:ale_linter_aliases = {}
let g:ale_linters = {'javascript': ['eslint']}
let g:ale_open_list = 0
let g:ale_set_highlights = 1
let g:ale_set_loclist = 1
let g:ale_set_quickfix = 0
let g:ale_set_signs = 1
let g:ale_sign_column_always = 0
let g:ale_sign_error = '>>'
let g:ale_sign_offset = 1000000
let g:ale_sign_warning = '--'
let g:ale_statusline_format = ['%d error(s)', '%d warning(s)', 'OK']
let g:ale_warn_about_trailing_whitespace = 1
  Command History:

(executable check - success) eslint
(finished - exit code 1) 'cmd /c eslint -f unix --stdin --stdin-filename N:\dave.js < C:\Users\i826639\AppData\Local\Temp\VIDA1EC.tmp\dave.js'

<<<OUTPUT STARTS>>>

Oops! Something went wrong! :(

ESLint couldn't find a configuration file. To set up a configuration file for this project, please run:

    eslint --init

ESLint looked for configuration files in N:\ and its ancestors.

If you think you already have a configuration file or if you need more help, please stop by the ESLint chat room: https://gitter.im/eslint/eslint

<<<OUTPUT ENDS>>>

I just installed ALE 1.5.0.
As I was reading through the update, I noticed the section on "Fixers".
Didn't know what those were.
ale.txt

Fixing Problems                                                    ale-fix

ALE can fix problems with files with the |ALEFix| command. When |ALEFix| is
run, the variable |g:ale_fixers| will be read for getting a |List| of commands
for filetypes, split on ., and the functions named in |g:ale_fixers| will be
executed for fixing the errors.

Nothing here really describes what a "fixer" is though.  Do all the fixers do the same thing?  They reformat code?
Googling around I found this link:
A Prettier JavaScript Formatter
From January 2017, he gives a pretty good description of what one of the few I would be interested in does.  Specifically, it will intelligently reformat my code as I write it.
Looking through ale-javascript.txt I see this section:

prettier-eslint                                ale-javascript-prettier-eslint
ALE supports prettier-eslint for easy integration with projects, but it is
not recommended for new projects. ALE instead recommends configuring
|g:ale_fixers| to run 'prettier' and 'eslint' in a sequence like so: >
let g:ale_fixers = {'javascript': ['prettier', 'eslint']}

So I added the g:ale_fixers to my vimrc and restarted and tried some stuff and nothing happened.
No error messages, no real information that anything was even attempted (and possibly failed).
So I am assuming I don't have the "executable" available.
Googled around and found this nodejs module:
standard-prettier
Installed it (on Windows 10):
$ npm install -g prettier-standard-formatter
C:\Users\i826639\AppData\Roaming\npm\prettier-standard-formatter -> C:\Users\i826639\AppData\Roaming\npm\node_modules\prettier-standard-formatter\cli.js
<EMAIL_ADDRESS>C:\Users\i826639\AppData\Roaming\npm\node_modules\prettier-standard-formatter
├──<EMAIL_ADDRESS><EMAIL_ADDRESS>├──<EMAIL_ADDRESS><EMAIL_ADDRESS>├──<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>├──<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>├──<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>└──<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
Updated my vimrc to use:
if has('channel')
    " Restrict Javascript to only eslint
    let g:ale_linters = {'javascript': ['eslint']}
    " Fixers are automatic code formatters
    " To install:
    "     npm install -g prettier-standard-formatter
    let g:ale_fixers = {'javascript': ['prettier-standard', 'eslint']}

    set runtimepath^=$VIM/vimfiles/vim-ale/vim-ale-1.5.0
endif

Restarted Vim.
:e dave.js
Typed in the following code and hit enter at the end:
foo(reallyLongArg(), omgSoManyParameters(), IShouldRefactorThis(), akjsdfklajsdklfjsklfjklsdafjsdjflajsfkjaslfjkasjfjdsfkljaskfjafjklsd());
Nothing happened to the code, which I was expecting this to happen:
foo(
    reallyLongArg(),
    omgSoManyParameters(),
    IShouldRefactorThis(),
    akjsdfklajsdklfjsklfjklsdafjsdjflajsfkjaslfjkasjfjdsfkljaskfjafjklsd()
);

Thought I would need to debug some, and thought I remembered ALE having some gear in place to help with that.
:h ale.txt
/\cdebug

Didn't find anything.
So, remembered reading about specifying the location of the binary:
$ C:\Users\i826639\AppData\Roaming\npm\node_modules\prettier-standard-formatter\node_modules.bin\prettier.cmd
Usage: prettier [opts] [filename ...]
Available options:
--write                  Edit the file in-place. (Beware!)
--stdin                  Read input from stdin.
--print-width       Specify the length of line that the printer will wrap on. Defaults to 80.
--tab-width         Specify the number of spaces per indentation-level. Defaults to 2.
--single-quote           Use single quotes instead of double.
--bracket-spacing        Put spaces between brackets. Defaults to true.
--jsx-bracket-same-line  Put > on the last line. Defaults to false.
--trailing-comma <none|es5|all>
Print trailing commas wherever possible. Defaults to none.
--parser <flow|babylon>  Specify which parse to use. Defaults to babylon.
--color                  Colorize error messages. Defaults to true.
--version                Print prettier version.
Boolean options can be turned off like this:
--no-bracket-spacing
--bracket-spacing=false
Set this in my buffer:
    let g:ale_javascript_prettier_standard_executable = 'C:\Users\i826639\AppData\Roaming\npm\node_modules\prettier-standard-formatter\node_modules\.bin\prettier.cmd'
Then in my code, retyped that really long test line again, and nothing happened still.
In my vimrc I now have:
if has('channel')
    " Restrict Javascript to only eslint
    let g:ale_linters = {'javascript': ['eslint']}
    " Fixers are automatic code formatters
    " To install:
    "     npm install -g prettier-standard-formatter
    let g:ale_fixers = {'javascript': ['prettier-standard', 'eslint']}
    let g:ale_javascript_prettier_standard_executable = 'C:\Users\i826639\AppData\Roaming\npm\node_modules\prettier-standard-formatter\node_modules\.bin\prettier.cmd'

    set runtimepath^=$VIM/vimfiles/vim-ale/vim-ale-1.5.0
endif

I would like to get this prettier working with Javascript and Java (if available).
Can anyone help me along.

What?
Just use npm install prettier in your project directory to install prettier to node_modules and use something like let g:ale_fixers = {'javascript': ['prettier']}. It's not rocket science.

If you want to use eslint, then read the documentation for eslint, which explains how to install ESLint and configure it.

It's not rocket science.

Agreed, it shouldn't be.
That is why I showed what I have tried and why and where it got me.
And where the existing documentation got me, what I looked for and where I ended up.

Just use npm install prettier in your project directory

So that is an interesting comment on it's own.
You mention a "project directory".
I don't use a specific project, I just want this to work with any Javascript file I open regardless of "project"
This is why I used the -g flag:
npm install -g prettier
Should this work just fine this way too?
With regard to trying to figure out why it was not working, what can you suggest?

Yeah, installing the packages globally should work too. You can install Node programs either globally or locally.
If you want to ask for more documentation or suggest improvements, you need to collect your thoughts first. I can't really do anything based on your comments above. If you have a specific request, then I can look at that.

ALE isn't responsible for describing how the NPM and JavaScript ecosystem works, but it might be possible to add a sentence or two somewhere in the documentation to eliminate confusion.

With regard to trying to figure out why it was not working, what can you suggest?

@dsifford you have to run fixer.
Prettier to format HTML:
let g:ale_fixers = {}
let g:ale_fixers.html = ['prettier']
let g:ale_fixers['*'] = ['remove_trailing_lines', 'trim_whitespace']
let g:ale_javascript_prettier_options = '--use-tabs'

Then in vim run :ALEFix command for HTML file.


Quotes API fixing Math.random() to a static value

The implementation of random quotes API for STR quotes has been bugged out due to its implementation in Next.js. The API always return an static quote as the random logic is broken in the server side.
BUILD LOGS:

<EMAIL_ADDRESS>build
next build

▲ Next.js 14.1.0
Creating an optimized production build ...
✓ Compiled successfully
✓ Linting and checking validity of types
✓ Collecting page data
✓ Generating static pages (7/7)
✓ Collecting build traces
✓ Finalizing page optimization
Route (app)                              Size            First Load JS
┌ ○ /                                        961 B          85.1 kB
├ ○ /_not-found                      885 B            85 kB
├ ○ /api                                       0 B                0 B
└ ○ /api/str                                 0 B                0 B

First Load JS shared by all                          84.2 kB
├ chunks/69-971cc6ff58dfdad6.js               28.9 kB
├ chunks/fd9d1056-c50cb70e7323352b.js 53.4 kB
└ other shared chunks (total)                      1.86 kB

○  (Static)  prerendered as static content

Issue accepted, the team is notified and currently working on to fix it

@Nareshram1 The issue has been fixed in the latest pull request. Thereby issue resolved
//Crucial Line for Dynamic API Routes
export const dynamic = 'force-dynamic'


Added Qobuz Source Manager

Ok I will make a pr to update the readme :  "How to get the qobuz userOauthToken"

No, you should update this pr


[MINOR][SQL][DOC] Fix to_json example in function description and doc

What changes were proposed in this pull request?
This PR fixes the an example for to_json in doc and function description.

http://spark.apache.org/docs/2.3.0/api/sql/#to_json
describe function extended

How was this patch tested?
Pass the Jenkins with the updated test.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/2150/
Test PASSed.

Test build #94709 has started for PR 22096 at commit 7de2184.

Retest this please.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/2156/
Test PASSed.

Test build #94717 has started for PR 22096 at commit 7de2184.

Test build #94717 has finished for PR 22096 at commit 7de2184.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/94717/
Test FAILed.

retest this please

Test build #94724 has started for PR 22096 at commit 7de2184.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/2163/
Test PASSed.

Test build #94724 has finished for PR 22096 at commit 7de2184.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/94724/
Test FAILed.

Test build #94727 has finished for PR 22096 at commit 7de2184.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/94727/
Test FAILed.

retest this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/2168/
Test PASSed.

Test build #94730 has started for PR 22096 at commit 7de2184.

Test build #94730 has finished for PR 22096 at commit 7de2184.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/94730/
Test FAILed.

retest this please

Test build #94734 has started for PR 22096 at commit 7de2184.

LGTM

Merged to master, branch-2.3 and branch-2.2.

Thank you for review and merging, @HyukjinKwon . Also, thank you for review, @gengliangwang .


Fill dropdown values dynamically using Adaptive Card in Bot Framework Composer

I have created button list in Bot Framework Composer as mentioned in below link.
https://www.linkedin.com/pulse/bot-framework-composer-adaptive-cards-part-3-chand-abdul-salam/
Now when I click on any button, it should show another button list as shown below.

What can be done for this? Can anyone please help me!

Hi @dhruv2611 You need to give more info. What have you tried? Are you hitting an error or just not sure how to proceed? Are you able to share your code/dialog/bot? Ideally; if you can share your bot in a repository or a zip, that would be best.

Hi Dana, I am calling a REST API and getting the 'Study' values i.e. Study 1, Study 2, Study 3 as showing in above screen-shot. Now once the end user clicks on any button (or selects the Study), bot should ask for selecting 'Site' and the options for 'Site' should appear like Site 1, Site 2, Site 3. The options for 'Site' will again come after calling another REST API based on 'Study' selection by the end user.
Now I need to know how can it be done in Bot Framework Composer.
Hope I am able to explain you!
Thanks

The Microsoft Bot Framework team prefers that how to questions be submitted on Stack Overflow. The official Bot Framework Github repos are the preferred platform for submitting bug fixes and feature requests.

Now once the end user clicks on any button (or selects the Study), bot should ask for selecting 'Site' and the options for 'Site' should appear like Site 1, Site 2, Site 3. The options for 'Site' will again come after calling another REST API based on 'Study' selection by the end user.

Are you using prompts? You want to populate the choices for an adaptive card prompt? Or a choice prompt? There needs a lot more info here on what you have tried, etc. Ideally any code/dialog that you have. Please open a question on Stack Overflow and provide that information there.


better project version

Coverage decreased (-0.06%) to 45.62% when pulling 0d853ca850a361391cbada804873c1400f9f0d82 on better-project-version into b0b0d643bca9114804b95fd6eab6ec24737087d2 on master.

Coverage remained the same at 45.681% when pulling 5386118bf520334a4b473ac4b6412dd7acc4bb8a on better-project-version into 142c43d7ccde630df9525f271a7b05f998e4eb39 on master.


list of supported AMD GPUs

Any chance there is a known list of AMD GPUs that are currently being tested with MFEM (or that should be known to work)?  We have a wimpy Radeon PRO WX 3200 with HIP 4.2 installed just to have a sandbox test environment (not for performance), but can't seem to get thru an MFEM build.  We see stack size limits exceeded so assuming this card is probably not supported, so was wondering if there is a list with cards that are known to work?
Example build errors...
error: stack size limit exceeded (143376) in _ZN4mfemL11HipKernel1DIZNS_26FaceQuadratureInterpolator6Eval3DILi1ELi64ELi216EEEviiRKNS_9DofToQuadERKNS_5ArrayIbEERKNS_6Vector
ERSA_SD_SD_SD_iEUliE_EEviT_
error: stack size limit exceeded (143376) in _ZN4mfemL11HipKernel2DIZNS_26FaceQuadratureInterpolator6Eval3DILi1ELi64ELi216EEEviiRKNS_9DofToQuadERKNS_5ArrayIbEERKNS_6Vector
ERSA_SD_SD_SD_iEUliE_EEviT_i
error: stack size limit exceeded (143376) in _ZN4mfemL11HipKernel3DIZNS_26FaceQuadratureInterpolator6Eval3DILi1ELi64ELi216EEEviiRKNS_9DofToQuadERKNS_5ArrayIbEERKNS_6Vector
ERSA_SD_SD_SD_iEUliE_EEviT_
error: stack size limit exceeded (250032) in _ZN4mfemL11HipKernel1DIZNS_26FaceQuadratureInterpolator6Eval3DILi1ELi125ELi125EEEviiRKNS_9DofToQuadERKNS_5ArrayIbEERKNS_6Vecto
rERSA_SD_SD_SD_iEUliE_EEviT_
error: stack size limit exceeded (250032) in _ZN4mfemL11HipKernel2DIZNS_26FaceQuadratureInterpolator6Eval3DILi1ELi125ELi125EEEviiRKNS_9DofToQuadERKNS_5ArrayIbEERKNS_6Vecto
rERSA_SD_SD_SD_iEUliE_EEviT_i
error: stack size limit exceeded (250032) in _ZN4mfemL11HipKernel3DIZNS_26FaceQuadratureInterpolator6Eval3DILi1ELi125ELi125EEEviiRKNS_9DofToQuadERKNS_5ArrayIbEERKNS_6Vecto
rERSA_SD_SD_SD_iEUliE_EEviT_
error: stack size limit exceeded (341024) in _ZN4mfemL11HipKernel1DIZNS_26FaceQuadratureInterpolator6Eval3DILi1ELi125ELi216EEEviiRKNS_9DofToQuadERKNS_5ArrayIbEERKNS_6Vecto
rERSA_SD_SD_SD_iEUliE_EEviT_
error: stack size limit exceeded (341024) in _ZN4mfemL11HipKernel2DIZNS_26FaceQuadratureInterpolator6Eval3DILi1ELi125ELi216EEEviiRKNS_9DofToQuadERKNS_5ArrayIbEERKNS_6Vecto
rERSA_SD_SD_SD_iEUliE_EEviT_i
error: stack size limit exceeded (341024) in _ZN4mfemL11HipKernel3DIZNS_26FaceQuadratureInterpolator6Eval3DILi1ELi125ELi216EEEviiRKNS_9DofToQuadERKNS_5ArrayIbEERKNS_6Vecto
rERSA_SD_SD_SD_iEUliE_EEviT_
hipcc   -O3 -std=c++11 --amdgpu-target=gfx803   -c fem/lininteg.cpp -o fem/lininteg.o

Thanks for any pointers.

Probably not new information, but if I disable the following two calls after applying PR #2301, I can then complete the build.
diff --git a/fem/bilininteg_convection_pa.cpp b/fem/bilininteg_convection_pa.cpp
index 84e772a05..9cd381e34 100644
--- a/fem/bilininteg_convection_pa.cpp
+++ b/fem/bilininteg_convection_pa.cpp
@@ -862,7 +862,7 @@ static void PAConvectionApply(const int dim,
          case 0x67: return SmemPAConvectionApply3D<6,7>(NE,B,G,Bt,Gt,op,x,y);
          case 0x78: return SmemPAConvectionApply3D<7,8>(NE,B,G,Bt,Gt,op,x,y);
          case 0x89: return SmemPAConvectionApply3D<8,9>(NE,B,G,Bt,Gt,op,x,y);
-         default:   return PAConvectionApply3D(NE,B,G,Bt,Gt,op,x,y,D1D,Q1D);
+        // default:   return PAConvectionApply3D(NE,B,G,Bt,Gt,op,x,y,D1D,Q1D);
       }
    }
    MFEM_ABORT("Unknown kernel.");
diff --git a/fem/bilininteg_hcurl.cpp b/fem/bilininteg_hcurl.cpp
index 522ba47b4..967731daf 100644
--- a/fem/bilininteg_hcurl.cpp
+++ b/fem/bilininteg_hcurl.cpp
@@ -2502,11 +2502,13 @@ void CurlCurlIntegrator::AssembleDiagonalPA(Vector& diag)
                                                                 pa_data, diag);
          }
       }
+      #if 0
       else
          PACurlCurlAssembleDiagonal3D(dofs1D, quad1D, symmetric, ne,
                                       mapsO->B, mapsC->B,
                                       mapsO->G, mapsC->G,
                                       pa_data, diag);
+      #endif
    }
    else if (dim == 2)
    {

If there are lower values for D1D you want me to try locally, I'm happy to give it a whirl.

I would be guessing for which values would work, but the idea would be to lower the values from this file:
https://github.com/mfem/mfem/blob/6785e1d1afd7400ac1bbef975daa2d7cad412f92/general/forall.hpp#L26-L27

Ok, just by trial and error the largest value I can use for those constants is MAX_D1D=11 to successfully build bilininteg_convection_pa.cpp.  Unfortunately, there is no impact on the resulting stacksize errors generated when changing these constants for the PACurlCurlAssembleDiagonal3D() call.
Here is a quick summary of running test cases:
Runs with MAX_D1D/MAX_Q1D=14; two offending calls in bilininteg_convection_pa.cpp and bilininteg_hcurl.cpp commented out.
$ grep -i fail test.log
    Unit tests [ unit_tests ... ]: FAILED  (1.39s 48224kB)
/home/karl/downloads/mfem/clone/mfem/tests/unit/fem/test_assemblediagonalpa.cpp:493: FAILED:
/home/karl/downloads/mfem/clone/mfem/tests/unit/fem/test_assembly_levels.cpp:129: FAILED:
test cases:  58 |  56 passed | 2 failed
assertions: 802 | 800 passed | 2 failed
Some tests failed.

Runs with MAX_D1D/MAX_Q1D=11;  one offending call in bilininteg_hcurl.cpp commented out.
$ grep -i fail test-d1d-11.log
    Unit tests [ unit_tests ... ]: FAILED  (20.42s 101528kB)
/home/karl/downloads/mfem/clone/mfem/tests/unit/fem/test_assemblediagonalpa.cpp:493: FAILED:
test cases:    146 |    145 passed | 1 failed
assertions: 233087 | 233086 passed | 1 failed
Some tests failed.

Thanks! I Looking at the hcurl kernel I think its the following two allocations:
https://github.com/mfem/mfem/blob/master/fem/bilininteg_hcurl.cpp#L2142
and
https://github.com/mfem/mfem/blob/master/fem/bilininteg_hcurl.cpp#L2175
Which use the following max/mins:
https://github.com/mfem/mfem/blob/25e59797c1e07b1de42937fac8acb641abba2a1f/fem/bilininteg.hpp#L23-L24

Bingo!
Local build worked for me if I dialed down HCURL_MAX_Q1D = 5. With that additional change,  all tests passed with a local make test.

Bingo!
Local build worked for me if I dialed down HCURL_MAX_Q1D = 5. With that additional change, all tests passed with a local make test.

Yes!!! would you be interested in making a PR?

Yes!!! would you be interested in making a PR?

Sure thing. Will try to submit something a bit later today...

Discussion continued in #2319


remove @angular/platform-server unused peerdep

Coverage remained the same at 100.0% when pulling 1310dbd6bac4cfe0f29e2b9c5c5480d2e31897e3 on update-dep into 366e007798934aced7a12817200d99344905e65e on master.


Windows 64bit Release?

I got a issue of could not find deepbet when I do pip install deepbet on Windows 11 command line.

I wonder if a WIndows 64 bit release version available？Thanks！

Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Collecting deepbet
Obtaining dependency information for deepbet from https://files.pythonhosted.org/packages/c5/50/ddb5c44e00157ebbfe5432a6a19e7c5f5c9067b9b974784b687f05e32b9f/deepbet-0.0.1-py3-none-any.whl.metad
ata
Downloading deepbet-0.0.1-py3-none-any.whl.metadata (3.9 kB)
Collecting connected-components-3d (from deepbet)
Obtaining dependency information for connected-components-3d from https://files.pythonhosted.org/packages/05/d8/2741b35f24129fc712e505a984fef20ede2e5b58b9a79f4b1560d65486d2/connected_components
_3d-3.12.2-cp38-cp38-win_amd64.whl.metadata
Downloading connected_components_3d-3.12.2-cp38-cp38-win_amd64.whl.metadata (30 kB)
INFO: pip is looking at multiple versions of deepbet to determine which version is compatible with other requirements. This could take a while.
ERROR: Could not find a version that satisfies the requirement fill_voids (from deepbet) (from versions: none)
ERROR: No matching distribution found for fill_voids

I tried to reproduce the error on a Windows 11 64 bit system but for me "pip install deepbet" worked just fine.
Are you maybe using Python 2 (Python 3 is needed)?

I am using Python 3.8. Maybe I should use a lower version Python?

Since the issue seems to be that "No matching distribution found for fill_voids" try installing fill_voids with "pip install fill_voids". If that works, run "pip install deepbet" subsequently.

It works! Thank you!


Doesn’t hide native volume bar on LG35Wn75c

Hey there. I really like monitor control but I only have one issue.  Is there any solution for that? Your help would be great. Keep up your nice work. Tanks ;)

Settings > Advanced then toggle Hide OSD. Please keep in mind that it's not working 100% currently as it was broken in an earlier update. (see #136)


embassy-nrf: Idle detection for RX only uarte

Introduce with_idle() to upgrade an UarteRx instance to UarteRxWithIdle. Use the method in the split constructor aswell.

Build failure appears to be unrelated.

failure is fixed in main, can you rebase?


Provide documentation in the spec about relative URIs in href values of Links

Some implementations may use absolute URIs as href values of Links, whereas others may use relative.
https://tools.ietf.org/html/rfc8288
https://tools.ietf.org/html/rfc3986#section-5
This may be a OGC API - Common issue.

@cmheazel Maybe Common - Part 1 needs some informative text to make this more obvious to implementers?
Should this issue be moved to Common?

SWG 2021-08-11: Relative links are supported by RFC 8288. We will discuss in Common whether the specification could include a note for implementers.


Provide details on now the change from consumption to Premium plan (or vice versa)

It would be good to provide guidance on steps to change from a consumption plan to a Premium plan or vice versa.  I think this is only possible with the Azure CLI.  Also on whether it's supported to an App Service Plan from Consumption (or vice versa).

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

ID: 06436739-8586-23b1-6b69-1960e93c26be
Version Independent ID: 8f7abfae-cf6d-56cb-1d20-f02041a6f6d9
Content: Azure Functions scale and hosting
Content Source: articles/azure-functions/functions-scale.md
Service: azure-functions
GitHub Login: @ggailey777
Microsoft Alias: glenga

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

@robcamer from the threads I've read, it seems like this is a goal that's been hard to achieve, technically:

https://github.com/Azure/Azure-Functions/issues/155
https://github.com/Azure/Azure-Functions/issues/1194

I've pinged the team to see if there's any clear guidance for what to do in the meantime.

This comment suggests the work has mostly completed:
https://github.com/Azure/Azure-Functions/issues/155#issuecomment-668186683


Slack icon image doesn't show up if image > 500 KB

306kb image still reports that
Sorry, that image is too large. Try one of less than half a megabyte...
http://kpcbweb2.s3.amazonaws.com/content/734/original_continuuity-software-big-data-development-can-be-fun.jpg

thanks, should be fixed now

With this image it still gives the too large message. It is under 500kb. Is the limit lower the 500kb in Slack?


Make TraitMethods hold a DeclarationId

TraitMethods is defined here: https://github.com/FuelLabs/sway/blob/dbd6b9211fd3c4ceeb34b3f6aedb0a7b9f0e6ef8/sway-core/src/semantic_analysis/namespace/trait_map.rs#L32

Closed by #3213.


About MS-COCO pre-training dataset

Hi, @dandelin
Thanks for your great work and make it public.
I have followed the link in DATA.md to downlaod MS-COCO 2014 train images, 2014 val images, and karpathy split.
The number of images and captions I can access is 123,287 and 646767, respectively, which is different from that reported in the paper, as 113K and 567K, respectively.
May I ask what's the reason for the difference?
Thanks in advance

uh-may be their is nobody answer your question,I met the same problem.


link issues and md5 check sums fails

from this page: https://github.com/leylabmpi/Struo2/wiki/GTDB-database-download-and-usage at the Kraken2 database links:

http://ftp.tue.mpg.de/ebio/projects/struo2/GTDB_release202/database_kraken.md5 does not exist
http://ftp.tue.mpg.de/ebio/projects/struo2/GTDB_release202/kraken2/k2d.md5 does not exist

downloading GTDB taxdump files and md5 checksums fails, files differ

I deleted the kraken2 database files I had downloaded yesterday (cry)

Why did you delete them? I just had to upload the md5 file.

And what about the missing k2d.md5 file that is listed here (but not there)

I'll try to clear up the docs

Any chance to clarify the Kraken2 database download links and files? The instructions still list this set of links, but the k2d.md5 file has never existed:
wget --directory-prefix $DBDIR http://ftp.tue.mpg.de/ebio/projects/struo2/GTDB_release202/kraken2/hash.k2d
wget --directory-prefix $DBDIR http://ftp.tue.mpg.de/ebio/projects/struo2/GTDB_release202/kraken2/opts.k2d
wget --directory-prefix $DBDIR http://ftp.tue.mpg.de/ebio/projects/struo2/GTDB_release202/kraken2/taxo.k2d
wget --directory-prefix $DBDIR http://ftp.tue.mpg.de/ebio/projects/struo2/GTDB_release202/kraken2/k2d.md5 # MISSING
md5sum --check $DBDIR/k2d.md5
I'm also wondering, what is the difference between downloading those files listed above that are in the kraken2 directory on the ftp site (the pre-built kraken2 from the GTDB release202), and downloading genomes using the instructions provided on the main README page about downloading a custom db from the GTDB using the following:
Filtering GTDB metadata to certain genomes
./GTDB_metadata_filter.R -o gtdb-r95_bac-arc.tsv https://data.gtdb.ecogenomic.org/releases/release95/95.0/ar122_metadata_r95.tar.gz https://data.gtdb.ecogenomic.org/releases/release95/95.0/bac120_metadata_r95.tar.gz
Downloading all genomes (& creating tab-delim table of genome info)
./genome_download.R -o genomes -p 8 gtdb-r95_bac-arc.tsv > genomes.txt
Note: the output of ./genome_download.R can be directly used for running the Struo2 pipeline (see below)
Note: genome fasta files can be compressed (gzip or bzip2) or uncompress for input to Struo2
It seems to me that this would be the same result? Could this be clarified on the documentation, as in, is this just provided as an example for how to use the R scripts to filter and download genomes from GTDB? It's confusing since there is not much description for how to use the R filter (where are the key areas to modify or that indicate the filter criteria), and then no information on what exactly the example for downloading genomes from GTDB is actually downloading using these set of commands and scripts.
Thanks a lot.


Foreign Key Constraints are disabled

When trying to set a foreign key for a column an assertion fails with the message:
assertion failed: foreign key constraints are disabled
Are they disabled by default? If yes, how can I enable them?
Thank you for this lib. It is awesome btw ;)

Please see https://www.sqlite.org/foreignkeys.html#fk_enable for more information. (Note that you'll have to enable it per database connection at this time, so if you call Database() multiple times in your app, you'll need to execute the given statement, as well.)


Add SimpleNamespace as possible type for hparams

🚀 Feature
Add SimpleNamespace as an acceptable type for hparams.
Motivation
I would like to use SimpleNamespace because it has a similar interface to argparse.Namespace but does not require the usage of the argparse library nor to "downgrade" to a dict-like interface.
I am using a jupyter notebook to work on my models at the moment, and I find it very convinient. Of course this means that argparse cannot really be used easily,
Infos
Someone tried to insert SimpleNamespace in the hierarchy of argparse.Namespace in the past, but it did not go through for performance related concerns.
Pitch
It would be possible to even go beyond this possibility and to remove dict from the possible types for hparams, and to add SimpleNamespace or maybe even namedtuple.
This would remove the need for indexing the dictionary to access hyper parameters and would instead allow a more object-oriented only access.
This would make the whole library more robust.
Also given that namedtuple, for example, is immutable, like hparams are supposed to be.
Of course this could introduce issues to procedures like auto_lr_find or similar techniques used to find the "maximum" batch_size since these would not be able to edit hparams in this case.
For those concerned for historical or backward compatibility I would like to add that it is possible to convert a dict to SimpleNamespace by simply SimpleNamespace(**<dict>).
I am not really advocating for excluding dict or any other type from the possible types, but at least adding SimpleNamespace would be very convenient.
Example
from types import SimpleNamespace
hparams = SimpleNamespace(learning_rate=0.005, batch_size=512, validation_rate=0.2)

model = MNISTClassifier(hparams)
trainer = Trainer(gpus=1, max_epochs=10, auto_lr_find=True)
trainer.fit(model)

OR
from collections import namedtuple

HParams = namedtuple("hparams", ["learning_rate", "batch_size", "validation_rate"], defaults=[0.005, 512, 0.2])

hp1 = HParams()
hp2 = HParams(learning_rate=0.01)
hp3 = HParams(learning_rate=0.01, batch_size=1024)

hparams = hp1

model = MNISTClassifier(hparams)
trainer = Trainer(gpus=1, max_epochs=10, auto_lr_find=True)
trainer.fit(model)

I find namedtuple a bit cumbersome as you have to define the type firstv via the factory method and then place the values. I imagine, most people don't know or rarely use namedtuple.
But yeah, generally I see the benefit of a hparams object vs dict etc.

I agree that namedtuple is a little "heavy" to use. It is just an even more robust solution.
In general I would switch to a namespace approach and ditch the dict structure.
It makes the interface of hparams more uniform and, potentially, simplify the code base.

personally I also always prefer Namespace. Was just thinking, maybe we could make a custom namespace that also acts as a dict, then really both types of users would be satisfied and wouldn't even have to think about it. Or perhaps that's a bad idea, because dict keys can include more characters than Python attribute names ...

I also use lightning in jupyter and find it inconvinient (impossibe?) to work with argparse.
For arguments/params I use pydantic.


initial commit for TS compiler automation

Added

Gulp tasks:

src, typings directory structore
generate tsconfig.json files section based src directory content
TS compiler (and IntelliJ IDEA) uses tsconfig.json for TypeScript compilation
TS compilation happens before test and code coverage
TS lint

Misc

editor config (open for discussion tabs vs spaces)
jslint and tslint rules

:+1:


Add init version of RBAC

Signed-off-by: Taras Drozdovskyi<EMAIL_ADDRESS>Description
Implemented init version of Role based Access Control (RBAC) based on open-source access control library  casbin.
Fixes #147
Type of change

[x] New feature (non-breaking change which adds functionality)

How Has This Been Tested?

Build Edge-Orchestration in secure mode

$ ./build.sh secure

For Admin:

$ . tools/jwt_gen.sh HS256 Admin
$ curl -X POST "<IP_ADDRESS>:56001/api/v1/orchestration/securemgr" -H "accept: application/json" -H "Content-Type: application/json" -H "Authorization: $EDGE_ORCHESTRATION_TOKEN" -d "{ \"SecureMgr\": \"Verifier\", \"CmdType\": \"printAllHashCWL\", \"StatusCallbackURI\": \"http://localhost:8888/api/v1/services/notification\"}"
$ curl -X POST "<IP_ADDRESS>:56001/api/v1/orchestration/services" -H "accept: application/json" -H "Content-Type: application/json" -H "Authorization: $EDGE_ORCHESTRATION_TOKEN" -d "{ \"ServiceName\": \"hello-world\", \"ServiceInfo\": [{ \"ExecutionType\": \"container\", \"ExecCmd\": [ \"docker\", \"run\", \"-v\", \"/var/run:/var/run:rw\", \"hello-world@sha256:fc6a51919cfeb2e6763f62b6d9e8815acbf7cd2e476ea353743570610737b752\"]}], \"StatusCallbackURI\": \"http://localhost:8888/api/v1/services/notification\"}"

both requests are allowed!

For Member:

$ . tools/jwt_gen.sh HS256 Member
$ curl -X POST "<IP_ADDRESS>:56001/api/v1/orchestration/securemgr" -H "accept: application/json" -H "Content-Type: application/json" -H "Authorization: $EDGE_ORCHESTRATION_TOKEN" -d "{ \"SecureMgr\": \"Verifier\", \"CmdType\": \"printAllHashCWL\", \"StatusCallbackURI\": \"http://localhost:8888/api/v1/services/notification\"}"
$ curl -X POST "<IP_ADDRESS>:56001/api/v1/orchestration/services" -H "accept: application/json" -H "Content-Type: application/json" -H "Authorization: $EDGE_ORCHESTRATION_TOKEN" -d "{ \"ServiceName\": \"hello-world\", \"ServiceInfo\": [{ \"ExecutionType\": \"container\", \"ExecCmd\": [ \"docker\", \"run\", \"-v\", \"/var/run:/var/run:rw\", \"hello-world@sha256:fc6a51919cfeb2e6763f62b6d9e8815acbf7cd2e476ea353743570610737b752\"]}], \"StatusCallbackURI\": \"http://localhost:8888/api/v1/services/notification\"}"

the first request is forbidden, second request is allowed!
Example

Describe the reproduction procedures freely.
Or list up the test description like :

[x] Unittest
[x] Execution of Container
[x] Execution on top of Native
[ ] Execution on top of Android

Test Configuration:

Firmware version: Ubuntu 16.04
Hardware: x86-64, ARM
Toolchain: Docker and Go recommended versions
Edge Orchestration Release: Baobab

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

@tdrozdovsky @t25kim Thank you for the good opinions! Maybe some developers want the easiest way to automatically enable the secure mode by default, and others do not. In the meantime, let us think about the "Security by design" perspective. For that perspective, I personally think that this PR look good to start with and what about sending a green light for this PR and set up the bypassing mode to disable the security operation at the next?
Before completing all those required and discussed features w.r.t. the PR, I would also like suggest to contribute this features in a separate branch once all the core delegates agree with that everything is ready to be merged into the master branch. What do you think? @tdrozdovsky @t25kim @suresh-lc

"Maybe some developers want the easiest way to automatically enable the secure mode by default, and others do not. In the meantime, let us think about the "Security by design" perspective. For that perspective, I personally think that this PR look good to start with and what about sending a green light for this PR and set up the bypassing mode to disable the security operation at the next?"
Clarification:

In the case when we build edge-orchestration using $ build.sh  command without secure option, this assembly does not include security operations.
The edge-orchestration creates default RBAC policies only when they are not exist (in secure mode). If the user created/edited them himself, the edge-orchestration will load the custom ones.

"I would also like suggest to contribute this features in a separate branch once all the core delegates agree with that everything is ready to be merged into the master branch."
I think it's a good idea to create a separate branch for the development of a separate feature, and it works well on active repositories.
P.S. in practice, new developers work only with the master branch and as a result they see limited functionality. By working with the complete (even if not finalized) they can contribute to its faster development. In this case, mentainers must make a decision: wait for a finished feature or go forward step by step.

@tdrozdovsky @t25kim Thank you for the good opinions! Maybe some developers want the easiest way to automatically enable the secure mode by default, and others do not. In the meantime, let us think about the "Security by design" perspective. For that perspective, I personally think that this PR look good to start with and what about sending a green light for this PR and set up the bypassing mode to disable the security operation at the next?
Before completing all those required and discussed features w.r.t. the PR, I would also like suggest to contribute this features in a separate branch once all the core delegates agree with that everything is ready to be merged into the master branch. What do you think? @tdrozdovsky @t25kim @suresh-lc

Its good option. And we can baseline all the features and once fixed, can pull in all changes to Coconut release. This would be used by developers after coconut.

"Maybe some developers want the easiest way to automatically enable the secure mode by default, and others do not. In the meantime, let us think about the "Security by design" perspective. For that perspective, I personally think that this PR look good to start with and what about sending a green light for this PR and set up the bypassing mode to disable the security operation at the next?"
Clarification:

In the case when we build edge-orchestration using $ build.sh  command without secure option, this assembly does not include security operations.
The edge-orchestration creates default RBAC policies only when they are not exist (in secure mode). If the user created/edited them himself, the edge-orchestration will load the custom ones.

"I would also like suggest to contribute this features in a separate branch once all the core delegates agree with that everything is ready to be merged into the master branch."
I think it's a good idea to create a separate branch for the development of a separate feature, and it works well on active repositories.
P.S. in practice, new developers work only with the master branch and as a result they see limited functionality. By working with the complete (even if not finalized) they can contribute to its faster development. In this case, mentainers must make a decision: wait for a finished feature or go forward step by step.

@tdrozdovsky The point why I proposed to create a separate branch at this moment is: we are about to release our regular Coconut release by the end of this month. You may well understand the difficulty level of fixing all the remainder bugs and integration issues for the successful release. Currently we have 2 dedicated branches DataStorage and MNEDC as two key deliverables and it is already up to the beyond of our resource levels. Otherwise we might accept your PR into the master branch as usual. Please understand the current priority of our project. Thank you.

@tdrozdovsky Thank you for waiting for our Coconut release. Now it is published, I think that you can validate the PR with the current Coconut branch to go forward, what do you think? ^^

@MoonkiHong I checked, everything is working correctly.

@suresh-lc PTAL. ^^


revisit and review route controller for router conflicts

reference,  https://stackoverflow.com/questions/58707933/node-js-express-route-conflict-issue


[Feature Request]:  Hugging Face text embedding inference custom embedding

Describe the problem
Feature request for https://github.com/huggingface/text-embeddings-inference, it new and cool good to have it.
Describe the proposed solution
create a custom Embedding Function inheriting EmbeddingFunction

    def __init__(self,
                 host:str,
                 port: int):
        self.host = host
        self.port = port

        ## check the Sentence Embedding server is up and running

    def __call__(self, text: Documents) -> Embeddings:

        pass

    def _calculation(self,):

        """
        custom calculation of embeddings

        """
        pass```

### Alternatives considered

1. implement try and except to check inference server is running
2.  To make the request fast and async use httpx, it would be better

### Importance

nice to have

### Additional Information

_No response_

@Crispae, thanks for this. We'll add the wrapper EF and examples of running the server with our docker-compose.


Implement the factorial function using Y combinator in UPLC "by hand"

Instead of using the output f the Plutus Tx  compiler it seems to be simpler to write our own function first.

@gtrepta I've been flipping through the book "Type and Programming Languages" by Benjamin Pierce and there's a definition of factorial on page 66 using a language that's similar to uplc. Recursion and fixed point combinator is defined on page 65

Also, I found this to be a helpful presentation that leads the viewer through an exercise: https://www.youtube.com/watch?v=9T8A89jgeTI&ab_channel=Computerphile
The textbook reference tells you the answer right away and I felt that I learned more by going through this video.

This is my current solution but it seems to get stuck in some sort of infinite loop:
(program 1.0.0
    [
        ( lam f [
              (lam x [ f ( lam y [ x x y ] ) ] )
              (lam x [ f ( lam y [ x x y ] ) ] )
        ])
        ( lam f_1 ( lam n_0
          [ (force ( builtin ifThenElse ) )
            [ [ ( builtin equalsInteger ) ( con integer 0 ) ] n_0 ] (con integer 1)
            [ f_1 [ (builtin subtractInteger) n_0 (con integer 1) ]]
          ]
        ))
        ( con integer 0)
    ]
)

Here's mine
(program 1.0.0
  [ (lam f [(lam x [f (lam y [x x y])]) (lam x [f (lam y [x x y])])]) // Y-combinator
    (lam fct
      (lam n [ (force (builtin ifThenElse))
               [ (builtin equalsInteger) (con integer 0) n ]
                 (con integer 1)
               [ (builtin multiplyInteger) n [ fct [ (builtin subtractInteger) n (con integer 1) ] ] ]
             ]
      )
    )
    (con integer 3)
  ]
)

I also run into the infinite looping, and the issue is that it's evaluating the second branch of the ifThenElse builtin before returning the result of the builtin's expression, so it nests infinitely into it. I'm wondering if there's a force/delay that can go somewhere, or if the Y-combinator is the wrong construct to be using (I remember @ChristianoBraga mentioning that a different fixed-point might be better suited for this).

Yes I think there are two aspects we need to take into account when
choosing the fixpont: (i) strictness lazy mess and (ii) dynamic x static
binding. UPLC is strict and has static binding.
Em qua., 22 de jun. de 2022 às 23:02, gtrepta @.***>
escreveu:

Here's mine
(program 1.0.0
[ (lam f [(lam x [f (lam y [x x y])]) (lam x [f (lam y [x x y])])]) // Y-combinator
(lam fct
(lam n [ (force (builtin ifThenElse))
[ (builtin equalsInteger) (con integer 0) n ]
(con integer 1)
[ (builtin multiplyInteger) n [ fct [ (builtin subtractInteger) n (con integer 1) ] ] ]
]
)
)
(con integer 3)
]
)
I also run into the infinite looping, and the issue is that it's
evaluating the second branch of the ifThenElse builtin before returning
the result of the builtin's expression, so it nests infinitely into it. I'm
wondering if there's a force/delay that can go somewhere, or if the
Y-combinator is the wrong construct to be using (I remember
@ChristianoBraga https://github.com/ChristianoBraga mentioning that a
different fixed-point might be better suited for this).
—
Reply to this email directly, view it on GitHub
https://github.com/runtimeverification/plutus-core-semantics/issues/229#issuecomment-1163840353,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFNNCEOSSIEIOUMTRV53VB3VQPASJANCNFSM5ZNF465A
.
You are receiving this because you were mentioned.Message ID:
@.***
com>

Maybe this
https://www.cs.cornell.edu/courses/cs3110/2012sp/lectures/lec29-fixpoints/lec29.html
can shed some light. I will read it right after the K planning meeting.
On Thu, Jun 23, 2022 at 11:50 AM Christiano Braga <
@.***> wrote:

Yes I think there are two aspects we need to take into account when
choosing the fixpont: (i) strictness lazy mess and (ii) dynamic x static
binding. UPLC is strict and has static binding.
Em qua., 22 de jun. de 2022 às 23:02, gtrepta @.***>
escreveu:

Here's mine
(program 1.0.0
[ (lam f [(lam x [f (lam y [x x y])]) (lam x [f (lam y [x x y])])]) // Y-combinator
(lam fct
(lam n [ (force (builtin ifThenElse))
[ (builtin equalsInteger) (con integer 0) n ]
(con integer 1)
[ (builtin multiplyInteger) n [ fct [ (builtin subtractInteger) n (con integer 1) ] ] ]
]
)
)
(con integer 3)
]
)
I also run into the infinite looping, and the issue is that it's
evaluating the second branch of the ifThenElse builtin before returning
the result of the builtin's expression, so it nests infinitely into it. I'm
wondering if there's a force/delay that can go somewhere, or if the
Y-combinator is the wrong construct to be using (I remember
@ChristianoBraga https://github.com/ChristianoBraga mentioning that a
different fixed-point might be better suited for this).
—
Reply to this email directly, view it on GitHub
https://github.com/runtimeverification/plutus-core-semantics/issues/229#issuecomment-1163840353,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFNNCEOSSIEIOUMTRV53VB3VQPASJANCNFSM5ZNF465A
.
You are receiving this because you were mentioned.Message ID:
@.***
com>

After a discussion with @SchmErik we uncovered a solution using force/delay:
(program 1.0.0
  [ (lam f [(lam x [f (lam y [x x y])]) (lam x [f (lam y [x x y])])])
    (lam fct
      (lam n (force [ (force (builtin ifThenElse))
                      [ (builtin equalsInteger) (con integer 0) n ]
             (delay     (con integer 1))
             (delay   [ (builtin multiplyInteger) n [ fct [ (builtin subtractInteger) n (con integer 1) ] ] ])
                    ]
             )
      )
    )
    (con integer 10)
  ]
)

This works properly, and the reason is that since each branch of the ifThenElse is inside a delay, the uplc semantics wont try to evaluate it until the ifThenElse gets evaluated first, and then the force on the outside of the whole ifThenElse expression will operate on whichever delayed branch comes out.

@gtrepta and @ChristianoBraga I ran this solution on both uplc and kplc and they produced matching results.

Does the example that loops indefinitely on kplc do the same thing on uplc?

Here's a curious example where lambda/unit are used in place of delay/force (also some rearranging so the application of the factorial function is at the head of the program):
(program 1.0.0
  [ (lam factorial [ factorial (con integer 10) ])
    [ (lam f [(lam x [f (lam y [x x y])]) (lam x [f (lam y [x x y])])])
      (lam fct
        (lam n [
                 [ (force (builtin ifThenElse))
                        [ (builtin equalsInteger) (con integer 0) n ]
                          (lam wait (con integer 1))
                          (lam wait [ (builtin multiplyInteger) n [ fct [ (builtin subtractInteger) n (con integer 1) ] ] ])
                 ]
                 (con unit ())
               ]
        )
      )
    ]
  ]
)

I had this thought: is it possible to replace non polymorphic use of (force T) with [ (lam go [ go go] ) T] and (delay T) with (lam wait T)? So I translated the factorial function in https://github.com/runtimeverification/plutus-core-semantics/issues/229#issuecomment-1164787785 with this substitution and it worked.
In terms of space in the flat format, (delay T) is actually equivalent to (lam wait T) but (force T) is much smaller than [ (lam go [ go go ] T].  Here's a break down:
(lam wait T) is 4 bits + SizeOf(T) in flat (note, wait is not encoded in this expression because flat uses de Bruijin indicies.
(delay T) is 4 bits + SizeOf(T) in flat. So they're equivalent
Now onto (force ... )
(force T) is 4 bits + SizeOf(T)
[ (lam go [go go]) T ] is 4 bits (application) + 4 bits (lam) + 4 bits (inner application) + 4 bits (variable) + 8 bits (go) + 4 bits (variable) + 8 bits (second go) + sizeOf(T) => 40 bits + sizeOf(T) so you save 36 bits. I've seen [ (lam go [go go] T ] a lot in our examples.
(program 1.0.0

  [ (lam f [(lam x [f (lam y [x x y])]) (lam x [f (lam y [x x y])])])
    (lam fct
      (lam n [ (lam go [ go go ])
               [ (force (builtin ifThenElse))
                 [ (builtin equalsInteger) (con integer 0) n ]
                 ( lam wait (con integer 1) )
                 ( lam wait
                   [ (builtin multiplyInteger)
                     n
                     [ fct [ (builtin subtractInteger) n (con integer 1) ] ]
                   ]
                 )
               ]
             ]
      )
    )
    (con integer 10)
  ]
)

Here's an example done in continuation passing style. The examples above build a string of multiplication operations on all of the numbers in the factorial and folds over it at the end. The function below multiplies each number as it iterates through them.
(program 1.0.0
  [ (lam factorial [ factorial (con integer 10) ])
    [ (lam factorialAux (lam n [ factorialAux n (con integer 1) ]))
      [ (lam f [(lam x [f (lam y [x x y])]) (lam x [f (lam y [x x y])])])
        (lam fct
          (lam n
            (lam cont
              (force [ (force (builtin ifThenElse))
                       [ (builtin equalsInteger) (con integer 0) n ]
              (delay   cont)
              (delay   [ fct [ (builtin subtractInteger) n (con integer 1) ] [ (builtin multiplyInteger) n cont ] ])
                     ]
              )
            )
          )
        )
      ]
    ]
  ]
)


Can I throw an exception without rules?

Prerequisites

[X] Have read and understood: https://github.com/Maatwebsite/Laravel-Excel/blob/3.1/.github/SUPPORT.md
[x] Checked if your Laravel Excel version is still supported: https://docs.laravel-excel.com/3.1/getting-started/support.html#supported-versions
[X] Checked that your question isn't already asked before.
[X] Filled in the entire issue template

Versions

PHP version: 7.2
Laravel version: 5.9
Package version: 3.1.14

Description
I want to throw an exception based on custom logic (not fields exactly).
Using SkipsFailures and SkipsOnFailure... Can I throw an exception to catch after like this:
$import = new ModelObject();
$import->import('file-2.xlsx');
foreach ($import->failures() as $failure)
{
      $failure->row(); // row that went wrong
}

I need something like this:
throw new RowSkippedException('Missing etc...');
I know that RowSkippedException is expecting Failure and I read all about Failure... but I can't make it.
How can I throw an exception to catch later as a list?
Thanks!

You can make an exception class in your own code and throw that after the ->import() call. Something like:
if (count($import->failures()) > 0) {
    throw new YourRowSkippedException('Missing etc....');
}


[AIRFLOW-58] Add bulk_dump abstract method to DbApiHook

Dear Airflow Maintainers,
Please accept this PR that addresses the following issues:

https://issues.apache.org/jira/browse/AIRFLOW-58

LGTM, merging

I don't think tab-delimited or any text format dump is fool-proof and I'm -1 for this: i.e. what if a text column contains tabs?
Please remove this. I'd prefer a hook that provided serialization options (e.g. avro, thrift, protobufs), all of which support schema'd binary formats.

Airflow supports loading tab-delimited data into MySQL since 1.5.2. I have no strong opinion on the matter, and would be okay with the removal of the feature, but I'd note that the dbapi hooks are already subject to various limitations that users seem to be expected to discover on their own — such as serialization of unknown data types being just str(obj).


Ray wrapper module to circumvent Ray easily

tl;dr: Create a wrapper module that can perform Ray-like operations so that isofit core development can continue using Ray syntax without having Ray enabled.

The Problem
Isofit relies on Ray in several locations currently:

ray.get(...)

https://github.com/isofit/isofit/blob/master/isofit/radiative_transfer/look_up_tables.py#L223
https://github.com/isofit/isofit/blob/master/isofit/radiative_transfer/sRTMnet.py#L179
https://github.com/isofit/isofit/blob/master/isofit/utils/atm_interpolation.py#L297
https://github.com/isofit/isofit/blob/master/isofit/utils/empirical_line.py.py#L422
https://github.com/isofit/isofit/blob/master/isofit/utils/extractions.py#L156
https://github.com/isofit/isofit/blob/master/isofit/utils/segment.py#L193

<EMAIL_ADDRESS>
https://github.com/isofit/isofit/blob/master/isofit/core/isofit.py#L143
All of the ray.get scripts at various lines

ray.put(...)

https://github.com/isofit/isofit/blob/master/isofit/core/isofit.py#L140
https://github.com/isofit/isofit/blob/master/isofit/utils/analytical_line.py#L139
https://github.com/isofit/isofit/blob/master/isofit/utils/extractions.py#L140

There is a debug flag in the configuration that can disable Ray for isofit.py. This implementation only affects isofit.py, but the above scripts will instantiate a local Ray cluster despite the debug flag.
Proposed Solution
Rather than doing what isofit.py does using a if/else debug flag to determine how to run the code (with/out Ray), create a thin wrapper module with functions that act Ray-like. That is, isofit core code can continue using Ray syntax such as:
id     = ray.put(obj)
func   = ray.remote(function)
jobs   = [func.remote(*args, id, **kwargs) for args, kwargs in iterable]
result = ray.get(jobs)

and the wrapper module would either submit these jobs to a Ray cluster if not in debug mode, otherwise run sequentially:
class wrapped_Ray:
  def init(config):
    self.debug = config.debug

  def __getattr__(self, key):
    if self.debug:
      getattr(self, key)
    else:
      return getattr(ray, key)

  @staticmethod
  def put(obj):
    return obj

  @staticmethod
  def remote(func):
    func.remote = func
    return func

  @staticmethod
  def get(*args):
    return args

This won't work exactly but it gets the idea.

Solved with #333!


[bug][ios]: sheet breaks detach of modals on reload (pressing R)

It seems like the sheet prevents modals and transparentModals from being detached correctly on a hard reload (R button), making the app unresponsive and forcing me to reboot the app many times during development. While this is not a huge deal since it does not affect production, it is super annoying in development when you work on sheets and have some reloads or hot refreshes that mount and unmount the transparent modal behind.
It works fine for modals if the sheet is not open, but as soon as the sheet is open, the modal is not detaching. See the two videos (red background added to my stack to demonstrate the problem).

No sheet, app responsive after reboot
With sheet not responsive anymore

Also, I tested the same behavior with multiple modals stacked on top of eachother. It works flawlessly, the problem only occurs with true sheet being open.
Kindly appreciate a fix here.

Yeah, I'm not sure if there's a proper fix for that since it's how IOS handles viewcontrollers internally.
I think what's happening is that the Modal gets destroyed first leaving TrueSheet in the air. It's the same issue with RN navigation modals as well.
I tried finding a way to fix it before but couldn't find one. It's a deep rabbit hole when working with stacked modal view controllers.
Sorry.

It is not happening with RN navigation modals, thats what I tried to showcase. The video with only red (without the sheet) gets removed, but when I have a modal, that opened the sheet, it does not work anymore.

Okay.. I guess I got confused :D. So, sheet gets removed first and then RN modal did not get the chance to detach. Again, this is a known issue and I'm suffering from it as well even with react-nativation/native. It's something to do with hot reloading + modals.
I wonder if it can be fixed here:
https://github.com/lodev09/react-native-true-sheet/blob/d30b873544e4b02b0478304555f326f6d44eabce/ios/TrueSheetView.swift#L161-L163
Try to disable animation on that line.

Just curious, what's your reason in using RN modal? I assume it's the red one.

I'll try to disable the animation to see if that fixes it. The main reason we're using the transparentModal is as I explained here https://github.com/lodev09/react-native-true-sheet/discussions/32. We're using react-navigation.

Again, this is a known issue and I'm suffering from it as well even with react-nativation/native
This is not true. I opened two transparentModal on top of each other without using your library, and reloading successfully detaches them. If one of those modals contains your sheet, it breaks.

Summoning the debug king @intergalacticspacehighway

I was able to patch the issue in RNSScreenStack.mm
// updated this
- (void)invalidate {
    _invalidated = YES;
    [self dismissAllPresentedViewControllersFrom:_controller completion:^{
        // Ensure presented modals are removed and the controller is detached from its parent
        [_presentedModals removeAllObjects];
        [_controller willMoveToParentViewController:nil];
        [_controller removeFromParentViewController];
    }];
}

- (void)dismissOnReload {
    dispatch_async(dispatch_get_main_queue(), ^{
        [self invalidate];
    });
}

// added this
- (void)dismissAllPresentedViewControllersFrom:(UIViewController *)viewController completion:(void (^)(void))completion {
    if (viewController.presentedViewController) {
        [viewController.presentedViewController dismissViewControllerAnimated:NO completion:^{
            [self dismissAllPresentedViewControllersFrom:viewController completion:completion];
        }];
    } else {
        completion();
    }
}

https://github.com/lodev09/react-native-true-sheet/assets/504909/191470af-e9b5-4526-9170-5fce0c6c1e21

Fix is here https://github.com/software-mansion/react-native-screens/pull/2175

OMG thank you for fixing rn screens 😂
I'm actually traveling so I couldn't help much. I'll take a look at implementing the same fix on the sheet since it could also be an issue with stacked sheet.

The main reason we're using the transparentModal is as I explained here https://github.com/lodev09/react-native-true-sheet/discussions/32. We're using react-navigation.

I see. An alternative solution I would suggest is capture route.params with the screen instead of implementing a transparent modal. See here
useEffect(() => {
  ;(async () =>  {
    if (id) {
      await sheet.current?.present()
      navigation.setParams({ id: undefined })
    }
  })()
}, [id])

We rely on many lifecycle/focus/blur events; this approach wouldn’t work. Furthermore, your suggestion would require mounting all of the views in the root. Our sheets can be accessed from everywhere and are mounted “lazily” thanks to our implementation, and no extra code needed.

Ah that makes sense. Definitely not good solution if you have lots of sheets that accepts links.
Good luck.

Well everything works fine now with the patch :). Once we get your PR merged it's hopefully mounting a bit faster

yep. The PR works for IOS but I'm seeing layout issues with android when orientation changes. I won't be able to fix them until I get back home in few days. However, I would appreciate if you could test it more and I can merge it when I get a chance then create separate PR for the layout issue :)

Sounds good, if you consider it ready for testing I could give it a shot. Orientation change isn't an issue for us but maybe for others, but sounds good to address separately.

i'm not sure it's related but on expo when i press R, my ios app crashes with this error
TrueSheet/TrueSheetView.swift:140: Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value
hope that can help, not sure if it's only a reload/dev thing or not tho yet

Not related to this issue, but what Expo version are you using?

using :

"expo": "^51.0.11",
"@lodev09/react-native-true-sheet": "^0.11.3",

not 100% but almost everytime yeah, in my repo i had a scenario where i would get it 100%, but when i dev, it's not all the time.
i have a TrueSheet in my input component so it's present in a lot of screen so yeah, happens a lot.
nice for the Pr i will test as soon as it's possible then

I guess you have a case that triggers a width change, thus the event is fired for you.
The PR should fix this effectively.

@hirbod  PR looks good with minor comments.
Closing this. Thank you!

@lodev09 just an FYI that my PR was merged but they slightly changed the implementation logic: https://github.com/software-mansion/react-native-screens/pull/2175
My PR made sure to close all modals recursively, including third party modals but they decided to limit this to RNS, which kinda makes sense but likely won't work as smooth as my initial idea. So we should try and test. Maybe we need appropriate destroy methods that close on dealloc within your library. Just as a little heads up.


Create meta.yaml

Checklist

[v] License file is packaged (see here for an example)
[v] Source is from official source
[v] Package does not vendor other packages
[v] Build number is 0
[v] GitHub users listed in the maintainer section have posted a comment confirming they are willing to be listed there

(In case you didn't see the reply on Gitter.)
The pull request needs to be opened against the main upstream repository instead of your fork using this page.

Thanks @elvirag - In the future, feel free to ping @conda-forge/staged-recipes too!  I have invited you to the "all-members" conda-forge team so that this ping works.