Bug 2042181: AddressPool validation webhook: Add BGPAdvertisements validation

/bugzilla refresh

/bugzilla refresh

/bugzilla refresh

/bugzilla refresh

/lgtm
/approve

/retest

/approve

/hold

this identical to #58 which is already merged ?

this identical to #58 which is already merged ?

this one is the fix for the 4.10 branch, while #58 is for main which is now 4.11

the cherry-pick to 4.10 is done by the CI bot in https://github.com/openshift/metallb-operator/pull/60

/hold cancel


Adds a run-plugin operator to HRW

An example use case is to conditionally enable / run the rate_limit.so plugin for some requests:
cond %{REMAP_PSEUDO_HOOK} [AND]
cond %{CLIENT-HEADER:X-Leif} ="yes"
     run-plugin rate_limit.so "--limit=300 --error=429"

Testing schmesting I guess.

actually there is something wrong with the test.
but basically with the plugin factory, you can achieve this anywhere else, like Lua plugin or txn_box

I'll be on vacation for 2 weeks after today, so I'll I have to leave any further review to others.  Looks OK from a quick read through.

[approve ci]

Testing schmesting I guess.

Yeh, well... I can't reproduce the build problem on either my Mac or  my Linux box, but seems like it may be that the header_rewrite_test target needs a score dependency?

[approve ci]

Cherry-picked to v10.0.x


[KeyVault-Certificates] Remove unused core-arm depedency

This removes an unused dependency in keyvault-certificates.
Fixes #6249

I am surprised that there are no changes to the lock file due to the dependency removal

@ramya-rao-a - I was, too. I ran two different kinds of builds and saw no changes, so I just added it.


623 embed office walkthrough video

Hey @PothieuG
In your PRs description, can you add the route that has changes?
e.g. /offices/brisbane, /offices/sydney` etc...
This makes it easy for us to see what's changed when we review it 🙂


Distinguish Windows images

When we scan the system charts, there is no way to find out if there is a Windows images for it. So we would like to add a new field to indicate the image is used in Windows OS.
Problem:
Could not distinguish Windows images from values.yaml
Solution:

Add a new field os below field image
Must indicate os: windows if the image is using in Windows cluster

Issue:
https://github.com/rancher/rancher/issues/22463

lgtm


Exchanges for iOS

Exchanges page is here zpl.io/a7Oq0mq
Will add link to it on main wallet page soon and update that screen too

won't be implemented meanwhile


Use dot-separated path such as loader.fileLoader for additional options

Use dot-separated path such as loader.fileLoader for additional options for webpack 2
What kind of change does this PR introduce?
feature
Did you add tests for your changes?
no
If relevant, did you update the README?
no
Summary
As mentioned in Issue #126, when used in webpack 2, with default settings, no additional options is allowed to add to the root of the webpack config, that is, no fileLoader option is allowed for additional publicpath callback function.
There is a loader option for webpack 2 allows any object. We can set query.config to loader.
A better way to do so is set query.config to loader.fileLoader that will avoid conflict with other loaders.
The new getOptions function will be used here to get the webpack options with dot-separated path.
Does this PR introduce a breaking change?
no
Other information
Not much information about loader option in webpack config is published, the purpose and usage of this property may change.

Could you please elaborate on this futher? What could be potentionally conflicting with other loaders like you mentioned in #126 ? (example) :)

Closing do due to inactivity, address the comments and feel free to reopen :)

For webpack 2,  if I want to add a publicPath function, I'll use the loader option just in the root of webpack config.
module.exports = {
  // other options
  loader: { // Expose custom values into the loader context.
    publicPath: function (url) {
      return `{{ "${url.replace(new RegExp(`^${config.build.assetsSubDirectory}/assets/`), '')}" | asset_url }}`
    }
  }
}

What if another loader need a different publicPath function? So I suggest to change it to:
module.exports = {
  // other options
  loader: {
    fileLoader: {
      publicPath: function (url) {
        return `{{ "${url.replace(new RegExp(`^${config.build.assetsSubDirectory}/assets/`), '')}" | asset_url }}`
      }
    }
  }
}

That will have no potential conflict with any other loaders.


[WIP] Fixes from PHPStan l1 for tests

@carusogabriel something still went wrong with the checks: https://travis-ci.org/doctrine/doctrine2/jobs/358588238

@Ocramius Yeah, I'm still trying to fix some missing calling parent::__construct() and wrong annotations, but I'll probably need some help on that :(

Closing as I won't be able to finish it. Anyone is encourage to do it :blush:


XPath error: not yet support this function string-join()

Problem Statement
I'm using the macOS version installed through brew.
xq version 1.2.1 (2023-07-09T13:28:49Z, 8ed07bdd6390e64f126abb832bcab0da317f7f34)
When I run this query:
xq -x 'string-join(//outline/@text, //outline/@xmlUrl, ", ")' blog_list.opml

I'm getting this error:
XPath error: not yet support this function string-join()

Expected Result
Expected behavior is to join both of the fields with a comma.

I think I'm using that function wrong. Maybe I'm looking for concat but still not having any luck.
First time using xpath:
xq -x '//outline/@text || //outline/@xmlUrl'  blog_list.opml

Error:
XPath error: expression must evaluate to a node-set

I ended up using python but feel free to answer  in case someone has the same question or close the issue.

Ended up using python


feat: Switch to useImmer for state updates

This also changes the device id from a number to a string.

May want to also delete a console.log in measures.tsx line 11.


add github actions for automatically running tests when a PR is created or a commit is added

This would make it easier to make sure we do not add commits that break any test case.

Fixed in PR https://github.com/kafka4beam/sasl_auth/pull/14


Add ability to jump to directory item by typing

Changes
Allows the user to select an item in the directory by typing its first few characters.
Also fixes a bug where pressing enter upon renaming an item will both rename the item and launch it (file) or navigate into it (folder).
Related issues
Closes #179
Addresses an issue in #9

Looks like there are some merge conflicts, can you go ahead and resolve them?

Everything looks good to me, one thing I would like to see added is if the user presses one letter and it jumps to it, if they press the letter again it should jump to the next item with that letter.

@yaichenbaum In this implementation, it will take consecutive characters typed and search for the first item lexicographically that contains the substring from the start.
For example:
With files "apple.txt" and "a.txt", typing "a" will select a.txt, typing "p" thereafter will select "apple.txt"
Currently the delay for the next character is set to 0.85s (probably needs a better way to be set). After which the current "jump" string is reset. Typing after the string is reset will initiate a new "jump" query

I don't think it should be string based, how I imagined it would work is typing a letter would just go to the next item that starts with that letter. Maybe we should do it the way you did it but I am not sure yet, lets hear what Luke says.

As of now, it's how it implemented in Windows Explorer I believe.

Are you sure? When I checked that was not how it worked in File Explorer.

Yes, if you type consecutive letters in rapid succession, it will capture all of them and search based on that. But after a short delay, it will reset the string.

@yaichenbaum Oh, turns out, it's a combination of what we both said.
When typing a letter, the first file corresponding to that letter is selected.
If another letter is typed:

If the letter is typed fast enough (e.g. < 1s later)

the letter will be appended to the search string

if the letter is typed much later

the search string will be reset
if the letter is the same as the previous letter, go to the next item starting with that letter

else, go to the first word corresponding to that letter

This sounds more like the behavior I was looking for.

@yaichenbaum Alright, I've added it, please help me review the PR. Thanks!

From a usability end point it looks good, I will have @duke7553 go over the code and once he approves I will merge it in,

@jeffsieu Would you be able to resolve the merge conflicts on this one as well?
Thank you so much for all your contributions!

@yaichenbaum No problem

@jeffsieu did you get a chance to do this part "if the letter is the same as the previous letter, go to the next item starting with that letter else, go to the first word corresponding to that letter"?

@yaichenbaum Yes, I've added that in here.

Hmm can you test it on the regular view? Same thing as the other issue, I am only seeing this behavior on the photo view.

Oh gosh, seems like some issues happened with the merging, let me fix this


apply initial design for 404 page and redirect page

Why
Refs ENG-1714, ENG-1715
How
This PR includes most of the new design (besides icon and correct button styling) as well as missing <head> metadata like favicon and title. The errors page also now supports the global page theme.
Test Plan
The changes have been tested running the docs website on localhost.
Preview

@byCedric I have added missing assets, so those pages should be 99% complete (besides the button color, in original design it was black, but in dark mode it did not stand out that much, that's why I have gone with purple/primary color).
CC: @jonsamp
Preview

@Simek That button color is okay for now. Thanks for implementing this page! In another PR, we can add the theme.button.tertiary.background and ``theme.button.tertiary.foreground` colors, which will make that button white in dark mode so that it will stand out.


