Standard Brewfile fails brew style RuboCop checks

So I have a Brewfile in my homebrew-dotfiles tap… which is the output from brew bundle dump --force --describe. I now also have updated my GitHub Actions CI to make use of brew test-bot (based on the tests.yml output from brew tap-new). However the brew test-bot --only-tap-syntax step obviously includes this Brewfile when running brew style on the whole tap, which results in the following errors:
Brewfile:1:1: C: Missing frozen string literal comment. (which is not output by brew bundle dump) and Use underscores(_) as thousands separator and separate every 3 digits with them. due to the long id: integer output from mas installed apps.
How can I fix this? Could/should the brew style RuboCop checks skip these rules for Brewfiles, or could the output from brew bundle dump be altered so that brew test-bot --only-tap-syntax can pass?

I guess we can either fix brew bundle to include the frozen_string_literal comment in Brewfiles or change the .rubocop.yml to exclude Brewfile.

Yes, either seems acceptable to me. Closing this as I don't consider this a test-bot issue but we'd review a PR for this!

Ideally just those 2 rules would be disabled for Brewfiles… is that not possible?

Yes.

Ok, sounds simple enough then. I'll try a [hopefully] quick PR…
@reitermarkus @MikeMcQuaid Am I right in it one of these .rubocop*.ymls?

Yes, the plain one, .rubocop.yml.

@reitermarkus @MikeMcQuaid Just passed all checks in #9169 👍


Member request from Wilson Wu

What would you like to be added:
I'd like to add me as sigs member.
I have some PRs and review works like below:
#1462 #1542 #1522 #1545 #1553
Why this is needed:
I want to do more contributions on the kubernetes world.
Thank you!

You should create an issue in https://github.com/kubernetes/org.
And you need two sponsors for your request I think.

You should create an issue in https://github.com/kubernetes/org. And you need two sponsors for your request I think.

Got it, thank you!

@Xunzhuo BTW, do you mind being one of my sponsors?

@Xunzhuo Be confident!

Hey @wilsonwu, thanks for the interest in becoming a member! The process is described here: https://github.com/kubernetes/community/blob/master/community-membership.md#member.
Here are the requirements for sponsors:

Sponsored by 2 reviewers. Note the following requirements for sponsors:

Sponsors must have close interactions with the prospective member - e.g. code/design/proposal review, coordinating on issues, etc.
Sponsors must be reviewers or approvers in at least one OWNERS file within one of the Kubernetes GitHub organizations*.
Sponsors must be from multiple member companies to demonstrate integration across community.

I'd recommend reaching out to potential sponsors directly on Slack to ask for support.

Thanks for the process @robscott I will submit request later.


CSS3 DIV ~ image position in relation to camera

Hey guys,
I'm playing with the div project, replacing the rectangle with an image. That was my only change.
I notice when rotating the camera away from my face, the image flies off wildly. I've played with the sensitivity settings and it still happens. Do you have any suggestions?

Have you tried to change the last component (along Z axis) of the positionOffset: [0,0.1,-0.2] settings ?
For example in https://github.com/jeeliz/jeelizFaceFilter/blob/master/demos/CSS3D/comedy-glasses/demo_comedyGlasses.js at line 14.
It will displace the DIV plane along the Z axis and it will have an influence when moving the head along the Y axis (looking left<->right)

I have. The issue doesn't result from head movement, it results from phone movement. i think it would be amazing if the image just stayed vanished instead of flying away when the camera movement becomes too much. is that possible?https://imgur.com/a/DJs51LX

