promql: setting multiple regexp's for __name__ doesn't work anymore

What did you do?
The following promql is a valid expression in previous versions of promtool and when evaluated via prometheus:
groups:
  - name: kube-resources.rules
    rules:
      - record: ksm:resource_count
        expr: |
          count by (job, ksm_resource, namespace) (
            max without (instance) (
              label_replace(
                {__name__!~"kube_pod_.*",__name__=~"kube_.*_info",job="~kube-state-metrics",namespace!=""},
                "ksm_resource",
                "$1",
                "__name__",
                "kube_(.*)_info"
              )
            )
          )

What did you expect to see?
promtool check rules should successfully validate the given rules.
What did you see instead? Under which circumstances?
However with the latest promtool this expression is no longer validating succesfully:
$ promtool check rules ~/Documents/kube-resource.yaml
Checking /home/ademaria/Documents/kube-resource.yaml
  FAILED:
/home/ademaria/Documents/kube-resource.yaml: 5:15: group "kube-resources.rules", rule 1, "ksm:resource_count": could not parse expression: 4:7: parse error: metric name must not be set twice: "kube_pod_.*" or "kube_.*_info"

System information
No response
Prometheus version
No response
Prometheus configuration file
No response
Alertmanager version
No response
Alertmanager configuration file
No response
Logs
No response

Noticed this as well, and it seems this was an explicit change as part of UTF-8 support and some promql grammar/exposition format changes:
https://github.com/prometheus/prometheus/commit/a28d7865ad#diff-0accfa26d7e8bfecc27f0c77f5f7ecc5d2417cf16edfa7b8ca9d9ab5b822aff0R794-R805
https://github.com/prometheus/prometheus/issues/13095

Oops, yeah, that was introduced in https://github.com/prometheus/prometheus/pull/13271 . @ywwg there are legitimate uses of specifying the name multiple times inside the braces (to apply multiple regexp's). I'm afraid this will not only break promtool but the expression parsing in general.

Verified that this breaks parsing those expressions in general. @ywwg could you have a look here?

I think the fix here would be that the metric name cannot exist twice in the same selector for the equality operator -- can't do ="foo" and ="bar".  OR, do we just want to remove the restriction completely and if someone does foo{"bar"} (two metric name equality selectors with different values), we just let them?

looking at the code, I think it did already check for foo{__name__="bar"}, but did not check for something like {__name__="foo",__name__="bar"}


subclassing in a different module

I figured out that to be able to subclass something in a different module you need to expose the class eg. MyClass and AbstractClass.
maybe we should mention it in the readme OR
Maybe we can add another macro to do it for you eg.
@export_class MyClass
if that sounds good I can make a pull request

Yeah, that sounds like a good uses case. But I think this package is outdated now since julia 0.6 is now out...

It still works great in 0.6.4
I can't imagine using Julia for a big project without this plugin - I think in objects :smiley:

Though I am not using Julia now, you are still welcomed to send a pull request.


Todo: logging

Will require extensive refactor of the way data is stored, please don't PR this one.

Events already implemented:

[x] Member join
[x] Member leave

Events needed to implement:

[ ] Message edit
[ ] Message delete
[ ] Role add
[ ] Role remove
[ ] Manual kicks
[ ] Manual bans
[ ] Manual unbans
[ ] Nickname change
[ ] Username change

Reference: https://msft.chat/mod/docs/#auditing

Depends on #131


Make authentication helper pluggable

Purpose

Move duplicated auth logic to a separated authentication handler, in order to avoid duplicated logic under main and worker threads. Further on top of fixing duplicates, it makes authentication-helper pluggable.

Goals

Describe the solutions that this feature/fix will introduce to resolve the problems described above

Approach

Describe how you are implementing the solutions. Include an animated GIF or screenshot if the change affects the UI (email<EMAIL_ADDRESS>to review all UI text). Include a link to a Markdown file or Google doc if the feature write-up is too long to paste here.

User stories

Summary of user stories addressed by this change>

Release note

Brief description of the new feature or bug fix as it will appear in the release notes

Documentation

Link(s) to product documentation that addresses the changes of this PR. If no doc impact, enter “N/A” plus brief explanation of why there’s no doc impact

Training

Link to the PR for changes to the training content in https://github.com/wso2/WSO2-Training, if applicable

Certification

Type “Sent” when you have provided new/updated certification questions, plus four answers for each question (correct answer highlighted in bold), based on this change. Certification questions/answers should be sent to<EMAIL_ADDRESS>and NOT pasted in this PR. If there is no impact on certification exams, type “N/A” and explain why.

Marketing

Link to drafts of marketing content that will describe and promote this feature, including product page changes, technical articles, blog posts, videos, etc., if applicable

Automation tests

Unit tests

Code coverage information

Integration tests

Details about the test cases and coverage

Security checks

Followed secure coding standards in http://wso2.com/technical-reports/wso2-secure-engineering-guidelines? yes/no
Ran FindSecurityBugs plugin and verified report? yes/no
Confirmed that this PR doesn't commit any keys, passwords, tokens, usernames, or other secrets? yes/no

Samples

Provide high-level details about the samples related to this feature

Related PRs

List any other related PRs

Migrations (if applicable)

Describe migration steps and platforms on which migration has been tested

Test environment

List all JDK versions, operating systems, databases, and browser/versions on which this feature/fix was tested

Learning

Describe the research phase and any blog posts, patterns, libraries, or add-ons you used to solve the problem.

Verified login and signup with localstorage and webworker.
@thivi
https://user-images.githubusercontent.com/32919513/170247310-d707f71c-68a4-4b11-809b-cf321b2f644d.mp4


incompatible types: org.springframework.web.servlet.view.InternalResourceViewResolver can't be converted to org.springframework.web.servlet.ViewResolver

I'm experimenting with taking one example out and modifying it. The one I copied over is spring-mvc-webflow
Having removed references to <parent>  I got this compile error
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.2:compile (default-compile) on project spring-mvc-webflow: Compilation failure
[ERROR] src/main/java/org/baeldung/spring/WebFlowConfig.java:[38,66] incompatible types: java.util.List<org.springframework.web.servlet.view.InternalResourceViewResolver> cannot be converted to java.util.List<org.springframework.web.servlet.ViewResolver>

InternalResourceViewResolve apparently implements ViewResolve interface so the error shouldn't happen according to the doc:
https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/servlet/view/InternalResourceViewResolver.html
So I reason that I might be using older versions of spring framework which didn't use the said interface. Having made sure every dependency in pom.xml is referring to the latest version, e.g. spring-web and spring-webmvc uses 5.0.8-RELEASE, this error doesn't go away.
This is more of an ask for help than reporting an issue since what happens is inconceivable to me.

Hey @colourful-land  It's difficult to say without seeing the project, but it's most likely a configuration error. I suggest opening up those classes to see which jars they come from. It's possible some older jar versions are getting pulled in transitively.

@lor6 would you be so kind to help with https://github.com/eugenp/tutorials/issues/4982 which is the stage I am at after 13 hours trying to get an example web-flow working? Thanks:D


fix: Hide github corner when a page is displayed in an iframe

Associated with the issue # 137 in the casdoor-website repository

Too many unrelated changes in the PR.


Permission denied

docker logs dropbox shows:
Couldn't start Dropbox.
This is usually because of a permissions error. Storing your home folder on a network share can also cause an error.
Get more help at https://www.dropbox.com/c/help/permissions_error
Please contact Dropbox support with the following info for help:
/var/tmp/dropbox_errorqg7annf1.txt
I presume that I'm supposed to run with -v ~homedir/Dropbox/:/dbox/Dropbox to do the mount. I've tried the run command with various combinations of the uid/gid environment variables, all with the same negative result.
Do I have to re-link the Dropbox account every time I run the container? If so, then I have to manually intervene every time my host is re-started (and thus the container is re-started). Am I missing something?
Since Dropbox dropped support for my O/S, it would be very helpful to actually use Dropbox this way. Thanks!

Which OS are you using?
You don't need to link the account each time if you store the credentials outside the container. My setup looks like this:
/dbox/Projects
/dbox/Public
/dbox/Private
...

And my containers are started like this:
docker run --detach=true --volume=/dbox/Projects:/dbox/Dropbox --restart=always --net=host --name=projects janeczku/dropbox
docker run --detach=true --volume=/dbox/Public:/dbox/Dropbox --restart=always --net=host --name=public janeczku/dropbox
docker run --detach=true --volume=/dbox/Private:/dbox/Dropbox --restart=always --net=host --name=private janeczku/dropbox

Doing it that way requires linking each docker container to your account, which may or may not be what you want. I do it that way because I am using different accounts for each container. If you want to use the same account for each container, you have to share the credentials, but I'm not sure how to do that. If anyone can provide an example docker command to use the same credentials for multiple containers, I would appreciate it.


test: Add @requires to NodeMessageTest::test_custom_locale_is_used()

This test requires the intl extension instead of the shim to work.

Thanks!


Allow configuration of install_local bool in prerun

Issue Type

Bug report

