Warning: preg_match(): Compilation failed: missing terminating ] for character class at offset

Climate version 3.5.0
Error:
Warning: preg_match(): Compilation failed: missing terminating ] for character class at offset ...
The problem is in the file Art.php at line 119
$regex = '~' . preg_quote($art) . $pattern . '~';
doesn't work for me, I should change it in:
$regex = '/' . preg_quote($art) .  '.*/';

This is fixed in 3.5.1 sorry for the delay


Typo and link fix

-Remove broken link

Current Oasis release has v1.0 though it corresponds to 3.0 of AKN
Fix spelling

Hello, thanks for the PR. Unfortunately slaw is no longer under active development. I've marked the repo as archived, which I should have done a while ago.
We have replaced slaw with bluebell which is pure-python, faster and has many improvements.


Inconsistent support of CLI flag --format

Required information

Distribution: Ubuntu
Distribution version: 19.04
The output of "lxc info" or if that fails:

Kernel version: 5.0.0-21-generic
LXC version: 3.15
LXD version: 3.15
Storage backend in use: zfs

Issue description
LXD inconsistently offers the --format flag amongst its CLI commands. It's convenient to use the flag to use when checking lxc programatically (without using the API directly).
The commands that support --format

lxc list
lxc image list
lxc network list
lxc profile list
lxc remote list

The commands that don't support --format

lxc alias list
lxc cluster list
lxc project list
lxc snapshot list
lxc storage list

Steps to reproduce
$ lxc storage list --format json
Error: unknown flag: --format

Yep, it's something I've been meaning to sort out for a while, ideally we'd move them all to a shared set of functions to handle the various outputs.
I may take a look at it next week, see if we can't sort that out in time for 3.16.

I'm on LXD 4.2 installed from snap and I still see this issue. Is it normal?

I've just checked and all our list commands with the exception of config device list (which doesn't have a list structure to dump in the first place) all support --format.

sorry, my fault, you can safely ignore my previous comment.


adding my resume

Solves #23

@hriprsd change the slug name to match with your folder name

updated!, thanks for the review 👍


[SPARK-23454][SS][DOCS] Added trigger information to the  Structured Streaming programming guide

What changes were proposed in this pull request?

Added clear information about triggers
Made the semantics guarantees of watermarks more clear for streaming aggregations and stream-stream joins.

How was this patch tested?
(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)
Please review http://spark.apache.org/contributing.html before opening a pull request.

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/941/
Test PASSed.

Test build #87515 has started for PR 20631 at commit 31bf653.

@zsxwing can you take a look?

Test build #87515 has finished for PR 20631 at commit 31bf653.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

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/SparkPullRequestBuilder/87515/
Test PASSed.

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/960/
Test PASSed.

Test build #87542 has started for PR 20631 at commit 4086237.

Test build #87542 has finished for PR 20631 at commit 4086237.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

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/SparkPullRequestBuilder/87542/
Test PASSed.

Yes! That’s the plan

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/970/
Test PASSed.

Test build #87561 has started for PR 20631 at commit 4f13e40.

Test build #87561 has finished for PR 20631 at commit 4f13e40.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

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/SparkPullRequestBuilder/87561/
Test PASSed.

LGTM

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/976/
Test PASSed.

Test build #87570 has started for PR 20631 at commit 6ad07d8.

Test build #87570 has finished for PR 20631 at commit 6ad07d8.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

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/SparkPullRequestBuilder/87570/
Test PASSed.


chore: add static analysis options and update some libraries

In this talk: https://youtu.be/R62iQvZ0bdQ?t=3570
Alex Beagle showed some new tsconfig.json options to improve the static_analysis.
More info can be found on the typescript github: https://github.com/Microsoft/TypeScript/wiki/What's-new-in-TypeScript#control-flow-analysis-errors
These options can be included since angular.beta.7 and typescript 1.8.0

@the-ult looks good to me. Would you only remove the comments from tsconfig.json?