FF-322 #comment Fixed the sheet ordering based on reference list

Coverage decreased (-0.2%) to 29.433% when pulling af09bdb3fa3f91e749f2c295ab654f0c28de987e on FF-322 into c839a46ffadcab0bedac52593e5232ce080d5395 on master.


Centaur not hitting lara directly and lara teleporting under bridge

centaur not hitting lara and lara teleporting under the bridge after pulling a block
https://user-images.githubusercontent.com/80340234/202787417-1ecb2fb6-ca70-4f75-b763-2b8b164eccb1.mp4

Centaur Bug fixed

Fixed another issue as well.


Error during docker run

Hey,
I'm getting the following error after running default commands in README:
Something else already exists at '/usr/src/api/strapi-app/node_modules'.
 It might take a minute, please take a coffee ☕

Lets configurate the connection to your database:
Database determined by CLI args: mongo

⏳ Testing database connection...
Something else already exists at '/usr/src/api/strapi-app/node_modules'.

These things don't help:

Removing the container docker rm strapi
Removing the container and the image docker rm strapi & docker rmi strapi
Running docker system prune -a

Hi @dannydtk,
It'll work if you remove the node_modules volume. Remove this line of your docker run:
-v /usr/src/api/strapi-app/node_modules \

It works, thank you. Anyway I've fixed the problem just by using docker-compose and your repository. Anyway I've got some other problem which I'm gonna report in another ticket.

I've changed the README.md for that, thanks!


Change navigationCallback function

Change the navigationCallback function
The functions should

Move the code in the else statement into it's own block of code outside
Change the code in the allProduct.forEach code so that when the user clicks on a sup category it send the subcategories array to the clickedSubCategoryArray that gets sent to the buildCategoryCard function

Fixed the error with all products not working
moved the code into the else statement again


Migrate widget field when convert Stateless-based and Stateful-based to each other.

In the official Dart analysis_server , when converting between Flutter's StatefulWidget and StatelessWidget, the widget field used in StatefulWidget is automatically added or removed.
However, this was not supported in the Assists within riverpod_lint.
In this PR, I have improved it to include the migration of that field in the conversion.

Lovely PR! This will definitely help folks a bunch :)

@rrousselGit
Makes sense.
However, I expected there would be a difference in the conversion from Stateful-based to Stateless-based.
First, the previous method takes following steps:

Copy the contents of the build method.
Insert it into a StatefulWidget .
Remove the State class.

Now, considering deleting the reference of the widget fields, we would get an error because it conflicts with step 3.
Then I changed these:

Move the code between StatefulWidget and State under State.
Remove the right bracket of StatefulWidget to the left bracket of State.

Thus, even in existing cases, there will be a difference.
For any other differences (include this comment ) , I'll look further.

Thanks for your response!
I'll try running your PR locally to better understand the goldens diffs. At the moment it's a bit hard to understand why we have differences :)

Found a neat way to execute "changes" on a file. I'll update goldens accordingly, and check again your PR

Alright, that's wayyy more readable now. Let's have a second look!

Alright, I've looked at all the diffs, and everything looks great! Thanks again for this :)

Sorry for the late response, and thanks to the detailed confirmation :)
(in fact, using diff file for golden result is neat.)
I haven't yet changes that you reviewed points, should I do it later?

I haven't yet changes that you reviewed points, should I do it later?

I figured it wasn't worth delaying such a change for these small code improvements.
But if you want to do those changes, that'd be lovely!


merge from template-arlac77-github

.github/workflows/ci.yml

chore(deps): (jobs.test-node.strategy.matrix.node-version)
chore: add 18.16.1 (jobs.release.steps.with.node-version)

.github/workflows/codeql_analysis.yml

chore: add 18.16.1 (jobs.analyze.steps.with.node-version)

.github/workflows/update_package_lock.yml

chore: add 18.16.1 (jobs.update_package_lock.steps.with.node-version)

.github/workflows/update_readme_api.yml

chore: add 18.16.1 (jobs.update_readme_api.steps.with.node-version)

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
61

Relevant Lines:
61

💛  - Coveralls

:tada: This PR is included in version 1.0.2 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


feat: comparedirs multithread

The progress bar is not showing, and having issues with panicking on 'strange' paths


typo fix

some times I put mistakes like this in to check if anyone is actulaly using it ;) thanks for the fix!


iOS Universal Frameowork

Hi,
We are not able to create universal framework for iOS as we don't have cocoa pods in our project. I tried out using files directly but could not succeed in that.  Their are commands to create the universal framework but they doesn't work over here. Please help.

This PR/issue doesn't received response since Weex migrated to Apache two years ago and this repository is no longer active yet.
Feel free to ask question in new repository and thanks for your contribution.

This issue is outdated for a long time and will be closed now. You can create a new one if you still have questions.


do not copy authorship pallet state

Substrate's Authorship pallet is in charge of identifying the current block author and also tracks block uncles. In addition to that, it also tries to purge past uncles based on the current block number.
If we do not purge this state, the purging code from the pallet may misbehave, potential border effects includes trying to allocate more memory than allowed which thus crashes the node.

Thanks for your contribution!


⚠ ClamAV has degraded performance

In f614258, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 168 ms

Resolved: ClamAV performance has improved in c6eac4e.


WIP Support fot Godot 4.2

There was quite some changes in reference types so i would suggest to test it yourself as after spending over 10 hours on debugging this mess I can easily miss something.
This should make Godot 4.2 pretty much usable now, except that missing interface file
NOTE: run header generator first
dub run :makebind -- path/to/gdextension_interface.h source/abi/gdextension_interface.d
(gdextension_interface.h can be generated by godot with flag  --dump-gdextension-interface)

When I was testing in linux I had some issue with Variant cast to a packed scene in asteroids example.
Other than that it should be ok.

Investigated that packed scene cast problem, it seems DMD does some RVO optimization while LDC does not and as a result the reference gets released too early.


Incompatible with rails 5