Molecule and Ansible details
(ansible-2.12.x) [nubly@ansible_host test_role]$ ansible --version && molecule --version
ansible [core 2.12.3]
  config file = /home/nubly/Git/ansible/ansible.cfg
  configured module search path = ['/home/nubly/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/nubly/.venvs/ansible-2.12.x/lib/python3.9/site-packages/ansible
  ansible collection location = /home/nubly/Git/ansible/collections
  executable location = /home/nubly/.venvs/ansible-2.12.x/bin/ansible
  python version = 3.9.2 (default, Jan 19 2022, 12:26:41) [GCC 11.1.0]
  jinja version = 3.0.3
  libyaml = True
molecule 3.6.1 using python 3.9
    ansible:2.12.3
    delegated:3.6.1 from molecule
    podman:1.1.0 from molecule_podman requiring collections: containers.podman>=1.7.0 ansible.posix>=1.3.0

Molecule installation method:

pip

Ansible installation method:

pip

Detail any linters or test runners used:

molecule
ansible-lint
yamllint
flake8

Desired Behavior
No symlink being left within the roles dir post-molecule action. Perhaps by way of a configuration option, or a flag.
Actual Behaviour
(ansible-2.12.x) [nubly@ansible_host test_role]$ molecule dependency
INFO     default scenario test matrix: dependency
INFO     Performing prerun...
INFO     Set ANSIBLE_LIBRARY=/home/nubly/.cache/ansible-compat/b09132/modules:/home/nubly/.ansible/plugins/modules:/usr/share/ansible/plugins/modules
INFO     Set ANSIBLE_COLLECTIONS_PATH=/home/nubly/.cache/ansible-compat/b09132/collections:/home/nubly/Git/ansible/collections
INFO     Set ANSIBLE_ROLES_PATH=/home/nubly/.cache/ansible-compat/b09132/roles:/home/nubly/Git/ansible/roles/external:/home/nubly/Git/ansible/roles/internal:/home/nubly/.venvs/ansible-2.12.x/share/ansible/roles
INFO     Using /home/nubly/Git/ansible/roles/internal/test.test_role symlink to current repository in order to enable Ansible to find the role using its expected full name.
INFO     Running default > dependency
WARNING  Skipping, missing the requirements file.

(ansible-2.12.x) [nubly@ansible_host test_role]$ ls -l ../
total 0
drwxr-xr-x  7 nubly root 124 Mar  9 16:13 test_role
lrwxrwxrwx  1 nubly root  73 Mar 10 13:19 test.test_role -> /home/nubly/Git/ansible/roles/test_role

Misc Info
This was discussed a bit in issue #3404 and pull request #3409.
My ansible environment consists of a large amount of roles within the same directory.
All roles which I have developed only depend on other roles I have developed, and thus there really isn't a need for me to use a namespace as I also do not publish them to Galaxy. It's a bit silly for me to have to worry about Galaxy naming requirements when I will not publish anything from my environment to Galaxy.
Since the install_local boolean was hardcoded True within #3409, on every Molecule action in which the prerun takes place, Molecule is creating symlinks
to roles which are already installed in the ANSIBLE_ROLES_PATH as a result of the prepare_environment() function continuing past the install_local check and then calling _install_galaxy_role.
The _install_galaxy_role function is also the only reason I am using a namespace, as it exits with an error by default if my role names are not up to spec even though they don't have to be.
At first, I thought that I could change my role directory naming convention to $namespace.$role_name to prevent this, but then I was met with ansible-compat #97.
I still want to be able to install requirements from requirements.yml, and as such I am unable to explicitly disable the prerun. However, I'd like to be able to disable the Galaxy role installation steps as I know that my any/all roles needed in my roles are present in my roles path and able to be found, as setting the boolean within the code to False results in my tests still running as they should.
I'd like to be able to specify a flag from CLI or configuration option within molecule.yml or some other applicable file to allow the value of the install_local boolean to be configured within Molecule's prerun, thereby allowing configuration of the creation of these symlinks (and installation of Galaxy roles). There was a small amount of discussion on this on #3409.

Hi @Nubly

At first, I thought that I could change my role directory naming convention to $namespace.$role_name to prevent this, but then I was met with https://github.com/ansible-community/ansible-compat/issues/97.

Could you verify whether both #3514 and https://github.com/ansible/ansible-compat/pull/135 clear your concerns?

I still want to be able to install requirements from requirements.yml, and as such I am unable to explicitly disable the prerun. However, I'd like to be able to disable the Galaxy role installation steps as I know that my any/all roles needed in my roles are present in my roles path and able to be found, as setting the boolean within the code to False results in my tests still running as they should.

Yes. If prerun is disabled, besides the current role installation(a symlink), the requirements would not be installed either.
If both PRs are merged, the requirements would be installed in an isolated directory, which is similar to how Python virtual env and npm node_modules do.

@Nubly
I am glad to hear that it works for you.
#3514 is mainly for #3495 and it happened to address this issue as well.

https://github.com/ansible-community/molecule/discussions/3569 should have fixed that one


Added Support For Other Formats For GET_FORMAT Function

Signed-off-by: GabeFernandez310<EMAIL_ADDRESS>Description
Adds the support for more formats for the get_format function to the OpenSearch SQL Plugin. Its implementation is aligned with the MySQL Documentation.
Issues Resolved
https://github.com/opensearch-project/sql/issues/722
Check List

[X] New functionality includes testing.

[ ] All tests pass, including unit test, integration test and doctest

[ ] New functionality has been documented.

[ ] New functionality has javadoc added
[X] New functionality has user manual doc added

[X] Commits are signed per the DCO using --signoff

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

Check if formats can be implemented using ones from here https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html#:~:text=Predefined Formatters


Avoid load default engine if not being used

Change-Id: I9c14b470306d9c1c7226c50952e439e2842ad01c
Description
Brief description of what this PR is about

If this change is a backward incompatible change, why must this change be made?
Interesting edge cases to note here

Codecov Report

Merging #1136 (f35c405) into master (21bf5fe) will decrease coverage by 0.02%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master    #1136      +/-   ##
============================================
- Coverage     70.19%   70.17%   -0.03%
  Complexity     5323     5323
============================================
  Files           513      513
  Lines         23622    23624       +2
  Branches       2529     2529
============================================
- Hits          16582    16578       -4
- Misses         5695     5707      +12
+ Partials       1345     1339       -6

Impacted Files
Coverage Δ

api/src/main/java/ai/djl/engine/Engine.java
35.95% <100.00%> (+0.72%)
:arrow_up:

...ain/java/ai/djl/modality/cv/util/NDImageUtils.java
48.68% <100.00%> (-1.32%)
:arrow_down:

...in/java/ai/djl/repository/zoo/BaseModelLoader.java
80.34% <100.00%> (ø)

...djl/training/listener/LoggingTrainingListener.java
88.59% <100.00%> (+0.10%)
:arrow_up:

...mark/src/main/java/ai/djl/benchmark/Arguments.java
78.65% <100.00%> (+0.56%)
:arrow_up:

.../src/main/java/ai/djl/fasttext/zoo/FtModelZoo.java
100.00% <100.00%> (ø)

...gine/src/main/java/ai/djl/dlr/engine/DlrModel.java
53.12% <0.00%> (-3.13%)
:arrow_down:

api/src/main/java/ai/djl/util/Platform.java
42.30% <0.00%> (-1.93%)
:arrow_down:

api/src/main/java/ai/djl/repository/Artifact.java
89.65% <0.00%> (-1.73%)
:arrow_down:

...g/src/main/java/ai/djl/serving/util/Connector.java
55.40% <0.00%> (-1.36%)
:arrow_down:

... and 7 more

Continue to review full report at Codecov.

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


Docker cloud

Couple of high level comments before I take a deeper look.

Big PRs like this one are harder to review; I know this isn't a typical work situation but in general, it's nicer to break work up a little more finely for review
When modifying or adding Terraform, it's nice to include the output of terraform plan for the reviewers. It proves the TF parses, and gives TF's idea of what it's going to do.
a quick writeup of what you're doing is good in the PR description, in this case I guess it's something like 'Solution to https://github.com/CodeYourFuture/immersive-go-course/tree/main/docker-cloud' but could be useful to know which sections are intended to be complete.

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create
  ~ update in-place

Terraform will perform the following actions:

  # aws_ecrpublic_repository.docker_cloud will be updated in-place
  ~ resource "aws_ecrpublic_repository" "docker_cloud" {
        id              = "immersive-go-course/docker-cloud-berkeli"
      ~ tags            = {
          - "Projet" = "docker-cloud" -> null
        }
      ~ tags_all        = {
          + "Project"     = "docker-cloud"
          - "Projet"      = "docker-cloud" -> null
            # (2 unchanged elements hidden)
        }
        # (5 unchanged attributes hidden)

        # (1 unchanged block hidden)
    }

  # aws_ecs_cluster.docker_cloud will be created
  + resource "aws_ecs_cluster" "docker_cloud" {
      + arn                = (known after apply)
      + capacity_providers = (known after apply)
      + id                 = (known after apply)
      + name               = "docker-cloud"
      + tags_all           = {
          + "Environment" = "dev"
          + "Project"     = "docker-cloud"
          + "terraform"   = "true"
        }

      + default_capacity_provider_strategy {
          + base              = (known after apply)
          + capacity_provider = (known after apply)
          + weight            = (known after apply)
        }

      + setting {
          + name  = (known after apply)
          + value = (known after apply)
        }
    }

  # aws_ecs_service.docker_cloud will be created
  + resource "aws_ecs_service" "docker_cloud" {
      + cluster                            = (known after apply)
      + deployment_maximum_percent         = 200
      + deployment_minimum_healthy_percent = 100
      + desired_count                      = 1
      + enable_ecs_managed_tags            = false
      + enable_execute_command             = false
      + iam_role                           = (known after apply)
      + id                                 = (known after apply)
      + launch_type                        = "FARGATE"
      + name                               = "docker-cloud"
      + platform_version                   = (known after apply)
      + scheduling_strategy                = "REPLICA"
      + tags_all                           = {
          + "Environment" = "dev"
          + "Project"     = "docker-cloud"
          + "terraform"   = "true"
        }
      + task_definition                    = (known after apply)
      + wait_for_steady_state              = false

      + load_balancer {
          + container_name   = "docker-cloud"
          + container_port   = 80
          + target_group_arn = (known after apply)
        }

      + network_configuration {
          + assign_public_ip = true
          + security_groups  = (known after apply)
          + subnets          = [
              + "subnet-03b0676c6e0e233f6",
              + "subnet-06b26d73ebecfe272",
              + "subnet-0cd944bd2af61529c",
              + "subnet-0e602aa6f2c34c992",
              + "subnet-0ecd31c2e28e6372a",
              + "subnet-0fc25b20ad2205909",
            ]
        }
    }

  # aws_ecs_task_definition.docker_cloud will be created
  + resource "aws_ecs_task_definition" "docker_cloud" {
      + arn                      = (known after apply)
      + container_definitions    = jsonencode(
            [
              + {
                  + essential    = true
                  + image        = "public.ecr.aws/b8c6e9l3/immersive-go-course/docker-cloud-berkeli:latest"
                  + name         = "docker-cloud"
                  + portMappings = [
                      + {
                          + containerPort = 80
                          + hostPort      = 80
                          + protocol      = "tcp"
                        },
                    ]
                },
            ]
        )
      + cpu                      = "256"
      + family                   = "docker-cloud"
      + id                       = (known after apply)
      + memory                   = "512"
      + network_mode             = "awsvpc"
      + requires_compatibilities = [
          + "FARGATE",
        ]
      + revision                 = (known after apply)
      + skip_destroy             = false
      + tags_all                 = {
          + "Environment" = "dev"
          + "Project"     = "docker-cloud"
          + "terraform"   = "true"
        }
    }

  # aws_iam_policy.AllowPush will be created
  + resource "aws_iam_policy" "AllowPush" {
      + arn         = (known after apply)
      + description = "To push images to ecr public"
      + id          = (known after apply)
      + name        = "AllowPush-berkeli"
      + path        = "/"
      + policy      = jsonencode(
            {
              + Statement = [
                  + {
                      + Action   = [
                          + "ecr-public:InitiateLayerUpload",
                          + "ecr-public:UploadLayerPart",
                          + "ecr-public:PutImage",
                          + "ecr-public:CompleteLayerUpload",
                          + "ecr-public:BatchCheckLayerAvailability",
                        ]
                      + Effect   = "Allow"
                      + Resource = "*"
                    },
                ]
              + Version   = "2012-10-17"
            }
        )
      + policy_id   = (known after apply)
      + tags_all    = {
          + "Environment" = "dev"
          + "Project"     = "docker-cloud"
          + "terraform"   = "true"
        }
    }

  # aws_iam_policy.GetAuthorizationToken will be created
  + resource "aws_iam_policy" "GetAuthorizationToken" {
      + arn         = (known after apply)
      + description = "To get authorization token for github"
      + id          = (known after apply)
      + name        = "GetAuthorizationToken-berkeli"
      + path        = "/"
      + policy      = jsonencode(
            {
              + Statement = [
                  + {
                      + Action   = [
                          + "ecr-public:GetAuthorizationToken",
                          + "sts:GetServiceBearerToken",
                        ]
                      + Effect   = "Allow"
                      + Resource = "*"
                    },
                ]
              + Version   = "2012-10-17"
            }
        )
      + policy_id   = (known after apply)
      + tags_all    = {
          + "Environment" = "dev"
          + "Project"     = "docker-cloud"
          + "terraform"   = "true"
        }
    }

  # aws_iam_role.GitHubActionECRPublicPushImage will be created
  + resource "aws_iam_role" "GitHubActionECRPublicPushImage" {
      + arn                   = (known after apply)
      + assume_role_policy    = jsonencode(
            {
              + Statement = [
                  + {
                      + Action    = [
                          + "sts:AssumeRoleWithWebIdentity",
                        ]
                      + Condition = {
                          + StringEquals = {
                              + "token.actions.githubusercontent.com:aud" = "sts.amazonaws.com"
                            }
                          + StringLike   = {
                              + "token.actions.githubusercontent.com:sub" = "repo:berkeli/immersive-go:*"
                            }
                        }
                      + Effect    = "Allow"
                      + Principal = {
                          + Federated = "arn:aws:iam::297880250375:oidc-provider/token.actions.githubusercontent.com"
                        }
                    },
                ]
              + Version   = "2012-10-17"
            }
        )
      + create_date           = (known after apply)
      + force_detach_policies = false
      + id                    = (known after apply)
      + managed_policy_arns   = (known after apply)
      + max_session_duration  = 3600
      + name                  = "GitHubActionECRPublicPushImage-berkeli"
      + name_prefix           = (known after apply)
      + path                  = "/"
      + tags_all              = {
          + "Environment" = "dev"
          + "Project"     = "docker-cloud"
          + "terraform"   = "true"
        }
      + unique_id             = (known after apply)

      + inline_policy {
          + name   = (known after apply)
          + policy = (known after apply)
        }
    }

  # aws_iam_role_policy_attachment.AllowPush will be created
  + resource "aws_iam_role_policy_attachment" "AllowPush" {
      + id         = (known after apply)
      + policy_arn = (known after apply)
      + role       = "GitHubActionECRPublicPushImage-berkeli"
    }

  # aws_iam_role_policy_attachment.GetAuthorizationToken will be created
  + resource "aws_iam_role_policy_attachment" "GetAuthorizationToken" {
      + id         = (known after apply)
      + policy_arn = (known after apply)
      + role       = "GitHubActionECRPublicPushImage-berkeli"
    }

  # aws_lb.docker_cloud will be created
  + resource "aws_lb" "docker_cloud" {
      + arn                        = (known after apply)
      + arn_suffix                 = (known after apply)
      + desync_mitigation_mode     = "defensive"
      + dns_name                   = (known after apply)
      + drop_invalid_header_fields = false
      + enable_deletion_protection = false
      + enable_http2               = true
      + enable_waf_fail_open       = false
      + id                         = (known after apply)
      + idle_timeout               = 60
      + internal                   = false
      + ip_address_type            = (known after apply)
      + load_balancer_type         = "application"
      + name                       = "docker-cloud-load-balancer"
      + preserve_host_header       = false
      + security_groups            = (known after apply)
      + subnets                    = [
          + "subnet-03b0676c6e0e233f6",
          + "subnet-06b26d73ebecfe272",
          + "subnet-0cd944bd2af61529c",
          + "subnet-0e602aa6f2c34c992",
          + "subnet-0ecd31c2e28e6372a",
          + "subnet-0fc25b20ad2205909",
        ]
      + tags_all                   = {
          + "Environment" = "dev"
          + "Project"     = "docker-cloud"
          + "terraform"   = "true"
        }
      + vpc_id                     = (known after apply)
      + zone_id                    = (known after apply)

      + subnet_mapping {
          + allocation_id        = (known after apply)
          + ipv6_address         = (known after apply)
          + outpost_id           = (known after apply)
          + private_ipv4_address = (known after apply)
          + subnet_id            = (known after apply)
        }
    }

  # aws_lb_listener.docker_cloud will be created
  + resource "aws_lb_listener" "docker_cloud" {
      + arn               = (known after apply)
      + id                = (known after apply)
      + load_balancer_arn = (known after apply)
      + port              = 80
      + protocol          = "HTTP"
      + ssl_policy        = (known after apply)
      + tags_all          = {
          + "Environment" = "dev"
          + "Project"     = "docker-cloud"
          + "terraform"   = "true"
        }

      + default_action {
          + order            = (known after apply)
          + target_group_arn = (known after apply)
          + type             = "forward"
        }
    }

  # aws_lb_target_group.docker_cloud will be created
  + resource "aws_lb_target_group" "docker_cloud" {
      + arn                                = (known after apply)
      + arn_suffix                         = (known after apply)
      + connection_termination             = false
      + deregistration_delay               = "300"
      + id                                 = (known after apply)
      + ip_address_type                    = (known after apply)
      + lambda_multi_value_headers_enabled = false
      + load_balancing_algorithm_type      = (known after apply)
      + name                               = "docker-cloud-target-group"
      + port                               = 80
      + preserve_client_ip                 = (known after apply)
      + protocol                           = "HTTP"
      + protocol_version                   = (known after apply)
      + proxy_protocol_v2                  = false
      + slow_start                         = 0
      + tags_all                           = {
          + "Environment" = "dev"
          + "Project"     = "docker-cloud"
          + "terraform"   = "true"
        }
      + target_type                        = "ip"
      + vpc_id                             = "vpc-00f1563e89e95a994"

      + health_check {
          + enabled             = (known after apply)
          + healthy_threshold   = (known after apply)
          + interval            = (known after apply)
          + matcher             = (known after apply)
          + path                = (known after apply)
          + port                = (known after apply)
          + protocol            = (known after apply)
          + timeout             = (known after apply)
          + unhealthy_threshold = (known after apply)
        }

      + stickiness {
          + cookie_duration = (known after apply)
          + cookie_name     = (known after apply)
          + enabled         = (known after apply)
          + type            = (known after apply)
        }

      + target_failover {
          + on_deregistration = (known after apply)
          + on_unhealthy      = (known after apply)
        }
    }

  # aws_security_group.lb will be created
  + resource "aws_security_group" "lb" {
      + arn                    = (known after apply)
      + description            = "Managed by Terraform"
      + egress                 = [
          + {
              + cidr_blocks      = [
                  + "<IP_ADDRESS>/0",
                ]
              + description      = ""
              + from_port        = 0
              + ipv6_cidr_blocks = []
              + prefix_list_ids  = []
              + protocol         = "-1"
              + security_groups  = []
              + self             = false
              + to_port          = 0
            },
        ]
      + id                     = (known after apply)
      + ingress                = [
          + {
              + cidr_blocks      = [
                  + "<IP_ADDRESS>/0",
                ]
              + description      = ""
              + from_port        = 80
              + ipv6_cidr_blocks = []
              + prefix_list_ids  = []
              + protocol         = "tcp"
              + security_groups  = []
              + self             = false
              + to_port          = 80
            },
        ]
      + name                   = "docker-cloud"
      + name_prefix            = (known after apply)
      + owner_id               = (known after apply)
      + revoke_rules_on_delete = false
      + tags_all               = {
          + "Environment" = "dev"
          + "Project"     = "docker-cloud"
          + "terraform"   = "true"
        }
      + vpc_id                 = "vpc-00f1563e89e95a994"
    }

Plan: 12 to add, 1 to change, 0 to destroy.


[DM-26602] Add security configuration and ingress for Kibana

Use Gafaelfawr to authenticate Kibana from Open Distro for
Elasticsearch via proxy authentication.  This looks simpler than
using OpenID Connect on the Kubernetes configuration side.
Enable the ingress but limit access to nginx-ingress via a
network policy.
Explicitly configure the users and passwords for Kibana and
logstash using a secret rather than using the default values.

Yeah, that's correct, due to Gafaelfawr limitations. We should be able to move it to a subdomain if we decide to deal with domain cookies at some point going forward.


Small Fadeout Animation on Paste

Not so necessary but can be cool

Great idea, thanks! Will try and review ASAP


How to check existence of file?

How can I check existence of file?
If I try to get metadata of file with wrong address, page crashes without exceptions.
Thank a lot!

Take a look at  #26 :)


Trying to move a table item down makes the modal dismiss

Description
Describe your issue here.
What type of issue is this? (place an x in one of the [ ])

[ ] bug
[ ] enhancement (feature request)
[x] question
[ ] documentation related
[ ] testing related
[ ] discussion

Requirements (place an x in each of the [ ])

[x] I've read and understood the Contributing guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.
[x] I've searched for any related issues and avoided creating a duplicate issue.

Bug Report
The tableview that I'm displaying in the PanModal has editing capabilities. If I try to move an item from the top of the list downwards, the modal thinks I'm swiping downwards, dismissing the modal
Reproducible in:
Xcode 11.3.1
PanModal version:
1.2.6
iOS version:
iOS 13.3.1
Steps to reproduce:

Create a UITableViewController, and make it conform to PanModalPresentable. Set the panScrollable property to be the tableView
Add editing and move functionality to the tableView
Display the panModal view, and try to move the first cell down the list

Expected result:
The item is able to be moved downwards successfully.
Actual result:
The panModal view is dismissed
Attachments:
Something to note here: Our designers want the cell to have swipe to delete and move functionality, so the move is being done by pressing and holding on a cell, and then dragging it. I'm not sure if this is what is causing the weird behavior or not. I'm still investigating.

Hi @Jsayer7
Thanks for reporting and apologies for the delay. I think I may know what's causing this - the pan gesture recognizer on the pan modal would still be active when editing the tableView list so it thinks you want to dismiss instead of just edit. The quickest way to solve this would be to return false in func shouldRespond(to panModalGestureRecognizer: UIPanGestureRecognizer) -> Bool when editing begins on the tableView - that should stop the pan modal from dismissing. May/not be ideal but let me know if this works.

@ste57 I want to disable the automatic dismiss of the panmodal too, I have imlemented the function mentioned above return false in func shouldRespond(to panModalGestureRecognizer: UIPanGestureRecognizer) -> Bool
but it's not getting called when I pull the panmodal view down.


2016 Day 11 implementation is too slow

It seems like there's two potential places to look for efficiencies.
The first option is in the legal-moves function. That's what spits out the combinatorial set of options for moves. I think we do need to allow moving items down, but there's probably some smarter logic.
The other option is in the move-count function, which currently uses my Dijkstra's algorithm implementation.  A-star might be smarter here, with the heuristic that solutions that have more items on higher floors are closer to the final state.  One heuristic fn might be just (4 - floor number) * (num items on floor).
I'd probably try that second option first to see if it's enough and then dig into how to make the legal-moves fn more intelligent


Fix smallstring

Fix undefined behavior in SmallString.withUTF8
withUTF8 currently vends a typed UInt8 pointer to the underlying
SmallString. That pointer type differs from SmallString's
representation. It should simply vend a raw pointer, which would be
both type safe and convenient for UTF8 data. However, since this
method is already @inlinable, I added calls to bindMemory to prevent
the optimizer from reasoning about access to the typed pointer that we
vend.

rdar://67983613 (Undefinied behavior in SmallString.withUTF8 is miscompiled)

Additional commentary:

SmallString creates a situation where there are two types, the
in-memory type, (UInt64, UInt64), vs. the element type,
UInt8. `UnsafePointer<T>` specifies the in-memory type of the pointee,
because that's how C works. If you want to specify an element type,
not the in-memory type, then you need to use something other than
UnsafePointer to view the memory. A trivial `BufferView<UInt8>` would
be fine, although, frankly, I think UnsafeRawPointer is a perfectly
good type on its own for UTF8 bytes.

Unfortunately, a lot of the UTF8 helper code is ABI-exposed, so to
work around this, we need to insert calls to bindMemory at strategic
points to avoid undefined behavior. This is high-risk and can
negatively affect performance. So far, I was able to resolve the
regressions in our microbenchmarks just by tweaking the inliner.

Actually there is still one regression that I'll just file a separate bug for:
MapReduceString               39      46      +17.9%   0.85x

Incidentally, some of the BufferPointer code could be cleaner by relying on convenience methods that calculate capacity, but I think this code should stick to the most primitive operations to guarantee performance.

@swift-ci benchmark

@swift-ci test

The current stdlib build does not appear to miscompile, but the miscompile is easily exposed by tweaking the optimizer in unrelated ways, and it could happen in user code since withUTF8 is inlinable.

Performance: -O

Regression
OLD
NEW
DELTA
RATIO

FlattenListFlatMap
2726
3557
+30.5%
0.77x (?)

MapReduceString
37
44
+18.9%
0.84x (?)

Set.isSubset.Int.Empty
43
51
+18.6%
0.84x

ArrayLiteral2
67
79
+17.9%
0.85x (?)

Set.isStrictSubset.Int.Empty
45
53
+17.8%
0.85x

UTF8Decode_InitDecoding
143
167
+16.8%
0.86x (?)

UTF8Decode_InitFromCustom_contiguous
143
164
+14.7%
0.87x (?)

CharacterLiteralsLarge
63
71
+12.7%
0.89x (?)

Set.isStrictSubset.Seq.Int.Empty
108
120
+11.1%
0.90x (?)

Set.isSuperset.Seq.Empty.Int
45
50
+11.1%
0.90x (?)

Set.isDisjoint.Box.Empty
93
103
+10.8%
0.90x (?)

ObjectiveCBridgeStubToNSStringRef
70
77
+10.0%
0.91x (?)

Set.isDisjoint.Int.Empty
51
56
+9.8%
0.91x

Set.isDisjoint.Seq.Int.Empty
47
51
+8.5%
0.92x (?)

CharacterLiteralsSmall
217
235
+8.3%
0.92x

CharacterPropertiesStashedMemo
870
940
+8.0%
0.93x (?)

BucketSort
137
148
+8.0%
0.93x (?)

UTF8Decode_InitFromCustom_noncontiguous
296
319
+7.8%
0.93x (?)

Improvement
OLD
NEW
DELTA
RATIO

ArrayAppendRepeatCol
670
400
-40.3%
1.67x (?)

LessSubstringSubstring
30
22
-26.7%
1.36x

EqualStringSubstring
30
22
-26.7%
1.36x

EqualSubstringString
30
22
-26.7%
1.36x

LessSubstringSubstringGenericComparable
30
22
-26.7%
1.36x

EqualSubstringSubstring
29
22
-24.1%
1.32x

EqualSubstringSubstringGenericEquatable
29
22
-24.1%
1.32x

Breadcrumbs.MutatedIdxToUTF16.Mixed
322
278
-13.7%
1.16x

Breadcrumbs.MutatedUTF16ToIdx.Mixed
316
273
-13.6%
1.16x

StringComparison_longSharedPrefix
373
337
-9.7%
1.11x

SuffixAnySequence
1691
1564
-7.5%
1.08x (?)

SequenceAlgosUnfoldSequence
840
780
-7.1%
1.08x (?)

DictionaryOfAnyHashableStrings_lookup
3648
3408
-6.6%
1.07x (?)

Code size: -O

Improvement
OLD
NEW
DELTA
RATIO

CSVParsing.o
54315
52979
-2.5%
1.03x

Performance: -Osize

Regression
OLD
NEW
DELTA
RATIO

ArrayAppendRepeatCol
500
850
+70.0%
0.59x (?)

Set.subtracting.Empty.Box
7
9
+28.6%
0.78x

MapReduceString
33
42
+27.3%
0.79x

DataCreateEmptyArray
800
950
+18.7%
0.84x (?)

UTF8Decode_InitFromCustom_contiguous
144
168
+16.7%
0.86x

UTF8Decode_InitDecoding
146
165
+13.0%
0.88x

Set.isStrictSubset.Int.Empty
47
53
+12.8%
0.89x (?)

CharacterPropertiesStashedMemo
870
960
+10.3%
0.91x (?)

ArrayLiteral2
98
107
+9.2%
0.92x (?)

Set.isStrictSubset.Seq.Int.Empty
112
122
+8.9%
0.92x (?)

UTF8Decode_InitFromCustom_noncontiguous
262
284
+8.4%
0.92x (?)

Improvement
OLD
NEW
DELTA
RATIO

LessSubstringSubstring
30
22
-26.7%
1.36x

LessSubstringSubstringGenericComparable
30
22
-26.7%
1.36x

EqualStringSubstring
29
22
-24.1%
1.32x

EqualSubstringSubstringGenericEquatable
29
22
-24.1%
1.32x (?)

EqualSubstringString
30
23
-23.3%
1.30x

EqualSubstringSubstring
29
23
-20.7%
1.26x

FlattenListLoop
1530
1272
-16.9%
1.20x (?)

Breadcrumbs.MutatedUTF16ToIdx.Mixed
317
272
-14.2%
1.17x

Breadcrumbs.MutatedIdxToUTF16.Mixed
322
278
-13.7%
1.16x

Dictionary4
233
202
-13.3%
1.15x

StringComparison_longSharedPrefix
374
337
-9.9%
1.11x

Dictionary4OfObjects
296
268
-9.5%
1.10x (?)

Set.isSubset.Seq.Empty.Int
84
77
-8.3%
1.09x (?)

RemoveWhereFilterInts
26
24
-7.7%
1.08x (?)

DistinctClassFieldAccesses
201
186
-7.5%
1.08x (?)

DictionaryOfAnyHashableStrings_lookup
3672
3408
-7.2%
1.08x (?)

ObjectiveCBridgeStubFromNSStringRef
99
92
-7.1%
1.08x (?)

ObjectiveCBridgeStubNSDataAppend
1730
1610
-6.9%
1.07x (?)

Code size: -Osize

Improvement
OLD
NEW
DELTA
RATIO

CSVParsing.o
52209
50797
-2.7%
1.03x

Performance: -Onone

Regression
OLD
NEW
DELTA
RATIO

UTF8Decode_InitDecoding
152
171
+12.5%
0.89x (?)

UTF8Decode_InitFromCustom_contiguous
159
174
+9.4%
0.91x (?)

ExclusivityGlobal
106
114
+7.5%
0.93x (?)

Improvement
OLD
NEW
DELTA
RATIO

EqualSubstringSubstringGenericEquatable
34
26
-23.5%
1.31x

LessSubstringSubstringGenericComparable
34
26
-23.5%
1.31x

EqualSubstringString
35
28
-20.0%
1.25x

EqualSubstringSubstring
34
28
-17.6%
1.21x

LessSubstringSubstring
34
28
-17.6%
1.21x

EqualStringSubstring
34
28
-17.6%
1.21x

Breadcrumbs.MutatedUTF16ToIdx.Mixed
334
291
-12.9%
1.15x (?)

Breadcrumbs.MutatedIdxToUTF16.Mixed
340
297
-12.6%
1.14x (?)

SubstringFromLongString
10
9
-10.0%
1.11x

Code size: -swiftlibs

How to read the data
The tables contain differences in performance which are larger than 8% and
differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac mini
  Model Identifier: Macmini8,1
  Processor Name: 6-Core Intel Core i7
  Processor Speed: 3.2 GHz
  Number of Processors: 1
  Total Number of Cores: 6
  L2 Cache (per Core): 256 KB
  L3 Cache: 12 MB
  Memory: 64 GB

Build failed
Swift Test OS X Platform
Git Sha - 9d5acf50210ce5a51ce430dd9984f91567bbce43

#33693 fixes macOS test failure.

@swift-ci Please test macOS platform

@milseman do you have any concerns with this?

Nits :)