Yes, of course.
First PR. Hopefully some more (better ones will follow :-) )
PS: it might be an idea to set the flag: noImplicitAny to true
See: https://github.com/angular/angular/issues/4924
When you set the flag to true, most errors appear in `gulpfile.ts and the settings:
 Unable to compile TypeScript

gulpfile.ts (12,24): Parameter 'done' implicitly has an 'any' type. (7006)
gulpfile.ts (22,30): Parameter 'done' implicitly has an 'any' type. (7006)
gulpfile.ts (29,24): Parameter 'done' implicitly has an 'any' type. (7006)
gulpfile.ts (39,25): Parameter 'done' implicitly has an 'any' type. (7006)
gulpfile.ts (52,25): Parameter 'done' implicitly has an 'any' type. (7006)
gulpfile.ts (62,31): Parameter 'done' implicitly has an 'any' type. (7006)
gulpfile.ts (69,26): Parameter 'done' implicitly has an 'any' type. (7006)
gulpfile.ts (76,19): Parameter 'done' implicitly has an 'any' type. (7006)
gulpfile.ts (83,24): Parameter 'done' implicitly has an 'any' type. (7006)
gulpfile.ts (91,24): Parameter 'done' implicitly has an 'any' type. (7006)
gulpfile.ts (99,19): Parameter 'done' implicitly has an 'any' type. (7006)
tools/utils/seed/code_change_tools.ts (39,15): Parameter 'files' implicitly has an 'any' type. (7006)
tools/utils/seed/tasks_tools.ts (18,23): Parameter 'done' implicitly has an 'any' type. (7006)
tools/utils/seed/tasks_tools.ts (40,17): Parameter 'path' implicitly has an 'any' type. (7006)
tools/utils/seed/tsproject.ts (4,5): Variable '_tsProject' implicitly has an 'any' type. (7005)
tools/utils/seed/watch.ts (7,23): Parameter 'taskname' implicitly has an 'any' type. (7006)

I could fix them bij giving them all the any type. Although I don't know if that would be the correct type.
For example:
// gulpfile.ts (12,24): Parameter 'done' implicitly has an 'any' type. (7006)
// --------------
// Build dev.
gulp.task('build.dev', done =>
  runSequence('clean.dev',
              'tslint',
              'build.assets.dev',
              'build.js.dev',
              'build.index.dev',
              done));

What would be the proper type for done?

noImplicitAny seems like a good idea, although I hope we're not getting too strict :smile:.
done should be of type Function.


Wrong cmdlet used to get Cluster Address Value

Line 38 is currently:
$address = Get-ClusterGroup -Cluster $Name -Name "Cluster IP Address" | Get-ClusterParameter "Address"
Should be:
$address = Get-ClusterResource -Cluster $Name -Name "Cluster IP Address" | Get-ClusterParameter -Name "Address"
Doesn't seem to work when using the Cluster Name as $Name, but does when using a Cluster Node Name as $Name.
This was tested when creating a 2 node cluster with Azure VMs.

It should be changed from
$address = Get-ClusterGroup -Cluster $Name -Name "Cluster IP Address" | Get-ClusterParameter "Address"
To:
$address = Get-ClusterGroup -Cluster $Name | Get-ClusterResource -Name "Cluster IP Address" | Get-ClusterParameter "Address"

@matthitchcock The fix was indeed as @johlju proposed, combined with returning the hashtable in the end.

@DdenBraver what PR fixed this issue?

@TravisEz13 PR #14 will fix this issue.


Pricing of Defender for DNS - Link does not contain any information about Defender for DNS

Hi,
the link included in this documents refers to the Defender for Cloud Pricing. But in this article Defender for DNS is not listed. Defender for DNS is missing in the Azure Pricing Calculator within Defender for Cloud too.
Any idea how Defender for DNS will now be billed?

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

ID: 608b5811-b62d-d7b0-8b70-99253c49a0ee
Version Independent ID: 56cedb4d-d286-c9f7-fe9b-7678f2967f74
Content: Microsoft Defender for DNS - the benefits and features - Microsoft Defender for Cloud
Content Source: articles/defender-for-cloud/defender-for-dns-introduction.md
Service: defender-for-cloud
GitHub Login: @dcurwin
Microsoft Alias: dacurwin

@myfope
Thanks for your feedback! We will investigate and update as appropriate.

@AjayBathini-MSFT I think I've found the reason: Defender for DNS was integrated into Defender for Servers Plan 2. Would be enough to just update the article to mention this also in the below table. In the Header section there is already the "Important Note" I missed

#reassign:dcurwin

#label:"backlog-item-created"

@myfope As you noted, the integration to Defender for Servers is mentioned at the note at the top of the page.
#please-close


Context menu actions are always executed twice when clicked on Firefox

VSCode Version:
OS Version:

Steps to Reproduce:

Run VS Code web in Firefox
Install https://marketplace.visualstudio.com/items?itemName=ms-vscode.vscode-github-issue-notebooks (from vsix)
Create a GitHub issue notebook
Insert a code cell, type in some content
Right click on the cell container, click "Copy Notebook Cell" from the context menu
Right click on the cell container, click "Paste Notebook Cell" from the context menu
It inserts two new cells into the document

After some debugging, I found that every action in the context menu is always executed twice, and only in Firefox.

Does this issue occur when all extensions are disabled?: Yes/No

curious if this reproduces in all menus?

@sbatten it is easy to reproduce and fix seems trivial: https://github.com/microsoft/vscode/pull/109374


Missing doi from one reference

In paper.md there is a missing doi for the entry:
"Reisen, N., Hoffrage, U., & Mast, F. W. (2008). Identifying decision strategies in a consumer choice situation. Judgment and decision making, 3(8), 641–658."

This article does not have a doi. There is no doi on CrossRef or in other publications that cite this article. The article has been published in Judgment and Decision Making Journal (http://journal.sjdm.org/). The URL of the article is http://journal.sjdm.org/8801/jdm8801.html

Ok -- my bad !


Feature : Add Top loader in webpages

There should be a Top loader added in each web pages of Website, While when someone refresh or navigates to that page the Top loader should should be visible just like youtube.
In React this is possible through a library called React- top-loader, in which we can add it in our react app.

@prashh-k it's a good addition and can be of great use to the app.

It would be great if anyone can build this natively using css and react components.

Make sure to handle the easy usability, less overhead and no breakdowns to existing features.

ok i will try to do it without effecting other existing features.


enable alpheios on the page

Matteo, you need to add the class="alpheios-enabled" and lang="grc" attributes to the parent element that contains text for lookup. For now I put it on the body and added data-alpheios-ignore="all" to the header lines so that they aren't enabled.
You could be more granular if you have access to the XSL of ceteicean but this is probably good enough for now.
(I also moved the Alpheios script activation to after ceteicean but that probably is only necessary if you are going to add the alpheios-enabled class in the ceteicean transform.)

many thanks @balmas for fixing my n00b's mistakes ;-) it works like a charm now


Give a different primary label for "ascr#2"

Would "ascaroside C6" be a better primary label?
For initial discussion, see:
https://github.com/geneontology/go-ontology/issues/12043
Reported by: cmungall

I'll close this issue for the present. It can always be revisited in the future if it continues to be a problem, if SMIDS are superseded, etc.


Icon sizing has padding?

It drives me crazy that if I'm using tailwind to size the heroicon I'll end up wanting something that's 16x16 (w-4) so I have to make the outer container 20x20 (w-5) so that I end up with a 16x16 icon. This also can get weird with layouts when you don't want padding. Padding should be a choice not built-in.
It seems that if I manually set the viewBox to 2 2 16 16 on something like x-circle then it respects the sizing.

Hey! There's no intent to really bake in "padding" per se, it's just that every icon needs to be drawn on the same canvas size for the set to work together, and for the icons to look balanced when used together, some of them need more whitespace than others.

You can see the lightning bolt uses all of the available vertical space (except for 1px), and the speaker uses all of the horizontal space. The vertical and horizontal menu icons of course have lots of space on horizontal axis and vertical axis respectively.
The only way to remove all whitespace for each icon would be to make the artboards different shapes and sizes for each icon, and then you couldn't size them as easily.
No plans to change this — we designed these icons for ourselves and the way they are built has worked perfectly for our own projects. We released them as a gift, which is why this is an MIT licensed open source project. If you need icons that are implemented differently, perhaps these are at least a helpful starting point, but even if they aren't of course you are free to make your own icons for yourself just we made these icons for ourselves 👍🏻

Works great: https://svgcrop.com/
PS: Thanks for Heroicons!


JVM cannot exit when Spring Boot Application Start Fail

Environment

Dubbo version: 2.7.13
Operating System version: MAC OS(arm)
Java version: JDK 11

Steps to reproduce this issue

Create a Spring Boot Application With Dubbo Spring Boot Starter
Change application config to make the application can not start successfully.such as delete the datasource.url config
start the application . then log will report the application start fail, but the JVM cannot exit.

I have test 2.7.8--2.7.23. Having the same problem.

I have test 2.7.8--2.7.23. Having the same problem.

I have test 2.7.8--2.7.23. Having the same problem.2.7.7 is ok.

2.7x is eol. pls upgrade 3.x


Address notices

Purpose

address the security warnings that are triggered based on the project dependencies

Does this introduce a breaking change?

[ ] Yes
[ x] No

Pull Request Type
What kind of change does this Pull Request introduce?

[ x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

What to Check
Verify that the following are valid

app runs normally

Other Information

Wrong branch selected for merging into...


can't import yaml

Can you please explain

Before using this plugin, you must ensure that pyyaml is installed for Python 3 on your system, and available for direct import in Sublime Text 3.

AFAIK subl runs in it's own python 3.3 environment, so how can Import yaml that was installed to system python3 environment in subl?

SublimeText/Linter magically adds some system python folders to the path.
It works identically with pep257, pep8 plugins, etc..
In SublimeText console, if you do
>>> import sys
>>> sys.path

you should see system folders.

import sys
sys.path
['/Applications/Sublime Text.app/Contents/MacOS', '/Applications/Sublime Text.app/Contents/MacOS/python3.3.zip', '/Users/itrushchenko/Library/Application Support/Sublime Text 3/Packages', '/Users/itrushchenko/Library/Application Support/Sublime Text 3/Packages/bz2/st3_osx_x64']

You do have a python3 installed on your system, right ?

itrushchenko@AF6202  ~  python3
Python 3.5.0a2 (default, Mar 18 2015, 17:41:14)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

Don't know about Mac, but on Windows, this problem goes away if Python3 paths come before python2 in %PATH% env.var.
%PATH% = ...;c:\python2;c:\python2\scripts;c:\python3;c:\python3\scripts;...
`SublimeLinter: import of yaml module in pyyaml failed, linter will not run using built in python `
`SublimeLinter: pyyaml activated: <builtin> `
>>> import sys; sys.path
['P:\\ath\\to\\many st packages', '...', 'P:\\ath\\to\\SublimeText', 'P:\\ath\\to\\SublimeText/python3.3.zip', 'P:\\ath\\to\\more st packages']

%PATH% = ...;c:\python3;c:\python3\scripts;c:\python2;c:\python2\scripts;...
`SublimeLinter: pyyaml activated: <builtin> `
>>> import sys; sys.path
['P:\\ath\\to\\many st packages', 'P:\\ath\\to\\SublimeText', 'P:\\ath\\to\\SublimeText/python3.3.zip', '...', 'C:\\python3\\python35.zip', 'C:\\python3\\DLLs', 'C:\\python3\\lib', 'C:\\python3', 'C:\\python3\\lib\\site-packages', 'P:\\ath\\to\\more st packages']

Nice catch !

I actually don't have python 3 installed on my system. Don't use it for anything as all my work is done in python 2. I didn't want to install it just for pyyaml, so I cheated. ST3 uses python 3.3, so I downloaded the 64 bit windows binary from here (make sure to grab the python 3.3 version. Running it doesn't work because I don't have python 3 installed. I just opened the exe with 7zip, pulled out the yaml folder, and dumped it into the python3.3.zip file in Program Files.
Works great!

Now, yaml should be installed automatically through Package Control's dependencies system.
See #8


Add ThreeFold Connect App in manual

ThreeFold Connect app is not a component in new manual, not up-to-date in wiki :

need info on KYC feature
(support TFT on Substrate to be added once available)
also use TF Connect secret for TFGrid3 ?

existed on https://manual.grid.tf/getstarted/TF_Connect/TF_Connect.html


Responsive Design on Iphone

Hi,
the Design doenst work right on a Iphone 6 (iOS 9.2)
Example: OPENVPN Client Export
neither to scroll / see all
neither to download the certificates to work on the iphone

Can you be more specific about these with screen shots?

Some tables just don't work very well yet. Some additions are coming with 16.1.16, but it will take help to get more fixes in for individual pages.

As we use bootstrap won't it be somewhat easier to use this?


fix: fix Button

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@c43b8be). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #150   +/-   ##
=========================================
  Coverage          ?   90.32%
=========================================
  Files             ?       13
  Lines             ?      124
  Branches          ?       79
=========================================
  Hits              ?      112
  Misses            ?       10
  Partials          ?        2

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Mixed Keys not supported like prefix.keygroup-key

Hi,
I got multiple problems with combining Azure Keyvault Spring and Keycloak. It points out that the not supported dot "." in secret keys of Azure Keyvault produces a lot of trouble.
I used the "starter" to provide an simple example.
I used following versions:
com.microsoft.azure:azure-keyvault-secrets-spring-boot-starter:2.2.0
org.springframework.boot:spring-boot-starter-parent:2.2.6.RELEASE
org.keycloak:keycloak-core:9.0.3
Mixed Keys
This is used by keycloak for example keycloak.auth-server-url, see https://www.keycloak.org/docs/latest/securing_apps/
    @Value("${test.minus-key}")
    private String mySecretProperty;

throws
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'test.minus-key' in value "${test.minus-key}"

Unbound keys
The unbound keys exception should help operations and developer to avoid configuration mistakes. This will identify typing errors or configuration of older versions.
Important is here the configuration
ignoreUnknownFields = false

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
/**

Configuration based on declaration in
org.keycloak.adapters.springboot.KeycloakSpringBootProperties

*/
@ConfigurationProperties(prefix = "test", ignoreUnknownFields = false)
public class DemoConfiguration
{
@Value("${test.minus-key}")
private String minusValue = "testValue";
}
throws
Caused by: org.springframework.boot.context.properties.bind.UnboundConfigurationPropertiesException: The elements [test.minus.key, test.dot.key] were left unbound.
	at org.s.boot.context.properties.bind.handler.NoUnboundElementsBindHandler.checkNoUnboundElements(NoUnboundElementsBindHandler.java:91)

@Thomas-Bergmann thanks for the info! We'll look into integrating this guidance into the docs.
@seanli1988 can you comment here? Thanks.

@chenrujun please take a look at this.

@KarlErickson could you please assign this to @chenrujun?

@chenrujun please coordinate with @lastnameholiu who has also been looking at these issues. Thanks!

I'll create PR soon.

Hi, @Thomas-Bergmann
Although in secret keys of Azure Keyvault doesn't support setting ".",  it doesn't affect our use "." in our project.
azure-keyvault-secrets-spring-boot-starter will load all secrets from Azure Keyvault, and format the secret.
The format secret code is toKeyVaultSecretName().
The comment of method explains the formatting rules in detail:
    /**
     * For convention we need to support all relaxed binding format from spring, these may include:
     *

     *
Spring relaxed binding names

     *
acme.my-project.person.first-name

     *
acme.myProject.person.firstName

     *
acme.my_project.person.first_name

     *
ACME_MYPROJECT_PERSON_FIRSTNAME

     *

     * But azure keyvault only allows ^[0-9a-zA-Z-]+$ and case insensitive, so
     * there must be some conversion between spring names and azure keyvault
     * names. For example, the 4 properties stated above should be convert to
     * acme-myproject-person-firstname in keyvault.
     *
     */

At last azure-keyvault-secrets-spring-boot-starter  to save these secrets in a map. Our properties(@Value or @ConfigurationProperties) will get the value from the map, and format the property name as a key for get value. So we just need to keep the property name and secret name after formatting the same. The README.md also describes it.

@han-gao is this guidance something we should put in the docs? If so, will you be creating a PR? If not, we can close this issue. Thanks!

@KarlErickson
This is already pointed out in this document.


No CUDA devices were found in system when -XMX > 973

A "java.lang.RuntimeException: No CUDA devices were found in system" exception is thrown if the -xmx option is passed to the JVM with a value higher than 973g. If more information is needed to replicate please let me know.

As it will be difficult to reproduce your issue as stated without a machine with > 1TB memory, please give us a precise way to reproduce your issue: you pass those options to the JVM, yes, but what are the other arguments?
Ideally, this would include code / a script making this unambiguous.

The only arguments I'm manually passing to the JVM are: -Xms20g -Xmx974g -XX:+UseG1GC. You don't need 1TB of physical RAM, you can use virtual memory.
I'm currently under nd4j-cuda-8.0-platform 0.8.0, but it was happening on 0.8.1-SNAPSHOT as well.

When I said other arguments, I'm afraid we are going to need your code or a minimized version of it to reproduce. I can
java -Xmx950g -cp /path/to/nd4j.jar HelloWorld with a trivial HelloWorld class, and this won't result in an error.

I can reproduce it with any dl4j example. I just tried it on the MLPMnistSingleLayerExample using the following arguments: -Xms20g -Xmx974g -XX:+UseG1GC
I'm using:

IntelliJ IDEA 2017.2.1
-Windows 10
-CUDA 8.0
-<nd4j.backend>nd4j-cuda-8.0-platform</nd4j.backend>
-<nd4j.version>0.8.0</nd4j.version>
-<java.version>1.8</java.version>

Output log:
`o.d.e.f.m.MLPMnistSingleLayerExample - Build model....
o.n.l.f.Nd4jBackend - Loaded [JCublasBackend] backend
o.n.n.NativeOpsHolder - Number of threads used for NativeOps: 32
o.n.l.a.o.e.DefaultOpExecutioner - Backend used: [CUDA]; OS: [Windows 10]
o.n.l.a.o.e.DefaultOpExecutioner - Cores: [16]; Memory: [974.0GB];
o.n.l.a.o.e.DefaultOpExecutioner - Blas vendor: [CUBLAS]
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.nd4j.jita.allocator.impl.AtomicAllocator.(AtomicAllocator.java:72)
at org.nd4j.jita.allocator.impl.AtomicAllocator.(AtomicAllocator.java:70)
at org.nd4j.linalg.jcublas.buffer.BaseCudaDataBuffer.(BaseCudaDataBuffer.java:69)
at org.nd4j.linalg.jcublas.buffer.factory.CudaDataBufferFactory.createDouble(CudaDataBufferFactory.java:226)
at org.nd4j.rng.NativeRandom.(NativeRandom.java:77)
at org.nd4j.linalg.jcublas.rng.CudaNativeRandom.(CudaNativeRandom.java:31)
at org.nd4j.linalg.jcublas.rng.CudaNativeRandom.(CudaNativeRandom.java:27)
at org.nd4j.linalg.jcublas.rng.CudaNativeRandom.(CudaNativeRandom.java:23)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at org.nd4j.linalg.factory.RandomFactory.getRandom(RandomFactory.java:28)
at org.nd4j.linalg.factory.Nd4j.getRandom(Nd4j.java:507)
at org.deeplearning4j.nn.conf.NeuralNetConfiguration$Builder.seed(NeuralNetConfiguration.java:670)
at org.deeplearning4j.examples.feedforward.mnist.MLPMnistSingleLayerExample.main(MLPMnistSingleLayerExample.java:61)
Caused by: java.lang.RuntimeException: No CUDA devices were found in system
at org.nd4j.jita.conf.Configuration.(Configuration.java:389)
at org.nd4j.jita.conf.CudaEnvironment.(CudaEnvironment.java:26)
at org.nd4j.jita.conf.CudaEnvironment.(CudaEnvironment.java:21)
... 17 more
Process finished with exit code 1`

Can you please confirm you do not trigger this error with innocuous (small) -Xmx and -Xms settings ?

Yes, using -Xms20g -Xmx973g -XX:+UseG1GC or anything smaller runs just fine. Here's the output:
o.d.e.f.m.MLPMnistSingleLayerExample - Build model....
o.n.l.f.Nd4jBackend - Loaded [JCublasBackend] backend
o.n.n.NativeOpsHolder - Number of threads used for NativeOps: 32
o.n.l.a.o.e.DefaultOpExecutioner - Backend used: [CUDA]; OS: [Windows 10]
o.n.l.a.o.e.DefaultOpExecutioner - Cores: [16]; Memory: [973.0GB];
o.n.l.a.o.e.DefaultOpExecutioner - Blas vendor: [CUBLAS]
o.n.l.j.o.e.CudaExecutioner - Device name: [TITAN X (Pascal)]; CC: [6.1]; Total/free memory: [10468982783]
o.d.e.f.m.MLPMnistSingleLayerExample - Train model....
o.n.n.Nd4jBlas - Number of threads used for BLAS: 0
o.d.o.l.ScoreIterationListener - Score at iteration 0 is 2.3464892121675605
o.d.o.l.ScoreIterationListener - Score at iteration 1 is 2.330546160146804
o.d.o.l.ScoreIterationListener - Score at iteration 2 is 2.3167860685073562
o.d.o.l.ScoreIterationListener - Score at iteration 3 is 2.271792666383223
o.d.o.l.ScoreIterationListener - Score at iteration 4 is 2.2650935806474672
o.d.o.l.ScoreIterationListener - Score at iteration 5 is 2.223670260200083
o.d.o.l.ScoreIterationListener - Score at iteration 6 is 2.2076702296442505
o.d.o.l.ScoreIterationListener - Score at iteration 7 is 2.155447027490796
o.d.o.l.ScoreIterationListener - Score at iteration 8 is 2.118660715243303
o.d.o.l.ScoreIterationListener - Score at iteration 9 is 2.0563207021435597
o.d.o.l.ScoreIterationListener - Score at iteration 10 is 2.0282559852918256
o.d.o.l.ScoreIterationListener - Score at iteration 11 is 1.9707869885360825
o.d.o.l.ScoreIterationListener - Score at iteration 12 is 1.9120086001591854
o.d.o.l.ScoreIterationListener - Score at iteration 13 is 1.845223165569066
o.d.o.l.ScoreIterationListener - Score at iteration 14 is 1.8279243717819662
o.d.o.l.ScoreIterationListener - Score at iteration 15 is 1.7829919141518382
o.d.o.l.ScoreIterationListener - Score at iteration 16 is 1.6984786378383747
o.d.o.l.ScoreIterationListener - Score at iteration 17 is 1.723271224021128
o.d.o.l.ScoreIterationListener - Score at iteration 18 is 1.6102212766522708
o.d.o.l.ScoreIterationListener - Score at iteration 19 is 1.657290270795942
o.d.o.l.ScoreIterationListener - Score at iteration 20 is 1.573548767640112
o.d.o.l.ScoreIterationListener - Score at iteration 21 is 1.5950976808897828
o.d.o.l.ScoreIterationListener - Score at iteration 22 is 1.4047756871313846
o.d.o.l.ScoreIterationListener - Score at iteration 23 is 1.4409703016327933
o.d.o.l.ScoreIterationListener - Score at iteration 24 is 1.4031825602583559
o.d.o.l.ScoreIterationListener - Score at iteration 25 is 1.3283995290933324
o.d.o.l.ScoreIterationListener - Score at iteration 26 is 1.2806685459160208
o.d.o.l.ScoreIterationListener - Score at iteration 27 is 1.2859820032229945
o.d.o.l.ScoreIterationListener - Score at iteration 28 is 1.2397411399646534
o.d.o.l.ScoreIterationListener - Score at iteration 29 is 1.1577892282287334
o.d.o.l.ScoreIterationListener - Score at iteration 30 is 1.1368395725866702
o.d.o.l.ScoreIterationListener - Score at iteration 31 is 1.057324183302071
o.d.o.l.ScoreIterationListener - Score at iteration 32 is 1.0796916110270962
o.d.o.l.ScoreIterationListener - Score at iteration 33 is 0.9977803566509008
o.d.o.l.ScoreIterationListener - Score at iteration 34 is 1.1370713576152445
o.d.o.l.ScoreIterationListener - Score at iteration 35 is 0.9935500012036149
o.d.o.l.ScoreIterationListener - Score at iteration 36 is 1.0205066323577725
o.d.o.l.ScoreIterationListener - Score at iteration 37 is 1.0391788137812223
o.d.o.l.ScoreIterationListener - Score at iteration 38 is 0.8550747417735486
o.d.o.l.ScoreIterationListener - Score at iteration 39 is 0.9312409686546025
o.d.o.l.ScoreIterationListener - Score at iteration 40 is 0.9595080087515984
o.d.o.l.ScoreIterationListener - Score at iteration 41 is 0.9127705297807939
o.d.o.l.ScoreIterationListener - Score at iteration 42 is 0.9421355463680963
o.d.o.l.ScoreIterationListener - Score at iteration 43 is 0.9527566895321601
o.d.o.l.ScoreIterationListener - Score at iteration 44 is 0.8701912148708626
o.d.o.l.ScoreIterationListener - Score at iteration 45 is 0.9056326252650232
o.d.o.l.ScoreIterationListener - Score at iteration 46 is 0.9747241945013736
o.d.o.l.ScoreIterationListener - Score at iteration 47 is 0.7505215114762285
o.d.o.l.ScoreIterationListener - Score at iteration 48 is 0.7895490933617894
o.d.o.l.ScoreIterationListener - Score at iteration 49 is 0.8677481906247931
o.d.o.l.ScoreIterationListener - Score at iteration 50 is 0.759180721540753
o.d.o.l.ScoreIterationListener - Score at iteration 51 is 0.775607709567061
o.d.o.l.ScoreIterationListener - Score at iteration 52 is 0.7080026982201608
o.d.o.l.ScoreIterationListener - Score at iteration 53 is 0.7944216313188998
o.d.o.l.ScoreIterationListener - Score at iteration 54 is 0.8775565269276525
o.d.o.l.ScoreIterationListener - Score at iteration 55 is 0.7518357923658628
o.d.o.l.ScoreIterationListener - Score at iteration 56 is 0.6952132914185142
o.d.o.l.ScoreIterationListener - Score at iteration 57 is 0.7317014101992327
o.d.o.l.ScoreIterationListener - Score at iteration 58 is 0.7276802459161922
o.d.o.l.ScoreIterationListener - Score at iteration 59 is 0.746150059134697
o.d.o.l.ScoreIterationListener - Score at iteration 60 is 0.7709556659254755
o.d.o.l.ScoreIterationListener - Score at iteration 61 is 0.7856983376550621
o.d.o.l.ScoreIterationListener - Score at iteration 62 is 0.7301468671381683
o.d.o.l.ScoreIterationListener - Score at iteration 63 is 0.649335544094622
o.d.o.l.ScoreIterationListener - Score at iteration 64 is 0.7150184897005416
o.d.o.l.ScoreIterationListener - Score at iteration 65 is 0.7228120918137925
o.d.o.l.ScoreIterationListener - Score at iteration 66 is 0.6625711632969983
o.d.o.l.ScoreIterationListener - Score at iteration 67 is 0.8033491646122927
o.d.o.l.ScoreIterationListener - Score at iteration 68 is 0.769820173538324
o.d.o.l.ScoreIterationListener - Score at iteration 69 is 0.6968015550464077
o.d.o.l.ScoreIterationListener - Score at iteration 70 is 0.7391611971122116
o.d.o.l.ScoreIterationListener - Score at iteration 71 is 0.5905331316476027
o.d.o.l.ScoreIterationListener - Score at iteration 72 is 0.6496614063317734
o.d.o.l.ScoreIterationListener - Score at iteration 73 is 0.6098038304751694
o.d.o.l.ScoreIterationListener - Score at iteration 74 is 0.5851742880547256
o.d.o.l.ScoreIterationListener - Score at iteration 75 is 0.5759605914628757
o.d.o.l.ScoreIterationListener - Score at iteration 76 is 0.6839456016147117
o.d.o.l.ScoreIterationListener - Score at iteration 77 is 0.5513702580427703
o.d.o.l.ScoreIterationListener - Score at iteration 78 is 0.687763436785256
o.d.o.l.ScoreIterationListener - Score at iteration 79 is 0.6505104624322045
o.d.o.l.ScoreIterationListener - Score at iteration 80 is 0.47784971226907125
o.d.o.l.ScoreIterationListener - Score at iteration 81 is 0.6411874381594683
o.d.o.l.ScoreIterationListener - Score at iteration 82 is 0.5657454090018015
o.d.o.l.ScoreIterationListener - Score at iteration 83 is 0.6223137202836317
o.d.o.l.ScoreIterationListener - Score at iteration 84 is 0.6193750782260312
o.d.o.l.ScoreIterationListener - Score at iteration 85 is 0.5089661016920686
o.d.o.l.ScoreIterationListener - Score at iteration 86 is 0.5988399384464662
o.d.o.l.ScoreIterationListener - Score at iteration 87 is 0.5710334636163742
o.d.o.l.ScoreIterationListener - Score at iteration 88 is 0.632814140500004
o.d.o.l.ScoreIterationListener - Score at iteration 89 is 0.6030639562399579
o.d.o.l.ScoreIterationListener - Score at iteration 90 is 0.5497698177442502
o.d.o.l.ScoreIterationListener - Score at iteration 91 is 0.7003242787271837
o.d.o.l.ScoreIterationListener - Score at iteration 92 is 0.5840122927413407
o.d.o.l.ScoreIterationListener - Score at iteration 93 is 0.5302230757882539
o.d.o.l.ScoreIterationListener - Score at iteration 94 is 0.6400582650183719
o.d.o.l.ScoreIterationListener - Score at iteration 95 is 0.5780675682272457
o.d.o.l.ScoreIterationListener - Score at iteration 96 is 0.5101745202986677
o.d.o.l.ScoreIterationListener - Score at iteration 97 is 0.520972538150268
o.d.o.l.ScoreIterationListener - Score at iteration 98 is 0.5311303418496559
o.d.o.l.ScoreIterationListener - Score at iteration 99 is 0.4984239414595245
o.d.o.l.ScoreIterationListener - Score at iteration 100 is 0.6418645851625909
o.d.o.l.ScoreIterationListener - Score at iteration 101 is 0.5185504796501074
o.d.o.l.ScoreIterationListener - Score at iteration 102 is 0.47137767324178675
o.d.o.l.ScoreIterationListener - Score at iteration 103 is 0.5674266629731809
o.d.o.l.ScoreIterationListener - Score at iteration 104 is 0.5534473841972892
o.d.o.l.ScoreIterationListener - Score at iteration 105 is 0.5262255034429013
o.d.o.l.ScoreIterationListener - Score at iteration 106 is 0.5353450518269974
o.d.o.l.ScoreIterationListener - Score at iteration 107 is 0.4900402539440231
o.d.o.l.ScoreIterationListener - Score at iteration 108 is 0.5499366412347677
o.d.o.l.ScoreIterationListener - Score at iteration 109 is 0.5507966536374964
o.d.o.l.ScoreIterationListener - Score at iteration 110 is 0.5549182315627667
o.d.o.l.ScoreIterationListener - Score at iteration 111 is 0.49317158058064825
o.d.o.l.ScoreIterationListener - Score at iteration 112 is 0.5466963192642915
o.d.o.l.ScoreIterationListener - Score at iteration 113 is 0.5817317856505984
o.d.o.l.ScoreIterationListener - Score at iteration 114 is 0.4441567588494777
o.d.o.l.ScoreIterationListener - Score at iteration 115 is 0.5725768174729514
o.d.o.l.ScoreIterationListener - Score at iteration 116 is 0.46001824733049257
o.d.o.l.ScoreIterationListener - Score at iteration 117 is 0.4631478519298328
o.d.o.l.ScoreIterationListener - Score at iteration 118 is 0.5786813265781231
o.d.o.l.ScoreIterationListener - Score at iteration 119 is 0.47994006628402125
o.d.o.l.ScoreIterationListener - Score at iteration 120 is 0.48494545995792016
o.d.o.l.ScoreIterationListener - Score at iteration 121 is 0.4890309144419572
o.d.o.l.ScoreIterationListener - Score at iteration 122 is 0.5199432282858887
o.d.o.l.ScoreIterationListener - Score at iteration 123 is 0.37714871220030555
o.d.o.l.ScoreIterationListener - Score at iteration 124 is 0.5000104892874104
...

IIRC, I think that's an issue with CUDA in general.

It might work with different versions of drivers, for example:
https://devtalk.nvidia.com/default/topic/889831/cuda-memory-allocation-issue-on-gtx-850m-on-windows-7-64-/

Yeah that's a problem with your cuda install. I'm closing this. Make sure to follow the tutorials and run nvidia's litmus tests. Come back to us if you get those running successfully.


Testing

This is a really cool idea and seems to work pretty nicely. However, when it comes to testing things become harder. Any plans for adding some mocks and maybe integrating with the existing angular ones?

There was already some discussion on this here.
As bluebird is not tied to angulars digest cycle you can't force a bluebird promise to resolve with a digest, however you can just return the promise to the test if using mocha like so:
it('should accept a promise', () => {
  return $q.when('value').then((result) => {
    expect(result).to.equal('value');
  });
});

This also allows you to use handy libraries like this which you previously couldn't have used with $q.


[1.10.2] No JEI Recipies

Not sure if this is because of mekanism or JEI but all recopies for mekanism do not show up anymore.
Mc: 1.10.2
mekanism: 1.10.2-<IP_ADDRESS>2
JEI: jei_1.10.2-<IP_ADDRESS>3

For me, they show up, but when you click on an item to show the recipe for it, it shows ALL the items' recipes in the mod.

I have the same issue, for me the base blocks show their recipe in JEI, but if I click on a base block's recipe, it shows the recipes for all blocks from Mekanism. If I want to see a machine's recipe, I have to look it up on the wiki, because JEI doesn't show it.

I tried updating JEI to the latest version, and then I found that no recipes could be seen.

I'm having the same issue. Most recipes are there but some are not displayed like the blocks for the dynamic tank. The ones that are displayed, when clicked, show all mekanism recipes. It's especially annoying because of the lack of up to date info on v9 on the wiki.

Update to the latest version of Mekanism please.
I know the "all recipes shown" bug got fixed.


TDEM waveform for SimPEG

This PR adds the following functionalities for SimPEG:

Two new SimPEG waveforms, HalfSineWaveform and TriangularWaveform. The latter was originally left by SimPEG as an "exercise to the reader"; I made it inherit TrapezoidWaveform so we can just reuse the same code.
Unit tests for most TDEM waveforms (which I couldn't find in the SimPEG repo, so adding them for completeness)

The unit test was written with unittest framework (as opposed to pytest), and the code is formatted with black's default setting, to comply with simpeg's contribution guidelines: https://docs.simpeg.xyz/content/basic/contributing.html.
I'll wait until both @jedman and @j-d-goldman has approved this PR, before submitting the PR to the main simpeg repo (related issue: https://github.com/simpeg/simpeg/issues/893).

Here is a schematic that includes the two new waveforms:

Produced by: https://github.com/KoBoldMetals/simpeg/blob/5b23589492ed178bad684644c32fe5906ce9a217/examples/06-tdem/plot_fwd_tdem_waveforms.py


operators project-quay (3.7.0-rc.1)

Automated changes by create-pull-request GitHub action

/merge possible

/merge possible

/merge possible

/merge possible

/merge possible

@HammerMeetNail, please approve as you are the original contributor

@HammerMeetNail, please approve as you are the original contributor

@J0zi We're using automation to create these PRs. Can we make it so anyone on the Quay team can approve the PR instead of just me?

/merge possible


Add ECIES encryption to putFile/getFile

Adds support for using the AppPrivateKey to perform encryption and decryption of data stored using putFile/getFile.
This adds encrypt and decrypt boolean parameters to putFile and getFile, respectively. These parameters default to false.
This is an implementation of ECIES (see wiki), which uses the crypto and elliptic libraries -- elliptic was already an explicit dependency, and crypto was an implicit dependency (though one that was already getting used explicity for getRandomBytes), so this shouldn't change our library dependency tree.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Awesome @kantai ! Can't wait to try this out!

beautiful @kantai


Should Home/End, PageUp/PageDown also navigate in actions?

Testing #116559
You can arrow left/right to navigate in actions, but should PageUp/PageDown and Home/End also work? They do work in tab stripe.

Yeah I like this suggestion. We can add it next debt week.

I could not make pageUp and pageDown work in the tab title list. Also not sure how much it makes sense with the toolbar.
Also the toolbar example from here only implements the home/end functionality https://www.w3.org/TR/wai-aria-practices-1.1/examples/toolbar/toolbar.html
So I will also only support Home/End

To verify: make sure that the home and end navigate the first and last item in the actionBar respectively.
And that the previous tab list navigation works as expected.

Fixed via


Expend on bullets to include complete sentences and replace adoption …

…phases graphic.
@rotycenh

:warning: Validation status: warnings

File
Status
Preview URL
Details

docs/cloud-adoption/governance/cost-management/overview.md
:warning:Warning
View
Details

docs/cloud-adoption/governance/cost-management/overview.md

Line 17: [Warning] Invalid file link:(~/cloud-adoption/_images/adoptionphases.png).
Line 55: [Warning] Invalid file link:(~/cloud-adoption/infrastructure/resource-grouping/overview).

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:warning: Validation status: warnings

File
Status
Preview URL
Details

docs/cloud-adoption/governance/cost-management/overview.md
:warning:Warning
View
Details

docs/cloud-adoption/governance/cost-management/overview.md

Line 17: [Warning] Invalid file link:(~/cloud-adoption/_images/adoptionphases.png).

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


When do you wrap Exceptions in ServiceResult and when do you throw them?

Hi, I just watched your talk on
https://youtu.be/ZYfdjszs8sU?t=2721
and at given timestamp you mention that you consider throwing exceptions to be fine for methods but virtually everywhere else you are wrapping the exception into a ServiceResult. Can you please briefly elaborate on the general idea behind that?

Yeah, so, I don't mind throwing exceptions as such.
But, there are 2 caveats to that. First of all, I don't believe you should throw exceptions in cases where the user of your code might not expect it. Like in properties and constructors. That kind of leaves methods to be honest. Because of the user does not expect a property to throw (which is a correct expectation), they are unlikely to catch it.
And secondly, I think we tend to throw exceptions even if it is not a "real" expression. If we know the problem might arise, like a user not being found for example, or if someone is using an incorrectly formatted email address, I think throwing exceptions is unnecessary. And costly from a performance point of view. It also forces the user of the code to remember to catch it. Not to mention that it really hard to know what to catch.
Returning a result object removes the need for the try catch. It has better performance. And it highlights to the user that the action might not be successful.
So I kind of prefer that at the moment. Having that said, that might change in the future if I find any problems with the approach. But so far it has worked nicely for me
Does that make sense?
Sent from Outlook for Androidhttps://aka.ms/AAb9ysg

From: Pillepalle @.>
Sent: Saturday, July 1, 2023 9:07:40 AM
To: ChrisKlug/efcore-dto-demo @.>
Cc: Subscribed @.***>
Subject: [ChrisKlug/efcore-dto-demo] When do you wrap Exceptions in ServiceResult and when do you throw them? (Issue #1)
Hi, I just watched your talk on
https://youtu.be/ZYfdjszs8sU?t=2721
and at given timestamp you mention that you consider throwing exceptions to be fine for methods but virtually everywhere else you are wrapping the exception into a ServiceResult. Can you please briefly elaborate on the general idea behind that?
—
Reply to this email directly, view it on GitHubhttps://github.com/ChrisKlug/efcore-dto-demo/issues/1, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAR6Q2GT2JLNCYASEXJ6O33XN7EDZANCNFSM6AAAAAAZ2T54CA.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

Yeah, so in general I just don't think expected situations should cause exceptions. It is to be expected, and should give you a more obvious way to handle that in my mind.

From: Pillepalle @.>
Sent: Tuesday, July 4, 2023 10:17
To: ChrisKlug/efcore-dto-demo @.>
Cc: Chris Klug @.>; Comment @.>
Subject: Re: [ChrisKlug/efcore-dto-demo] When do you wrap Exceptions in ServiceResult and when do you throw them? (Issue #1)
Thank you, that makes perfect sense. I started using something similar to your ServiceResults recently and am facing the issue that it keps creeping through the entire codebase (similar to async/ await). Now at the point where almost every method returns ServiceResult I was looking for some rules of thumb as when to return and Exception and when to throw it because the overhead of checking for `ServiceResult.Succeeded() ? This() : That()' becomes unmanageable :)
Your response provides a starting point in that regard.
—
Reply to this email directly, view it on GitHubhttps://github.com/ChrisKlug/efcore-dto-demo/issues/1#issuecomment-1619764583, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAR6Q2CMWL2GQGVUKCC5GBLXOPGQLANCNFSM6AAAAAAZ2T54CA.
You are receiving this because you commented.Message ID: @.***>