Hello and thank you for sharing your work. Do you plan to finish the upgrade of google API client that you started in a branch? Right now candy_check is unusable because it requires google API client 0.8.7 which isn't compatible with Rails 5.
If this library is no longer maintained, do you know another library to recommend for App Store and Google Play purchase receipt verification?
Thank you very much

Hey @sedubois, what is not compatible? Could you explain and/or provide a link?
Not a maintainer, just curious. We are using this gem fine on rails 5.0.2 but the google api client is pinned to 0.8.6.

@sedubois: I'm now back in the office after a long time of handling other problems. I'll try catching up the issues in the next days. There is still the plan to update the Google API client, but I need some more time to test it. One of the most delaying fact it that I need to perform manual integration tests :-(

Thanks @jnbt that would be great. Right now I’ll try pinning the version as suggested by @ricky-crichq, I’m just not very familiar with gems management (I took over maintenance of a Rails project).

Would be really great to bump dependency on google-api-client to maintain compatibility with newer versions of ruby (2.3.7, 2.4.x and 2.5):
See: https://github.com/google/google-api-ruby-client/pull/648
And: https://bugs.ruby-lang.org/issues/14664

I see that it's (somehow) mitigated in https://github.com/jnbt/candy_check/pull/27 by setting the user agent manually. However in our case we're using google-api-client for other stuff as well, and it would be great to be able to use the client without having to manually set user agent and migrate to newer versions of the api-client :-)

@pfeiffer I totally agree on this. Sadly I'm currently very limited in time and the newer Google API client has a totally different design and authentication mechanism.

Totally understand! I appreciate the work you've done with this lib. I see that there's a branch with some changes.
Would it be possible for you do document what is missing, needs to be done etc. so I or someone else could take a stab at finishing it?

Work has been started in #35


Prometheus in prometheus-operator consume 1G+ memory

What did you do?
Install Prometheus and operator via the following command in k8s 1.10:
kubectl create -f contrib/kube-prometheus/manifests/
What did you expect to see?
Prometheus pod consume ~ 200 MB memory as the one I installed by myself

What did you see instead? Under which circumstances?
Prometheus install by prometheus operater consume 1GB+ memory

Environment
k8s 1.10

Prometheus Operator version:
latest code from github, should be 0.23

Kubernetes version information:

Client Version: version.Info {
Major: "1",
Minor: "10",
GitVersion: "v1.10.5",
GitCommit: "32ac1c9073b132b8ba18aa830f46b77dcceb0723",
GitTreeState: "clean",
BuildDate: "2018-06-21T11:46:00Z",
GoVersion: "go1.9.3",
Compiler: "gc",
Platform: "linux/amd64"
}
Server Version: version.Info {
Major: "1",
Minor: "10",
GitVersion: "v1.10.5",
GitCommit: "32ac1c9073b132b8ba18aa830f46b77dcceb0723",
GitTreeState: "clean",
BuildDate: "2018-06-21T11:34:22Z",
GoVersion: "go1.9.3",
Compiler: "gc",
Platform: "linux/amd64"
}

Thanks a lot for reporting this!
Are you using the same version of Prometheus for both, and which version is what? Also could you share the config for both as well as the flags? Thanks!

The memory usage drop a little bit to 900MB to 1G after I disable the following remote write option:

but still a lot more higher than v2.0

Just so we're not comparing two totally disconnected versions (between which a lot of things happened), could you update both of them to the latest stable release: v2.3.2? Thanks! (I just want to make sure that this is definitely not a Prometheus problem, and it's hard to tell with different versions)

The memory consumption of my standalone prometheus is 265 MB after I changed the image to v2.3.2.
I'm not sure why prometheus installed by operator cost so much memory.
Another irrelevant question regarding operator is there are 2 replicas of prometheus ,  will the remote write adapter receive 2 copies of the same metrics at the same time if I add remoteWrite option to prometheus?
Thanks very much
Ben

Thanks for the additional information!

Another irrelevant question regarding operator is there are 2 replicas of prometheus , will the remote write adapter receive 2 copies of the same metrics at the same time if I add remoteWrite option to prometheus?