Corrections have all been committed. Much appreciated.

@swift-ci test

@swift-ci benchmark

Performance: -O

Regression
OLD
NEW
DELTA
RATIO

CSVParsing.UTF8
30
68
+126.7%
0.44x

ArrayAppendLatin1Substring
25560
48420
+89.4%
0.53x

ArrayAppendUTF16Substring
25056
47412
+89.2%
0.53x

ArrayAppendAsciiSubstring
25056
47412
+89.2%
0.53x

MapReduceString
41
61
+48.8%
0.67x

String.data.Medium
96
111
+15.6%
0.86x (?)

DictionaryKeysContainsCocoa
28
32
+14.3%
0.88x (?)

NSStringConversion.MutableCopy.Rebridge.UTF8
696
791
+13.6%
0.88x (?)

ObjectiveCBridgeFromNSSetAnyObjectToStringForced
75500
82500
+9.3%
0.92x (?)

EqualSubstringSubstring
35
38
+8.6%
0.92x

EqualSubstringSubstringGenericEquatable
35
38
+8.6%
0.92x (?)

EqualSubstringString
35
38
+8.6%
0.92x

Array2D
5984
6480
+8.3%
0.92x (?)

DataToStringLargeUnicode
6200
6700
+8.1%
0.93x (?)

InsertCharacterEndIndexNonASCII
50
54
+8.0%
0.93x (?)