I think it is because the detection state is too stabilized. On line 181  if (ISDETECTED && detectState.detected<SETTINGS.detectionThreshold-SETTINGS.detectionHysteresis){ change the detected state to hide/to show the div.
If you set a higher value for  detectionThreshold: 0.5,  (at line 8), the detection will be considered as lost more easily. You could try these parameters :
detectionThreshold: 0.9, // sensibility, between 0 and 1. Less -> more sensitive
detectionHysteresis: 0.02,

so the detection will be considered as lost if detectState.detected<0.88 (instead of 0.4 with the current parameters) and the face will be detected if detectState.detected>0.92

That did it! Thanks, Xavier!


undefined method stack trace

The following view class has a method a_method, which is valid. Inside there is a method this_method_raises_an_error which raises an error.
module Web::Views::Home
  require 'lotus/helpers'

  class Index
    include Web::View

    def a_method
      this_method_raises_an_error
    end
  end
end

When calling a_method from the template, The resulting stack trace is not very specific and doesn't point to the problem function this_method_raises_an_error:
Boot Error

Something went wrong while loading /Users/tom/Programming/lotus/my_app/config.ru
NoMethodError: undefined method `a_method' for #<Web::Views::ApplicationLayout:0x007fc47d8c7ac8>

/Users/tom/.rvm/gems/ruby-2.1.2/gems/lotus-view-0.3.0/lib/lotus/view/rendering/layout_scope.rb:160:in `rescue in method_missing'
/Users/tom/.rvm/gems/ruby-2.1.2/gems/lotus-view-0.3.0/lib/lotus/view/rendering/layout_scope.rb:157:in `method_missing'
/Users/tom/Programming/lotus/my_app/apps/web/templates/application.html.erb:8:in `block in singleton class'
/Users/tom/Programming/lotus/my_app/apps/web/templates/application.html.erb:-6:in `instance_eval'
/Users/tom/Programming/lotus/my_app/apps/web/templates/application.html.erb:-6:in `singleton class'
/Users/tom/Programming/lotus/my_app/apps/web/templates/application.html.erb:-8:in `__tilt_70240933846960'
/Users/tom/.rvm/gems/ruby-2.1.2/gems/tilt-2.0.1/lib/tilt/template.rb:155:in `call'
/Users/tom/.rvm/gems/ruby-2.1.2/gems/tilt-2.0.1/lib/tilt/template.rb:155:in `evaluate'
/Users/tom/.rvm/gems/ruby-2.1.2/gems/tilt-2.0.1/lib/tilt/template.rb:96:in `render'
/Users/tom/.rvm/gems/ruby-2.1.2/gems/lotus-view-0.3.0/lib/lotus/view/template.rb:39:in `render'
/Users/tom/.rvm/gems/ruby-2.1.2/gems/lotus-view-0.3.0/lib/lotus/layout.rb:128:in `render'
/Users/tom/.rvm/gems/ruby-2.1.2/gems/lotus-view-0.3.0/lib/lotus/view/rendering.rb:104:in `render'
/Users/tom/.rvm/gems/ruby-2.1.2/gems/lotus-view-0.3.0/lib/lotus/view/rendering.rb:236:in `render'
/Users/tom/.rvm/gems/ruby-2.1.2/gems/lotusrb-0.2.1/lib/lotus/rendering_policy.rb:44:in `_render_action'
/Users/tom/.rvm/gems/ruby-2.1.2/gems/lotusrb-0.2.1/lib/lotus/rendering_policy.rb:37:in `_render'
/Users/tom/.rvm/gems/ruby-2.1.2/gems/lotusrb-0.2.1/lib/lotus/rendering_policy.rb:28:in `render'
/Users/tom/.rvm/gems/ruby-2.1.2/gems/lotusrb-0.2.1/lib/lotus/application.rb:214:in `call'
/Users/tom/.rvm/gems/ruby-2.1.2/gems/http_router-0.11.1/lib/http_router.rb:193:in `process_destination_path'
(eval):15:in `call'
/Users/tom/.rvm/gems/ruby-2.1.2/gems/http_router-0.11.1/lib/http_router.rb:288:in `raw_call'
/Users/tom/.rvm/gems/ruby-2.1.2/gems/lotus-router-0.2.1/lib/lotus/routing/http_router.rb:112:in `raw_call'
/Users/tom/.rvm/gems/ruby-2.1.2/gems/http_router-0.11.1/lib/http_router.rb:142:in `call'
/Users/tom/.rvm/gems/ruby-2.1.2/gems/lotus-router-0.2.1/lib/lotus/router.rb:879:in `call'
/Users/tom/.rvm/gems/ruby-2.1.2/gems/lotusrb-0.2.1/lib/lotus/container.rb:20:in `call'
/Users/tom/.rvm/gems/ruby-2.1.2/gems/shotgun-0.9/lib/shotgun/loader.rb:86:in `proceed_as_child'
/Users/tom/.rvm/gems/ruby-2.1.2/gems/shotgun-0.9/lib/shotgun/loader.rb:31:in `call!'
/Users/tom/.rvm/gems/ruby-2.1.2/gems/shotgun-0.9/lib/shotgun/loader.rb:18:in `call'
/Users/tom/.rvm/gems/ruby-2.1.2/gems/rack-1.6.0/lib/rack/lint.rb:49:in `_call'
/Users/tom/.rvm/gems/ruby-2.1.2/gems/rack-1.6.0/lib/rack/lint.rb:37:in `call'
/Users/tom/.rvm/gems/ruby-2.1.2/gems/rack-1.6.0/lib/rack/showexceptions.rb:24:in `call'
/Users/tom/.rvm/gems/ruby-2.1.2/gems/rack-1.6.0/lib/rack/commonlogger.rb:33:in `call'
/Users/tom/.rvm/gems/ruby-2.1.2/gems/rack-1.6.0/lib/rack/content_length.rb:15:in `call'
/Users/tom/.rvm/gems/ruby-2.1.2/gems/rack-1.6.0/lib/rack/handler/webrick.rb:89:in `service'
/Users/tom/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/webrick/httpserver.rb:138:in `service'
/Users/tom/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/webrick/httpserver.rb:94:in `run'
/Users/tom/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/webrick/server.rb:295:in `block in start_thread'

@tomkadwill Thank you, this should be more clear. You're right. Do you have time to fix this, or do you want me to do it?

@jodosha yes I have time. I haven't looked into it yet but I'll take a stab at solving

@tomkadwill Thank you! :+1:

@jodosha I can't reproduce this anymore! Were you able to reproduce it? Were there any fixes add recently that may have fixed this?

@tomkadwill what version did you try? You could use Github to compare changes between the now version and the version you tried

@joneslee85 I was using the following versions:
  * lotus-controller (0.3.2)
  * lotus-model (0.2.4)
  * lotus-router (0.2.1)
  * lotus-utils (0.3.4)
  * lotus-validations (0.2.4)
  * lotus-view (0.3.0)
  * lotusrb (0.2.1)

I can't reproduce the bug now :confused:. I think it may have been some weirdness trying to include 'lotus/helpers'. If nobody else has experienced this problem then I'll close.

I have not yet experienced this before so I close the ticket now. Please feel free to re-open if needed.

I've now managed to re-produce this issue. Can we re-open? :)
I've created an example application which simulates the problem. essentially, I have a method universe_age which contains a method blah_path. blah_path has not been defined and so the application should, ideally, raise a NoMethodError error for blah_path. However, the application raises NoMethodError for universe_age instead.
One way to fix the problem is to swap the order of @scope.__send__ and @layout.__send__ in the method_missing of lotus-view. However, this is probably not the ideal because the application will produce a less informative error in the case the universe_age is actually undefined.
Does anyone have any suggestions?
I made a PR with the possible fix. As I said, I don't think this is the ideal fix: https://github.com/lotus/view/pull/63
cc/ @jodosha @joneslee85

@tomkadwill I re-open the issue, I'd leave this to @jodosha

Closed by #63


fix: helm chart version fix

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign niazhussain
You can assign the PR to them by writing /assign @niazhussain in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@niazhussain: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

pr
68c94a6344b7c23cc9a756269c4d23e1248177f6
link
/test pr

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

:star: PR built and available in a preview peaqnetwork-peaq-network-ev-charging-sim-be-pr-51 here

/lgtm

@niazhussain: you cannot LGTM your own PR.

In response to this:

/lgtm

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: niazhussain
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [niazhussain]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Poor performance in games after ~10 minutes

Hyprland Version
Hyprland, built from branch main at commit 3d1a1679604e9de18a46a9a0819daf2044b08fa6 dirty (wsrules: check for workspace ID matches on numbered workspaces). Tag: v0.30.0-59-g3d1a1679
Bug or Regression?
Bug
Description
In the past couple weeks, I have been troubleshooting degraded performance in all games after about 10 minutes. The stutter/lag goes away if I switch my session to KDE/GNOME and remains after I restart Hyprland.
At first, I thought this was something to do with my video driver. But after further investigation, I have found that this issue is isolated to Hyprland only.
I can be lagging in Hyprland, then kill it and launch another DE/WM. I will get full FPS here. Then if I go back to Hyprland, I will still have the poor performance. The only thing that ends up resolving the issue is a full system reboot, then after about 10-20 mins of gameplay I'm lagging in Hyprland again.
If I restart CS2 in Hyprland after I have played for ~10 min, I will be down to 60fps in menus, and about 2/3 my normal FPS in game with heavy stutter. If I kill Hyprland (or every process by my user with pkill -U ) and restart, the lag and stutter is still there. From this point, the performance gets gradually worse over time.
When I have normal FPS, my GPU usage will be near 100%, but when this stutter happens my GPU is usually below 50% utilization.
I am using Arch linux with a 7900x+7900XTX, and running the games through gamescope. All games exhibit this behavior, and also happens without gamescope.
How to reproduce

Play game under Hyprland (any Steam/Lutris games are doing this)
Have poor performance after about 10 minutes
Keep having poorer and poorer performance until full system reboot

Crash reports, logs, images, videos
Menu FPS on a fresh system boot

Ingame FPS on a fresh system boot

Menu FPS after about 30 min

Ingame FPS after about 30 min

I have tried the following versions of Hyprland, and get the same issue on all of them. This does not happen on any other DE/WM I have tried so far.
hyprland-git-r3042.e632bf17
hyprland-git-r3023.e96fcb31
hyprland-git-0.30.0.r8.352ceb11
hyprland-git-0.29.1.r98.1925e64c
Also have used these versions of mesa:
mesa 23.2.1-1
mesa-tkg-git-23.3.0_devel.178503.60dd34b02a6-1
mesa-tkg-git-23.3.0_devel.178134.c04f313cc53-1

can you post a log from the offending session?

also have you verified htop that nothing is amiss there?

also have you verified htop that nothing is amiss there?

I did check htop. There's nothing running that is unexpected, and resource utilization is low. In troubleshooting, I went as far as to kill everything started under my user, leaving only these processes still running as root,rtkit,systemd, etc...:

After this, I started up a new Hyprland session and it still does this until I fully reboot my system.

can you post a log from the offending session?

I'm not getting crashes or anything, so there's no log being dumped. I also tried running steam in a terminal, and there's nothing abnormal written there either. Can I force some sort of log for my current session? I am currently booted into a session with this behavior.

your logs are stored in /tmp/hypr

I just started a fresh session (with my system in the previous state as the screenshot above, pkill -U ). In this session, all I did was launch CS2 and had about 10 FPS in the menu.
hyprland.log

nothing looks amiss to me :/

@vaxerski Uhh wow, I found the problem. I was thinking the only difference between Hyprland/KDE would be my startup programs, and I started closing them one by one. It turns out OpenRGB is causing this to happen without taking any system resources. Very strange bug, but I thank you very much for your quick help on this. I will go ahead and close it.

lmao


Stream-processing

Hi Team,
While reviewing the technology choices, I found the page is missing Event Hub for stream processing. Any reason why it is not shown in the options for comparison?
Please suggest your thoughts. Also, keen to contribute. Please suggest how can I get involve.
Thank You.
Warm Regards,
Nazeer

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

ID: 957618b3-8d25-49c4-950c-0c044d68f443
Version Independent ID: 2ab67665-066b-fb14-9763-a12693b19bec
Content: Choose a stream processing technology - Azure Architecture Center
Content Source: docs/data-guide/technology-choices/stream-processing.md
Service: architecture-center
Sub-service: azure-guide
GitHub Login: @EdPrice-MSFT
Microsoft Alias: edprice

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


CLOUD-891 fixed tmp ssh remove

@keyki or @martonsereg or @biharitomi

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/1447/

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/1448/


Egress bandwidth limits not enforced

Bug report
Egress bandwidth limits do not seem to be enforced on an EKS cluster in ENI mode:
(eks_bruno-eks-1) ➜  ~ kubectl exec netperf-client -- netperf -t TCP_MAERTS -H "${NETPERF_SERVER_IP}"
MIGRATED TCP MAERTS TEST from <IP_ADDRESS> (<IP_ADDRESS>) port 0 AF_INET to <IP_ADDRESS> (10.100.) port 0 AF_INET
Recv   Send    Send
Socket Socket  Message  Elapsed
Size   Size    Size     Time     Throughput
bytes  bytes   bytes    secs.    10^6bits/sec

131072  20480  20480    10.00    4851.91

The contents of cilium-config (not sure if important, but WireGuard was previously enabled in this cluster):
apiVersion: v1
data:
  auto-create-cilium-node-resource: "true"
  auto-direct-node-routes: "false"
  bpf-lb-map-max: "65536"
  bpf-map-dynamic-size-ratio: "0.0025"
  bpf-policy-map-max: "16384"
  cgroup-root: /run/cilium/cgroupv2
  cilium-endpoint-gc-interval: 5m0s
  cluster-id: "1"
  cluster-name: bruno-eks-1
  custom-cni-conf: "false"
  debug: "false"
  devices: eth+
  disable-cnp-status-updates: "true"
  ec2-api-endpoint: ""
  egress-masquerade-interfaces: eth0
  enable-auto-protect-node-port-range: "true"
  enable-bandwidth-manager: "true"
  enable-bpf-clock-probe: "true"
  enable-bpf-masquerade: "true"
  enable-endpoint-health-checking: "true"
  enable-endpoint-routes: "true"
  enable-health-check-nodeport: "true"
  enable-health-checking: "true"
  enable-hubble: "true"
  enable-ipv4: "true"
  enable-ipv4-masquerade: "true"
  enable-ipv6: "false"
  enable-ipv6-masquerade: "true"
  enable-l7-proxy: "false"
  enable-local-redirect-policy: "false"
  enable-policy: default
  enable-remote-node-identity: "true"
  enable-session-affinity: "true"
  enable-well-known-identities: "false"
  enable-wireguard: "false"
  enable-xt-socket-fallback: "true"
  eni-tags: '{}'
  hubble-disable-tls: "false"
  hubble-listen-address: :4244
  hubble-metrics: dns:query;ignoreAAAA drop tcp flow icmp http
  hubble-metrics-server: :9091
  hubble-socket-path: /var/run/cilium/hubble.sock
  hubble-tls-cert-file: /var/lib/cilium/tls/hubble/server.crt
  hubble-tls-client-ca-files: /var/lib/cilium/tls/hubble/client-ca.crt
  hubble-tls-key-file: /var/lib/cilium/tls/hubble/server.key
  identity-allocation-mode: kvstore
  install-iptables-rules: "true"
  install-no-conntrack-iptables-rules: "false"
  ipam: eni
  kube-proxy-replacement: disabled
  monitor-aggregation: medium
  monitor-aggregation-flags: all
  monitor-aggregation-interval: 5s
  node-port-bind-protection: "true"
  operator-api-serve-addr: <IP_ADDRESS>:9234
  preallocate-bpf-maps: "false"
  prometheus-serve-addr: :9090
  proxy-prometheus-port: "9095"
  sidecar-istio-proxy-image: cilium/istio_proxy
  subnet-ids-filter: ""
  subnet-tags-filter: ""
  tunnel: disabled
  wait-bpf-mount: "false"
kind: ConfigMap
metadata:
  annotations:
    meta.helm.sh/release-name: cilium
    meta.helm.sh/release-namespace: kube-system
  creationTimestamp: "2021-07-05T10:19:18Z"
  labels:
    app.kubernetes.io/managed-by: Helm
  name: cilium-config
  namespace: kube-system
  resourceVersion: "80027"
  uid: 7b975af1-93a0-4372-b88b-1d3f1a20993b

Info requested by @borkmann:
root@ip-10-100-1-82:/home/cilium# cilium bpf bandwidth list
IDENTITY   EGRESS BANDWIDTH (BitsPerSec)
1128       20M
root@ip-10-100-1-82:/home/cilium# tc filter show dev eth2 egress
root@ip-10-100-1-82:/home/cilium# tc filter show dev eth1 egress
root@ip-10-100-1-82:/home/cilium# tc filter show dev eth0 egress

General Information

Cilium version (run cilium version)

Client: 1.10.2 319d2ac 2021-07-02T03:00:06+02:00 go version go1.16.5 linux/amd64
Daemon: 1.10.2 319d2ac 2021-07-02T03:00:06+02:00 go version go1.16.5 linux/amd64

Kernel version (run uname -a)

Linux ip-10-100-1-82.eu-west-2.compute.internal 5.4.117-58.216.amzn2.x86_64 #1 SMP Tue May 11 20:50:07 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Orchestration system version in use (e.g. kubectl version, ...)

EKS 1.20
Server Version: version.Info{Major:"1", Minor:"20+", GitVersion:"v1.20.4-eks-6b7464", GitCommit:"6b746440c04cb81db4426842b4ae65c3f7035e53", GitTreeState:"clean", BuildDate:"2021-03-19T19:33:03Z", GoVersion:"go1.15.8", Compiler:"gc", Platform:"linux/amd64"}

Link to relevant artifacts (policies, deployments scripts, ...)

I've been able to reproduce and debug this issue. It's specific to EKS as far as I can see.
As shown by the tc filter show commands, the issue here is that the BPF program is not attached to the egress of the native devices. There are two reasons for that.
Device Changes at Runtime
By default, in v1.10 and v1.11, device autodetection fails and finds a single interface, eth0.
level=info msg="Detected devices" devices="[eth0]" subsys=daemon

Unfortunately, traffic between pods on different nodes doesn't go through that interface, but through the other interfaces (eth1 and up). Passing something such as devices=eth+ is not enough because on EKS interfaces are added and removed at runtime, as shown below:
level=info msg="  --devices='eth+'" subsys=daemon
level=info msg="Detected devices" devices="[eth0 eth1 eth2]" subsys=daemon
level=info msg="Setting qdisc to mq with fq leafs" device=eth0 subsys=bandwidth-manager
level=info msg="Setting qdisc to mq with fq leafs" device=eth1 subsys=bandwidth-manager
level=info msg="Setting qdisc to mq with fq leafs" device=eth2 subsys=bandwidth-manager
level=debug msg="Didn't find existing device" error="Link not found" subsys=cilium-health-launcher veth=cilium_health
level=debug msg="Didn't find existing device" error="Link not found" subsys=cilium-health-launcher veth=lxc_health
level=warning msg="Link does not exist" device=eth1 error="Link not found" subsys=datapath-loader

Interfaces eth0, eth1, and eth2 are initially found, but by the time the BPF programs are loaded, eth1 has been deleted. https://github.com/cilium/cilium/pull/17460 by @joamaki aims to solve this issue.
Missing Egress Attachment
Even when the correct interfaces are detected (e.g., eth0 above), the BPF program is not attached to the egress of the interface, only to the ingress:
$ ks exec ds/cilium -- bpftool net | grep eth
eth0(2) clsact/ingress bpf_netdev_eth0.o:[from-netdev] id 1280
eth1(21) clsact/ingress bpf_netdev_eth1.o:[from-netdev] id 1287

This is because of this code, which we need to fix. I'll send a pull request for that.

Interfaces eth0, eth1, and eth2 are initially found, but by the time the BPF programs are loaded, eth1 has been deleted. https://github.com/cilium/cilium/pull/17460 by @joamaki aims to solve this issue.

Yeah, we need to resume work on it as this is definitely needed with dynamic device additions. Agent needs to be aware when new devices come and go during runtime as well as when they down / up cycle.

This is because of this code, which we need to fix. I'll send a pull request for that.

Thanks a ton!

@bmcustodio @pchaigno Looks like this issue is solved and can be closed

I still got the issue that bandwith limits are not enforced but on my bare-metal server. So far I figured out that this must be connected to wireguard encryption.
If I disable wireguard encryption, the netperf example from Bandwidth Manager Cilium Documentation is working.
As soon as I enable wireguard encryption, pod to pod traffic is not limited anymore (I took care that the pods are running on different nodes). Traffic leaving the cluster is still limited.
So maybe not only all eth* interfaces must be included, but also the cilium_wg0?
My cluster is on Debian 11 with Kernel 5.10.0-18-amd64, k8s-v1.24.6 and Cilium v1.12.3

So maybe not only all eth* interfaces must be included, but also the cilium_wg0?

That sounds like the likely cause, yes.
@wer-anders Could you open an issue (or even a PR if you know what to change) to track this issue with bandwidth manager + WireGuard? It's different from the present issue so I'd rather track it somewhere else and close this for clarity.


Feature Request: Set operations

It should be possible to implement fairly fast set operations like intersects(RoaringBitmap) (a method that even BitSet has) and containsAll(RoaringBitmap) (a method that BitSet lacks, but could be quite handy in some cases).
Also a fast method to count the bits of intersections/unions might be useful (I'm using RoaringBitmaps for a Jaccard Index, where both is needed – so a method that does both fast would be even more awesome). Granted, the latter is really specific, so I have no hard feelings if it doesn't get implemented.
Perhaps providing a method Stream<Pair> pairStream(RoaringBitmap, RoaringBitmap) where each Pair has an index + two longs with the bits wherever at least one of the bitmaps has bits could be used to solve all of the above issues in a generic way?

It should be possible to implement fairly fast set operations like intersects(RoaringBitmap) (a method that even BitSet has)

You are correct. This should be added.

and containsAll(RoaringBitmap) (a method that BitSet lacks, but could be quite handy in some cases)

This could be added for convenience, but it can be implemented as (RoaringBitmap.xor(first,second).getCardinality() == 0).

Also a fast method to count the bits of intersections/unions might be useful

Agreed. This should be added as well.

Perhaps providing a method Stream pairStream(RoaringBitmap, RoaringBitmap) where each Pair has an index + two longs with the bits wherever at least one of the bitmaps has bits could be used to solve all of the above issues in a generic way?

I do not understand this proposal. Can you give an example?

(RoaringBitmap.xor(first,second).getCardinality() == 0)

This requires potentially a good amount of memory, whereas a direct method should be fairly frugal in that regard. I'm unsure how this would affect performance.

I do not understand this proposal. Can you give an example?

Yea, I was thinking in terms of BitSets. It doesn't make sense anywhere else. Disregard this one.

By the way... forget my xor thing, it won't do the job.
You need andNot...

This should probably be a priority for future work.
c.c. @llogiq  @gpunti @gssiyankai @rorygraves

@llogiq
Version 0.5.6 implements "intersects" which is the "does_it_intersects" part of this issue.
We still need to add or_cardinality and and_cardinality.

@lemire Thank you!

This has been mostly resolved with version 0.5.12. The performance could still be improved, but the basic support is there (thanks to @JervenBolleman ).
So I am closing for now. If people want to help improve the performance further, get in touch with me, there are opportunities.


Documentation for toDate()

Fixes #5351
Changes proposed in this pull request:

Updated toDate() properties
Properties of toDate(locale,format)

Please review @ostephens

Thanks @amyra98. I see you've removed the information about the specific monthFirst and format parameters. Remembering that this is documentation that the user sees when they look at the GREL function help inside the application (as opposed to looking at the full documentation on https://openrefine.org/docs/) then I think we need to either keep this, or add a link to the full documentation (https://openrefine.org/docs/manual/grelfunctions#todateo-b-monthfirst-s-format1-s-format2-) so a user can actually work out how to use the function

You may also need to update the documentation on the official docs site to make sure all the information is correct (I think some of the corrections you've made here also need making in the docs)

I have added the use of monthFirst and format parameters. For changes in official docs I will open an issue in openrefine.org 's repository and do the required changes. @ostephens


Documentation on orion.users.configure

I am trying to understand the syntax such as entity.posts.personal, entity.posts.?
Is there documentation on the items that can be passed and the best syntax to use ?

It's like a pyramid, more dots, more specific.
If a user has the permission entity.posts.personal when you this will happen:
user.hasPermission('entity') // true
user.hasPermission('entity.posts') // true
user.hasPermission('entity.post') // false
user.hasPermission('entity.posts.personal') // true
user.hasPermission('entity.posts.all') // false

What items do you want to pass?
Best syntax in which case?

nicolaslopezj this is actually what I was looking for I'm just trying to better understand what's available to me when I assign default permissions.

Help on the documentation is always needed, if you want to help, you can modify the README files. https://github.com/orionjs/core/blob/master/users/README.md

That sounds like a good deal.  I'd be happy to help.  Will you add me as a collaborator.

You can edit these files and send pull requests


chore: record the scheduling duration in the log

Fixes #N/A
Description
Record the scheduling duration in the log to make it easier to debug situations in which scheduling is taking too long leading to slower node launches. Ran into situations where users do have logs for the timer period in question, but don't have metrics.
How was this change tested?
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

4 of 4 (100.0%)  changed or added relevant lines in 1 file are covered.
10 unchanged lines in 3 files lost coverage.
Overall coverage decreased (-0.09%) to 81.715%

Files with Coverage Reduction
New Missed Lines
%

pkg/controllers/provisioning/scheduling/topology.go
2
86.49%

pkg/controllers/provisioning/scheduling/topologygroup.go
2
96.75%

pkg/controllers/deprovisioning/pdblimits.go
6
76.47%

Totals

Change from base Build<PHONE_NUMBER>:
-0.09%

Covered Lines:
8893

Relevant Lines:
10883

💛  - Coveralls


Feature/emotes 👍❤👋👈👏

This is a rough, working integration of the<PHONE_NUMBER> version of noita-emotes into noita-together. Still some things keeping this from being ready for main at time of pull:

Completely untested with Nemesis (But guessing it works)
manifest.json needs to be updated with new and modified file sums
Needs some multiplayer QA to ensure that ghost emotes are working just as well as local emotes.

And some notes:

For the sake of tidiness and sanity, I have put most of the emote assets into core/files/emotes, keeping it mostly compartmentalized as a sort of "sub-mod". If we want a CI automation to push noita-emotes updates into noita-together in the future, this structure should simplify that process a little.
I added a data folder to the mod, as each color skin in emotes requires it's own CV shader image for stains which go into data/generated/sprite_uv_maps
The interactive keybind code kind of blew up settings.lua, it could probably be cleaner and more standardized. It's working as intended as far as I can tell, but someone with more UI skill than I may want to go in there with a mop.
Emotes code still uses it's own gui object. Seems to work fine.

Just getting to this, sorry...
Tested in beta branch, getting a lua error, looks like the keybind setting is missing?
Lua error: [string "mods/noita-together/settings.lua"]:69: bad argument #1 to 'gmatch' (string expected, got nil)
I tried copypasting from the standalone mod and made this change which appeared to work, but you're more familiar with how that works so maybe you want to do it differently?
I should also note that after generating the setting, the lua error disappears and the keybind works without this code but it's still missing in the mod settings. So the problem is if noita-together.NT_EMOTE_BINDING doesn't yet exist (which it wont for any first-time user)
diff --git a/noita_mod/core/settings.lua b/noita_mod/core/settings.lua
index 7fc98c1..d174da8 100755
--- a/noita_mod/core/settings.lua
+++ b/noita_mod/core/settings.lua
@@ -47,6 +47,21 @@ local old_binding = ModSettingGet("noita-together.NT_EMOTE_BINDING")

 function ModSettingsUpdate( init_scope )
        local old_version = mod_settings_get_version( mod_id )
+
+       local settings = {}
+
+    local binding = {
+        key = "noita-together.NT_EMOTE_BINDING",
+        default = "key_code,20,mouse_code,joystick_code"
+    }
+    table.insert(settings, binding)
+
+    for _, setting in ipairs(settings) do
+        if (ModSettingGet(setting.key) == nil) then
+            ModSettingSet(setting.key, setting.default)
+        end
+    end
+
        mod_settings_update( mod_id, mod_settings, init_scope )
 end

I dig some digging into recognized settings table options, turns out there's a "hidden" boolean you can add that does exactly what it sounds like it does. So with that, I was able to add the emote keybind setting in with the rest of the settings, while my dynamic keybind rendering is still intact.
I'm actually not sure if my "old_binding" variable is even needed now, but I left it in there with an added default fallback as it doesn't hurt.

I've added another setting to this PR to turn display of emotes / skin swaps / emotes menu on and off, as it's possible that some players might wish to play NT without added visual antics from the player ghosts. Works dynamically in-game: The emotes system entities remain present on the player and player ghosts so that they can listen for this setting changing and respond to it.
Github is claiming there's a merge conflict but I think it's just overwhelmed by settings.lua being altered so radically- You may want to verify this yourself before merging. I've made sure to preserve the new NT Fridge option that was just added to the next branch earlier this week and updated some errant spaces to tabs.

Hey @infinitesunrise! Thanks!
Here are some issues @tehkab and I found:

The settings layout overflows into other settings sometimes
The key binding does not save the key that is pressed, and resets to default after you try setting the key
hide and show ghost resets the color of the ghost

Also, there is one more conflict in the settings to be resolved. I changed a setting name

That is some dang good QA, thank you.

Fixed the settings layout overflow by adding vertical spacing to the keybind button
Fixed keybind not working during gameplay by adding a call to ModSettingSetNextValue()
Updated the name of the fridge setting, but github still insists that there are conflicts 🤷♂

As for the cape colors not being restored when the emote system is disabled and then re-enabled during gameplay, that is expected behavior due to NT's model of acting on received payloads but not storing the resulting state change anywhere. The skins will update if changed after the setting is re-enabled. AFAIK this is true for other ghost data, like position and wands... And bank changes too, I think? I figure users will either leave the setting on or off so it should rarely if ever be an issue. If it's truly bothersome, I can look into using NT's stringstore or a variable component on the ghost's emote entities to save data, but IMO that might be better saved for a later feature addition if requested as that's all new logic to work out.


Fastest way to detect a difference between 2 LibDeflate:EncodeForPrint strings?

I have to check the difference between a bunch of encoded for print strings because I want to see if any of them have updated. I do this at the load of my addon, so preferably I'd like this to be as fast as possible to not make my addon a burden when people load up the game.
This is what I have so far. Based on what we know about the encoded string is there anything faster we can do here?
So far if nothing has updated, I am doing an O(N) comparison on every string for what feels like no reason.
local function isEncodedStringDifferent(stringA, stringB)
    if #stringA ~= #stringB then
        -- O(1) check if lengths are different.
        return true
    end

    -- Compare the characters of each string in reverse because the back of the encoded strings change the most.
    for i = #stringA, 1, -1 do
        local charA = string.sub(stringA, i, i)
        local charB = string.sub(stringB, i, i)
        if charA ~= charB then
            return true
        end
    end
    return false
end

Are we able to safely assume that no matter how small the change that was made to the data, the last character of the encoded string will definitely be different?

I don't think there exists algorithm faster than O(N)
EncodeForPrint maps every 3 bytes of original data into 4 printable characters.
Or to be precise, the encoded byte length = ceil( 8* len(input) / 6)
The generation of encoded table is just a linear traversal of the original input.
The last character of the encoded data is not special, and has no relationship to the earlier portion of the input.

I would recommended to also store a hash value for the encoded string,
in your addon's configuration file.
You need to define a hash function.
When the encoded string is exported, also export its hash value along with it

Ok interesting, and what will the hash value provide for me?
And do you recommend any hashing algo?

Also, compare Lua String simply by
 a == b
Lua uses the following C code to compare them, which is significantly faster than Lua calls
int luaS_eqlngstr (TString *a, TString *b) {
  size_t len = a->u.lnglen;
  lua_assert(a->tt == LUA_VLNGSTR && b->tt == LUA_VLNGSTR);
  return (a == b) ||  /* same instance or... */
    ((len == b->u.lnglen) &&  /* equal length and ... */
     (memcmp(getstr(a), getstr(b), len) == 0));  /* equal contents */
}

Copy from Lua source code. You can use this hash function
unsigned int luaS_hash (const char *str, size_t l, unsigned int seed) {
  unsigned int h = seed ^ cast_uint(l);
  for (; l > 0; l--)
    h ^= ((h<<5) + (h>>2) + cast_byte(str[l - 1]));
  return h;
}

unsigned int luaS_hashlongstr (TString *ts) {
  lua_assert(ts->tt == LUA_VLNGSTR);
  if (ts->extra == 0) {  /* no hash? */
    size_t len = ts->u.lnglen;
    ts->hash = luaS_hash(getstr(ts), len, ts->hash);
    ts->extra = 1;  /* now it has its hash */
  }
  return ts->hash;
}

Make sure hash function is not called when initializing your addon.

Or use LibDeflate:Adler32 as a hash function

Or use LibDeflate:Adler32() as a hash function

Are you saying to just compare hashes instead of the encoded strings?

Attempting to format the result of the hash results in an overflow error:
integer overflow attempting to store 246806894
with the following code:
local hash = LibDeflate:Adler32(printableEncode)
local d = string.format("0x%08X", hash)

Adler32 may cause false positive due to its collision rate.
https://github.com/philanc/plc/  has some pure Lua implementation of sha1, md5, etc,
which is better.
But its implementation is for Lua 5.3. You may need to modify it to make it work for Lua 5.1

I tried this CRC32 algo (https://github.com/openresty/lua-nginx-module/blob/master/t/lib/CRC32.lua) and this md5 algo (https://github.com/kikito/md5.lua/blob/master/md5.lua) but I get the same overflow error.
I am not too familiar with how WoW works with Lua but I assume there is something with WoW that is preventing this. Or maybe I am doing something wrong. But so far its not looking like printing the hex string of a hash is happening :/

It seems to be a WoW specific issue.
But I don't think the code  string.format("0x%08X", hash) is required for you.

How do we get the result of these hash functions to be a fixed length hex so we can print it?

Assume string.format does not exist.  Write one for 32bit number from scratch.


remove extra dependencies from requirements.txt

I don't think the other dependencies are needed - most of them are already included in the standard library.

bz2 and file loading stuff are used for Dataset
shlex/commandline stuff/tempfile+os/sys are used in the meka wrapper

unittest and pkgutil are probably not necessary in a non-dev env.

I see but os, sys, etc are always included in python, right? Why put them as an extra dependency? I got errors when I did pip install -r requirements.txt as pip didn't recognize those.


[3.0.0-rc.18] saveState

Hi
In docs http://ui-grid.info/docs/#/tutorial/208_save_state this fature should be in 3.x version but when I try to load ui.grid.saveState module I get injection error.
I tried on 3.0.0-rc.16 and 3.0.0-rc.18 and It seems that saveState is not in source code.
Marcin

It is currently in unstable, and will be in the next rc.

Sorry It was my fault. I didn't include directive in grid div.
Maybe it would be possible to mention about when you need to add directive.


[Bug Fix] Fix memory leak problem for paddleseg model

去除Seg代码后处理反复new内存的操作

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.root seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Can not log into epic account

Describe the bug

To Reproduce
Login epic games
Diagnostics ID
b89d66ff-652a-48ba-8217-e00708c40ed3

It maybe related to proxy settings. I tried without proxy and now it works


moving contact info to lazy_static

Part of a larger update to move contact info to ops tools so that it can be remotely edited.
https://trello.com/c/FgThnqNW/384-store-contact-info-in-ops-tools

closing as discussed on our call. We don't want to remove the local contact info capabilities, that's a bad design in the ticket on my part.


Scheduler OOMKilled in Openshift

Hi there.
We have installed Keptn on Openshift ARO 4.13.40 using the Helm chart. The scheduler pod is killed because the pod gets an Out of memory error (OOMKilled and CrashLoopBackoff in Openshift). We tried setting the scheduler.resources.requests.memory and scheduler.resources.limits.memory in helm parameters but they did not get set in the pod.
Current status in the pod:
 containers:
    - resources:
        limits:
          cpu: 300m
          memory: 100Mi
        requests:
          cpu: 100m
          memory: 20Mi
      name: scheduler

Our ArgoCD config:
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: keptn
  finalizers:
    - resources-finalizer.argocd.argoproj.io # enabling cascading deletion
spec:
  destination:
    namespace: keptn-system
    server: 'https://kubernetes.default.svc'
  source:
    repoURL: 'https://charts.lifecycle.keptn.sh'
    targetRevision: 0.8.0
    chart: keptn
    helm:
      parameters:
        - name: "commitID"
          value: "$ARGOCD_APP_REVISION"
        - name: global.openShift.enabled
          value: 'true'
        - name: scheduler.resources.requests.memory
          value: '100Mi'
        - name: scheduler.resources.limits.memory
          value: '200Mi'
  sources: []
  project: default
  syncPolicy:
    automated:
      prune: true
      selfHeal: true
    syncOptions:
      - CreateNamespace=true

Hi @wiika !
The scheduler is actually part of the lifecycle operator subchart, so for the values to be set correctly please try prefixing them with lifecycleOperator.

Your openshift version is based on k8s 1.26, but from k8s 1.27 the scheduler is disabled by default anyways. But you could already try and disable it in favor of schedulinggates on a dev environment to see if that works for you as well.
You can check out some docs about it here.

@mowies ,
thanks, the lifecycleOperator prefix worked for propagating the parameters. Will check out scheduling gates.


STY: xsf: apply clang-format

Reference issue
A more sensible first step towards gh-21024.
What does this implement/fix?
Apply clang-format to scipy/special/xsf, excluding /third_party.
Additional information
It was a bit ambitious to try to start applying clang-format across the repo immediately. As noted in https://github.com/scipy/scipy/pull/21024#issuecomment-2185102625, we should probably only do this for non-legacy (and non-vendored) code.
There are a few potential complications (https://github.com/scipy/scipy/pull/21024#issuecomment-2185020182), so easier to take this slow and steady. Here is a start for just xsf.
Hopefully this PR will be a good point to make sure we are happy with the config before applying it elsewhere.
cc @izaid @steppi

There's a format file in xsf folder:
https://github.com/scipy/scipy/blob/main/scipy/special/xsf/.clang-format

There's a format file in xsf folder:

Yep, that's what I'm using here.

Continued at https://github.com/scipy/xsf/pull/5


Move all semver failures to the end, for readability

Consider a more cargo test / cargo nextest-like output, where the individual tests show as pass/fail but the summary is at the very end. This would speed up the time-to-known-outcome, as the result iterators would only be .peek()-ed once and then saved until the final summary is generated. This is the laziest of all possible evaluations.
Also consider fewer sections in the left-hand side, and maybe focus on just a "Help" section together with each failure in the final summary. This way, folks don't have to figure out what each section does.

Implemented in v0.4.0.


exit code 409 when trying to run through tensorflow example in pycharm

I am trying to go through the DCGAN example on the tensorflow website https://www.tensorflow.org/tutorials/generative/dcgan. it seems to run fine up until the step where it uses the generator generated_image = generator(noise, training=False). At that point it exits with error code Process finished with exit code -1073740791 (0xC0000409).
I am running on Windows 10 using pycharm. I have tried messing with the batch size in case this is a memory issue, but even setting it to 1 gives the same results. I have also tried running pycharm as administrator.

@skywo1f
Can you please try on colab and see if you face the same issue, you use gpu option aswell.

I am using the gpu option, I installed cuda/cudnn/drivers and made sure that tensorflow did not throw any errors with regards to that. Running the code on google's colab does not replicate the error

pycharm defaults to python 3.9. is it possible that tensorflow is not compatible with python 3.9?

@skywo1f
Could you downgrade to 3.7/3.8 and see if you still face the issue. you may refer to similar compatibility issues.
#51573,#44485
As explained earlier unless we have all the required information we cannot help you, you may open this issue with pycharm or at the discussion forum.


Restrict component usage

Currently user can drop in multiple tiny db. All tiny db components, point to same storage and could be confusing to new users. Is there any way to restrict this? For example if user drags a second tiny db in editor, just revert action. Thanks

Merged into branch ucr: #1111

Please wait for the next companion version upgrade

This is good update but not what i was discussing. On a side note, this feature has been available in AppyBuilder for couple of years now

@Amerkashi PR #1111 does allow for different TinyDB instances to use different files for storage. If we limit the number of TinyDB per screen to 1, then it will handicap that change. I could imagine that we have a more generalizable approach, for example by adding a flag to @DesignerComponent, that can be used in extensions.


add completition for import features

Fixes: #54
add completition for import features

Attention, the branch for issue 50 and issue 54 have been swapped. Please check out the issue_#50 branch for this issue

Also works well for me.


binary Tree

Program to flatten a Binary Tree.
i would like to use Cpp to solve this problem.
please assign this issue to me.
Regards

I would like to code this in C++. I m a GSSOC'21 Partcipant .I will assure you that I will provide a commented code with efficient time complexity.@tarun26091999 @dheerajkotwani @anubhavitis @dheerajkotwani @rudrakshi99 @plazzy99 @nakul-19 please assign this to me .
Regards
Madhvi .

Sir @tarun26091999 @rudrakshi99 ma'am
Please assign this problem to me. I would like to solve this in c++.
I will surely provide the code with proper documentation and comments.


Split callback event methods into separate functions

My original plan was to add "set" to the beginning of each callback function. Using onRunBegin as an example, would be setOnRunBegin. However, this may not work so well with a function named setUp. The new setter function would be called setSetUp, which just sounds silly.


[#3740] Update dotnet samples to target Net 6

Addresses # 3740
#minor
Description
This PR updates the BotBuilder samples to target .NET6
Specific Changes

Updated the following samples to target .NET6

Console-echo
Echo-bot
Welcome-user
Multi-turn-prompt
Using-cards
Using-adaptive-cards
Suggested-actions
QnAmaker
CustomQABot
Core-bot
Npl-with-orchestrator
Handling-attachments
Proactive-messages
Multilingual-bot
Custom-dialogs
Corebot-app-insights
Facebook-events
Bot-authentication-msgraph
Message-reaction
Timex-resolution
Scaleout
Completx-dialog
Prompt-users-for-input
State-management
Teams-auth
Inspection
CustomQABot-all-features
QnAmaker-all-features
Teams-messaging-extensions-search
Teams-messaging-extensions-action
Teams-messaging-extensions-search-auth-config
Teams-messaging-extensions-action-preview
Teams-task-module
Teams-link-unfurling
Teams-file-upload
Teams-conversation-bot
Teams-start-new-thread-in-channel
Skills-simple-bot-to-bot
Skills-skilldialog
Skills-sso-cloudadapter

README files updated to target .NET6

Testing
Successful build

These are too many files for one PR. After we finish testing the samples, I think we should split the samples into two or three PRs.

Is it ok if I create three PRs part 1, part 2 and part 3?

These are too many files for one PR. After we finish testing the samples, I think we should split the samples into two or three PRs.

Is it ok if I create three PRs part 1, part 2 and part 3?

We could split the samples following the categories we used for testing. You can have more than one category per PR, depending on the number of files.


Manhattan Distance Algorithm in c, c++ and python

FEATURE:
The Manhattan distance algorithm is a method used to calculate the distance between two points in a grid-like system. It measures the total number of grid cells that need to be traversed horizontally and vertically to reach from one point to another.
The Manhattan distance between two points (x1, y1) and (x2, y2) is calculated using the following formula:
Manhattan distance = |x1 - x2| + |y1 - y2|
Here, |x1 - x2| represents the absolute difference between the x-coordinates of the points, and |y1 - y2| represents the absolute difference between the y-coordinates of the points.
APPROACH:

Identify the coordinates of the two points for which you want to calculate the Manhattan distance. Let's call them (x1, y1) and (x2, y2).

Calculate the absolute difference between the x-coordinates: |x1 - x2|. This represents the horizontal distance between the points.

Calculate the absolute difference between the y-coordinates: |y1 - y2|. This represents the vertical distance between the points.

Add the horizontal and vertical distances obtained in steps 2 and 3 to get the Manhattan distance: Manhattan distance = |x1 - x2| + |y1 - y2|.

The resulting value is the Manhattan distance between the two points.

I would like to contribute to this algorithm and can you please assign it to me under SSoC '23.
Thanking You,

Assigned!
@patnaikankit : C, C++, Java & Python


Can't install LambdaHack via Cabal: ExitFailure 1; No instance for (Applicative Frequency)

Trying to install LambdaHack in a sandbox results in ExitFailure 1, it appears that there's some problem with the Frequency utils. This is on 64 bit GNU/Linux.
Resolving dependencies...
Notice: installing into a sandbox located at
/(...)/.cabal-sandbox
Downloading LambdaHack-0.2.6...
Configuring LambdaHack-0.2.6...
Building LambdaHack-0.2.6...
Failed to install LambdaHack-0.2.6
Build log ( /(...)/.cabal-sandbox/logs/LambdaHack-0.2.6.log ):
Configuring LambdaHack-0.2.6...
Building LambdaHack-0.2.6...
Preprocessing library LambdaHack-0.2.6...
[ 1 of 70] Compiling Game.LambdaHack.Utils.LQueue ( Game/LambdaHack/Utils/LQueue.hs, dist/dist-sandbox-a99f07ee/build/Game/LambdaHack/Utils/LQueue.o )
[ 2 of 70] Compiling Game.LambdaHack.Color ( Game/LambdaHack/Color.hs, dist/dist-sandbox-a99f07ee/build/Game/LambdaHack/Color.o )
[ 3 of 70] Compiling Game.LambdaHack.Flavour ( Game/LambdaHack/Flavour.hs, dist/dist-sandbox-a99f07ee/build/Game/LambdaHack/Flavour.o )
[ 4 of 70] Compiling Paths_LambdaHack ( dist/dist-sandbox-a99f07ee/build/autogen/Paths_LambdaHack.hs, dist/dist-sandbox-a99f07ee/build/Paths_LambdaHack.o )
[ 5 of 70] Compiling Game.LambdaHack.Time ( Game/LambdaHack/Time.hs, dist/dist-sandbox-a99f07ee/build/Game/LambdaHack/Time.o )
[ 6 of 70] Compiling Game.LambdaHack.Misc ( Game/LambdaHack/Misc.hs, dist/dist-sandbox-a99f07ee/build/Game/LambdaHack/Misc.o )
[ 7 of 70] Compiling Game.LambdaHack.Content.FactionKind ( Game/LambdaHack/Content/FactionKind.hs, dist/dist-sandbox-a99f07ee/build/Game/LambdaHack/Content/FactionKind.o )
[ 8 of 70] Compiling Game.LambdaHack.CDefs ( Game/LambdaHack/CDefs.hs, dist/dist-sandbox-a99f07ee/build/Game/LambdaHack/CDefs.o )
[ 9 of 70] Compiling Game.LambdaHack.Content.PlaceKind ( Game/LambdaHack/Content/PlaceKind.hs, dist/dist-sandbox-a99f07ee/build/Game/LambdaHack/Content/PlaceKind.o )
[10 of 70] Compiling Game.LambdaHack.Utils.File ( Game/LambdaHack/Utils/File.hs, dist/dist-sandbox-a99f07ee/build/Game/LambdaHack/Utils/File.o )
[11 of 70] Compiling Game.LambdaHack.Utils.Assert ( Game/LambdaHack/Utils/Assert.hs, dist/dist-sandbox-a99f07ee/build/Game/LambdaHack/Utils/Assert.o )
[12 of 70] Compiling Game.LambdaHack.PointXY ( Game/LambdaHack/PointXY.hs, dist/dist-sandbox-a99f07ee/build/Game/LambdaHack/PointXY.o )
[13 of 70] Compiling Game.LambdaHack.VectorXY ( Game/LambdaHack/VectorXY.hs, dist/dist-sandbox-a99f07ee/build/Game/LambdaHack/VectorXY.o )
[14 of 70] Compiling Game.LambdaHack.Area ( Game/LambdaHack/Area.hs, dist/dist-sandbox-a99f07ee/build/Game/LambdaHack/Area.o )
[15 of 70] Compiling Game.LambdaHack.FOV.Common ( Game/LambdaHack/FOV/Common.hs, dist/dist-sandbox-a99f07ee/build/Game/LambdaHack/FOV/Common.o )
[16 of 70] Compiling Game.LambdaHack.FOV.Digital ( Game/LambdaHack/FOV/Digital.hs, dist/dist-sandbox-a99f07ee/build/Game/LambdaHack/FOV/Digital.o )
[17 of 70] Compiling Game.LambdaHack.FOV.Permissive ( Game/LambdaHack/FOV/Permissive.hs, dist/dist-sandbox-a99f07ee/build/Game/LambdaHack/FOV/Permissive.o )
[18 of 70] Compiling Game.LambdaHack.FOV.Shadow ( Game/LambdaHack/FOV/Shadow.hs, dist/dist-sandbox-a99f07ee/build/Game/LambdaHack/FOV/Shadow.o )
[19 of 70] Compiling Game.LambdaHack.Utils.Frequency ( Game/LambdaHack/Utils/Frequency.hs, dist/dist-sandbox-a99f07ee/build/Game/LambdaHack/Utils/Frequency.o )

Game/LambdaHack/Utils/Frequency.hs:26:10:
    No instance for (Applicative Frequency)
      arising from the superclasses of an instance declaration
    In the instance declaration for ‘Monad Frequency’

Game/LambdaHack/Utils/Frequency.hs:33:10:
    No instance for (GHC.Base.Alternative Frequency)
      arising from the superclasses of an instance declaration
    In the instance declaration for ‘MonadPlus Frequency’
cabal: Error: some packages failed to install:
LambdaHack-0.2.6 failed during the building phase. The exception was:
ExitFailure 1

You apparently try to install a very old version. I should add a hint about cabal update to the README. Could you try if it helps?

I have ran cabal update right before attempting to install LambdaHack. I tried running it again, but it didn't change the result. I should note that before this, I had to run cabal install gtk2hs-buildtools, cabal install cairo and cabal install pretty-show, (in that order) since the previous steps of the installation were failing with information that the mentioned packages were missing.

OK, so that sounds serious. Could you run cabal install -v2 LambdaHack-<IP_ADDRESS> >& log and send me the output (e.g. via http://gist.github.com)? Thank you!

One more thing you may try cabal install cabal-install-<IP_ADDRESS> and if it fails, please send me the -v2 log as well.

cabal install cabal-install-<IP_ADDRESS> ran without any problems. I'm not sure how to send the output to you specifically, but I've uploaded the log of cabal install -v2 LambdaHack-<IP_ADDRESS> >& log to gist: gist.github.com/digitator/18714d998096d0c44f57 .

That did the trick, thank you. I see the problem is that the newest version of package hsini that works with GHC 7.10.1 is not yet released to hackage. So you need to install the version from https://github.com/magthe/hsini first (git clone, cabal install).

I can confirm that the install succeeded after doing git clone then cabal install hsini/hsini.cabal', then cabal install lambdahack`. I can run LambdaHack and import the modules.
Maybe this problem should be mentioned somewhere in the documentation.

Great. Instead, I'm pleading with the hsini maintainer to release the new version to hackage. GHC 7.10 is still rather bleeding edge. Myself, I'm using GHC 7.8 and, in particular, I haven't gotten rid of 7.10 warnings yet (I plan to by using https://github.com/sol/base-compat througout the code). But if the problem isn't gone by the time I'm releasing LH 0.5 (in a couple of weeks, I guess), I will indeed describe the workaround in the README. Thanks again.

There's a release 0.4.1 of hsini on Hackage now.

@magthe: Thank you. It works OK: picks hsini-0.4.2 for GHC 7.10 and hsini-0.4.1 for GHC 7.8. Closing the issue.


Google map

I am using google map package in my app
it has margin in right and bottom side
google_maps_flutter: ^2.2.2
flutter 3.3.10
platform android 33

minimal code
just wrap google map widget into ClipRRect

@hussenIbrahim Please provide a completed and minimal reproducible code sample so that we may verify this. Thanks!

void main() {
final GoogleMapsFlutterPlatform mapsImplementation =
GoogleMapsFlutterPlatform.instance;
if (mapsImplementation is GoogleMapsFlutterAndroid) {
//change to true then marging appear
mapsImplementation.useAndroidViewSurface = false;
}
runApp(const MaterialApp(home: PlaceMarkerPage()));
}
class PlaceMarkerPage extends StatelessWidget {
const PlaceMarkerPage({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return ClipRRect(
child: Container(
color: Colors.red,
child: const GoogleMap(
initialCameraPosition: CameraPosition(
target: LatLng(-33.852, 151.211),
zoom: 11.0,
),
),
),
);
}
}

@hussenIbrahim thanks for providing the sample code. I also see this issue on Pixel 3a, Android 12.
And it seems only to happen when useAndroidViewSurface = true (plugin's default mode - Hybrid Composition). When setting it to useAndroidViewSurface = false, the issue disappeared.

Demo

useAndroidViewSurface = true
useAndroidViewSurface = false

Complete sample code
import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:google_maps_flutter_android/google_maps_flutter_android.dart';
import 'package:google_maps_flutter_platform_interface/google_maps_flutter_platform_interface.dart';

void main() {
  final GoogleMapsFlutterPlatform mapsImplementation =
      GoogleMapsFlutterPlatform.instance;
  if (mapsImplementation is GoogleMapsFlutterAndroid) {
    mapsImplementation.useAndroidViewSurface = true;
  }
  runApp(const MaterialApp(home: PlaceMarkerPage()));
}

class PlaceMarkerPage extends StatelessWidget {
  const PlaceMarkerPage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return ClipRRect(
      child: Container(
        color: Colors.red,
        child: const GoogleMap(
          initialCameraPosition: CameraPosition(
            target: LatLng(-33.852, 151.211),
            zoom: 11.0,
          ),
        ),
      ),
    );
  }
}

flutter doctor -v (stable and master)
[✓] Flutter (Channel stable, 3.3.10, on macOS 13.0.1 22A400 darwin-x64, locale en-VN)
    • Flutter version 3.3.10 on channel stable at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 135454af32 (13 hours ago), 2022-12-15 07:36:55 -0800
    • Engine revision 3316dd8728
    • Dart version 2.18.6
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14B47b
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.73.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.54.0

[✓] Connected device (3 available)
    • SM T225 (mobile) • R9JT3004VRJ • android-arm64  • Android 12 (API 31)
    • macOS (desktop)  • macos       • darwin-x64     • macOS 13.0.1 22A400 darwin-x64
    • Chrome (web)     • chrome      • web-javascript • Google Chrome 108.0.5359.124

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[!] Flutter (Channel master, 3.7.0-13.0.pre.38, on macOS 13.0.1 22A400 darwin-x64, locale en-VN)
    • Flutter version 3.7.0-13.0.pre.38 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    ! Warning: `flutter` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision ca7ca3b8f0 (3 hours ago), 2022-12-21 18:51:21 -0500
    • Engine revision a90c45db3f
    • Dart version 3.0.0 (build 3.0.0-55.0.dev)
    • DevTools version 2.20.0
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14B47b
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.74.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.54.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 13.0.1 22A400 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 108.0.5359.124

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

any updates?


Punctuation color isn't consistent between themes

Hi, I'm wondering if this is intended?
Punctuation like curly braces in light theme are in black color different with the text one, while in dark theme both are in the same color

That’s probably not by design.

This is the same issue as #9  and will be fixed shortly.

Why the issue was closed without a fix? It should be closed right after "will be fixed shortly".

The issue has been fixed. Though in the process I introduced another bug, naturally, which I will be reporting and working on fixing shortly.

Okay, I am reopening this issue. Though part of the problem was indeed fixed with the bug in #9, part of it was not. Specifically, it seems like the two themes do, by design, have some color differences around comments and punctuation.
Light theme (this is the original version, not the themed workbench version)

Dark Theme (original version)

Notice that the punctuation and comments almost switch places in terms of lightness/darkness. I am NOT super-familiar with the theory behind the solarized color scheme (I just like the general palette enough to help with this project) so I can't really speak to this; @braver is this intentional? Does it match the sublime project?

However, if the original issue was simply that the text and punctuation were different colors FROM EACH OTHER, then that should be fixed in the next bugfix.

Hmm, more differences. In javascript file, in the light version punctuation and variables are the same color

While in the dark version, punctuation and COMMENTS are the same color

Again, not sure if this is by design?

No, that’s not by design. It was probably caused by me working on the light theme and then not completely updating the dark theme, or the other way around. The color schemes for Sublime are a good reference. Since Sublime allows the usage of variables I was able to find and resolve the inconsistencies there. The current version should be a good guide for how it should be: https://github.com/braver/Solarized

Hmm. I am looking at your sublime theme and figuring out the best way to make everything consistent to the VS Code theme. I think I'm going to implement my own non-high-tech way of keeping track of variables, so that if you add some tokens to the sublime version I can easily insert them in the VS Code one.
I did find one seeming inconsistency in your sublime theme - in the light theme highlight and invisibles are the same color (base1) but in the dark one they are different colors (base01 for invisibles, base1 for highlight). My guess is that the highlight in light themes should be base01 instead.

Okay, i got a little obsessed. I just pushed a whole new branch called "testing-sublime-version" that pulled your full sublime tokens into both of the existing themes, and also created a new workbench theme that is much more solarized-pure and allows for true mirroring of the light/dark as solarized theoretically intends, even in the workbench. It is CERTAINLY not ready for release, as it has not been tested thoroughly, so I'm not sure what the best next steps are here.

Sweet! Good catch for that inconsistency too. I should throw them in a compare again and check. I’m also really intrigued by your PR, so I guess I need to fire up VS Code again and check.


add secp256k1 sources

add secp256k1 sources
include sys types for scalar_4x64.h to fix Xcode 16 compile errors
fix imports for .m files
fix podspec
version bump to 0.9.1

Decided not to go with this approach


spring cloud gateway return 500

Which Component
spring cloud gateway
Describe what problem you have encountered
spring cloud alibaba version is:2<IP_ADDRESS>
spring cloud version is: 2021.0.1
When the response time of a microservice's interface exceeds 30 seconds, Spring Cloud Gateway returns a 500 error.
I have set response-timeout and connect-timeout in application.yml:

id: per_route_timeouts
uri: https://example.org
predicates:
- name: Path
args:
pattern: /delay/{timeout}
metadata:
response-timeout: 300000
connect-timeout: 300000
and when api return result  whithin 20 seconds, It can work properly.
For example, if the timeout is set to 3 seconds and the API takes 5 seconds to respond, a 504 error will be returned.
but when api return result exceeds 30 seconds, Spring Cloud Gateway returns a 500 error, even though it hasn't exceeded the set timeout value.Error information like this:
The connection observed an error
reactor.netty.http.client.PrematureCloseException: Connection prematurely closed BEFORE response

2023-07-19 09:35:16.092 ERROR 30934 --- [or-http-epoll-5] a.w.r.e.AbstractErrorWebExceptionHandler : [85e0cead-12]  500 Server
Error for HTTP GET "/api/testTimeout?version=2.04.01"
reactor.netty.http.client.PrematureCloseException: Connection prematurely closed BEFORE response
Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:
Error has been observed at the following site(s):
Describe what information you have read
I have read the reference doc of spring cloud gateway

If the client does not send a request to the server for a long time, the server may be forced to close this TCP connection actively. The gateway returns this exception to the client when the downstream service does not send a response but the connection is terminated.

One more thing, spring cloud gateway is not a project maintained by spring cloud alibaba. Please submit an issue to the spring cloud gateway community.  https://github.com/spring-cloud/spring-cloud-gateway

Hi：
I'm sorry, I didn't explain it clearly.
There is no problem if the backend microservice is written in Java.
The current situation is that the backend service is written in Go and registered to Nacos using Sidecar，and this service not set connect timeout.
The version of Sidecar is spring-cloud-alibaba-sidecar:2.2.0-RELEASE.
Do you have any solution for this?
Thanks a lot.
At 2023-07-20 21:15:18, "Liu Ziming" @.***> wrote:
One more thing, spring cloud gateway is not a project maintained by spring cloud alibaba. Please submit an issue to the spring cloud gateway community. https://github.com/spring-cloud/spring-cloud-gateway
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>


types: rewrite API types

@itohatweb :heart:
Closes #267

Found something that needs to be done. I'm already on that, please don't merge.

Found something that needs to be done. I'm already on that, please don't merge.

TODO: fix interaction module

TODO: fix interaction module


Responsive text alignment

I frequently build layouts where I'd like to change the text alignment based on breakpoint. For example, I'll have two columns on desktop: image in the left column, left-aligned text in the right column. On mobile, when the columns stack vertically, I'd like to center the text instead of keeping it left-aligned.
As far as I can tell, there's no way to do this because the align property of <mj-text> applies to both breakpoints.

A simple media query will help you do that: https://mjml.io/try-it-live/rJ17Da6mX
Note that it's better to use the default styles for the mobile layout (center), and then use a media query for the responsive behaviour on desktop (media queries are better supported in desktop clients).

You can target specifically outlook.com with [owa] selector, and for
outlook desktop I think you can comes up with conditionnal style with new
mj-raw on 4.2
On Mon, Oct 1, 2018 at 11:25 PM katart<EMAIL_ADDRESS>wrote:

This doesn't work in Outlook. How do you deal with the responsive text
alignment (or the mobile first approach) in Outlook?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/mjmlio/mjml/issues/1283#issuecomment-426068424, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAizzTqceH2TSVAO7hKMPGsytQuwV8rnks5ugohFgaJpZM4VVmYQ
.

--
Cordialement,
Maxime BRAZEILLES

Hi
In the example text is moved. How to move images centre to left or right in desktop view? Also if there is a button how to move it left or right?
thanks

Button & image align with media query cannot be done with this technique
due to the use of old align HTML attribute that cannot be target by any css.
You most likely to use a full width image on desktop and align it for the
mobile view.
On Mon, Apr 29, 2019 at 7:35 PM Waqas Ali Meer<EMAIL_ADDRESS>wrote:

Hi
In the example text is moved. How to move images centre to left or right
in desktop view? Also if there is a button how to move it left or right?
thanks
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/mjmlio/mjml/issues/1283#issuecomment-487673006, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAELHTINBHANRHYIJ7XOQ4LPS4WWFANCNFSM4FKWMYIA
.

I might have a solution for that problem, it still needs to be tested all-around, but...
If you declare, in your mj-all tag in mj-head, that default align for everything is "none", rather than left/center/right (or omitting to declare which results in align="center"), you might end up with an argument error in your HTML, but it surely can be overridden by inline styling and media queries.
<td align="none">
I hope it's gonna pass the final tests.
But for now, M$ LookOut and Gmail are okay!


SELECT ... INTO is not allowed here

I'm trying to generate a new table with an SQL construct similar to
select 1 into test
I got the following error:
SELECT ... INTO is not allowed here
LINE 1: ...9c7c421 CURSOR WITH HOLD FOR select 1 into test
ominidb 2.13.0 - Ubuntu 18.04

Hi @maerco ,
Please let me try to understand better what you need. Is test the name of your table?
Because if that's the case, then you need to use INSERT INTO test SELECT 1, for example.
Regards,
William

Hi @wind39
I would like to use it to create a new table.
Trough pgsql or also pgadmin
I can generate a table with
Create table test as (
Select * from mytable
)
Or more simply as
Select * into test from mytable
The second option is not working in omnidb

Hi @maerco ,
Thanks for explaining. I fixed this, it is going out on next release, 2.15.
Regards,
William

Great, thank you

Hi @maerco ,
We just released OmniDB 2.15 containing this fix. I'm keeping this open for a few more days in case you want to provide some feedback, which will be much appreciated.
Regards,
William

Hi @wind39,
still facing the same issue:

Hi @wind39
still facing the same issue

Hi @maerco ,
Unfortunately I can't reproduce this, it works fine for me:

Is there any other details about your test case, please?
Regards,
William

Hi @maerco ,
Thanks for the details, you have found the issue indeed. It was working for INTO but not for into.
Now I have fixed this. The fix will be delivered in the next OmniDB release. I'll keep this open to ping you here again when the next release is out, and hopefully receive your valuable feedback then.
Best regards,
William

Hi @maerco ,
Today we released 2.16.0, hopefully settling this issue for good this time. Would you please try it out and confirm?
Thanks in advance.
William

Hi @wind39,
I confirm that the issue is now totally fixed.
Thanks


Initial concept for setup/find third-party libraries

The idea is this would unify a lot of copy and pasted find tpl logic into BLT.  This would not only find the tpl but also call blt_register_library as well.
I tested these two in Axom but some discusion should be had before this is merged and the flood gates are opened.

Hmmm, I don't really like the idea of providing our own cmake find method tpl logic as part of BLT.
For example: Conduit already provides it's own, as part of it's install -- which can be used.

This has side effects (like repo bloat) and also has the problem that everyone's find's are slightly different. Maybe we could provide a blt-extras repo with recipes people could alter... closing for now.


Freeze frame during runtime loading in Android

Hello,
Could you please tell me if there is any way to get rid of freeze frames?
As far as I understand, the use of IDeferAgent is intended specifically for loading multiple models and increases the frame rate by queuing. Freeze frames occur even when loading one model.

Hi, please include more information when making a bug report.

a model that reproduces the issue
Unity version
SRP version
runtime platform and device

Otherwise we can't reproduce. Thanks!

Model (glb): https://sketchfab.com/3d-models/warcraft-3-alliance-footmanfanmade-201452e568064aedadccfafb668ef6a5
Unity version 2022.3.16f1
Package version 6.0.1
URP 14.0.9
Meta Quest 3, Oculus Quest 2

I've update version of gltfast 6.0.1 -> 6.2.0, and that didn't solve the problem with freeze frame.

As I understand, parameter
GenerateMipMaps = true
is very hard for the app.
Setting this parameter to False reduced the peaks (according to the profiler data), but it still doesn't look good. Below I present the profiler data when loading GLTF via gltf fast
GenerateMipMaps = true

GenerateMipMaps = false

So you are using gltFast? This is the Repo for UnityGltf, that's a completly other import/export solution for gltf ;)


Possible typo in exercise of chapter 17

On ch. 17, "constructing proofs", pg. 130, practice exercises, in C.5 i think there is a typo,
(A or ~B) -> (A -> B) is not a tautology (check for instance here). It would have been, for instance, if the outermost consequent were reversed, to B -> A, having
(A or ~B) -> (B -> A)
version 2cf987e (2020-08-07)
btw, thanks for all this effort.

Right you are! Thanks.


Please add reactstrap to the list(user guide list)

@TheSharpieOne @eddywashere
I just want to start out with saying I love ❤react and I think create-react-app is the greatest but I love bootstrap too with that said, this library as good as it's https://react-bootstrap.github.io/ it still uses bootstrap 3. I'm not okay with that ... bootstrap 3 is kinda ugly and old at this point and on top of that it's hard to use this library, ah the examples and the code snippets idk I find it hard.
The page itself should look more like this https://getbootstrap.com/
clean and modern
This one https://reactstrap.github.io/ should at least be included in the list for people like me who want to use bootstrap 4

You're welcome to send a PR.

@gaearon A pull reuqest has now been made I love to see this in next branch.

Closing because https://github.com/facebook/create-react-app/pull/4703 is merged.


Dynamic State in JSON Rules, Infinite Loop, Race condition?

I've been having some problems using State with my JSON rules. I'm using the following ruleset:
   const rules = {
        ruleset: {
            firstThing_here: {
                all: [
                    {
                        m: {
                            $and: [
                                {type: "first"},
                                {where: "here"}
                            ]
                        }
                    }

                ],
                run: "first.here"
            },
            firstThing_gone: {
                all: [
                    {
                        m: {
                            $and: [
                                {type: "first"},
                                {where: "gone"}
                            ]
                        }
                    }

                ],
                run: "first.gone"
            },
            secondThing_here: {
                all: [
                    {
                        m: {
                            $and: [
                                {type: "second"},
                                {where: "here"}
                            ]
                        }
                    }

                ],
                run: "second.here"
            },
            secondThing_gone: {
                all: [
                    {
                        m: {
                            $and: [
                                {type: "second"},
                                {where: "gone"}
                            ]
                        }
                    }

                ],
                run: "second.gone"
            },
            here: {
                all: [
                    {
                        m: {
                            $and: [
                                {first: 1},
                                {$s: 1}
                            ]
                        }
                    }

                ],
                run: "here.here"
            },
            gone: {
                all: [
                    {
                        m: {
                            $and: [
                                {first: 0},
                                {second: 0},
                                {$s: 1}
                            ]
                        }
                    }

                ],
                run: "here.gone"
            }
        }
    };

And I am using this code to run it:
 const d = require('durable');

let host = d.getHost();
host.getAction = function (actionName) {
    let [thing, action] = actionName.split('.');
    if (thing == "here") {
        return c => {
            console.log(c);
            console.log(action)
        }
    } else {
        return c => {
            console.log(actionName);
            console.log(c);
            let state = {};
            state[thing] = action == "here" ? 1 : 0;
            d.updateState("ruleset", Object.assign(c.s, state)), ()=>{
                console.log("Completed");
            };
        }

    }
};

host.setRulesets(rules, () => {
    //d.updateState("ruleset", {something:true});
    d.post("ruleset", {type: "first", where: "here"});
    console.log("First");
    d.post("ruleset", {type: "second", where: "here"});
    console.log("Second");
    d.post("ruleset", {type: "first", where: "gone"});
    console.log("Third");
    d.post("ruleset", {type: "second", where: "gone"});
    console.log("Fourth");
});

Currently, it seems to loop infinitely when it recognizes s.first == 1. It doesn't even get to the second event. Is there something I'm doing wrong, or is this a bug? This doesn't seem to be related to the other infinite loop issue, as I only update the state at one point, and that doesn't seem to be recurring.
Related: should I be using facts instead? Why should you use state as opposed to facts?

Looks like adding an additional state variable does the trick--have it look at the conditions, and see if it's not currently in that state. This solves the infinite loop, and causes the whole thing to work.
It seems like I shouldn't have to do this, though--while it's true that s.first == 1 still, I wouldn't think that it needs to be continually evaluated. Is this how the system is intended to work?
    const rules = {
        ruleset: {
            firstThing_here: {
                all: [
                    {
                        m: {
                            $and: [
                                {type: "first"},
                                {where: "here"}
                            ]
                        }
                    }

                ],
                run: "first.here"
            },
            firstThing_gone: {
                all: [
                    {
                        m: {
                            $and: [
                                {type: "first"},
                                {where: "gone"}
                            ]
                        }
                    }

                ],
                run: "first.gone"
            },
            secondThing_here: {
                all: [
                    {
                        m: {
                            $and: [
                                {type: "second"},
                                {where: "here"}
                            ]
                        }
                    }

                ],
                run: "second.here"
            },
            secondThing_gone: {
                all: [
                    {
                        m: {
                            $and: [
                                {type: "second"},
                                {where: "gone"}
                            ]
                        }
                    }

                ],
                run: "second.gone"
            },
            here: {
                all: [
                    {
                        m: {
                            $and: [
                                {first: true},
                                {here:false},
                                {$s:1}
                            ]
                        }
                    }

                ],
                run: "here.here"
            },
            gone: {
                all: [
                    {
                        m: {
                            $and: [
                                {first: false},
                                {second: false},
                                {here: true},
                                {$s:1}
                            ]
                        }
                    }

                ],
                run: "here.gone"
            }
        }
    };

const d = require('durable');

let host = d.getHost();
host.getAction = function (actionName) {
    let [thing, action] = actionName.split('.');
    if (thing == "here") {
        return c => {
            console.log(action)
            d.updateState("ruleset", Object.assign(c.s, {here: action=="here"}))
        }
    } else {
        return c => {
            let state = {};
            state[thing] = action == "here" ? 1 : 0;
            d.updateState("ruleset", Object.assign(c.s, state)), ()=>{
                console.log("Completed");
            };
        }

    }
};

host.setRulesets(rules, () => {
    d.updateState("ruleset", {here:false});
    d.post("ruleset", {type: "first", where: "here"});
    d.post("ruleset", {type: "second", where: "here"});
    d.post("ruleset", {type: "first", where: "gone"});
    d.post("ruleset", {type: "second", where: "gone"});

});


Support explicit entities whitelisting in the policy

Special identities such as external clients or the host are currently representing as special labels in the form reserved:world and reserved:host.  The advantage of this is that it allows to use the existing fromEndpoints structure to define policies to such special entities. It is somewhat unintuitive though.
Instead, add a fromEntities and toEntities to make this both intuitive and super simple to understand:
apiVersion: "cilium.io/v1"
kind: CiliumNetworkPolicy
description: "L7 policy for getting started using Kubernetes guide"
metadata:
  name: "rule1"
spec:
  endpointSelector:
    matchLabels:
      id: app1
  ingress:
  - fromEntities:
    - host
  egress:
  - toEntities:
    - world

Note: "host" and "world" are the only supported possible entities.

https://github.com/cilium/cilium/blob/master/pkg/endpoint/policy.go:185


Error with unicode

[ ] This issue is not about OPSEC or bypassing defensive products
[ ] I have followed the steps in the Troubleshooting section

OS and version:
ubuntu 22.04
Python version:
Python 3.10.1
Nim version:
Nim Compiler Version 1.6.12 [Linux: amd64]
Using Docker: Yes/No
No
Issue Description
When a target computer use unicode in their username / computername like Russian or Chineese or else it doesn't manage to communicate properly with the server.
following is the error :
An unexpected exception occurred when handling command: TypeError('unsupported format string passed to NoneType.format')
Screenshots

Hi @sl4cky, thanks for the report! That is indeed an edge case that I didn't test :)
Unfortunately, I'm not able to work on NimPlant for the foreseeable future, so any help on this is welcome. In troubleshooting this I would trace the steps of the whoami command (and corresponding information collection after check-in) and how that information is transferred from client to server. It likely isn't an extensive fix once the issue is found!

Did some testing. The issue is with the winUtils.nim file and the getIntIp function, don't know exactly what the issue is with that function but I know the issue is there. whoami does not present the unicode but it doesn't make the agent fail to connect back. the issue makes the agent fail to connect back after the register request

Hi @sl4cky! Thanks for looking into it. I found some time to troubleshoot the issue. It looks like there was in issue in the whoami() function not using a proper unicode API/buffer, and on the server side the log file was not opened in unicode mode causing a crash. Both issues should be resolved in the latest commit in the dev branch (https://github.com/chvancooten/NimPlant/commit/cc4d6b6aa54caccfb076876ce24a6f1f5d24ce58). Could you please pull this version and test if it works for you?

Hi, yes will do it and let you know. Thanks 🙏

Hi So I checked this, the whoami is okay but there is still an issue if the computername is with unicode, for this a change need to be done in the function proc getHost*() : string = of winutils. the winapi GetComputerNameW can be used for this I guess.

Hi @sl4cky, thanks again for reporting this and sorry for the delay. I have updated the getHost() function to use the windows API to get the computer name as wide characters, which should fix the issue (https://github.com/chvancooten/NimPlant/commit/02e9296a236c8bbe3fd950a77d56049fbf1c7034). I unfortunately don't have a machine with a cyrillic name at hand to test, could you please verify if this fix (pushed to dev branch) works on your instance?


Modify Categorify to be able to accept an existing fit from another workflow

In order to support pretrained embeddings we need to be able to use categorify from another workflow
This could be solved by subgraphs and is our long term solution.
Categorify fit creates a unique values file for its own internal use which doesn't contain the reserved values.  It also produces a categorify metadata file that includes counts, buckets, etc.
We need to use those files to transform the uuid column in an embedding table in order to ensure it matches the categorified column within the dataset.

Subgraph operator added in https://github.com/NVIDIA-Merlin/core/pull/334

There's also an example of how to do this in the tests added by https://github.com/NVIDIA-Merlin/NVTabular/pull/1827


missing-flag handling when inheriting attributes

Reported by ansley b manke on 7 Jul 2016 18:40 UTC
When we inherit attributes from one variable to another,
yes? set attribute/like=old_var new_var
the command strips all of the attributes off new_var, and assigns all of the attributes from old_var to it. This gives potentially wrong missing-value attributes to the new_var. Usually new_var is something defined within Ferret, so it should have the default missing-value flags, or whatever is defined for it.  new-var should retain the flags from its internal definition - perhaps issuing a NOTE saying so.
Migrated-From: http://dunkel.pmel.noaa.gov/trac/ferret/ticket/2447

Comment by ansley.b.manke on 13 Jul 2016 22:31 UTC
This is fixed in utl/inherit_attrs.F.  See also the test script bench/err700_inherit_all.jnl.


feat: export workspace markers

feat: export workspace markers
fix: restore workspace markers to docgen

fixes #2011

@glepnir, I've split the changes into several groups depending on the macro that I needed, so you might find it easier to review by commit.

cc @justinmk


feat(impl):[TRI-807] refactoring and business logic for bomAsPlanned

bomAsPlanned business logic impl,
refactored delegates to work with new Submodel Aspect Types and not only AssemblyPartRelationship,
refactored defaultAspectTypes impl -> asBuilt should use SerialPartTypization, asPlanned should use PartAsPlanned
added testdata for SingleBomAsPlanned and PartAsPlanned submodels,
refactored submodel test creator to work with any Submodel from testdata file

"Also Sonar Quality Gate fails due to code duplication." - Imo we should keep AssemblyPartRelationship and SingleBomAsPlanned as separate classes - these are external models thats potentialy can change in the future. In this case we want to have this piece of code duplicated.


Pagination does not work for the third page

React version (e.g., 16.13.1)
Concurrent mode no
Describe the bug
Hello,
I followed the instruction on Infinite Scrolling page.
Everything appeared to work, but only for the first and second pages. When I keep asking for the next page, I keep getting the second page.
My API returns data in the shape of:
{
  data: [{ id, title, whatever... }],
  pagination: {
    total: 100,
    skip: 0,
    limit: 4,
  }
}

I'm using the pagination object to calculate the next page. My issue is that it is not updated after the second page.
Code example
// base-resource.js
import { Resource } from 'rest-hooks';

export class BaseResource extends Resource {
  static detailShape() {
    return {
      ...super.detailShape(),
      schema: { data: this.asSchema() },
    };
  }

  static listShape() {
    return {
      ...super.listShape(),
      schema: { data: [this.asSchema()], pagination: { skip: 0, limit: 0, total: 0 } },
    };
  }

  static appendList(newResponse, oldResponse) {
    // In case there are duplicates, Set will eliminate them.
    const set = new Set([...(oldResponse?.data ?? []), ...newResponse.data]);

    return {
      ...newResponse,
      data: [...set.values()],
    };
  }
}

// use-paginator.js
import { useCallback } from 'react';
import { useFetcher } from 'rest-hooks';
import { BaseResource } from '../api/resources/base-resource';

export function usePaginator(fetchShape, params) {
  // the second argument here is really important - it indicates that requests should be deduped!
  const getNextPage = useFetcher(fetchShape, true);

  return useCallback(
    ({ skip, limit }) => { // pagination has old value <------ PROBLEM HERE
      // calculate the next "skip" value
      return getNextPage({ ...params, skip: skip + limit }, undefined, [
        // this instructs Rest Hooks to update the cache results specified by the first two members
        // with the merge algorithm of the third.
        [fetchShape, params, BaseResource.appendList],
      ]);
      // "params && fetchShape.getFetchKey(params)" is a method to serialize params
    },
    [getNextPage, params && fetchShape.getFetchKey(params)]
  );
}

// use-issues.js
const defaultParams = {
  sort: 'severity',
  order: 'desc',
  skip: 0,
  limit: 4,
};

export function useIssues() {
  const { queryParams } = useNavigation();

  const { data, loading, error } = useStatefulResource(IssueResource.listShape(), {
    ...defaultParams,
    ...queryParams,
  });

  const { data: issues = [], pagination = {} } = data; // pagination is updated

  const getNextPage = usePaginator(IssueResource.listShape(), {
    ...defaultParams,
    ...queryParams,
  });

  return {
    issues,
    loading,
    error,
    pagination: {
      ...pagination,
      hasNextPage: hasNextPage(pagination),
    },
    defaultParams,
    fetchMore: () => getNextPage(pagination), // pagination has old value
  };
}

Expected behavior
For some reason the pagination object is not updated when passed to getNextPage.
Additional context
When page load, the first request has the following query params:
/api/issues?limit=4&order=desc&skip=0&sort=severity

When I call fetchMore the 2nd request has the following query params:
/api/issues?limit=4&order=desc&skip=4&sort=severity

If I call fetchMore again. skip query param is not updated and still 4, should be 8.
It's not updated because the pagination object passed to getNextPage has:
{ skip: 0, limit 4 }

I even tried removing the useCallback from usePaginator, but still getting old pagination object.
Help is appreciated,
Thanks!

pagination: { skip: 0, limit: 0, total: 0 }

What is the skip, limit returned from the second result? Is it the 'current' or 'next'? Is it being updated?
PS) If you use v5 you can use debugging tool: https://resthooks.io/docs/next/guides/debugging

Hey Nathaniel, the pagination object is the current page.
So when page loads, the pagination in response is:
pagination: { skip: 0, limit: 4, total: 100 }

When I call fetchMore, the 2nd response pagination is:
pagination: { skip: 4, limit: 4, total: 100 }

In order to calculate the next skip value  I’m adding the current skip + limit.
I used the debugger but didn't saw anything I haven't already saw in the network tab :(

Can you trace what the values are in the line // calculate the next "skip" value ?
And also after const { data: issues = [], pagination = {} } = data; // pagination is updated output pagination?

If you want, I can walk through this with you in the discord channel https://discord.gg/uwaSvN3Y

@ntucker I appreciate the quick response and willingness to help 🥇