Yes, your remoteWrite adapter needs to handle this appropriately.
Could you share the flags as well as configuration you are using for the standalone Prometheus, as well as the configuration generated by the Prometheus Operator? Although regarding the ~140MB difference without remoteWrite could simply be a lot more connections that are open to Kubernetes. (there is already a pull request by us to deduplicate unnecessary connections to Kubernetes from Prometheus but it's not yet merged or released)

Thanks again for the explanation.
I found out that the memory consumption is related to queueConfig of remoteWrite:
queueConfig:
capacity: 400
maxSamplesPerSend: 200
maxShards: 10000
The memory goes down if I reduce the maxShards

Another question is the prometheus install by prometheus operator stored time series data in memory or on disk?
In my standalone installation, we use statefulset to persis data on disk, but I didn't find a statefulset definition in prometheus operator

@benjaminhuo all Prometheus pods created by the Prometheus Operator belong to a Prometheus StatefulSet. You can find some of the relevant implementation here [0][1]. These Promethei store all time series data on disk.
[0] https://github.com/coreos/prometheus-operator/blob/master/pkg/prometheus/operator.go#L945
[1] https://github.com/coreos/prometheus-operator/blob/master/pkg/prometheus/statefulset.go#L80

@squat Thanks for the reply.
I'd like to use prometheus operator, but the memory consumption goes up too quickly when remotewrite is enabled.
remoteWrite:

url: "http://<IP_ADDRESS>:1234/receive"
queueConfig:
capacity: 400
maxSamplesPerSend: 200
maxShards: 10000

I'm using the following test adapter to test the remote write:
https://github.com/prometheus/prometheus/blob/master/documentation/examples/remote_storage/example_write_adapter/server.go

Could you please share all flags on your standalone Prometheus and the generated ones on the StatefulSet? With remote write there will always be overhead, as you create new queues of 400 capacity, which of course will always use memory.

7GB+ of RAM used by prometheus (by each instance i.e. 14gb in peak with 2 replicas) for monitoring 4 nodes and ~50 services. Downscaled replicas to a single prometheus, ram usage dropped to 3Gb. Increased metrics interval from 30s to 60s - nothing changed. It really unusable in that way. Any advice?  while I'm reading docs on "remote write"..

Also seeing prometheus currently using 1G+ of RAM with default installation of kube-prometheus. This is only with a handful of pods running.

@rdubya16 can you share the amount of samples you are ingesting per second? The query for that in Prometheus would be:
rate(prometheus_tsdb_head_samples_appended_total[5m])

@brancz Sure, looks to be around 1400k

A database that you are inserting 1400k records to doesn't seem like too much consumption at 1gb memory :slightly_smiling_face: .

Sorry I updated edited my post. It was 1.4k. Its an default install, I havent tweaked it yet. Whatever its gathering is out of the box. I have 5 namespaces with 4-5 pods in each.

The Kubernetes baseline is rather high (but can be optimized if that’s too much, you have tell prometheus to drop certain metrics). I run private 6 node clusters with ~70pods each and they have Prometheus at ~2k per second.

I'm also seeing huge memory usage on the prometheus pod (over 5G). My cluster has > 30 nodes and running an average of 1000 pods.
Is there a sizing guide to help tune this? Is vertical sizing the only way to scale? Recommended settings for the helm chart?
I've installed latest stable prometheus-operator using helm.

Same question, how many time-series are you ingesting?
rate(prometheus_tsdb_head_samples_appended_total[5m])

And this one is a relatively expensive query, but allows you to figure out which metrics might have high cardinality (possibly a cardinality explosion):
topk(10, count({job=~".+"}) by(__name__))

@brancz Thanks for your explanations. Together with the better memory metrics (as posted in https://github.com/kubernetes-monitoring/kubernetes-mixin/issues/152#issuecomment-461873645 ), I'm now much more confident about using Prometheus and prometheus-operator.

Thanks for the awesome suggestions! :)

@brancz - I ran the queries as suggested.

rate(prometheus_tsdb_head_samples_appended_total[5m])

I get > 33000 (!)

topk(10, count({job=~".+"}) by(name))

I see the following:
container_network_tcp_usage_total{}   | 154649
container_tasks_state{}               | 70295
container_network_udp_usage_total{}     | 56236
container_memory_failures_total{}       | 56236
storage_operation_duration_seconds_bucket{} | 18810
container_fs_reads_total{}                     | 17627
container_fs_writes_total{}                    | 17627
container_spec_memory_limit_bytes{}  | 14059
container_memory_swap{}              | 14059
...

How can I tune this?

As done by https://github.com/coreos/prometheus-operator/pull/2387, some of the highest cardinality metrics you have there (container_network_tcp_usage_total, container_tasks_state, container_network_udp_usage_total) are automatically dropped, so just updating would get you those changes, just doing that will give you almost 300k less active time-series :slightly_smiling_face: . For the others, you can just do the same method, if you don't need them, but the network metrics are even disabled so collecting them is just a waste (as described in the pull request).

Sounds good! What version of prometheus-operator is it? Is it already in the official chart?

The "prometheus-operator" chart on the upstream charts repo is incorrectly named, it should be named "kube-prometheus", and we don't maintain it, it is entirely community maintained.
If you use master of this repositories kube-prometheus, you will get it automatically.

Closing due to inactivity.


Bug when interacting with vim-dirvish

When using https://github.com/justinmk/vim-dirvish the / search is remapped to account for searching file paths
nnoremap <buffer> / /\ze[^/]*[/]\=$<Home>
nnoremap <buffer> ? ?\ze[^/]*[/]\=$<Home>

defined here https://github.com/justinmk/vim-dirvish/blob/master/ftplugin/dirvish.vim .
It seems to interfere with autosuggest.vim resulting in an error
E867: (NFA regexp) Unknown operator '\zk'

What are the steps to reproduce? I downloaded dirvish but it did not cause error when I searched with /.

fixed
https://github.com/girishji/autosuggest.vim/commit/04c39700653b196b004755eb65b8295147f1860c


Speed up creating Ruby AST

When creating the Ruby AST, we were previously allocating Location objects for every node and every inner location. Instead, this commit changes it to pack both the start offset and length into a single u64 and pass that into the nodes. Then, when the locations are requested via a reader method, we lazily allocate the Location objects.
This pretty drastically improves speed and memory. With this script:
require "bundler/setup"
require "prism"

filepaths = Dir[File.expand_path("path/to/extremely/large/ruby/codebase/**/*.rb", __dir__)]
filepaths.each { |filepath| Prism.parse_file(filepath) }
puts `ps -o rss= -p #{$$}`

We get the following results.
It reminds of a similar change I did in https://github.com/ruby/prism/pull/928/commits/9c57958604d87eff3641c672bdbf6316349b291c but this is better as it packs both start & length in a single ivar.


Refactoring into different classes

I moved the classification and clustering functionality into different subclasses of the original SOM. This makes follwoing the Scikit-learn api easier and more intuitive.

Hello @SandroMartens! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file dbgsom/BaseSom.py:

Line 129:80: E501 line too long (82 > 79 characters)
Line 137:80: E501 line too long (92 > 79 characters)
Line 140:80: E501 line too long (87 > 79 characters)
Line 142:80: E501 line too long (126 > 79 characters)
Line 144:80: E501 line too long (133 > 79 characters)
Line 170:80: E501 line too long (84 > 79 characters)
Line 171:80: E501 line too long (86 > 79 characters)
Line 176:80: E501 line too long (85 > 79 characters)
Line 199:80: E501 line too long (85 > 79 characters)
Line 209:80: E501 line too long (84 > 79 characters)
Line 242:80: E501 line too long (81 > 79 characters)
Line 244:80: E501 line too long (80 > 79 characters)
Line 247:80: E501 line too long (82 > 79 characters)
Line 275:80: E501 line too long (88 > 79 characters)
Line 280:80: E501 line too long (88 > 79 characters)
Line 326:80: E501 line too long (82 > 79 characters)
Line 338:80: E501 line too long (86 > 79 characters)
Line 416:80: E501 line too long (86 > 79 characters)
Line 448:80: E501 line too long (80 > 79 characters)
Line 482:80: E501 line too long (82 > 79 characters)
Line 501:80: E501 line too long (81 > 79 characters)
Line 514:80: E501 line too long (83 > 79 characters)
Line 533:80: E501 line too long (85 > 79 characters)
Line 541:80: E501 line too long (83 > 79 characters)
Line 577:80: E501 line too long (86 > 79 characters)
Line 683:80: E501 line too long (83 > 79 characters)
Line 688:80: E501 line too long (83 > 79 characters)
Line 696:80: E501 line too long (87 > 79 characters)
Line 701:80: E501 line too long (87 > 79 characters)
Line 754:80: E501 line too long (82 > 79 characters)
Line 800:80: E501 line too long (85 > 79 characters)
Line 811:80: E501 line too long (85 > 79 characters)
Line 815:80: E501 line too long (84 > 79 characters)
Line 937:80: E501 line too long (84 > 79 characters)
Line 952:80: E501 line too long (89 > 79 characters)
Line 964:80: E501 line too long (85 > 79 characters)
Line 966:80: E501 line too long (87 > 79 characters)
Line 969:80: E501 line too long (108 > 79 characters)
Line 970:80: E501 line too long (98 > 79 characters)
Line 971:80: E501 line too long (130 > 79 characters)
Line 974:80: E501 line too long (196 > 79 characters)
Line 994:80: E501 line too long (86 > 79 characters)
Line 995:80: E501 line too long (84 > 79 characters)
Line 999:80: E501 line too long (80 > 79 characters)
Line 1007:80: E501 line too long (84 > 79 characters)

In the file dbgsom/SomClassifier.py:

Line 54:80: E501 line too long (85 > 79 characters)
Line 55:80: E501 line too long (81 > 79 characters)
Line 59:80: E501 line too long (88 > 79 characters)
Line 69:80: E501 line too long (86 > 79 characters)
Line 82:80: E501 line too long (85 > 79 characters)
Line 89:80: E501 line too long (85 > 79 characters)
Line 125:80: E501 line too long (88 > 79 characters)
Line 172:80: E501 line too long (80 > 79 characters)
Line 183:80: E501 line too long (81 > 79 characters)
Line 185:80: E501 line too long (86 > 79 characters)
Line 196:80: E501 line too long (85 > 79 characters)

In the file dbgsom/SomVQ.py:

Line 46:80: E501 line too long (85 > 79 characters)
Line 47:80: E501 line too long (81 > 79 characters)
Line 51:80: E501 line too long (88 > 79 characters)
Line 61:80: E501 line too long (86 > 79 characters)
Line 74:80: E501 line too long (85 > 79 characters)
Line 81:80: E501 line too long (85 > 79 characters)
Line 114:80: E501 line too long (84 > 79 characters)
Line 115:80: E501 line too long (86 > 79 characters)


Prioritizing events in the loop

I am just starting with react so my question might be dumb. Pardon me for that, but here it is:
I have a Socket server with React. The use case of this server is to receive objects from its clients (which would mostly be my own web app backend) and dispatch them to external services via standard APIs - like sending email, sending SMS, sending messages to slack channel, push notifications, etc.
I do something like this:
require_once 'autoload.php';
	use \App\Experiment\SenderService;

	/** @var \React\EventLoop\StreamSelectLoop $loop */
	$loop = React\EventLoop\Factory::create();
	$server = new React\Socket\Server($loop);

	$connectionPool = new \SplObjectStorage();

	$server->on('connection', function ($conn) use ($connectionPool, $loop) {
		$strDataRead = 'xyz';
		/** @var \React\Socket\Connection $conn */
		$conn->on('data', function ($data) use ($connectionPool, $conn, &$strDataRead) {
			$connectionPool->attach($conn);

			$obj = unserialize($data);

			$strDataRead = serialize($data);
		});

		$conn->on('end', function () use ($connectionPool, $conn, &$strDataRead, $loop) {
			$connectionPool->detach($conn);

			$loop->futureTick(function () use ($strDataRead) {
				SenderService\Dispatcher::Dispatch($strDataRead);
			});
		});
	});

	echo "Socket server listening on port 4000.\n";
	echo "You can connect to it by running: telnet localhost 4000\n";
	$server->listen(4000);
	$loop->run();

The problem here is that when I send burst connections to the server using another script, the initial 30-40 requests get queued up real fast and then the server slows down and starts accepting requests at only about 1 request per second and that is very slow and defeats the purpose of the very service that I am trying to create.
My understanding is that it stats ticking using the tick function:
public function tick()
    {
        $this->nextTickQueue->tick();

        $this->futureTickQueue->tick();

        $this->timers->tick();

        $this->waitForStreamActivity(0);
    }

And there, it waits for stream activity only after it has processed all the ticks. Since there are now about 30-40 requests queued up, it gets slow. (I might be wrong in my assumption; please tell me if I am).
I want to prioritize the incoming connections to the server over the dispatcher so that the service is always ultra responsive in accepting new requests and goes on dispatching when it gets the time. How do I do that?

Welcome to React :-)
The problem you're seeing likely doesn't come from improper prioritization but most likely from the fact that your SenderService\Dispatcher appears to be blocking the loop. The loop must never be blocked and may have to be rewritten to take advantage of the loop.
I hope this helps :+1:

@clue Thanks for the diagnosis. You are right. So if that service is blocking the loop, how do I make sure it does not block the loop? The dispatcher does all the external communications stuff. So all the time taken for communicating with the third party servers starts blocking the loop. I cannot do anything about that. Also, I cannot run more than one loop; and ticking is synchronous.
If you could, give me a clue 😛 about how not to block the loop when calling the dispatcher?

The dispatcher does all the external communications stuff. So all the time taken for communicating with the third party servers starts blocking the loop.

You should probably look into the Stream and Socket component here :+1: Your communication has to be changed to be non-blocking in order to fully take advantage of the loop.


Custom Training for PoseC3D and STGCN++

Hi All,
I am looking forward to train the skeleton based models for action recognition for custom dataset.
However i have couple of questions :

There are 2 models supported right now, PoseC3D, STGCN++.
What should be the data collection format as in :
Assuming an activity as talking on phone
Video collected for 10 seconds where talking on phone is happening at t=4 to t=6
Should the final video for whom pose has to be extracted be only clip of t=4 to t=6?
Should there be only 1 person in the frame : If there are 2 people in the video, one is talking on phone, other is not doing anything, is it a valid scenario or all the data collected should be 1 person in the frame.
Does the data collected need to be in NTU format or Kinetics format or any other format?
Once a final skeleton dataset is prepared, will it work for both the models i.e. PoseC3D and STGCN++

Same question


[FeatureReq - Partner Center] Ability to report spam/abuse in reviews

Is your feature request related to a problem? Please describe.
There do not seem to be a way for extension developers to report spam and abusive reviews from the Partner Center's "Review" screen. As of now, the only way to report abuse is to go on the Addons website and find the abusive comments there to submit a report.
Describe the solution you'd like
A way for extension developers to submit abuse reports from within the Partner Center. Simply bringing the "Report as spam or abuse" link from the store page would suffice.
Describe alternatives you've considered
Reporting from the store page; this is a bit impractical as the search feature is missing, and some reviews simply aren't showing up (at least for me) which makes reporting them impossible.
Additional context
N/A

Closed duplicate issue opened by MSFT team on behalf of @cyyynthia
https://github.com/microsoft/MicrosoftEdge-Extensions/issues/38

Noted @st333v. Our team is looking into this.

being able to reply to reviews would be very useful too, the other browser extension direectories allow this (Opera, and Chrome)

@st333v  - you can reply to reviews today in the store. Check out https://github.com/microsoft/MicrosoftEdge-Extensions/discussions/18

Hi @cyyynthia  - as you mentioned, there is a way today to report abuse on user reviews from the extension product details page. We are exploring how we can enable you to find the relevant review in the extension product details page. But at the moment, we are not able to provide this from within Partner Center due to the way (org process) we handle any such reports internally.

Thank you for the feedback. This feature request is completed. As a developer, you can reply to reviews and also flag them as Report Abuse. Closing this feedback item.

I can't flag reviews

Hi @avi12, could you please elaborate on your concern a bit more (like which function you are referring to) so that we can investigate and assist you better?
Thank you.

This issue mentions the inability to report reviews, and I reported a few days ago that I can't report reviews

@avi12, could you try the steps to report reviews on our Edge extensions:

Access the Reviews Page: Navigate to your Partner Center account. Select the extension you want to manage, and then go to the Extension overview > Reviews section. Alternatively, you can click the star rating of an extension on the Overview page to access the Reviews page.

View and Respond to Reviews: On the Reviews page, you can view the extension's average rating, the total number of ratings received, and the list of all reviews. You can also reply to user reviews directly from this page. To respond to a review, select the review you want to reply to and click the Reply link. Your response will appear on the Microsoft Edge Add-ons product page within 15 to 20 minutes.

Report Abusive Reviews: If you encounter an abusive review, you can report it from within the review section of the item listing page.

Please let me know if you need any further assistance.

@avi12, to clarify, replying to a review does not automatically trigger a "Report Abuse" button. However, you can report abusive reviews directly from the review section of the item listing page.

thank you for bringing this to our attention. I understand that you are unable to find the "Report Abuse" button on the dashboard. I will escalate this issue with our development team to ensure it is addressed promptly.
We appreciate your patience and understanding.

Hi @avi12, could you please provide the details of the extension for which you are experiencing the issue? We attempted to reproduce the problem but were able to find the “Report Abuse” option without any issues.
Thank you for your assistance.

It's https://microsoftedge.microsoft.com/addons/detail/auto-hd-for-youtube/ggnepcoiimddpmjaoejhdfppjbcnfaom
The review is by user "少爷" in simplified Chinese