Improvement
OLD
NEW
DELTA
RATIO

FlattenListFlatMap
5706
5123
-10.2%
1.11x (?)

Set.isSubset.Seq.Int.Empty
209
192
-8.1%
1.09x

Set.isStrictSubset.Seq.Int.Empty
201
185
-8.0%
1.09x (?)

ObjectiveCBridgeFromNSArrayAnyObjectForced
6380
5920
-7.2%
1.08x (?)

SubstringEqualString
428
399
-6.8%
1.07x (?)

Code size: -O

Improvement
OLD
NEW
DELTA
RATIO

CSVParsing.o
53691
52787
-1.7%
1.02x

Performance: -Osize

Regression
OLD
NEW
DELTA
RATIO

CSVParsing.UTF8
31
69
+122.6%
0.45x

ArrayAppendLatin1Substring
29052
46944
+61.6%
0.62x

ArrayAppendUTF16Substring
28476
45972
+61.4%
0.62x

ArrayAppendAsciiSubstring
28476
45972
+61.4%
0.62x

FlattenListFlatMap
3790
5669
+49.6%
0.67x (?)

MapReduceString
46
66
+43.5%
0.70x

String.data.Medium
101
110
+8.9%
0.92x (?)

NSStringConversion
379
412
+8.7%
0.92x (?)

EqualSubstringSubstring
35
38
+8.6%
0.92x

EqualStringSubstring
35
38
+8.6%
0.92x (?)

EqualSubstringSubstringGenericEquatable
35
38
+8.6%
0.92x (?)

EqualSubstringString
35
38
+8.6%
0.92x (?)

LessSubstringSubstring
36
39
+8.3%
0.92x (?)

Improvement
OLD
NEW
DELTA
RATIO

StrComplexWalk
4770
4320
-9.4%
1.10x (?)

Set.subtracting.Empty.Box
15
14
-6.7%
1.07x (?)

Set.subtracting.Seq.Empty.Box
196
183
-6.6%
1.07x (?)

StringWalk
2440
2280
-6.6%
1.07x

Code size: -Osize

Improvement
OLD
NEW
DELTA
RATIO

CSVParsing.o
51869
50396
-2.8%
1.03x

Performance: -Onone

Regression
OLD
NEW
DELTA
RATIO

StringToDataMedium
6850
7500
+9.5%
0.91x (?)

ArrayLiteral2
4481
4906
+9.5%
0.91x (?)

Improvement
OLD
NEW
DELTA
RATIO

SevenBoom
1895
1668
-12.0%
1.14x (?)

ConvertFloatingPoint.MockFloat64Exactly2
2191
2006
-8.4%
1.09x (?)

Code size: -swiftlibs