Create a catalog search result page

it would be really good to have a complete catalog search results page with filters and sorting options

This page should have a full filter support as well


Add PVC permissions to cluster role in chart

Summary

Follow-up of #88
Adds the necessary permissions to perform PVC changes to the operator's SA

Checklist

[x] Categorize the PR by setting a good title and adding one of the labels:
bug, enhancement, documentation, change, breaking, dependency
as they show up in the changelog
[x] PR contains the label area:chart
[x] PR contains the chart label, e.g. chart:provider-postgresql
[x] Variables are documented in the values.yaml using the format required by Helm-Docs.
[x] Chart Version bumped if immediate release after merging is planned
[x] I have run make chart-docs
[x] Link this PR to related code release or other issues.

Branch currently is based on  #88 , should be rebased after merge.
Please review only the files in charts/*


Refactoring for the version 1 release

For transparency of the code, I would do more refactoring before the release of version 1.

The plan is

[ ] restructuring the examples directory, in particular, LUH16A (should make a new repo for these examples?)
[ ] tests directory
[ ] autospec.py


Disable titan transfers to non-public adresses (at least at GUI level)

Sort of a consequence of #1318--a TITAN deposit should be made iff the recipient is a registered account who publishes TITAN as their preferred receiving method.

This was mostly already addressed by: #1241

Still using TITAN for unregistered contacts.


KEB: implement grace period for deprovisioning instances

Currently, KEB deletes instance entry as soon as deprovisioning operation is processed. This makes follow-up debugging and inspections more challenging. If KEB after the deprovisioning operation would just mark the instance as "deprovisioned" and then after some grace period finally deleted the entries in db, that could help with the visibility.

We discussed that ticket with @wozniakjan and @piotrmiskiewicz and decided to not implement that solution


Support IMDSv2

This adds metadata endpoint configuration support to swipe. Still in testing.

Ok, test complete - this is working for us


Deprecate Syne Italic

Google has already added the Syne family to their repos, which automatically updated our existing Syne fonts from "other" to "google". Syne Italic, however, was not added individually and instead merged into Syne, leaving that to be the odd one out.

Google hasn't added the Syne italic variant yet anywhere.

Google hasn't added the Syne italic variant yet anywhere.


version-0.13.0 need much more memory then 0.10.x

I just updated from 0.10.6, I notice that the new version cost much more memory than before!
0.10.6 ===> 76M
0.13.0 ===> 180M
Do you have any plans to optimize this in the future ?

@wen911119 , are you running on development mode?

production mode

0.10.6

OK.
Konga 0.13.0 has a lot of extra stuff bundled in comparison with 0.10. So that is kind of logical.
It occupies 120M on my server running non stop for more than 3months.
120 - 180M is not too much memory for an app bundled with Konga's features.
That being said, on future releases i'll see if there is something I can do to lower it down, but don't expect much of a difference.


Propose a prefilled list of connections in readonly mode

We would like to make DBeaver available for "end users". Those end users are not able to create nor edit their current connection settings (especially user/password)
Such functionnality could be activated in general settings by a "restrict connection edition to administrative mode" and entering to an administrative mode could be by entering a given password.

I wouldn't do a sophisticated UI for master password management or something.
I see a simple solution: mark "locked" connection (in .dbeaver-sata-sources.xml) with attribute "unlockPasswordHash" (MD5 hash of master password). Connection with this attribute will be locked (and can be unlocked with master password).

Hello serge, that's completly fine for me and your proposal match the requirement.

Read this: https://github.com/serge-rider/dbeaver/wiki/Admin-Manage-Connections

Many thanks ! tested and it works as expected. Congratulations !


Notification list empty despite "bell" icon showing new notification

Brief Description:
When someone follows my page, I get a notification in OS X, as well I can see the (1) orange badge over the "bell" icon in the OB navigation. However after clicking the icon I don't see the notification in the list.
I think this behavior might have something to do with the fact that I've already received the notification to the notification center in OS X.
Operating System (OS and version): OS X 10.11.3
OpenBazaar version: Version 1.0.9 (pulled from the repo)
Hardware: macbook pro 13" late 2011
Reproducible: Always
Steps to reproduce:

Get someone to e.g. follow you

Expected Behavior:

The bell icon should not show the orange badge with number of notifications if the notification were already viewed.

or

The notification list should show the notification, if the bell icon contains the orange badge.

Additional info:

I pulled the latest server from git and I can see all past notifications now. I will check with someone whether I can see new notifications as well and if so, I'll close the issue.


Hex.pm publishing

Sorry to open an issue for this, but I don't know how to handle this. Is there a reason for the releases not being published on Hex.pm ?

I also noticed that. In the meanwhile I am using it directly from Github, locked to the latest release commit:
{:exrabbitmq, github: "StoiximanServices/exrabbitmq", ref: "66b3755"}, # v5.1.1 release


Validation doesn't automatically traverse members

Validation doesn't automatically traverse the members of something so you have to manually add validation support for any satellite objects you want validated.
Example: https://github.com/rynowak/ComponentFunTime/blob/master/Components/Shared/EmployeeEditor.razor#L85

@danroth27
Possible solution:
In InputBase<T>.set_FieldIdentifier execute EditContext.GetFieldState(value, true)
This will add the field state to the EditContext and ensure it is validated.
PS: Not sure any FieldIdentifiers ever get removed from EditContext._fieldStates - I think this might cause a memory leak when navigating to different URLs that point to the same component.
Navigate -> SetParametersAsync -> Creates a FieldIdentifier -> Adds it to EditContext_.fieldStates

All you need to do is have InputBase ensure it has an entry in the EditContext when its EditContext changes. That will ensure only the items being edited are validated. This should be a minimum requirement.
If you also want to provide the ability to validate a whole object regardless of which properties have associated edits, please put a parameter on the validator that allows the user to disable it.
Also, please make the traversal code part of EditContext and not DataAnnoticationsValidator - so other validation frameworks can use it too.

@mrpmorris do you have sample code of your suggestion?

The following code adds a hacky _AccessGetFieldState to EditContext. It's just a way to access EditContext.GetFieldState.
The "fixed" InputText (should be done in InputBase) simply calls EditContext.GetFieldState when its EditContext changes, this ensures EditContext._fieldStates has an entry for this input.
EditContext.Validate can then validate every FieldState it has a reference to.
This way we
1: Have deep validation into complex types.
2: Only validate parts of the object we are letting the user modify. This is useful for wizard UIs where the user builds up the data over multiple pages.
	public class InputTextFixed : InputText
	{
		public async override Task SetParametersAsync(ParameterView parameters)
		{
			EditContext previousEditContext = EditContext;
			await base.SetParametersAsync(parameters);
			if (EditContext != previousEditContext)
				EditContext._AccessGetFieldState(FieldIdentifier);
		}
	}

	public static class HackGetFieldState
	{
		public static void _AccessGetFieldState(this EditContext editContext, FieldIdentifier fieldIdentifier)
		{
			var getFieldStateInfo = typeof(EditContext).GetMethod("GetFieldState", BindingFlags.NonPublic | BindingFlags.Instance);
			if (getFieldStateInfo == null)
				throw new NullReferenceException("GetFieldState not found");
			System.Diagnostics.Debug.WriteLine("Updating FieldState");
			getFieldStateInfo.Invoke(editContext, new object[] { fieldIdentifier, true });
		}
	}

All you need to do is have InputBase ensure it has an entry in the EditContext when its EditContext changes. That will ensure only the items being edited are validated.

@mrpmorris I'm not sure how that works. Would each of these fields be the models passed in to data annotations? That would mean validation attributes decorated on properties wouldn't be discovered. In addition, the EditForm has already established the model to operate on. It would be surprising if validation did not apply to all the properties on the model the user declared was being edited.

Sorry, can you elaborate? I'm not quite sure I am following what your concerns are.

@mrpmorris for your ask, we're going to use https://github.com/aspnet/AspNetCore/issues/14426 to track adding the API to the application. We'll use this issue to continue tracking the original goal of the issue which is to produce an experimental package based on the sample: https://github.com/aspnet/samples/tree/master/samples/aspnetcore/blazor/Validation/Validation

I work for the UK government Department for Education. A common approach is to allow the user to edit a large object over multiple steps, the experimental approach wouldn't work and would require us to create multiple classes that identically represent parts of the object being edited and map the properties across.
It's more work than it needs to be. If InputBase would just instruct EditContext to create FieldState for its FieldIndentifier whenever its EditContext changes then Blazor would ensure all input controls are validated.

Yes, I think hopefully the issue #14426 should cover your UI-based validation requirement (which is not exactly the same as this issue, i.e., traversal into child objects).
If you have any further comments about UI-based validation requirements, could you post them at #14426? Thanks!

@pranavkm please make sure this happens as the last thing in 3.1, as there is no time pressure.


Minor edit to help message for cli depend-info option. Fix for #9534.

Describe the pull request
Minor edit to help message for cli depend-info option to show that the package name is not optional.

What does your PR fix? Fixes issue #
Fix for #9534.

Which triplets are supported/not supported? Have you updated the CI baseline?
All triplets supported.
No.

Does your PR follow the maintainer guide?
Yes (I think).

/azp run

Thanks for the PR!


Class name should match ExerciseName.h

[ ] anagram
[ ] bob
[ ] etl
[ ] grade-school
[ ] hamming
[ ] hello-world
[ ] leap
[ ] nucleotide-count
[ ] perfect-numbers
[ ] phone-number
[ ] robot-name
[ ] space-age
[ ] word-count

Kind of a tangent: take a look at the discussion I had with Peter Tseng in https://github.com/exercism/xgo/issues/275
We've been talking about how to make small tasks that would be easy for new contributors to come in and tackle (also here: https://github.com/exercism/discussions/issues/8) and even though making individual issues make a bit more noise, it does mean that we can load-balance the solving of it.
We learned (the hard way) that checklists get out of date, and it's hard to verify whether or not something is done. By making an individual ticket for each relevant problem we get a visual "todo" list that shows the status of each problem. Just glancing at it shows us red/purple/green, and we can see the status without having to go back and make an extra effort.

Ah good point. It crossed my mind but I thought it would be too much noise. Is there a tool to help with creating an issue for each problem in a single track?

On Apr 10, 2016, at 7:07 AM, Katrina Owen<EMAIL_ADDRESS>wrote:
Kind of a tangent: take a look at the discussion I had with Peter Tseng in exercism/xgo#275
We've been talking about how to make small tasks that would be easy for new contributors to come in and tackle (also here: exercism/discussions#8) and even though making individual issues make a bit more noise, it does mean that we can load-balance the solving of it.
We learned (the hard way) that checklists get out of date, and it's hard to verify whether or not something is done. By making an individual ticket for each relevant problem we get a visual "todo" list that shows the status of each problem. Just glancing at it shows us red/purple/green, and we can see the status without having to go back and make an extra effort.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub

Yeah, the https://github.com/github/hub tool lets you post issues from the command line. We put together a bash script to do this:
for slug in anagram bob etl grade-school hamming hello-world leap nucleotide-count perfect-numbers phone-number robot-name space-age word-count; do
        MSG=$(cat ISSUE.md | sed -e "s/PLACEHOLDER/$slug/")
        echo "$MSG"
        hub issue create -m "$MSG"
done

It assumes that the issue describing everything is in ISSUE.md in the directory that you're running it from (presumably the root directory of this repo), and that the first line of that file says PLACEHOLDER:  Class name should match ExerciseName.h or something like that.
It's worth also putting a link to a top-level issue (such as this one), e.g. See https://github.com/exercism/xobjective-c/issues/48, because then you get a handy visual todo list that shows the current status of each of those issues.

Thanks! I like this better.

Yeah, this is great!


Exiting with error code 1 even though no problems are outputted

I'm using markdown-link-check in CI and I had a link which was throwing a 503. I added it to the ignore like so:
            {
              "replacementPatterns": [
                {
                  "pattern": "^https://notes.ethereum.org.*$"
                }
              ]
            }

and now the link no longer shows up in the output, but the command still returns exit code 1:
[..................] / idealTree:lib: sill idealTree buildDeps[[K..................] \ idealTree:markdown-link-check: sill placeDep ROOT markdo[[K..................] | idealTree:markdown-link-check: sill placeDep ROOT markdo[[K     .............] - idealTree:progress: sill fetch manifest<EMAIL_ADDRESS>   .............] \ idealTree:progress: sill fetch manifest<EMAIL_ADDRESS> ...............] - idealTree:supports-color: sill fetch manifest color-conv[[K     .............] - idealTree:ms: sill fetch manifest<EMAIL_ADDRESS>    ............] - idealTree:marked: sill fetch manifest<EMAIL_ADDRESS>    ............] | idealTree:cheerio: sill placeDep node_modules/markdown-l[[K      ............] - idealTree:cheerio: sill placeDep node_modules/markdown-l[[K      ............] - idealTree:tslib: sill fetch manifest<EMAIL_ADDRESS>    ............] | idealTree:tslib: sill fetch manifest<EMAIL_ADDRESS>   .............] | idealTree:domutils: sill fetch manifest<EMAIL_ADDRESS>     ...........] / idealTree:sax: sill fetch manifest safer-buffer@>= 2.1.2[[K         .........] | idealTree: timing idealTree Completed in 768ms[[K         .........] | idealTree: timing idealTree Completed in 768ms[[K         .........] \ reify:async: timing reify:loadBundles Completed in 0ms[[K         .........] / reify:async: timing reify:loadBundles Completed in 0ms[[K         .........] / reify:async: timing reify:loadBundles Completed in 0ms[[K         .........] - reify:async: timing reify:loadBundles Completed in 0ms[[K         .........] - reify:async: timing reify:loadBundles Completed in 0ms[[K         .........] - reify:async: timing reify:loadBundles Completed in 0ms[[K          ........] - reify:domhandler: http fetch GET 200 https://registry.np[[K           .......] - reify:punycode: http fetch GET 200 https://registry.npmj[[K            ......] | reify:safer-buffer: http fetch GET 200 https://registry.[[K              ....] / reify:markdown-link-extractor: http fetch GET 200 https:[[K               ...] \ reify:commander: http fetch GET 200 https://registry.npm[[K                ..] - reify:css-select: http fetch GET 200 https://registry.np[[K                 .] - reify:marked: http fetch GET 200 https://registry.npmjs.[[K                  ] - reify:needle: http fetch GET 200 https://registry.npmjs.[[K                  ] | reify:async: http fetch GET 200 https://registry.npmjs.o[[K                  ] | reify:async: http fetch GET 200 https://registry.npmjs.o[[K                  ] | reify:async: http fetch GET 200 https://registry.npmjs.o[[K                  ] | reify:async: http fetch GET 200 https://registry.npmjs.o
added 40 packages, and audited 40 packages in 3s

13 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
npm notice
npm notice New major version of npm available! 7.0.14 -> 8.9.0
npm notice Changelog: https://github.com/npm/cli/releases/tag/v8.9.0
npm notice Run npm install -g<EMAIL_ADDRESS>to update!
npm notice

FILE: ./docs/changelog.md

FILE: ./README.md

Exited with code exit status 1

Closing; literally just realized I typo'd ignorePatterns to replacementPatterns


Playback stuttering

Hello,
I'm facing noticeable audio stutters whenever I switch between applications (e.g. by Alt+Tabbing). When the same issue occurred in cpal, I simply set the buffer size to be a Fixed(4096) and that fixed the problem. However, I'm not quite sure if I can do the same in rodio. Here's how I tried to do it:
let default_config = device.default_output_config()?;
let config = SupportedStreamConfig::new(
    default_config.channels(),
    default_config.sample_rate(),
    SupportedBufferSize::Range {
        min: BUFFER_SIZE,
        max: BUFFER_SIZE,
    },
    default_config.sample_format(),
);
let (_, _) = OutputStream::try_from_device_config(&device, config)?;

But no matter how low or high I set the BUFFER_SIZE, I still experience the stutters. Running on Windows 10.

#512 seems to fix the issue.

#512 seems to fix the issue.

good to know! We might have to change the default then. If we do that now audio latency will increase (cant imagine 4096 is a problem for anyone) but to be sure I wanna wait till after applying #512. And I'am waiting with #512 till I have time to work through some other breaking changes so we can bundle them in one release and add migration notes to that.

Is your system under high cpu load when it stutters?

Is your system under high cpu load when it stutters?
As far as I tested, I haven't experienced such issues.


Icons too dark

Description
For some reason, the icons are extremely dark.

Is this the expected behaviour?
If no, from where the colours are retrieved?
Steps To Reproduce

Run files
right click anywhere

Requirements

Colourful icons

Files Version
<IP_ADDRESS>
Windows Version
10.0.22621.1546
Log file

Icons accents are set by your Windows accent color. Do you have it set to grey?

It's recommended to use a lighter accent color in dark mode for this reason.

Thanks a lot, I did not see this part of the accent in the documentation


[Event Management] Closing CarePlans and Related resources configuration update

Describe the feature request.

Update the event management closing of CarePlans and Tasks functionality to close other related resources.

Additional context

When closing the CarePlan e.g. Sick Child we have a couple of other resources that need to be closed too.  The current functionality will only close a CarePlan and its related Tasks.
An example of another related resource would be the Condition that's open for the child when a sick child CarePlan is assigned to them.

High-Level Implementation Plan

[ ] Add a config namedeventWorkflows that will be used for all event management configurations.
[ ] These configs will hold to the following configs

[ ] The event type is represented by an ENUM class on code.
[ ] The condition that needs to be satisfied for the event to run. This should allow rules execution.
[ ] The PlanDefinition that triggers the workflow to be closed.
[ ] The resources that will need to be closed/deactivated after the condition is fulfilled.

Configuration Sample
{
  "eventWorkflows": [
    {
      "eventType": "EventType",
      "condition": [],
      "PlanDefinition": [],
      "fhirResource": {
        "relatedResources": [
          {
            "resource": "Condition",
            "searchParameter": "subject",
            "attributesToUpdate": [
              {
                "attribute": "status",
                "value": "in-active"
              }
            ],
            "relatedResources": []
          },
          {
            "resource": "Appointment",
            "searchParameter": "subject",
            "attributesToUpdate": [
              {
                "attribute": "status",
                "value": "cancelled"
              }
            ],
            "dataQueries": [
              {
                "paramName": "appointment-type",
                "filterCriteria": [
                  {
                    "dataType": "CODING",
                    "value": {
                      "system": "https://www.snomed.org",
                      "code": "35359004"
                    }
                  }
                ]
              }
            ]
          }
        ]
      }
    }
  ]
}

Acceptance criteria

[ ] All defined resources should be closed on CarePlan closure.

Implementation plan (For Engineers)

[ ] Create data models to handle the config json referenced here
[ ] Update the function for  conditionally updating CarePlan status to

Use the new models
Iterate through the related resources, retrieve them from the db using the data queries provided and update the status of the the attributes stated in the config

NB - The Configs here is a sample. Please feel free to update the naming as you see fit. It is just used to show the functionality required

@dubdabasoduba how important is it we do this? Like what is the use case that this is required for?

@dubdabasoduba how important is it we do this? Like what is the use case that this is required for?

Thanks to @dubdabasoduba who explained that this is important because we may have Register or Profile views, or other business logic that depend on the the status of Conditions.

@dubdabasoduba how important is it we do this? Like what is the use case that this is required for?

Thanks to @dubdabasoduba who explained that this is important because we may have Register or Profile views, or other business logic that depend on the the status of Conditions.

a good example is the pregnancy condition we use that to load the pregnant woman icon and use it to query for registers as well

yea good example, until this issue is closed we can change the register config to use the existence of an ANC careplan attached the patient to determine whether to show that icon

@dubdabasoduba We have discussed and update the configuration to the JSON below for more flexibility:
{
  "eventWorkflows": [
    {
      "eventType": "RESOURCE_CLOSURE",
      "triggerConditions": [
        {
          "eventResourceId": "carePlanToBeClosed",
          "matchAll": true,
          "conditionalFhirPathExpression": [
            "CarePlan.active == false",
            "CarePlan.name == 'ANC CarePlan'"
          ]
        },
        {
          "eventResourceId": "carePlanToBeClosed",
          "matchAll": false,
          "conditionalFhirPathExpression": [
            "CarePlan.active == false",
            "CarePlan.name == 'ANC CarePlan'"
          ]
        }
      ],
      "eventResources": [
        {
          "id": "carePlanToBeClosed",
          "resource": "CarePlan",
          "searchParameter": "subject",
          "PlanDefinition": [],
          "attributesToUpdate": [
            {
              "key": "status",
              "value": "in-active"
            }
          ],
          "relatedResources": [
            {
              "resource": "Condition",
              "searchParameter": "subject",
              "attributesToUpdate": [
                {
                  "key": "status",
                  "value": "in-active"
                }
              ],
              "relatedResources": []
            }
          ]
        },
        {
          "id": "groupToBeClosed",
          "resource": "Group",
          "searchParameter": "subject",
          "attributesToUpdate": [
            {
              "key": "status",
              "value": "cancelled"
            }
          ],
          "dataQueries": [
            {
              "paramName": "type",
              "filterCriteria": [
                {
                  "dataType": "CODING",
                  "value": {
                    "system": "https://www.snomed.org",
                    "code": "35359004"
                  }
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

@Rkareko if we stick to using the attributesToUpdate and hardcode the update method, will it work for all foreseeable resources? If not then what if we target a list of specific resources?
cc @f-odhiambo @ndegwamartin @dubdabasoduba

@Rkareko if we stick to using the attributesToUpdate and hardcode the update method, will it work for all foreseeable resources? If not then what if we target a list of specific resources? cc @f-odhiambo @ndegwamartin @dubdabasoduba

Are you referring to option 1 or 3 ?

@Rkareko I was referring to Option 1, however hard coding the update implementation and targeting a specific list of resources eliminates the need to keep the configs as we can query all known resources. This should only be the approach after determining that we have no way to dynamically update the resources or just as a stop-gap measure.

I think we should go with Option 1 for now, and leave an issue open to consider moving to option 3. I'm not convinced reflection is better we might to want to be confident we don't have any unexpected field status changes

potential related resources include;
Careplan Resource
Task Resource
Condition Resource
Procedure Resource
Appointment Resource
CommunicationRequest Resource
ServiceRequest Resource
ImmunizationRecommendation Resource
MedicationRequest Resource
DeviceRequest Resource
NutritionOrder Resource
SupplyRequest Resource
cc @dubdabasoduba

@ageryck @f-odhiambo @dubdabasoduba Kindly update the table below with the appropriate values

Resource
Field
Value

Careplan
status
Completed

Task
status
cancelled

lastModified
current date

Condition

Procedure

Appointment

CommunicationRequest

ServiceRequest

ImmunizationRecommendation

MedicationRequest

DeviceRequest

NutritionOrder

SupplyRequest

Let's only address those we are currently using for eCHIS and eCBIS.
For other projects or future use in those projects we can do that in a future update

On Jun 7, 2023, at 07:27, Rkareko @.***> wrote:

@ageryck @f-odhiambo @dubdabasoduba Kindly update the table below with the appropriate values
Resource	Field	Value
Careplan	status	Completed
Task	status	cancelled
lastModified	current date
Condition
Procedure
Appointment
CommunicationRequest
ServiceRequest
ImmunizationRecommendation
MedicationRequest
DeviceRequest
NutritionOrder
SupplyRequest
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.


Exporting of csv report

Hi,
First of all, kudos for the project, a good tool.
Could you add a feature to export the results in screen to something like a csv report?.
Thanks in advance.
Regards,

Hey there, thanks for creating an issue for this. I forgot to add this to the documentation, but there's an option to generate a CSV report.
You can use the -o flag and provide a file_name to create a report, and it will output the verbose details.
Best
Mario


Cloudevents for rpc invocations

For compatibility with otp host, and per ADR 11, implement cloudevents for rpc invocations.
As a reminder, fields include:

lattice_id, host_id, source id, target id, operation, payload size, contract_id, link_name, status (success/fail), timestamp

Feature request: two more fields

elapsed time for round-trip message
host_id of recipient (I think, host_id in the otp implementation is for the sender only)

My use case is that I want to test different scalar algorithms and need to know the association of actor and host. Elapsed time is useful for understanding performance, detecting host or network congestion, etc.
Enable/disable switch
For performance benchmarking, we might want this feature enabled or disabled by a host environment variable. (for multi-tenancy, a per-lattice variable). For a very large number of messages in a short time period, per-message events might introduce measurable changes in cpu and nats overhead.
Alternate implementation
Maintain internal counters and gauges organized by key dimensions (source-id, source-host, dest-id, dest-host, contract-id, link, operation, success, etc.). Add two configuration settings: MAX_MESSAGES and MAX_INTERVAL, where an event with aggregate metrics is emitted when either of the limits is reached. By setting MAX_MESSAGES=1,MAX_INTERVAL=0 the original behavior is retained: one Cloudevent per message. The setting MAX_MESSAGES=0,MAX_INTERVAL=30 emits one event with aggregate metrics every 30 seconds, regardless of the number of messages received during that interval. The pair of settings (# messages and time period) is similar to the way some logging tools are configured.
Bonus (future feature): The counter implementation makes it trivial to add a prometheus export endpoint to each host to report these stats, or to add a collector process that subscribes to the nats rpc event summaries and provides a prometheus export.

Are you open to a PR with the counter/aggregate approach?

@stevelr thanks for bringing this up. We've been discussing RPC events/metrics and @pgray volunteered to write an RFC on this in the next week or two. Our thinking so far is to omit RPC events due to the performance concern you highlighted, and instead include invocation counts/failures in aggregate metrics from each host. We'll also discuss metrics during next week's community call. If/when the RFC becomes an ADR, we're definitely open to PRs adding said implementation to the new host 🙌

Great. Thanks.
I'd like to keep this issue open until the superseding RPC RFC Metrics RFC is posted

Got 👍 from @stevelr so going to close


📦 ADD: Popular Alternate create-guten-block

This PR adds create-guten-block to the list of alternates at the bottom.
create-guten-block is a fairly popular (400+ stargazers, 6,000+ downloads) alternate to build WordPress Gutenberg blocks PHP/JavaScript plugins with React, ES6, Babel, ESLint, webpack, etc.
Looking forward!

@gaearon Sorry for the tag. I'll get right to it. It's been a couple of months for this PR. I wanted to ask if there's still any interest in listing create-guten-block as a popular alternative for CRA while working with WordPress. Over 500 projects have been created with it and it has received 25,000+ downloads.
Peace! ✌

@gaearon Sorry for the tag. 🙈 I'll get right to it. It's been a couple of months for this PR. I wanted to ask if there's still any interest in listing create-guten-block as a popular alternative for CRA while working with WordPress. Over 500 projects have been created with it and it has received 25,000+ downloads. 😇
Peace! ✌

@gaearon may I ask if there's anything I can improve with this PR to be selected for merge?
Peace! ✌


same syn_id present in the graph multiple times

Hi,
Thanks for the tree. How is the hierarchy of the tree decided? Asking because labels are occurring multiple times in a tree.

yes, that could be. https://observablehq.com/@mbostock/imagenet-hierarchy


Inline directive settings

One pattern I've seen several times in different codebases is:
def some_algorithmically_compex_method # rubocop:disable Metrics/AbcSize -- 15.17/15

That (if some method is a bit more complex than the current threshold) may be reasonable, but then it can become an excuse to blow the method up to Abc 500 without noticing.
I believe it could be some reasonable syntax to do this instead:
def some_algoritmically_complex_method # rubocop:set Metrics/AbcSize(Max: 17)

...and have Rubocop complaining about this particular method after the new threshold reached.

Duplicate of #2716.


how to test the model?

Could you please give some example code to load in the pre-trained model(i.e. bert.model.ep0 files)?
The code might take me a while to understand so I really appreciate it if you can help me.

Any update on this?

it didn't solved yet i think it's solved.


Closing "Git - repositories in parent directories" Keeps Code Checkedout

Does this issue occur when all extensions are disabled?: No - this seems to be related to the git extension

VS Code Version: 1.76.2, commit: ee2b180d582a7f601fa6ecfdad8d9fd269ab1884
OS Version: macos Ventura 13.2.1

Steps to Reproduce:

Open a rust project using vscode on mac
Use "cmd + click" on an imported struct from an external crate. For this example, it would be a struct/enum imported from the reth-staged-sync crate and used in my own library.
Popup on the bottom right sometimes appears. It says, "Git repositories were found in the parent folders of the workspace or the open file(s). Would you like to open the repositories?" ( I think #172010  describes the feature - I'm not sure how to open or close the repo. I only know that sometimes a popup appears with the option to open the repo.)
Select "Yes"
Look at the the checked out code from the external reth-staged-sync crate.
Change your mind and close the opened tab that shows the external crate's source code
In main Cargo.toml, use a patch for the external crate's github to a locally cloned version. ex:

[patch."https://github.com/layer-g/reth"]
reth-staged-sync { path = "../../some/local/path" }

Compile error that happens when two different versions of a crate are in the same library. It references the $HOME/.cargo/git/checkouts/ dir

Closing the tab appears to still have the code checked out and I cannot figure out how to undo whatever "Yes" did in the popup for opening the repository. Closing vscode and restarting my computer did not work. I did the same thing on my linux running Ubuntu 21.04.

/gifPlease

Thanks for reporting this issue! Unfortunately, it's hard for us to understand what issue you're seeing. Please help us out by providing a screen recording showing exactly what isn't working as expected. While we can work with most standard formats, .gif files are preferred as they are displayed inline on GitHub. You may find https://gifcap.dev helpful as a browser-based gif recording tool.
If the issue depends on keyboard input, you can help us by enabling screencast mode for the recording (Developer: Toggle Screencast Mode in the command palette). Lastly, please attach this file via the GitHub web interface as emailed responses will strip files out from the issue.
Happy coding!


Add config variable for selection of dot product function

All also a C++ implementation with more aggressive compiler options
which is optimized for the CPU where the software was built.
It is now possible to select the function used for the dot product
with -c dotproduct=FUNCTION where FUNCTION can be one of those values:

auto      selection based on detected hardware (default)
generic   C++ code with default compiler options
native    C++ code optimized for build host
avx       optimized code for AVX
sse       optimized code for SSE

Signed-off-by: Stefan Weil<EMAIL_ADDRESS>

@noahmetzger is currently working on a much faster algorithm (Kahan + float dot product ) for the best models. For that, more choices will be added for the dotproduct config variable.

hi.
build error tesseract git3334-ad401313:
xenial - powerpc, ppc64el, s390x
trusty - arm64, powerpc, ppc64el
bionic and cosmic - ppc64el

Thanks for reporting. It looks like a compiler test is needed, or we use -march=native only for Intel architecture.

@AlexanderP, I could not reproduce the problem on ARM, but pull request #2107 checks the compiler support for -march=native. Maybe you want to try it.

@stweil uploaded to ppa to build

compiled on powerpc architecture.

Did you try the fix #2107? It looks like that option is not supported by all recent GNU compilers.

This new feature is not mentioned in the release notes:
https://github.com/tesseract-ocr/tessdoc/blob/master/ReleaseNotes.md#tesseract-release-notes-jul-07-2019---v410

https://github.com/tesseract-ocr/tessdoc/blob/main/ReleaseNotes.md#v410
Better late than never :-)


Better choice of "random" character to test

Currently MT chooses the next character to test from the test charset randomly.  It may be more efficient for the user if that choice is made in a non-random way, ie, choose the next character more from the less well known characters.
One way to do this would be to sort the test charset by error rate and then choose from the more error-prone end of the set.  Possibly use the random.betavariable(alpha, beta) with alpha=1, beta=3.
Related to issue #9.

The random.choices() function allows weighting of the choice.  Try to use that.

Implemented using random.betavariate(1, 3).  This does weight the less proficient characters as more likely to be tested.  Seems to be too weighted to the less proficient characters, though.
Close for now and revisit later if still considered a problem.


Remove stdin read which blocks until user input on Linux

It's not clear to me what the purpose of this line is, but on Linux it will cause the game to appear to hang indefinitely without any user input in the console.

This line of code has no purpose in this context.
Thank you for your contribution.


Fix coverage workflow

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (e3eb3eb) 100.00% compared to head (e1c3c16) 100.00%.
Report is 5 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #65   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            3         3
  Lines           39        39
  Branches         4         4
=========================================
  Hits            39        39

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Feat: Allow syncing and fetching data from Garmin watch

This is a feature I don't really care for anymore, nor is it requested by other users. So I will close this.


Use serde instead of hand-rolled serialization, take 2

I figured out how to do cool git commands and set commit's author and co-author, so here we go.
This basically supersedes #18 (I mean, it's literally a port of that PR).
So here's a comparison between e256bc60e99115fb2bbefb7a097ff527120404ee (baseline) and 8d42961f1e2d3473e4a3655d8a65848f670a4caa (serde):
$ hyperfine -N -w10 -m50 -- "./baseline -C llvm-project/build1 clang-format" "./serde -C llvm-project/build2 clang-format"
Benchmark 1: ./baseline -C llvm-project/build1 clang-format
  Time (mean ± σ):     222.6 ms ±  10.6 ms    [User: 191.7 ms, System: 30.5 ms]
  Range (min … max):   208.6 ms … 241.4 ms    50 runs

Benchmark 2: ./serde -C llvm-project/build2 clang-format
  Time (mean ± σ):     215.3 ms ±   6.7 ms    [User: 187.8 ms, System: 27.1 ms]
  Range (min … max):   208.8 ms … 236.2 ms    50 runs

Summary
  ./serde -C llvm-project/build2 clang-format ran
    1.03 ± 0.06 times faster than ./baseline -C llvm-project/build1 clang-format

Byte counts (stripped binaries):
1252376 baseline
1395800 serde

Yes, the size still goes up, sadly.
But as I've already mentioned in https://github.com/evmar/n2/pull/18#issuecomment-1589893441, this allows to get rid of some probably-UB unsafe code like
unsafe { MaybeUninit::uninit().assume_init() },

from here.

I guess the package version should be bumped too. Totally forgot about that.

Huh, it's surprising we no longer see the performance difference from that previous change.
Two guesses:

maybe lto helped?
what size is your build1/.n2_db file?  maybe it's too small for it to matter here?

maybe lto helped?

Almost certainly yes.

what size is your build1/.n2_db file?  maybe it's too small for it to matter here?

$ wc --bytes build{1,2}/.n2_db
430194 build1/.n2_db
442192 build2/.n2_db

Looking through the bincode docs, it's a little disappointing that even it uses big sizes like u64 for lengths, but it probably doesn't matter too much, and maybe using their varint encoding would end up a net win?

If you build the check-llvm target in LLVM, it builds a lot more files than clang-format.  I think you can interrupt the build at any point (via ctl-C) and the n2 database should be ok (maybe?).  That would let you generate a larger n2db for comparison purposes, though building LLVM takes quite a while.
At the point where my build is at as I type this:
[=========================---------       ] 2772/4459 done, 8/930 running

My .n2_db is 3.9M, which is large enough where we care more about performance.

A comparison between "baseline" e256bc60e99115fb2bbefb7a097ff527120404ee (manual parsing), "serde" 8d42961f1e2d3473e4a3655d8a65848f670a4caa (serde + cbor), and "bincode" 77e2d4a6c0f9c6106f55f8ce9bad6fb9550ceaa4 (serde + bincode):
$ hyperfine -iN -w10 -m25 -- "./baseline -C llvm-project/build1 xxx"  "./serde -C llvm-project/build2 xxx" "./bincode -C llvm-project/build3 xxx"
Benchmark 1: ./baseline -C llvm-project/build1 xxx
  Time (mean ± σ):     162.2 ms ±   9.7 ms    [User: 140.0 ms, System: 21.9 ms]
  Range (min … max):   148.0 ms … 176.5 ms    25 runs

  Warning: Ignoring non-zero exit code.

Benchmark 2: ./serde -C llvm-project/build2 xxx
  Time (mean ± σ):     179.4 ms ±  13.9 ms    [User: 158.8 ms, System: 20.3 ms]
  Range (min … max):   163.6 ms … 211.5 ms    25 runs

  Warning: Ignoring non-zero exit code.

Benchmark 3: ./bincode -C llvm-project/build3 xxx
  Time (mean ± σ):     152.9 ms ±  13.0 ms    [User: 131.7 ms, System: 20.8 ms]
  Range (min … max):   137.6 ms … 170.8 ms    25 runs

  Warning: Ignoring non-zero exit code.

Summary
  ./bincode -C llvm-project/build3 xxx ran
    1.06 ± 0.11 times faster than ./baseline -C llvm-project/build1 xxx
    1.17 ± 0.14 times faster than ./serde -C llvm-project/build2 xxx

Database sizes (more or less the same content, so this drastic size difference is explained solely by the format)
$ wc --bytes llvm-project/build{1,2,3}/.n2_db
 4082125 llvm-project/build1/.n2_db
 3677224 llvm-project/build2/.n2_db
 5362198 llvm-project/build3/.n2_db

Binary sizes (stripped, obviously).
$ wc --bytes baseline serde bincode
1252376 baseline
1395800 serde
1289528 bincode

serde + cbor seems to be faster than the manual implementation on small databases, but significantly slower on the bigger ones. It is also the largest binary (but the most compact databases).
serde + bincode beats the manual implementation on big DBs. Haven't tested on small ones. It is also only slightly larger than the baseline binary (unlike the cbor one), although its databases are significantly bigger.

I've rebased on top of main (e73378d693716715be1a420aa74a2836b49b85c8)

Based on this branch I created a PR that has just the serde parts without the refactoring:
https://github.com/evmar/n2/pull/64/files
Some random thoughts:

I don't love how this adds random copies in the write path due to DbEntry holding an owned String, but in general the write path isn't perf-critical
using a varint encoding would be more efficient for references to ids (which are generally small) but less efficient for hashes (which we know are always the full 64 bits), but I don't think you can control these separately in bincode.  This means a quarter of the .n2db file I just looked at was 0 bytes.

It's pretty interesting to me how the perf is a wash, given that the serde codepath appears to doing a lot more (creating intermediate vecs and strings etc.).

* I don't love how this adds random copies in the write path due to DbEntry holding an owned String, but in general the write path isn't perf-critical

Maybe this can be combated with Cow<str>, but I'm not sure.

It's pretty interesting to me how the perf is a wash, given that the serde codepath appears to doing a lot more (creating intermediate vecs and strings etc.).

My completely arbitrary (and probably wrong) guess would be that it's actually faster to store the values with all the excess zeroes without compression, because then it saves time because we no longer need to do bit shifts and maybe also because the read/writes are now more aligned? Maybe?


Running with Float32 is slower than Float64 on CPUs

Looking at performance benchmarks, Float32 is slower than Float64 on the CPU.
I suspect something is being done wrong somewhere maybe. I have a few ideas:

Those benchmarks were run on Google Cloud where the virtual CPUs aren't very performant so I thought it was maybe just a low-end 64-bit CPU where Float32 operations were emulated via Float64 operations resulting in fewer FLOPS. However, even on my own laptop I found Float32 on a CPU to be a bit slower, but just by 5-10% whereas on Google Cloud it was like 30%+ slower.
It's likely that Float32 is still being mixed with Float64, and maybe this slows the code down due to too many implicit conversions? (Somewhat related to #34).
Unlikely but I wonder if this is a Julia issue... I could perhaps run some simple C code to see if it's a hardware thing or just a weird Julia thing.
I thought it looked fine on the GPU as you do see a "speedup" of 10-15% which I took to mean that we were memory bandwidth/latency limited (which is probably true). The V100 GPUs have twice as many FP32 units as they do FP64 units and if FP32 operations are faster, then I expect more than just a 10-15% speedup. So maybe we have similar issues on the GPU, which are preventing us from doing better than 15% speedup. Or maybe the GPU doesn't do implicit conversions and we are actually just memory bandwidth/latency limited.

@glwagner has also pointed out these posts:

Check out these benchmarks for arithmetic cpu operations: http://nicolas.limare.net/pro/notes/2014/12/12_arit_speed/ Conclusion: usually single precision is faster, but is occasionally comparable or slower depending on the processor (check results for x86-64 Intel Ivy Bridge).
https://stackoverflow.com/questions/3426165/is-using-double-faster-than-float

One thing worth checking if that you don't have implict conversion to Float64 somewhere due to Float64 contansts.

There do appear to be implicit conversions occurring in the averaging operators.

This issue may be solved by leveraging the eltype of RegularCartesianGrid to convert 0.5 to the appropriate type in the averaging operators.

This might be resolved... 😏

Kind of. We might have a bit more work to do to fix all the float conversions but we know what the problem is so yes I'll close this.