Hi @avi12, I apologize for the earlier miscommunication. I initially thought you were referring to the Edge Store feedback section. However, I now understand that you are reporting an issue with the “Report Abuse” option in the Partner Center.
Thank you for bringing this to our attention. We are looking into the matter and will get back to you with a resolution as soon as possible.

I mean, last month i literally posted a screenshot of the dashboard

@avi12, sorry I have missed that. However, now we have forwarded this to our team for review of the feature and once we get an update we will write back to you.

Hi @avi12, we wanted to inform you that the feature you inquired about is currently on our backlog. We will update you once we have an update on this feature.
We appreciate your understanding and patience.


Firebird, TimeStamp,Windows: Process finished with exit code 0xC0000005

Hi,
I'm using node-odbc with firebird 2.5 and a dialect 3 database.
Node.js crashes and the process finishes with exit code 0xC0000005 when my application executes a query containing timestamp fields .
Here is the code to create table and insert data:
CREATE TABLE TIMETEST (ID INTEGER PRIMARY KEY NOT NULL, TIMEFIELD TIMESTAMP);
COMMIT;
INSERT INTO TIMETEST (ID, TIMEFIELD) VALUES (2, '03-30-2016 12:00:00');
COMMIT;

Here is the node.js code:
var db = require('odbc')(),
    cn='DSN=MYDB;Uid=SYSDBA;Pwd=masterkey';

console.log('Opening');
db.open(cn, function (err) {
    console.log(err ? 'CONNECTION ERROR: ' + err : 'CONNECTED');

    var query =  'SELECT * FROM TIMETEST ';
    db.query(query, function (err, data) {
        console.log(err ? 'QUERY ERROR: ' + err : 'NO QUERY ERROR');
        console.log(data);
        console.log('Closing');
        db.close(function () {
            console.log('done');
        });
    });
});

I never get "closing" nor "done" log messages, but the system crashes during "db.query" execution.
Here is the WebStorm debugger console output:
Opening
CONNECTED

Process finished with exit code -1073741819 (0xC0000005)

Hi @mtrezzi! I'm not sure I can help you all the way through this, but you might try enabling debugging in the odbc module (https://github.com/wankdanker/node-odbc#debug). At least we can then see where it is getting internally before crashing.

Hi @wankdanker!
I enabled debugging in the odbc module.
Now the program prints out continuously the following line:
ODBC::GetColumnValue - String: index=2 name=T type=93 len=38 value=2 ret=0 bufferLength=1048575
The column 2 is the TIMESTAMP
Now the program remains stuck in a loop.

My best guess is that the Firebird TimeStamp types maps to some ODBC type other than SQL_DATETIME or SQL_TIMESTAMP. A quick look at /usr/include/sql.h indicates that SQL_TYPE_TIMESTAMP has the value 93 that is being reported in the debug output. I'd suggest trying to add a case for SQL_TYPE_TIMESTAMP at https://github.com/wankdanker/node-odbc/blob/master/src/odbc.cpp#L418, then recompile and try again.

Thank you for your kind cooperation and your prompt reply.
I will try it and I will let you know.
Massimiliano