How to read the data
The tables contain differences in performance which are larger than 8% and
differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 8-Core Intel Xeon E5
  Processor Speed: 3 GHz
  Number of Processors: 1
  Total Number of Cores: 8
  L2 Cache (per Core): 256 KB
  L3 Cache: 25 MB
  Memory: 64 GB

I haven't changed these commits, but now there are large regressions.

Please update the base branch to main by Oct 5th otherwise the pull request will be closed automatically.

How to change the base branch: (Link)
More detail about the branch update: (Link)

I just hit another miscompile because of this after making an a small change to inlining, so I really need to merge it without investigating regressions. The performance regressions that popped up recently weren't originally a problem, so I'm sure they are fixable but will need a little time to investigate.

@swift-ci benchmark

@swift-ci test

Performance: -O

Regression
OLD
NEW
DELTA
RATIO

ArrayAppendRepeatCol
400
670
+67.5%
0.60x (?)

FlattenListLoop
930
1542
+65.8%
0.60x (?)

MapReduceString
32
47
+46.9%
0.68x (?)

InsertCharacterEndIndexNonASCII
39
42
+7.7%
0.93x (?)

Improvement
OLD
NEW
DELTA
RATIO

EqualSubstringSubstring
30
22
-26.7%
1.36x (?)

EqualSubstringSubstringGenericEquatable
30
22
-26.7%
1.36x (?)

EqualSubstringString
30
22
-26.7%
1.36x

LessSubstringSubstring
30
23
-23.3%
1.30x

EqualStringSubstring
30
23
-23.3%
1.30x (?)

LessSubstringSubstringGenericComparable
30
23
-23.3%
1.30x (?)

ArrayAppendAsciiSubstring
24948
19404
-22.2%
1.29x (?)

ArrayAppendLatin1Substring
25452
19836
-22.1%
1.28x (?)

ArrayAppendUTF16Substring
24876
19404
-22.0%
1.28x (?)

UTF8Decode_InitDecoding
172
144
-16.3%
1.19x (?)

UTF8Decode_InitFromCustom_contiguous
171
145
-15.2%
1.18x

Set.isSuperset.Seq.Empty.Int
50
46
-8.0%
1.09x (?)

UTF8Decode_InitFromCustom_noncontiguous
295
272
-7.8%
1.08x (?)

SubstringEqualString
296
275
-7.1%
1.08x (?)

Code size: -O
Performance: -Osize

Regression
OLD
NEW
DELTA
RATIO

MapReduceString
35
50
+42.9%
0.70x

Improvement
OLD
NEW
DELTA
RATIO

EqualSubstringSubstring
30
22
-26.7%
1.36x

EqualSubstringSubstringGenericEquatable
30
22
-26.7%
1.36x

EqualSubstringString
30
22
-26.7%
1.36x (?)

LessSubstringSubstring
30
23
-23.3%
1.30x

EqualStringSubstring
30
23
-23.3%
1.30x (?)

LessSubstringSubstringGenericComparable
30
23
-23.3%
1.30x (?)

UTF8Decode_InitDecoding
172
146
-15.1%
1.18x (?)

UTF8Decode_InitFromCustom_contiguous
172
147
-14.5%
1.17x

StringComparison_longSharedPrefix
372
327
-12.1%
1.14x

Set.isSubset.Int.Empty
52
47
-9.6%
1.11x (?)

Set.isStrictSubset.Seq.Int.Empty
125
114
-8.8%
1.10x (?)

Set.isDisjoint.Seq.Box.Empty
86
80
-7.0%
1.07x (?)

Code size: -Osize
Performance: -Onone

Regression
OLD
NEW
DELTA
RATIO

CharIteration_punctuatedJapanese_unicodeScalars_Backwards
18840
20440
+8.5%
0.92x (?)

CharIteration_tweet_unicodeScalars_Backwards
200520
217480
+8.5%
0.92x (?)

CharIteration_ascii_unicodeScalars_Backwards
102160
110760
+8.4%
0.92x (?)

DataReplaceLargeBuffer
12
13
+8.3%
0.92x (?)

Improvement
OLD
NEW
DELTA
RATIO

UTF8Decode_InitFromCustom_contiguous
180
155
-13.9%
1.16x

UTF8Decode_InitDecoding
177
155
-12.4%
1.14x

ArrayOfGenericPOD2
588
542
-7.8%
1.08x (?)

EqualSubstringSubstring
91
84
-7.7%
1.08x (?)

LessSubstringSubstringGenericComparable
90
84
-6.7%
1.07x (?)

EqualSubstringString
91
85
-6.6%
1.07x (?)

Code size: -swiftlibs

How to read the data
The tables contain differences in performance which are larger than 8% and
differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac mini
  Model Identifier: Macmini8,1
  Processor Name: 6-Core Intel Core i7
  Processor Speed: 3.2 GHz
  Number of Processors: 1
  Total Number of Cores: 6
  L2 Cache (per Core): 256 KB
  L3 Cache: 12 MB
  Memory: 64 GB

I haven't changed these commits, but now there are large regressions.

@atrick Could the previous regressions (on 25 Sep) have been due to the creation of the main branch (on 23 Sep), somehow affecting the baseline used by benchmarks?

I haven't changed these commits, but now there are large regressions.

@atrick Could the previous regressions (on 25 Sep) have been due to the creation of the main branch (on 23 Sep), somehow affecting the baseline used by benchmarks?

Possibly, I never saw a problem with local benchmarking.


fix: bump up realtime-js

What kind of change does this PR introduce?
bump up realtime-js to 2.10.8

Pull Request Test Coverage Report for Build<PHONE_NUMBER>0
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 66.038%

Totals

Change from base Build<PHONE_NUMBER>1:
0.0%

Covered Lines:
99

Relevant Lines:
129

💛  - Coveralls


[WIP] Metadata & Fractal improvements

This is a WIP PR with updates I've been working on for the fractal multiview stitcher task.
Issues I plan to tackle / have tackled:

[ ]  Omero metadata: Core Omero metadata is in place, but 2 issues remain

wavelength_id? Not a standard omero key and thus gets ignored with ome-zarr-py writing of omero metadata
Why does channel order get inverted in the fused zarr??

[x]  Placement of output OME-Zarr image
[x]  Option to delete old image
[x]  Telling Fractal server about the new image
[x]  Update to newer fractal-tasks-core version
[x]  Copy over & adjust ROI tables? Create at least a whole well ROI table
[x]  Figure out why orginal num_levels fails: 4 works, 5 fails
[ ]  Test whether logger is working: Doesn't log to console when importing the Python function. Does it work in a Fractal context?
[x] Update the manifest to handle new task arguments
[x] Update the manifest to have input & output types
[ ] Make well metadata update more flexible:

[x] Don't assume well is present (currently makes tests fail)
[x] Allow overwrite of existing output in well metadata

Testing required:

[ ] Also test with 3D data
[ ] Add specific tests? Is public test data relevant for this?

Issues not tackled by this PR:

3D fusion artefacts described by @nrepina: it seems that each saved slice is some sort of projection of a few z-slices
Semaphore issues @nrepina hit locally (currently can't reproduce those)

To do before merge:

[ ] wavelength_id
[ ] Figure out why orginal num_levels fails: 4 works, 5 fails

@m-albert @nrepina  I also updated the template now and set up the pre-commit configuration. I ran pre-commit once over the whole repo, fixes formatting issues that ruff didn't like and excluded a few ruff rules that seem a bit over the top to me. Let's try to make commits using pre-commit now (running pre-commit install in the repo once).
If you can't make sense of a pre-commit issue, you can always circumvent it by using git commit -m "my message" --no-verify
The repo is also set up to use tags for versioning. Once we merge this into main, let's tag that as version 0.0.1. Until we make the first tag, whl building will not work.

@m-albert It's a bit of a messy PR as it touches many parts. But it's complete from my side now. All the open issues still listed above will be tackled elsewhere.
Do you want to have a look and merge when you're happy with it?

@jluethi Thanks for all your work here. Your changes make sense to me and everything looks great 👍
Merging this PR and creating a tag as you suggested.


Prefer forge-std's test

I think we should prefer forge-std's test setup instead of just DSTest for examples/guides. We will probably also need to document it somehow - maybe even replace the DSTest reference?
See https://github.com/foundry-rs/forge-std/pull/36

Forge Std needs better docs anyway; we should dedicate a section in References to it.
IMO, the book should set an example on best/recommended practices.
Prefer Test over DSTest, in this case.
Idea on how to structure the Forge Std reference: leave ds-test Reference and Cheatcodes Reference as they are (because they exist separate of the Forge Std lib), then reference them in Forge Std Reference - which would be similar to Cheatcodes Reference. Will think about this.


Losing Dragons

I keep running into a situation where my macro isn't working and when I manually try /MountUpDragon it says there were no dragon riding mounts found. A /reload solves the problem. Other mounts typically work.

Here's the error I get:
No usable dragon riding mounts found in your collection.
No usable flying mounts found in your collection.
No usable ground mounts found in your collection.
Surprisingly, my "repair" mount - Using Fav works ok :)
Here's the bugsack:
96x MountUp/MountUp.lua:82: bad argument #1 to 'random' (interval is empty)
[string "=[C]"]: in function random' [string "@MountUp/MountUp.lua"]:82: in function ?'
[string "@FrameXML/ChatFrame.lua"]:5291: in function <FrameXML/ChatFrame.lua:5237>
[string "=[C]"]: ?
[string "=[C]"]: in function ChatEdit_ParseText' [string "@FrameXML/ChatFrame.lua"]:4948: in function ChatEdit_SendText'
[string "@MacroTalk/MacroTalk.lua"]:24: in function MacroTalk_DoCommand' [string "@MacroTalk/MacroTalkCommands.lua"]:200: in function ?'
[string "@FrameXML/ChatFrame.lua"]:5291: in function <FrameXML/ChatFrame.lua:5237>[string "=[C]"]: ?
[string "=[C]"]: in function ChatEdit_ParseText' [string "@FrameXML/ChatFrame.lua"]:4948: in function ChatEdit_SendText'
...
[string "=[C]"]: in function UseAction' [string "@FrameXML/SecureTemplates.lua"]:364: in function handler'
[string "@FrameXML/SecureTemplates.lua"]:690: in function <FrameXML/SecureTemplates.lua:672>
[string "@FrameXML/SecureTemplates.lua"]:704: in function <FrameXML/SecureTemplates.lua:697>
[string "@FrameXML/SecureTemplates.lua"]:746: in function <FrameXML/SecureTemplates.lua:730>
[string "=[C]"]: ?
[string "@FrameXML/SecureHandlers.lua"]:266: in function <FrameXML/SecureHandlers.lua:263>
[string "=[C]"]: ?
[string "@FrameXML/SecureHandlers.lua"]:296: in function <FrameXML/SecureHandlers.lua:279>
[string "=(tail call)"]: ?
Locals:
(*temporary) = 0

Thanks for the feedback, and providing an error message, this will help a lot in solving the problem! Does this only occur when trying the /MountUpDragon, or have you also experienced this with other macro commands provided by the addon?

I was able to replicate the issue once, and believe I found the root of the issue. since the issue is intermittent, I'm going to spend a day testing to ensure the problem does not arise again, then I will push a release update that fixes it.

Awesome. I'll be raiding tonight so no worries :) It did happen with other commands, you can see the outputs in the example, but I notice it mostly on the Dragon one. Hopefully you got it. Looking forward to testing as well!

A release update should hit the curse forge app shortly (v1.0.5) that fixes this. I spent a day testing and did not get the error again, if you have any other issues or feedback feel free to reach out!