Da: Dan VerWeire<EMAIL_ADDRESS>Inviato: giovedì 14 aprile 2016 15.37
A: w1nk/node-odbc
Cc: Massimiliano Trezzi
Oggetto: Re: [w1nk/node-odbc] Firebird, TimeStamp,Windows: Process finished with exit code 0xC0000005 (#102)
My best guess is that the Firebird TimeStamp types maps to some ODBC type other than SQL_DATETIME or SQL_TIMESTAMP. A quick look at /usr/include/sql.h indicates that SQL_TYPE_TIMESTAMP has the value 93 that is being reported in the debug output. I'd suggest trying to add a case for SQL_TYPE_TIMESTAMP at https://github.com/wankdanker/node-odbc/blob/master/src/odbc.cpp#L418, then recompile and try again.

You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHubhttps://github.com/w1nk/node-odbc/issues/102#issuecomment-209945578

Hi @wankdanker!
Your solution that you suggest works.
Thanks!


ground wire position

The ephys team adds a ground wire the the implant and it would be good to have the ground wire position tracked.
This is a string description.
This probably should live in the procedure schema, but it's not a procedure that is requested so I'm not sure how to ingest that information.

In procedure schema, make implant prep.

[ ] specify ground wire position with a hole number
[ ] add well type/part number as optional fields (same as in headframe procedure)
[ ] duragel replacement - should this be a boolean? Something else?


[BEAM-4454] Add remaining functionality for AVRO schemas

This includes ByteBuddy codegen for handling SpecificRecord classes, as well as utilities for GenericRecord.
R: @kanterov

Run Spotless PreCommit

Run Portable_Python PreCommit


refactor authorizeResource

Update to https://github.com/laravel/framework/pull/52067

@justinkekeocha why did you close this?

Couldn’t get it to pass the tests.


feat: multi omics

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

186 of 195 (95.38%)  changed or added relevant lines in 5 files are covered.
8 unchanged lines in 5 files lost coverage.
Overall coverage increased (+0.06%) to 95.095%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

dooc/pipelines.py
54
55
98.18%

dooc/nets/multiomics.py
31
34
91.18%

dooc/nets/init.py
40
45
88.89%

Files with Coverage Reduction
New Missed Lines
%

dooc/nets/drugcell.py
1
95.0%

dooc/nets/init.py
1
87.12%

dooc/models.py
1
97.37%

dooc/datasets.py
2
98.26%

dooc/pipelines.py
3
95.93%

Totals

Change from base Build<PHONE_NUMBER>:
0.06%

Covered Lines:
601

Relevant Lines:
632

💛  - Coveralls


Thanks!


Kage: integer arithmetics functions support

Ebitengine Version
v2.7.0-alpha.2
Operating System

[X] Windows
[ ] macOS
[ ] Linux
[ ] FreeBSD
[ ] OpenBSD
[ ] Android
[ ] iOS
[ ] Nintendo Switch
[ ] Xbox
[ ] Web Browsers

Go Version (go version)
1.21
What steps will reproduce the problem?
Kage shader compilation:
package main

func Fragment(position vec4, texCoord vec2, color vec4) vec4 {
	_ = sign(int(8))
	return vec4(0)
}

abs, sign, min/max and clamp functions with integer types (int, ivec2, ivec3, ivec4) (noticed by @tinne26)
What is the expected result?
no error
What happens instead?
compilation error: cannot use int as float, vec2, vec3, or vec4 value in argument to sign
Anything else you feel useful to add?
No response

To be fair, this currently works as advertised on https://ebitengine.org/en/documents/shader.html#Built-in_functions_(mathematics). The main offenders would be only min/max, as they don't work like Go1.21 built-in functions if ints are not supported. But then, if you support ints for min/max, it seems weird to not also support them for the few other functions mentioned.

See also https://github.com/hajimehoshi/ebiten/issues/2677

Note to myself:
https://registry.khronos.org/OpenGL/specs/gl/GLSLangSpec.4.60.pdf
Some function like sin takes only floats and ths is represented as genFType.

So the build-in functions that can take integers are:

abs
sign
min
max
clamp


How to feed combobox items depending on another combobox

Dear all,
I'm new in Avalonia (and in WPF too) ;-).
On my view, I have two combobox.
What I want to do is that the items of the second combobox are automatically updated following the selected item on the first combobox.
What I can do for now is to bind and to populate the two comboboxes at initialization, but when I change the selected item on the first combobox, I cannot update the second.
Could You help me to do that?
Thanks in advance!

Not sure if i understand exactly your requirement
But if you want something like

first combo: Countries
second combo Cities in selected Country

You can try To make a linq query based on the first combobox
and bind the results of query to the second combo.
or filter the data somehow.
Remco

Hi Remco,
It is clearly what I want to do.
How can I proceed ? Do you have an example on which I can based me?
Thanks a lot!
Marc

@mlengele hello, you need to use INotifyPropertyChanged (INPC). This interface is used in the MVVM pattern. This article and the Quickstart in the documentation may help you. Also, I recommend to go through the ToDo Tutorial using only the INPC


Provide webhook configs at deploy time, inject CA bundle from operator

Letting the user decide at deploy time which webhooks with which
confiugration to deploy gives a lot more flexibility.
We simply let the operator inject the CA bundle if the webhook configs
follow the expected naming pattern.
We delete the previously operator-created webhook configuration to
migrate old clusters.
The provided webhook config manifests switch the fail-closed failure
policies.

When would a user want to not use the full suite of webhooks?

Unlikely but possible. The more practical concern is users editing their
operator deployment (e.g. port, service) and then not having the means to
adjust the webhook config with the previous approach. And this allows to
remove one fairly critical permission from the operator as it could in
principle be used to install blocking webhook on a bunch of unrelated
resources.
On Thu, Mar 24, 2022 at 5:40 PM Daniel Clark @.***>
wrote:

When would a user want to not use the full suite of webhooks?
—
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/prometheus-engine/pull/137#issuecomment-1077822034,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABFYB4USUORX5HAKOJE4RZ3VBSLHPANCNFSM5N5MLWFQ
.
You are receiving this because you modified the open/close state.Message
ID: @.***
com>


New SSO for jira not compatible with jira version 8.5.4

After I upgrade our jira from 8.5.1 to 8.5.4. Then re-install SSO add-on from the Download center. My jira other add-on doesn't work.

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

ID: d38cad90-6574-38c2-3262-059a9f975064
Version Independent ID: dd08d5c5-65a4-c2cc-8b51-7a35268dde68
Content: Tutorial: Azure Active Directory single sign-on (SSO) integration with JIRA SAML SSO by Microsoft
Content Source: articles/active-directory/saas-apps/jiramicrosoft-tutorial.md
Service: active-directory
Sub-service: saas-app-tutorial
GitHub Login: @jeevansd
Microsoft Alias: jeedes

@mandiaya Thank you for your query. We use github for documentation Improvement primarily. I would suggest you to post this either in QnA forum or to contact Microsoft support on this. Alternatively if you are getting a unique error , you can post it here and I will try to find out more on the same. But if I am not able to find any further details , we would like to suggest you to either engage the community on QnA forum or open a support ticket with Microsoft .

@mandiaya  Alternatively if you do not have a support plan you can also send us an email to us on azcommunity[at]microsoft[dot]com and we will help you with alternative support options.

@mandiaya di you have a chance to get the error message on this one ?

@mandiaya As we have not received any response for you , We are closing this issue. Should you have any further queries please tag me to your reply and we will be happy to help .

@mandiaya Have you installed the newer version of the plugin?

#please-open


Druid can't monitor when using Sharding-Jdbc

Question
Which version of ShardingSphere did you use?
4.0.0-RC1
Which project did you use? Sharding-JDBC or Sharding-Proxy?
Sharding-JDBC
Driud SQL monitor has not any thing,

sharing-jdbc config:
shardingsphere:
    datasource:
      names: ds
      ds:
        type: com.alibaba.druid.pool.DruidDataSource
        driverClassName: com.mysql.jdbc.Driver
        url: jdbc:mysql://xxx:3306/xxx?useSSL=false&useUnicode=true&characterEncoding=UTF-8
        username: root
        password: xxx
        druid:
          initialSize: 5
          minIdle: 5
          maxActive: 50
          maxWait: 60000
          timeBetweenEvictionRunsMillis: 60000
          minEvictableIdleTimeMillis: 30000
          validationQuery: SELECT 'x' FROM DUAL
          testWhileIdle: true
          testOnBorrow: false
          testOnReturn: false
          poolPreparedStatements: true
          maxPoolPreparedStatementPerConnectionSize: 20
          filters: stat,wall,slf4j
          connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000

ShardingSphere facing to JDBC layer only, whatever the database connection pool is druid or other.
Monitor is not a JDBC protocol, so we don't know why it can not use.
Can you transfer this issue to druid's GitHub repo and try to analyze which JDBC protocol is not support first?

Thanks.
It works normal when I modified sharding-jdbc config:
  shardingsphere:
    datasource:
      names: ds
      ds:
        type: com.alibaba.druid.pool.DruidDataSource
        driverClassName: com.mysql.jdbc.Driver
        url: jdbc:mysql://<IP_ADDRESS>:3306/phonerobot-outbound?useSSL=false&useUnicode=true&characterEncoding=UTF-8
        username: root
        password: iflytek
        filters: stat,wall,slf4j
        druid:
          initialSize: 5
          minIdle: 5
          maxActive: 50
          maxWait: 60000
          timeBetweenEvictionRunsMillis: 60000
          minEvictableIdleTimeMillis: 30000
          validationQuery: SELECT 'x' FROM DUAL
          testWhileIdle: true
          testOnBorrow: false
          testOnReturn: false
          poolPreparedStatements: true
          maxPoolPreparedStatementPerConnectionSize: 20
          #filters: stat,wall,slf4j
          connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000


⚠ RPC server - xDai has degraded performance

In 25d2a6c, RPC server - xDai ($XDAI_RPC_URL) experienced degraded performance:

HTTP code: 200
Response time: 521 ms

Resolved: RPC server - xDai performance has improved in bb51f03 after 28 minutes.


Working with cron command in Linux

Topic Suggestion
Proposal Submission
Proposed title of article
Working with cron command in Linux
Proposed article introduction
The cron is a Linux-like operating system software program that automates scheduled tasks. It is a daemon process that runs in the background and conducts the specified activities when an event or condition occurs without human input. A system administrator may schedule repetitive tasks to execute automatically in the background at regular intervals by defining a set of commands using cron. It allows users to do scheduled tasks on a regular basis and file synchronization. Cron looks for scheduled jobs periodically and executes them when the planned time fields match the actual time fields. Crontab is also the program used to change the schedule. It is controlled by a crontab file, which specifies shell instructions to execute frequently.
Key takeaways
The reader will understand:

What is cron and how does it relate to Linux
Cron vs crontab in Linux
Variety of reasons why cronjobs are useful in Linux.
How to work with cron in Linux

Article quality
This will be an in-depth coverage in all the aspects of this concept and stepwise where applicable. This will be beginner-friendly in learning how to add or modify and listing crontab. It will be interesting to read and understand.
References
N/A

Thank you for your response and we thank you for submitting your topic. After some careful consideration it struck us that this topic may be a bit over saturated throughout other blog sites and official documentations as previously mentioned on your topic form by our content moderator.
We typically refrain from publishing content that is covered widely on the net or other blogs. As we're more interested in original, practitioner-focused content that takes a deeper dive into programming-centric concepts.


Server Side Paging - Page number instead of skip and take?

If we are producing server side paged results how can we pass a page number in the params?
I know I can skip and take but I like to select a page number

params.set("skip", loadOptions.skip);
                params.set("take", loadOptions.take);
                params.set("sort", loadOptions.sort ? JSON.stringify(loadOptions.sort) : "");
                params.set("filter", loadOptions.filter ? JSON.stringify(loadOptions.filter) : "");

You might need to use CustomStore for that.


Handle undefined variables in rss templates

These templates used to work when using the StrictUndefined undefined behavior in the jinja2 environment, but in recent releases, this causes the build to fail. This issue can be seen at
https://github.com/Python-Community-News/Site/pull/38. Using the is defined test results in similar behavior even when StrictUndefined is set, allowing site developers to catch typos or other missing template context without breaking their rss feeds.
This change also includes a new test and a test fixture to create a jinja2 environment that can be modified with the scope of a single test.

@all-contributors please add jonafato for code


Unambiguous wording on the card

Is your feature request related to a problem? Please describe.
This might be nitpicking but the current wording of the (English) cards is a bit weird, for example "Yellow Fog Warning" which suggests that there's a warning in effect because of a yellow fog out there.
Describe the solution you'd like
A simple change in word order would solve this, e.g.: "Yellow Warning: Fog", or alternatively without the "Yellow Warning" text since the card itself is yellow, indicating the warning level already.

You have a point that Yellow fog warning isn't great but Yellow warning: Fog isn't good either. I want to keep alert on the card to feel like a sentence.  I also thought about switching from colours to severities like Moderate Severe and Extreme. Some countries do that, but I think that colours are easier to understand for end-user.  The solution might be to do something like Yellow warning for fog. Maybe it is better grammatically but it seems harder to understand than the current one.

What if it's displayed on two lines, e.g.:

@attila123456 The goal of this card is to make it as simple as possible and it just makes it more cluttered

Ok no prob, thanks.


No '=>?' candicates produce the expected contextual result type [Any]?

There is my object:
public struct JSONDocumentOneObject<T> where T: Decodable {
  public let data: T
  public let meta: Meta?
  public let paginationLinks: PaginationLinks?
  public let included: [Any]?
}

extension JSONDocumentOneObject: Decodable {
  public static func decode(_ json: Any) throws -> JSONDocumentOneObject {
    return try JSONDocumentOneObject<T>(
      data: json => "data",
      meta: json =>? "meta",
      paginationLinks: json =>? "links",
      included: json =>? "included")
  }
}

In included: json =>? "included", the xcode throw Swift Compiler Error:
No '=>?' candidates produce the expected contextual result type '[Any]?'
How can I solve this problem?

I didn't expect this would be so complicated but here are two ways
let a: [Any]? = try (json =>? "included").flatMap { j in try Array.decoder({ $0 })(j) }
let b = try parse(json, keyPath: "included" as OptionalKeyPath, decoder: Array.decoder({$0}))

Might turn out that it's possible to use cast in some way too.
Not completely sure how this can be made easier. Perhaps by adding ambiguity with more non-generic Any-overloads or by making this possible:
try (json =>? "included").flatMap(Array.decode)

Anyways, thanks for sharing!


DFS Spec cool down timer fix

The correct DFS Spec cool down time is 192 ticks. I'm not sure what the current timer is set at, but I'm able to spec at 5 seconds until 0.
https://twitter.com/JagexAsh/status/1161987121709821953?s=20

#10740


Translate live feature

In my application using your tool, I would like to be  able to translate a label live.
I would like to allow my application to be translated by a translator in situation.
I'll give a specific role to this kind of users and each label will appear with a link (or anything else) to allow the translation to be done live in one or several languages.

@AVE-cesar you idea is great, but I  don't think angular-translate is the right tool for this. One of the key concepts of angular-translate is loading/providing sets of translation texts -- and not a translation resolution by string. Perhaps this idea could be realized with a new approach (like in "angular translate v3" concepts), but at the moment not.


Add  and  to holdings.

@skomorokh @cledvina I guess I don't fully understand why we need this, as both fields are already mapped out via the marc2inventory-instance.xsl and library-codes.xsl stylesheets:

institutionSymbol is already available as institutionDeref instance field
instanceIdentifier is already available as localIdentifier instance field


[Feature Request] .ftpconfig directory listing options

I am unable to edit files like .htaccess as they are not listed via FTP connection.
My feature request intends to add an option to .ftpconfig like:
"directoryListingOptions": "-la",

You should also see the hidden files! Is the path good?

Settings View > Remote-FTP > Set on the Show hidden files


pulled duplicated code out into a private method

One of the things making this class difficult to maintain is that there is a lot of nested looping so it gets difficult to see what is actually happening.
I noticed that in Scrutinizer CI it was shouting about this in particular so I pulled it out into a method and returned it. I was tempted to pass the $linkedIds by reference as it is used by the loop and not returned, however I think that doing so would have made it more difficult to understand (Even though my implementation uses list to achieve a similar functionality)
There's also a question about masking the loops here, as from just reading the code you don't know that the method is going to loop through an array of data, although just reading through the code should be enough to do so. I could rename the method loopThroughIncludedObjectsAndSerializeWithCacheKey but that just seemed silly.

:+1:


BETA: Release Advertising Platforms Templates

ads platforms to:

snowflake
bigquery
keboola DWH

@jordanrburger can you approve and merge this PR?
Then you can test the 3 templates in this project https://connection.north-europe.azure.keboola.com/admin/projects/8780/dashboard when you have time.
Thank you. :-)


get_elevation_gain / get_elevation_loss

Hi there!
I'm happily using this library for my routes (https://yamila-moreno.github.io/routes); I was using it to get the distance, which is very accurate.
Recently I wanted to add get_elevation_gain and loss to the description of my routes, and I found that the result of those functions is not the real gain or loss; I didn't find any consistency in the error (sometimes the given result is 4 times smaller than the real gain, and sometimes is 6 or other...). I tried to understand how is it calculated without any success.
This is the way I get the elevation:
var gain = (e.target.get_elevation_gain() / 10).toFixed(0);
var loss = (e.target.get_elevation_loss() / 10).toFixed(0);

is this correct? any help would be very appreciated. Thank you for your awesome library :)

Calculating elevation gain/loss is unfortunately very difficult, and depending on the resolution of the data will get widely different results. The library doesn't do anything specific here and simply adds up all the positive elevation increments in the "gain" and all the negative increments in the "loss". This may indeed lead to highly inflated total gain as your measured elevation may bounce up and down between each point.
I'd welcome more optimized and more accurate algorithms to calculate total gain and loss, but I'm honestly not sure how to approach this problem myself.

Hi @mpetazzoni Thanks for your answer. I took a deep look into the code to understand this part, and got to the same conclusion: the method may lead to wrong data (in my specific case all the gain/loss read from the gpx are significantly smaller than the real gain/loss) depending on the number of points (and the tracks I was using had few points).
Before trying to understand how other applications do this calculation, I tried to see the dispersion in the results. Oruxmaps, wikiloc or endomondo read the same .gpx file very differently. Which is real then? Is any of them close to the reality?
To sum up: the reality is difficult to measure.
Again, thanks for your answer; should I find a better way, I'd try with this library. Have a great week!

Yup as I said it's a very complicated problem, different algorithms might be used there, some solutions even also use corrected elevation data from 3rd party sources, etc.