Still having the problem, definitely related to zoning.


Is this UI module available ?

Question
For English only, other languages will not accept.
Before asking a question, make sure you have:

Googled your question.
Searched open and closed GitHub issues.
Read documentation: ShardingSphere Doc.

Please pay attention on issues you submitted, because we maybe need more details.
If no response more than 7 days and we cannot reproduce it on current information, we will close it.
I tried to start the project，How to use it ?

But I don't know what I'm supposed to fill in, The documentation is not clear , right
Is need me copy the yml configuration above java project  into here ?
I want to try to start it to understand its process, increase the relevant configuration about consul
but now , i can't know how to  add schem and orther setting

this label is UI.  please

I have configured zookeeper in Java yml

in ui project :

which version?

@menghaoranss will follow this issue.

I think you can refer to source code in sharding-ui-backend module while filling config in ui.

for version 4.x, config check/update/load are implement in org.apache.shardingsphere.ui.servcie.impl

Props can refer to org.apache.shardingsphere.ui.util.ConfigurationYamlConverter#loadProperties , content should like official guide, but without the first line prop:

Authentication can refer to org.apache.shardingsphere.core.yaml.config.common.YamlAuthenticationConfiguration, content should like official guide, but without the first line authentication:
authentications here control your access to proxy rather than backend-mysql

Schema can refer to org.apache.shardingsphere.ui.servcie.impl.ShardingSchemaServiceImpl#checkRuleConfiguration you can config encryptor/master-slave only/sharding(also can config master-slave),

following example for datasource config

ds0: !!org.apache.shardingsphere.orchestration.yaml.config.YamlDataSourceConfiguration
  dataSourceClassName: com.zaxxer.hikari.HikariDataSource
  properties:
    url: jdbc:mysql://ip:port/schema
    username:
    password:
    maxPoolSize:

following examples for rule config

# master-slave-only
ms_ds0:
    masterDataSourceName: ds0
    slaveDataSourceNames:
      - ds0_slave
    loadBalanceAlgorithmType: ROUND_ROBIN

# sharding with master-slave
tables:
  logic_table_name:
      actualDataNodes:
      databaseStrategy:
      inline:
        shardingColumn:
        algorithmExpression:
    tableStrategy:
      inline:
        shardingColumn:
        algorithmExpression:
defaultTableStrategy:
  none:

masterSlaveRules:
  ms_ds0:
    masterDataSourceName: ds0
    slaveDataSourceNames:
      - ds0_slave
    loadBalanceAlgorithmType: ROUND_ROBIN
  ms_ds1:
    masterDataSourceName: ds1
    slaveDataSourceNames:
      - ds1_slave
    loadBalanceAlgorithmType: ROUND_ROBIN

@pkwenda you can refer to reply from @SanmuWangZJU , and we will add  configuration examples on the UI in subsequent versions.

I have a question.
Why YamlTableRuleConfiguration.java  not have defaultKeyGenerator and defaultDatabaseStrategy field ？
because I add this yml setting
  tables:
    litemall_electronic_coupon_item:
      actualDataNodes: uat-litemall-$->{0}.litemall_electronic_coupon_item
      databaseStrategy:
        standard:
          shardingColumn: company_id
          preciseAlgorithmClassName: org.apache.shardingsphere.ui.sharding.DataBaseShardingAlgorithm
    litemall_coupon_user:
      actualDataNodes: uat-litemall-$->{0}.litemall_coupon_user
      databaseStrategy:
        standard:
          shardingColumn: user_id
          preciseAlgorithmClassName: org.apache.shardingsphere.ui.sharding.DataBaseShardingAlgorithm
  bindingTables:
    - litemall_electronic_coupon_item,litemall_coupon_user
  defaultDatabaseStrategy: # 默认分库 company_id
    standard:
      sharding-column: company_id
      preciseAlgorithmClassName: org.linlinjava.litemall.db.sharding.DataBaseShardingAlgorithm
  defaultKeyGenerator:
    type: SNOWFLAKE
    column: id

it is wrong

but I write another way is ok （del defaultXXX yml key ）：
  tables:
    litemall_electronic_coupon_item:
      actualDataNodes: uat-litemall-$->{0}.litemall_electronic_coupon_item
      databaseStrategy:
        standard:
          shardingColumn: company_id
          preciseAlgorithmClassName: org.apache.shardingsphere.ui.sharding.DataBaseShardingAlgorithm
      keyGenerator:
        type: SNOWFLAKE
        column: order_item_id
    litemall_coupon_user:
      actualDataNodes: uat-litemall-$->{0}.litemall_coupon_user
      databaseStrategy:
        standard:
          shardingColumn: user_id
          preciseAlgorithmClassName: org.apache.shardingsphere.ui.sharding.DataBaseShardingAlgorithm
      keyGenerator:
        type: SNOWFLAKE
        column: order_item_id
  bindingTables:
    - litemall_electronic_coupon_item,litemall_coupon_user

Was it designed this way ？ OR BUG ？
IF it is bug , Can I fix it ?

I can run, and i can find info at zookeeper now ! thank you very much @SanmuWangZJU

As the question is answered, we will close this issue now.


Set different kwh cost for day/night

Describe the bug

It would be great to be able to set a different kwh cost in relation to the time. I have a tariff which is different between day and night, so every time I charge the car during daytime, I have to manually fix the records with the day tariff.
Expected behavior

How to reproduce it (as minimally and precisely as possible):

Relevant entries from the logs

paste logs here

Screenshots

Data

Environment

TeslaMate version:
Type of installation: Docker or Manual
OS TeslaMate is installed on:
User OS & Browser:
Others:

Hi @thunder2k,
You should checkout the TeslaMateAgile project, which might be exactly doing what you want to do..
TeslaMateAgile supports that energy providers / tarriffs are either Octopus Agile, Tibber or fixed pricing (manually specified).
Link to TeslaMate docs of projects
Link to TeslaMateAgile on Github
Regards,
Tobias

This is not a bug. Feature requests belong here: 💡 Ideas. I'll move it.


a.load is not a function

Discord is latest version, BetterDiscord is also latest version.
At first no problem with the plugin at all, then two days ago this happened.
Uncaught TypeError: a.load is not a function

The problem occurs even after reinstall of both.
BetterDiscord shows the loading bar of it loading resources.

Actually, this was probably caused by my own plugin or me having a dev folder inside the plugins folder. False alarm.


Check out some insightful videos

These are some insightful videos that can be used to improve reading and writing skills.

[x] https://www.youtube.com/watch?v=8oEOa9wStjk
[x] https://www.youtube.com/watch?v=F_M19e8MI10
[x] https://www.youtube.com/watch?v=_nhNTbA40vA
[x] https://www.youtube.com/watch?v=cWJWfUaYmRc

Literature review -> Paper Digest With the help of AI it gives a overview about any paper and all related works.
The AI Research Assistant -> Elicit
A visulization of all the connected papers for a perticular paper-> Litmap
Same as Litmap but another website for connected paper visual -> Connected paper
For better writing experience -> Writefull
For making own vactor or images related to biology -> Bio render
Likewise litmap and connected paper this is another alternative -> scite
Reference manager -> Zotero
Alternative Reference Managaer -> Mandele


Add a kernel for integer GEMM

Fixes #3941
We rely only on cublas for the matrix multiplication and we cast the inputs to float and then back to integral types again. This causes precision issues.
This also has an speedup of 45% for a matrix product with dtype=numpy.int32 andshape=(5000, 5000)

pfnCI, test this please.

Jenkins CI test (for commit 14ea0ae17ce9c361fc1ca7e80b2becd150637163, target branch master) failed with status FAILURE.

Jenkins, test this please

Jenkins CI test (for commit 2df778a88ec71498d0213e1536f8b3e3dfb710f7, target branch master) failed with status FAILURE.

Jenkins, test this please

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

@takagi can you please review this before the release 😇

So sorry that I missed merging this before the code freeze...

LGTM!


add N64SegPaperMarioMessages

One small thing: shouldn't this be called N64SegPaperMarioMessage (not plural) since it only represents one message? Or does each segment contain multiple? I'm probably answering my question there..

Each section contains multiple


Wrong platform shown for IOS 8.3 for both Chrome and Safari

Instead of showing platform IOS 8.3, following platform was used: Mac OS X(iPhone), which is confusing
Browsers used:
Latest Chrome for iOS;
Latest Safari on iOS 8.3.
User-agents provided:
Chrome Mobile:
Mozilla/5.0 (iPhone; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) CriOS/41.0.2272.58 Mobile/12F70 Safari/600.1.4
Safari Mobile:
Mozilla/5.0 (iPhone; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12F70 Safari/600.1.4

Inflation of version numbers is going fast again. We only had support until 8.1. Usually Apple didn't need extra versions for minor versions. Usually I would just detect them all as iOS 8 and ignore the rest but if was with 8.1 that apple introduced some new features. Guess now I will also have to detect 8.3.


[Question] Does HugeCtr support  H800 GPU？

I run the embedding_test in HugeCtr  on H800, but it failed, the exception follow is :
root@jupyuterlab-nb-1691543551529-ddf9dcb96-jr455:/usr/local/hugectr/bin# ./embedding_test
Running main() from /hugectr/third_party/googletest/googletest/src/gtest_main.cc
[==========] Running 278 tests from 28 test suites.
[----------] Global test environment set-up.
[----------] 28 tests from distributed_sparse_embedding_hash_test
[ RUN      ] distributed_sparse_embedding_hash_test.fp32_sgd_1gpu
MpiInitService: MPI was already initialized by another (non-HugeCTR) mechanism.
[HCTR][09:27:01.919][INFO][RK0][main]: Global seed is<PHONE_NUMBER>
[HCTR][09:27:01.994][INFO][RK0][main]: Device to NUMA mapping:
GPU 0 ->  node 1
[HCTR][09:27:02.470][WARNING][RK0][main]: Peer-to-peer access cannot be fully enabled.
[HCTR][09:27:02.470][DEBUG][RK0][main]: [device 0] allocating 0.0000 GB, available 76.5250
[HCTR][09:27:02.470][INFO][RK0][main]: Start all2all warmup
[HCTR][09:27:02.471][INFO][RK0][main]: End all2all warmup
[HCTR][09:27:02.472][INFO][RK0][main]: ./data_reader_test_data/temp_dataset_0.data
[HCTR][09:27:02.757][INFO][RK0][main]: train_file_list.txt done!
[HCTR][09:27:02.757][INFO][RK0][main]: ./data_reader_test_data exist
[HCTR][09:27:02.757][INFO][RK0][main]: ./data_reader_test_data/temp_dataset_0.data
[HCTR][09:27:02.828][INFO][RK0][main]: test_file_list.txt done!
[HCTR][09:27:02.828][DEBUG][RK0][main]: [device 0] allocating 0.0012 GB, available 76.2593
[HCTR][09:27:02.828][DEBUG][RK0][main]: [device 0] allocating 0.0030 GB, available 76.2554
[HCTR][09:27:03.179][INFO][RK0][main]: max_vocabulary_size_per_gpu_=100000
[HCTR][09:27:03.184][ERROR][RK0][main]: CUDA RT call "cudaGetLastError()" in line 341 of file /hugectr/HugeCTR/include/hashtable/cudf/concurrent_unordered_map.cuh failed with no kernel image is available for execution on the device (209).
root@jupyuterlab-nb-1691543551529-ddf9dcb96-jr455:/usr/local/hugectr/bin#
the cuda version: 12.2
HugeCtr docker image : Merlin-hugectr:23.02

Hi, thanks for trying HugeCTR.
Could you use our latest image 23.06? Thanks.

Yes. The problem above  has solved  when I changed the image version to 23.06;
But when I run the trainning on multiple H800 gpu， there is a new problem:
[HCTR][06:01:46.761][INFO][RK0][main]: --------------------Epoch 0, source file: /root/gq/2.txt--------------------
[HCTR][06:01:46.826][INFO][RK0][main]: Preparing embedding table for next pass
[HCTR][06:01:47.696][ERROR][RK0][main]: Runtime error: an illegal memory access was encountered
cudaStreamSynchronize(local_gpu->get_stream()) at sync_all_gpus (/hugectr/HugeCTR/src/embeddings/sync_all_gpus_functor.cu:28)
[HCTR][06:01:47.696][ERROR][RK0][main]: Runtime error: an illegal memory access was encountered
cudaStreamSynchronize(local_gpu->get_stream()) at sync_all_gpus (/hugectr/HugeCTR/src/embeddings/sync_all_gpus_functor.cu:28)
terminate called after throwing an instance of 'cudf::fatal_cuda_error'
what():  Fatal CUDA error encountered at: /opt/rapids/src/cudf/cpp/include/cudf/detail/utilities/pinned_allocator.hpp:170: 700 cudaErrorIllegalAddress an illegal memory access was encountered
[jupyuterlab-nb-1691568254333-866cf6f4f-855sl:02075] *** Process received signal ***
[jupyuterlab-nb-1691568254333-866cf6f4f-855sl:02075] Signal: Aborted (6)
[jupyuterlab-nb-1691568254333-866cf6f4f-855sl:02075] Signal code:  (-6)
Traceback (most recent call last):
File "dcn_init_train.py", line 175, in
I found the method in hugectr readme doc:
NOTE: HugeCTR uses NCCL to share data between ranks, and NCCL may requires shared memory for IPC and pinned (page-locked) system memory resources. It is recommended that you increase these resources by issuing the following options in the docker run command.
-shm-size=1g -ulimit memlock=-1
I have tried the method, but the problem doesn't disappear.

Is there any progresses for this question?

hi @sparkling9809 which training script are you using? From the log I can tell you are trying to use Embedding Training Cache, is this expected?
If you want to try some sample and not restricted in Embedding Training Cache, we advise you to try EmbeddingCollection, which is our latest embedding implementation and old ones will be deprecated in the future. Here is the doc and sample for reference.

hi @sparkling9809 which training script are you using? From the log I can tell you are trying to use Embedding Training Cache, is this expected?
If you want to try some sample and not require Embedding Training Cache, we advise you to try EmbeddingCollection, which is our latest embedding implementation and old ones will be deprecated in the future. Here is the doc and sample for reference.

Thanks for your reply!
The script for trainnign as follows:

import argparse
import hugectr
from mpi4py import MPI
import time
from tools.utils import Log
logger = Log(__name__).getlog()

arg_parser = argparse.ArgumentParser(description="model train")
arg_parser.add_argument("--features_num", type=int, required=True)
arg_parser.add_argument("--check", type=str, required=True)
args = arg_parser.parse_args()
total_num = args.features_num*16

all_solt = [10000,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,
            50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,
            50,50,110000000,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,
            50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,
            10000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
# for i in range(len(all_solt)):
#     if all_solt[i] < 1:
#         all_solt[i] = 10000
# all_solt[-2] = 0
All_Solt = all_solt[:args.features_num]
# All_Solt = all_solt
if args.check == "solo":
    # Source = ["./testdata0717/train_solo/0.txt", "./testdata0717/train_solo/1.txt", "./testdata0717/train_solo/2.txt"]
    # Keyset = ["./testdata0717/train_solo/0.keyset", "./testdata0717/train_solo/1.keyset", "./testdata0717/train_solo/2.keyset"]
    # Source = ["./testdata0717/train_all_mini/0.txt"]
    # Keyset = ["./testdata0717/train_all_mini/all.keyset"]
    # Source = ["/home/workspace/hy/tmp/"+str(i)+".txt" for i in range(3)]
    # Keyset = ["/home/workspace/hy/tmp/" + str(i) + ".keyset" for i in range(3)]
    Source=["/root/91feature_data/91_keyset/"+str(i)+".txt" for i in range(3)]
    Keyset = ["/root/91feature_data/91_keyset/" + str(i) + ".keyset" for i in range(3) ]
elif args.check == "all":
    # Source = ["./testdata0717/train_all/all.txt"]
    # Keyset = ["./testdata0717/train_all/all.keyset"]
    Source = ["/root/91_keyset/0.txt"]
    Keyset = ["/root/91_keyset/0.keyset"]
else:
    raise ValueError("check类型错误, 请输入 solo 或 all")
# logger.info(f"特征个数为: {args.features_num}")

solver = hugectr.CreateSolver(model_name = "wd2kw_seq",
                              max_eval_batches = 5000,
                              batchsize_eval = 36000,
                              # batchsize = 10240,
                              batchsize = 36000,
                              #batchsize = 1000,
                              lr = 0.001,
                              vvgpu = [[0,1,2]],
                              i64_input_key = True,
                              use_mixed_precision = False,
                              repeat_dataset = False,
                              use_cuda_graph = True
                              # kafka_brockers = "<IP_ADDRESS>:9092,<IP_ADDRESS>:9092,<IP_ADDRESS>:9092"
                             )

reader = hugectr.DataReaderParams(data_reader_type = hugectr.DataReaderType_t.Parquet,
                                  source = Source, keyset = Keyset,
                                  eval_source="/root/91feature_data/91_keyset/eval.txt",
                                  num_workers=30,
                                  slot_size_array=All_Solt,
                                  check_type = hugectr.Check_t.Sum)
# reader = hugectr.DataReaderParams(data_reader_type = hugectr.DataReaderType_t.Parquet,
#                                   source = Source, keyset = Keyset,
#                                   eval_source="/home/workspace/hy/tmp/0.txt",
#                                   num_workers=30,
#                                   slot_size_array=All_Solt,
#                                   check_type = hugectr.Check_t.Sum)

optimizer = hugectr.CreateOptimizer(optimizer_type = hugectr.Optimizer_t.Adam)

etc = hugectr.CreateETC(ps_types = [hugectr.TrainPSType_t.Staged],
                        sparse_models = ["/root/wd2kw_seq_0_sparse_model"],\
                        local_paths = ["/root/"])

model = hugectr.Model(solver, reader, optimizer, etc)
model.add(hugectr.Input(label_dim = 1, label_name = "if_click",
                        dense_dim = 0, dense_name = "dense",
                        data_reader_sparse_param_array =
                        [hugectr.DataReaderSparseParam("data1", 1, False, args.features_num)]))

model.add(
    hugectr.SparseEmbedding(
        embedding_type=hugectr.Embedding_t.DistributedSlotSparseEmbeddingHash,
        workspace_size_per_gpu_in_mb=26700,
        embedding_vec_size=16,
        combiner="sum",
        sparse_embedding_name="sparse_embedding1",
        bottom_name="data1",
        optimizer=optimizer,
    )
)
model.add(
    hugectr.DenseLayer(
        layer_type=hugectr.Layer_t.Reshape,
        bottom_names=["sparse_embedding1"],
        top_names=["reshape1"],
        leading_dim=total_num,
    )
)
model.add(
    hugectr.DenseLayer(
        layer_type=hugectr.Layer_t.MultiCross,
        bottom_names=["reshape1"],
        top_names=["multicross1"],
        num_layers=6,
    )
)
model.add(
    hugectr.DenseLayer(
        layer_type=hugectr.Layer_t.InnerProduct,
        bottom_names=["reshape1"],
        top_names=["fc1"],
        num_output=1024,
    )
)
model.add(
    hugectr.DenseLayer(layer_type=hugectr.Layer_t.ReLU, bottom_names=["fc1"], top_names=["relu1"])
)
model.add(
    hugectr.DenseLayer(
        layer_type=hugectr.Layer_t.Dropout,
        bottom_names=["relu1"],
        top_names=["dropout1"],
        dropout_rate=0.5,
    )
)
model.add(
    hugectr.DenseLayer(
        layer_type=hugectr.Layer_t.InnerProduct,
        bottom_names=["dropout1"],
        top_names=["fc2"],
        num_output=1024,
    )
)
model.add(
    hugectr.DenseLayer(layer_type=hugectr.Layer_t.ReLU, bottom_names=["fc2"], top_names=["relu2"])
)
model.add(
    hugectr.DenseLayer(
        layer_type=hugectr.Layer_t.Dropout,
        bottom_names=["relu2"],
        top_names=["dropout2"],
        dropout_rate=0.5,
    )
)
model.add(
    hugectr.DenseLayer(
        layer_type=hugectr.Layer_t.Concat,
        bottom_names=["dropout2", "multicross1"],
        top_names=["concat2"],
    )
)
model.add(
    hugectr.DenseLayer(
        layer_type=hugectr.Layer_t.InnerProduct,
        bottom_names=["concat2"],
        top_names=["fc3"],
        num_output=1,
    )
)
model.add(
    hugectr.DenseLayer(
        layer_type=hugectr.Layer_t.BinaryCrossEntropyLoss,
        bottom_names=["fc3", "if_click"],
        top_names=["loss"],
    )
)

model.compile()
model.summary()
model.graph_to_json(graph_config_file = "wd2kw_seq.json")
#model.save_params_to_files("wdl")
model.fit(num_epochs = 1, display = 500, eval_interval = 100)

model.save_params_to_files("/root/wd2kw_seq")
s_to_files("/root/wd2kw_seq")

The script runs ok on 8 H800 GPU in single machine. But there is something wrong when the source include files greater than 3.
reader = hugectr.DataReaderParams(data_reader_type = hugectr.DataReaderType_t.Parquet,
                                  source = Source,      // When the number of files included in source greater than 3, the wrong will happen!
                                   keyset = Keyset,
                                  eval_source="/root/91feature_data/91_keyset/eval.txt",
                                  num_workers=30,
                                  slot_size_array=All_Solt,
                                  check_type = hugectr.Check_t.Sum)

the exception as follows:
[HCTR][06:01:46.761][INFO][RK0][main]: --------------------Epoch 0, source file: /root/gq/2.txt--------------------
[HCTR][06:01:46.826][INFO][RK0][main]: Preparing embedding table for next pass
[HCTR][06:01:47.696][ERROR][RK0][main]: Runtime error: an illegal memory access was encountered
cudaStreamSynchronize(local_gpu->get_stream()) at sync_all_gpus (/hugectr/HugeCTR/src/embeddings/sync_all_gpus_functor.cu:28)
[HCTR][06:01:47.696][ERROR][RK0][main]: Runtime error: an illegal memory access was encountered
cudaStreamSynchronize(local_gpu->get_stream()) at sync_all_gpus (/hugectr/HugeCTR/src/embeddings/sync_all_gpus_functor.cu:28)
terminate called after throwing an instance of 'cudf::fatal_cuda_error'
what(): Fatal CUDA error encountered at: /opt/rapids/src/cudf/cpp/include/cudf/detail/utilities/pinned_allocator.hpp:170: 700 cudaErrorIllegalAddress an illegal memory access was encountered
[jupyuterlab-nb-1691568254333-866cf6f4f-855sl:02075] *** Process received signal ***
[jupyuterlab-nb-1691568254333-866cf6f4f-855sl:02075] Signal: Aborted (6)
[jupyuterlab-nb-1691568254333-866cf6f4f-855sl:02075] Signal code: (-6)
Traceback (most recent call last):
File "dcn_init_train.py", line 175,

closed as it's a duplication of #417 .


Inheritance filter fix

Inheritance filter now only filters based on inheritance, and not from the default left panel filters.  Code is much cleaner now

quarantest build successful. Demo link at
http://9c800b73.quarantest.iobio.io

quarantest build successful. Demo link at
http://19038ec5.quarantest.iobio.io

Approved by Al on slack


Delta 7B Problems When Pasting Lists

When Pasting a YASB link into discord with the Delta 7B variations of Ashoka, Jedi Knight, and Obi-Wan, it gives you an unknown pilot error.
When Pasting an LBN link into discord with ANY Delta 7B pilot, it just says it is the normal Delta 7 variation.
It is a different problem for both YASB and LBN and would need a solution for each.
Screenshots from Discord:

YASB: Looks like YASB is correct, so the issue probably lies in squad2xws. The squad2xws dev has been notified.
LBN: The error is caused by LBN using incorrect XWS ID for 7B pilots. The the dev has been notified.

YASB fix is in this PR: https://github.com/zacharyp/squad2xws/pull/8
LBN fix has been requested in this issue: https://github.com/andrelind/launch-bay-next-web/issues/98
I am now closing this issue as no code changes are needed in R2D7


Interested in contributing surveys

Hi. I'd like to contribute surveys but I am a bit confused.

Where am I supposed to contribute surveys?

https://github.com/expfactory/expfactory-experiments
or https://github.com/expfactory-experiments
or https://github.com/expfactory/expfactory-surveys
or anywhere else?
If the first one, how do I request a pull?

It seems there are two different formats for config.json. Which one am I supposed to follow?

https://github.com/expfactory/expfactory-surveys/blob/master/bis11_survey/config.json
or https://expfactory.github.io/contribute
If the second one, how do I write url before my pull request is accepted?

Is there anything else to write apart from config.json and survey.tsv for contribution?

Thanks in advance!

@juhng62 there are two versions of the project - the first that deploys to expfactory.org (using mturk) is associated with the surveys repository https://github.com/expfactory/expfactory-surveys. E.g., to deploy an experiment to expfactory.org you'd add a survey there, or an experiment to https://github.com/expfactory/expfactory-experiments.
If you want to create a reproducible experiment container, for use with the second version of the project, all of those experiments and surveys live in https://github.com/expfactory-experiments, and those are the docs associated with https://expfactory.github.io/. It's a second go at the project that I did after graduate school, and you are correct that the config, etc. is slightly different, but I took all the previous experiments and made them modular there.
So - where to contribute is up to you! For the first, you can chat with @rwblair that is still with Poldracklab and running the show. For the second, you can really just create an experiment repository anywhere, and ping me on an issue and I'll help you to add it to the new expfactory library, and I'd be happy to create you a repository in the expfactory-experiments org.
Sorry for the confusion! That's probably my fault for re-doing the project, but the original wasn't completing the original vision I had to make a resource available for anyone to use.


edit conig yml file

modified the boiler plate code and added a theme

created and edited first blog post
contents of blog post:

jekyll front matter
notes about markdown syntax
how to branch, push, commit, pull requests, marge to github repos


Rename config.CACert to config.TLS.Cert.CA

As per https://www.pivotaltracker.com/story/show/151616536/comments/181421922
cc @cppforlife

@tanzeeb Is there a reason to separate out Cert.CA instead of CACert in config.TLS?

@cdutra you'll have to ask @cppforlife :-)

https://www.pivotaltracker.com/story/show/151616536/comments/181421922

dav cli needs to take in tls.cert.ca config instead of ca_cert

Probably to mirror structure of certificate variable type and suggested TLS property values.


insecure nonce generation

https://github.com/iSECPartners/nano-ecc/blob/a91209d20fbe89f5685d3a84e598788c1a70fc31/ecc.c#L1290
the nonce generation here is biased and could lead to potential key recovery attacks. looks like micro-ecc has already fixed these issues, so this old repo might need a warning that its out of date. https://github.com/kmackay/micro-ecc

Hi, I am currently planning on using this. Are you stating tat the solution from micro-ecc could be applied to nano Ecc in order to fix this issue or a refactor of nano Ecc should take place in order to fix it? I am interested in fixing it if it wont take me 3 months

The definition of vli_sub on uECC is :
uECC_VLI_API uECC_word_t uECC_vli_sub(uECC_word_t *result,
                                      const uECC_word_t *left,
                                      const uECC_word_t *right,
                                      wordcount_t num_words);

/* Returns sign of left - right, in constant time. */
uECC_VLI_API cmpresult_t uECC_vli_cmp(const uECC_word_t *left,
                                      const uECC_word_t *right,
                                      wordcount_t num_words) {
    uECC_word_t tmp[uECC_MAX_WORDS];
    uECC_word_t neg = !!uECC_vli_sub(tmp, left, right, num_words);
    uECC_word_t equal = uECC_vli_isZero(tmp, num_words);
    return (!equal - 2 * neg);
}

And the definition on nECC is :
static uint8_t vli_sub(uint8_t *p_result, uint8_t *p_left, uint8_t *p_right) {     uint8_t l_borrow = 0;     uint i;     for(i=0; i<NUM_ECC_DIGITS; ++i)     {         uint8_t l_diff = p_left[i] - p_right[i] - l_borrow;         if(l_diff != p_left[i])         {             l_borrow = (l_diff > p_left[i]);         }         p_result[i] = l_diff;     }     return l_borrow; }

@werner-kingo  if you want to bring a fix in for this particular issue it isn't too hard, but this project is not maintained.  micro-ecc would be a better choice if you can choose, but i can't vouch for its security either as it may also have not undergone a security audit.

The thing is that the low size of the 128 curve is ideal to my application and uECC is bigger. BTW thanks for the fast response. Do you have any advice on how to approach this in order to test the bias? Or just printing the numbers and checking the distribution?

Found it, the extra regularization process. So I guess this is the code to port.
static uECC_word_t regularize_k(const uECC_word_t * const k,                                 uECC_word_t *k0,                                 uECC_word_t *k1,                                 uECC_Curve curve) {     wordcount_t num_n_words = BITS_TO_WORDS(curve->num_n_bits);     bitcount_t num_n_bits = curve->num_n_bits;     uECC_word_t carry = uECC_vli_add(k0, k, curve->n, num_n_words) ||         (num_n_bits < ((bitcount_t)num_n_words * uECC_WORD_SIZE * 8) &&          uECC_vli_testBit(k0, num_n_bits));     uECC_vli_add(k1, k0, curve->n, num_n_words);     return carry; }
Thanks for pointing it out.

you might want to checkout https://tools.ietf.org/html/rfc6979 for nonce generation. it addresses biased nonce issues as well as problems with entropy that would result in nonce bias or reuse. a single bit bias in your nonce is enough to be devastating to ecdsa


DOC: info update on dataset used in this ex.

add info about dataset used in example plot_spm_multimodal_faces.py

Great, thx ! Merging


Directories are not included from the .Files map

I was just using the Files map to add in extra files..

...Files = map[string]string{
  "somefile":"/usr/share/doc/someproject/somefile",
}

This fails because the directory `/usr/share/doc/someproject/ isn't explicitly
added to the archive.

Files should probably also support directories which would be added recursively

Also, even though it is a breaking change the key/value mapping of Files should
be inverse, one source file can potentially be placed in multiple locations
destinations which currently is impossible due to src being the key and can't be .
I had an actual use case for this today when I tried to put a default
configuration file both in /etc and in the docs folder.

I won't start working on fixes for any of these items before we have had a discussion about it since item 2 and 3 probably will need a lot of changes which is pointless work until we have an agreement on exactly what should be done.
Btw. I'm creating a plugin for deb Drone CI right now and  trying it out in a small number of build configurations which is why I'm bumping in to issues here and there atm.   https://github.com/thomasf/drone-deb/

@cbednarski  would you be ok with breaking the Go API a bit as long as the command line client continues to work as before?
I need to finish up https://github.com/thomasf/drone-deb/ within a couple of days, it's currently unusuable for what I'm trying to package due to bugs with files handling..

After working on a couple of prototypes for how to change files in general it always ended up with implementing some virtual file sytstem-like functionality... So yesteray I looked at the VFS packages which are available for Go and the one in godoc was almost a match except for the few things which are specific to what godoc needs.. So I have forked it and started adding what I need to integrate with mkdeb.. https://github.com/thomasf/vfs ..
When using vfs namespaces to assemble the control/data trees most of the buggy and hard to follow filepath related code conditional spread out over many places  in packatge.go can be replaced by having a vfs namespace for the control and data archives.

Soo.. I will probably rip out most logic from the current PackageSpec and create individual functions or structs for the various archive types.. PackageSpec kan be kept for compatibilty..
I will begin to try to use something like this in package.go

If possible I will avoid to expose the vfs package to consumers of the new deb package APIs


People cards overflowing email addresses

What to do with overflowing email addresses?

Hard to fully solve, but made the page responsive enough that it shouldn't ever happen.


Migrate to new replugged

Hi can you rewrite this so it will work with new version of replugged?

Migration is in the works - thanks for bringing this back to my mind!

Only reminding


Ensure naming consistency for all tokens

For every wrapped token contract on aeternity, the naming conventions shall be:
ORIGINAL:
Name: Tron
Symbol: TRX
Bridged:
Name: aeTron
Symbol: aeTRX

Action taken: Enquired with Acurast to rename contracts accordingly

@nikita-fuchs Bridge UI already has the suggested naming convention. See;

Awesome @yusufseyrek 🚀 now waiting for https://github.com/aeternity/ae_mdw/issues/1899

Closing this issue as it's not related to the bridge front-end. The interface should continue to work as expected even after middleware changes. Feel free to re-open if anything breaks.


feat: add "4. Build an App" step to "Getting Started"

This completes the end-to-end tour of Soroban, walking people through building a simple frontend for their two contracts using Astro and interacting with them using Freighter.

Something went wrong with PR preview build please check

Something went wrong with PR preview build please check

@Julian-dev28 Thanks for going through this! I've addressed all your feedback.

Preview is available here:http://soroban-docs-pr528.previews.kube001.services.stellar-ops.com/

Preview is available here:http://soroban-docs-pr528.previews.kube001.services.stellar-ops.com/

Preview is available here:http://soroban-docs-pr528.previews.kube001.services.stellar-ops.com/

Preview is available here:http://soroban-docs-pr528.previews.kube001.services.stellar-ops.com/

Preview is available here:http://soroban-docs-pr528.previews.kube001.services.stellar-ops.com/

The call to increment is currently failing with the same bug described in:

https://github.com/stellar/soroban-tools/issues/739

I think we need to fix this before we can merge this tutorial step. I'll mark the PR as draft so we don't get trigger-happy.
You can now play with a deployed version of the tutorial app at https://ahalabs.dev/soroban-tutorial-project/, hosted at https://github.com/AhaLabs/soroban-tutorial-project. Should we transfer ownership of this repository to the stellar org?

Preview is available here:http://soroban-docs-pr528.previews.kube001.services.stellar-ops.com/

Preview is available here:http://soroban-docs-pr528.previews.kube001.services.stellar-ops.com/

Preview is available here:http://soroban-docs-pr528.previews.kube001.services.stellar-ops.com/

Preview is available here:http://soroban-docs-pr528.previews.kube001.services.stellar-ops.com/